Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Biometrik

Faktor biometrik memungkinkan otentikasi aman pada platform Android. Kerangka kerja Android menyertakan autentikasi biometrik wajah dan sidik jari. Android dapat disesuaikan untuk mendukung bentuk lain dari otentikasi biometrik (seperti Iris). Semua implementasi biometrik harus memenuhi spesifikasi keamanan dan memiliki peringkat yang kuat untuk berpartisipasi dalam kelas BiometricPrompt . Biometrik diukur dengan Imposter Accept Rate (IAR) dan Spoof Accept Rate (SAR) .

Untuk detail selengkapnya tentang spesifikasi keamanan biometrik, lihat Mengukur Keamanan Buka Kunci Biometrik .

Sumber

Android 10

  • Memperkenalkan kelas BiometricManager yang dapat digunakan pengembang untuk menanyakan ketersediaan otentikasi biometrik.
  • Termasuk integrasi otentikasi sidik jari dan wajah untuk BiometricPrompt

Android 9

  • Termasuk integrasi sidik jari hanya untuk BiometricPrompt .
  • Menghentikan penggunaan kelas FingerprintManager. Jika aplikasi bundel dan sistem Anda menggunakan kelas ini, perbarui untuk menggunakan BiometricPrompt dan BiometricManager .
  • Memperbarui pengujian pemverifikasi FingerprintManager CTS untuk menguji BiometricPrompt menggunakan BiometricPromptBoundKeysTest .

Penerapan

Untuk memastikan bahwa pengguna dan pengembang memiliki pengalaman biometrik yang mulus, integrasikan tumpukan biometrik Anda dengan BiometricPrompt . Perangkat yang mengaktifkan BiometricPrompt untuk modalitas apa pun, termasuk wajah, sidik jari, dan iris, harus mematuhi persyaratan kekuatan ini. Jika mereka tidak memenuhi persyaratan kekuatan, maka mereka tidak dapat menerapkan kelas ini.
Untuk mengintegrasikan tumpukan biometrik Anda dengan BiometricPrompt dan BiometricManager :

  • Pastikan Layanan <Modality> Anda terhubung dengan benar ke BiometricService dan menghubungkan metode authenticate() . Modalitas umum (sidik jari, wajah) meluas dari superclass umum. Jika Anda perlu mengintegrasikan modalitas yang tidak didukung, ikuti contoh sidik jari / wajah dan pedoman CDD untuk biometrik.
  • Pastikan modalitas baru Anda didukung dengan benar di SystemUI . Ada antarmuka pengguna BiometricPrompt default untuk sidik jari dan wajah
  • Perbarui kerangka kerja untuk KEYGUARD_DISABLE_* bendera KEYGUARD_DISABLE_* untuk biometrik yang ditambahkan.
  • Pastikan perangkat Anda lulus tes CTS dan CtsVerifier untuk setiap modalitas yang telah Anda integrasikan ke dalam BiometricPrompt / BiometricManager . Misalnya, jika Anda memiliki sidik jari dan wajah, tes harus lulus satu per satu.
Arsitektur BiometricPrompt
Gambar 1. Arsitektur BiometricPrompt

Pedoman implementasi HAL

Ikuti panduan HAL biometrik berikut untuk memastikan bahwa data biometrik tidak bocor dan dihapus saat pengguna dikeluarkan dari perangkat:

  • Pastikan data biometrik mentah atau turunannya (seperti templat) tidak pernah dapat diakses dari luar driver sensor atau lingkungan terisolasi yang aman (seperti TEE atau Secure Element).
  • Jika perangkat keras mendukungnya, batasi akses perangkat keras ke lingkungan terisolasi yang aman dan lindungi dengan kebijakan SELinux. Buat saluran komunikasi (misalnya, SPI, I2C) hanya dapat diakses oleh lingkungan terisolasi yang aman dengan kebijakan SELinux eksplisit pada semua file perangkat.
  • Akuisisi biometrik, pendaftaran, dan pengenalan harus terjadi di dalam lingkungan terisolasi yang aman untuk mencegah pelanggaran data dan serangan lainnya. Persyaratan ini hanya berlaku untuk biometrik yang kuat .
  • Simpan hanya data biometrik dalam bentuk terenkripsi atau turunannya pada sistem file, meskipun sistem file itu sendiri dienkripsi.
  • Untuk melindungi dari serangan replay, tanda tangani templat biometrik dengan kunci pribadi khusus perangkat. Untuk Advanced Encryption Standard (AES), paling tidak tandatangani template dengan jalur sistem file absolut, grup, dan ID biometrik sehingga file template tidak dapat dioperasikan di perangkat lain atau untuk siapa pun selain pengguna yang mendaftarkannya di perangkat yang sama . Misalnya, cegah penyalinan data biometrik dari pengguna lain di perangkat yang sama atau dari perangkat lain.
  • Gunakan jalur sistem file yang disediakan oleh fungsi set_active_group() atau sediakan cara lain untuk menghapus semua data templat pengguna saat pengguna dihapus. Sangat disarankan agar file template biometrik disimpan sebagai terenkripsi di jalur yang disediakan. Jika ini tidak dapat dilakukan karena persyaratan penyimpanan lingkungan terisolasi yang aman, tambahkan kait untuk memastikan penghapusan data saat pengguna dihapus atau perangkat dihapus.

Kustomisasi

Jika perangkat Anda mendukung beberapa biometrik, pengguna harus dapat menentukan default di pengaturan. Implementasi BiometricPrompt Anda harus memilih biometrik yang kuat sebagai default kecuali pengguna secara eksplisit menimpanya, maka pesan peringatan perlu ditampilkan menjelaskan risiko yang terkait dengan biometrik (misalnya, Foto Anda dapat membuka kunci perangkat Anda )

Validasi

Penerapan biometrik Anda harus lulus tes berikut:

Selain itu, jika perangkat Anda mendukung biometrik yang memiliki AOSP HIDL ( fingerprint@2.1 , face1.0 ), perangkat tersebut harus lulus tes VTS yang relevan ( sidik jari , wajah )