Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Biometrica

I fattori biometrici consentono un'autenticazione sicura sulla piattaforma Android. Il framework Android include l'autenticazione biometrica del viso e dell'impronta digitale. Android può essere personalizzato per supportare altre forme di autenticazione biometrica (come Iris). Tutte le implementazioni biometrici devono soddisfare le specifiche di sicurezza e hanno un forte rating al fine di partecipare al BiometricPrompt di classe . I dati biometrici vengono misurati con l' Iposter Accept Rate (IAR) e lo Spoof Accept Rate (SAR) .

Per maggiori dettagli sulle specifiche di sicurezza biometrica, vedere Misurazione della sicurezza di sblocco biometrico .

fonte

Android 10

  • Introduce la classe BiometricManager che gli sviluppatori possono utilizzare per interrogare la disponibilità dell'autenticazione biometrica.
  • Include l'impronta digitale e l'integrazione dell'autenticazione facciale per BiometricPrompt

Android 9

  • Include l'integrazione dell'impronta digitale solo per BiometricPrompt .
  • Ritira la classe FingerprintManager. Se le app in bundle e di sistema utilizzano questa classe, aggiornale per utilizzare invece BiometricPrompt e BiometricManager .
  • Aggiornati i test del verificatore CTS di FingerprintManager per testare BiometricPrompt utilizzando BiometricPromptBoundKeysTest .

Implementazione

Per garantire che utenti e sviluppatori abbiano un'esperienza biometrica senza interruzioni, integra il tuo stack biometrico con BiometricPrompt . I dispositivi che abilitano BiometricPrompt per qualsiasi modalità, inclusi viso, impronta digitale e iride, devono rispettare questi requisiti di resistenza . Se non soddisfano i requisiti di forza, non possono implementare questa classe.
Per integrare il tuo stack biometrico con BiometricPrompt e BiometricManager :

  • Assicurati che il tuo servizio <Modality> sia correttamente collegato a BiometricService e agganci il metodo authenticate() . Le modalità comuni (impronta digitale, viso) si estendono da una superclasse comune. Se è necessario integrare una modalità non supportata, seguire l'esempio di impronta digitale / viso e le linee guida CDD per la biometria.
  • Assicurati che la tua nuova modalità sia adeguatamente supportata in SystemUI . Sono disponibili interfacce utente BiometricPrompt predefinite per impronta digitale e viso
  • Aggiorna il framework per rispettare i flag KEYGUARD_DISABLE_* per i dati biometrici aggiunti.
  • Assicurati che il tuo dispositivo superi i test CTS e CtsVerifier per ogni modalità che hai integrato in BiometricPrompt / BiometricManager . Ad esempio, se si dispone sia dell'impronta digitale che del viso, i test devono superare individualmente per ciascuno di essi.
Architettura BiometricPrompt
Figura 1. Architettura BiometricPrompt

Linee guida per l'implementazione di HAL

Segui queste linee guida HAL biometriche per assicurarti che i dati biometrici non vengano trapelati e vengano rimossi quando un utente viene rimosso da un dispositivo:

  • Assicurati che i dati biometrici grezzi o derivati ​​(come i modelli) non siano mai accessibili dall'esterno del driver del sensore o da un ambiente isolato protetto (come il TEE o Secure Element).
  • Se l'hardware lo supporta, limitare l'accesso hardware all'ambiente protetto e isolato e proteggerlo con una politica SELinux. Rendi il canale di comunicazione (ad esempio, SPI, I2C) accessibile solo all'ambiente isolato sicuro con una politica SELinux esplicita su tutti i file del dispositivo.
  • L'acquisizione, la registrazione e il riconoscimento biometrici devono avvenire all'interno dell'ambiente protetto e isolato per prevenire violazioni dei dati e altri attacchi. Questo requisito si applica solo alla biometria forte .
  • Memorizza solo la forma crittografata di dati biometrici o derivati ​​sul file system, anche se il file system stesso è crittografato.
  • Per proteggerti dagli attacchi di replay, firma i modelli biometrici con una chiave privata specifica del dispositivo. Per Advanced Encryption Standard (AES), firmare almeno un modello con il percorso del file system assoluto, il gruppo e l'ID biometrico in modo tale che i file del modello non siano utilizzabili su un altro dispositivo o per chiunque non sia l'utente che li ha registrati sullo stesso dispositivo . Ad esempio, impedire la copia di dati biometrici da un utente diverso sullo stesso dispositivo o da un altro dispositivo.
  • Utilizzare il percorso del file system fornito dalla funzione set_active_group() o fornire un altro modo per cancellare tutti i dati del modello utente quando l'utente viene rimosso. Si consiglia vivamente di archiviare i file modello biometrico come crittografati nel percorso fornito. Se ciò non è fattibile a causa dei requisiti di archiviazione dell'ambiente protetto e isolato, aggiungere hook per garantire la rimozione dei dati quando l'utente viene rimosso o il dispositivo viene cancellato.

Personalizzazione

Se il tuo dispositivo supporta più dati biometrici, l'utente dovrebbe essere in grado di specificare un valore predefinito nelle impostazioni. L'implementazione BiometricPrompt dovrebbe preferire il biometrico forte come impostazione predefinita a meno che l'utente non lo ignori esplicitamente, quindi deve essere visualizzato un messaggio di avviso che spiega i rischi associati al biometrico (ad esempio, una tua foto potrebbe sbloccare il tuo dispositivo )

Validazione

La tua implementazione biometrica deve superare i seguenti test:

Inoltre, se il tuo dispositivo supporta un biometrico con AOSP HIDL ( fingerprint@2.1 , face1.0 ), deve superare il relativo test VTS ( fingerprint , face )