Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Biometrics with iris and face recognition

In blog Better Biometrics in Android P they said: "To keep users safe, most apps and devices have an authentication mechanism, or a way to prove that you're you. These mechanisms fall into three categories: knowledge factors, possession factors, and biometric factors. Knowledge factors ask for something you know (like a PIN or a password), possession factors ask for something you have (like a token generator or security key), and biometric factors ask for something you are (like your fingerprint, iris, or face)".

But when I read in BiometricPrompt API, I can't see document for iris or face, authenticate only support for fingerprint: "This call warms up the fingerprint hardware, displays a system-provided dialog, and starts scanning for a fingerprint. It terminates when BiometricPrompt.AuthenticationCallback.onAuthenticationError(int, CharSequence) is called..." How I can use Biometrics to create authentication login with iris and face or any other solution for this?

like image 519
Hoa.Tran Avatar asked Jul 03 '18 03:07

Hoa.Tran


People also ask

What are the 4 main types of biometrics?

The five most common types of biometric identifiers are: fingerprints, facial, voice, iris, and palm or finger vein patterns. As an example, banks need your biometric data in order to provide their various services remotely.

What is the difference between iris and face recognition?

Facial recognition involves the system recognizing your face by reading characteristics, such as the distance between your eyes, ears, and so on. Iris recognition involves the system looking at the pattern in one or both of the irises in your eye.

What is iris in biometrics?

Iris recognition or iris scanning is the process of using visible and near-infrared light to take a high-contrast photograph of a person's iris. It is a form of biometric technology in the same category as face recognition and fingerprinting.

Does face ID use iris scanning?

Identity Verification Facial Recognition verifies identities based on unique facial characteristics from a photograph or video. Iris Scanning verifies identities based only on the iris from a photograph.


2 Answers

Android 6

  • Introduces the FingerprintManager class to provide support for fingerprint sensors.
  • Developers needed to build their own fingerprint UI.

Android 9

  • Deprecates the FingerprintManager class.
  • Introduces a new Biometric API to access the variety of biometric hardware available on OEM devices.
  • Introduces a standardized fingerprint UI policy. The OEMs can now customize the UI. The app developers lose the ability to create their custom UIs.
  • It includes fingerprint integration only for the BiometricPrompt class. Fingerprint BiometricPrompt

Android 10

  • The Biometric API is now part of the AndroidX Biometric Library, which makes all of the biometric behavior from Android 10 available to all devices that run Android 6.0 (API level 23) or higher.
  • Includes fingerprint and face authentication integration for BiometricPrompt. Fingerprint and face authentication BiometricPrompt
  • Introduces the BiometricManager class that developers can use to query the availability of biometric authentication
    • If the device supports multiple biometrics, the user can specify a default/prefered method in the OS settings.
    • BiometricManager doesn't give you information about the available methods, it just returns whether there is at least one available or not.
    • BiometricManager doesn't allow you to know which biometric method is being used.
    • BiometricManager doesn't allow you to select a preferred method if the device supports multiple methods.
    • If there are no biometric sensors present, the API now allows developers to specify whether they want to use device credentials (PIN, pattern, or password) instead.
  • The framework is now providing a friendly, standardized API for OEMs to integrate support for all types of biometric sensors on their devices.
  • The framework has now built-in support for facial authentication in Android 10 so that vendors don’t need to create a custom implementation.
  • Biometric Library architecture: Biometric Library architecture

About the iris scanners, several OEMs (e.g. Samsung) have already integrated the implementations of their iris sensors with the Biometric API. However, Android doesn't provide a standard API for OEMs to interact with the iris sensors yet (as far as I know), which prevents AOSP-based ROMs to access the iris sensors.

In the AOSP issue tracker, there is an open ticket for "Adding Biometrics Iris HAL interface", that aims to create a HAL interface to standardize how the Android framework communicates with iris scanners. Unfortunately, the last progress made in the ticket was in March 2018.

Update: Android 11

  • Android 11 introduces the BiometricManager.Authenticators interface. This interface defines the possible strengths of biometric hardware elements:
    • BIOMETRIC_STRONG: Any biometric (e.g. fingerprint, iris, or face) on the device that meets or exceeds the requirements for Strong, as defined by the Android CDD.
    • BIOMETRIC_WEAK: Any biometric (e.g. fingerprint, iris, or face) on the device that meets or exceeds the requirements for Weak, as defined by the Android CDD.
    • DEVICE_CREDENTIAL: The non-biometric credential used to secure the device (i.e., PIN, pattern, or password).
  • The ACTION_BIOMETRIC_ENROLL intent action invokes system settings and requests the user to enroll a biometric hardware element. You can provide the strength level as an extra.
  • The AuthenticationResult API has a new method getAuthenticationType() that allows you to check whether the user authenticated using biometric or device credentials.

References

  • Show a biometric authentication dialog
  • Biometric AOSP
  • One Biometric API Over all Android
like image 62
David Miguel Avatar answered Sep 23 '22 05:09

David Miguel


Android 9 only includes support for the Fingerprint aspect of biometric authentication. Iris and facial recognition will be supported down the line. Note that this results in the deprecation of the previous FingerprintManager APIs when writing apps for Android P.

Android 9 only includes fingerprint integration for BiometricPrompt. However, integrated support for other biometric modalities are forthcoming.

Source

like image 31
Raghav Sood Avatar answered Sep 24 '22 05:09

Raghav Sood