Google imposta le regole per i lettori di impronte digitali con Marshmallow

Lorenzo Quiroli
Lorenzo Quiroli
Google imposta le regole per i lettori di impronte digitali con Marshmallow

I lettori di impronte digitali sono presenti sugli smartphone con il robottino verde già da molto tempo ma con Marshmallow sono supportati ufficialmente anche da Google, che ora pone le sue regole di conformità riguardanti questa specifica hardware.

Ecco la parte del CDD (Compatibility Definition Document) che riguarda i lettori di impronte:

7.3.10. Fingerprint Sensor
Device implementations with a secure lock screen SHOULD include a fingerprint sensor. If a device implementation includes a fingerprint sensor and has a corresponding API for third-party developers, it:

  • MUST declare support for the android.hardware.fingerprint feature.
  • MUST fully implement the corresponding API as described in the Android SDK documentation [Resources, 95].
  • MUST have a false acceptance rate not higher than 0.002%.
  • Is STRONGLY RECOMMENDED to have a false rejection rate not higher than 10%, and a latency from when the fingerprint sensor is touched until the screen is unlocked below 1 second, for 1 enrolled finger.
  • MUST rate limit attempts for at least 30 seconds after 5 false trials for fingerprint verification.
  • MUST have a hardware-backed keystore implementation, and perform the fingerprint matching in a Trusted Execution Environment (TEE) or on a chip with a secure channel to the TEE.
  • MUST have all identifiable fingerprint data encrypted and cryptographically authenticated such that they cannot be acquired, read or altered outside of the Trusted Execution Environment (TEE) as documented in the implementation guidelines on the Android Open Source Project site [Resources, 96].
  • MUST prevent adding a fingerprint without first establishing a chain of trust by having the user confirm existing or add a new device credential (PIN/pattern/password) using the TEE as implemented in the Android Open Source project.
  • MUST NOT enable 3rd-party applications to distinguish between individual fingerprints.
  • MUST honor the DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT flag.
  • MUST, when upgraded from a version earlier than Android 6.0, have the fingerprint data securely migrated to meet the above requirements or removed.
  • SHOULD use the Android Fingerprint icon provided in the Android Open Source Project.

LEGGI ANCHE: La nostra prova dei lettori di impronte digitali

Google ne raccomanda quindi l'uso, anche se non sarà obbligatorio avere un lettore di impronte su ogni smartphone. Per rispettare tutte le specifiche, il lettore di impronte:

  • DEVE dichiarare il supporto per la funzionalità android.hardware.fingerprint
  • DEVE implementare a pieno la corrispondente API così come descritta nella documentazione dell'SDK di Android
  • DEVE avere un tasso di falsa approvazione non superiore allo 0,002%
  • È FORTEMENTE RACCOMANDATO che abbia un tasso di falso rifiuto inferiore al 10% e una latenza inferiore al seconda da quando il dito tocca il sensore allo sblocco della home (peccato che sia un FORTEMENTE RACCOMANDATO e non un DEVE NdR)
  • DEVE avere un'implementazione della Keystore basata sull'hardware ed confrontare l'impronta con quella impostata in una Trusted Execution Environment (TEE) oppure su un chip con canale sicuro verso il TEE
  • DEVE avere tutte le impronte identificabili criptate e autenticate con crittografia in modo che non possano essere acquisite, lette o alterate al di fuori del TEE come documentato nell'AOSP
  • DEVE prevenire che venga aggiunta un'impronta prima che la chain of trust venga stabili e l'utente verifichi le credenziali del dispositivo esistente o ne imposti uno nuovo
  • NON DEVE consentire alle app di terze parti di distinguere le impronte individuali
  • DEVE onorare il flag DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT
  • DEVE, quando aggiornato da una versione precedente ad Android 6.0, avere i dati delle impronte digitali migrati in modo sicuro al fine di superare tutti i requisiti qui sopra, o altrimenti rimuoverli
  • DOVREBBE usare l'icona Android Fingerprint che si trova nell'AOSP

Insomma, tanti obblighi e alcuni suggerimenti, uno dei quali forse avrebbe dovuto diventare obbligo, ossia quello relativo alle performance di precisione e velocità.

I suggerimenti infatti non sono spesso ascoltati dai produttori Android e il rischio è quello di vedere lettori di impronte sulla fascia bassa che causino un'esperienza utente frustrante a causa della loro lentezza.

Fonte: AndroidPolice