askvity

How does fingerprint authentication work on Android?

Published in Android Security 3 mins read

Fingerprint authentication on Android devices works by verifying your unique fingerprint pattern against a stored template to unlock your device or authorize access to apps and services. This often involves using your fingerprint to unlock a private key stored securely on the device.

Here's a breakdown of the process:

Enrollment Phase: Storing Your Fingerprint

  1. Scanning: When you set up fingerprint authentication, your Android device uses a fingerprint sensor (capacitive, optical, or ultrasonic) to scan and capture an image of your fingerprint.
  2. Feature Extraction: The device's software analyzes the scanned image and extracts key features, such as ridges, valleys, and minutiae points (specific points where ridges end or bifurcate).
  3. Template Creation: The extracted features are converted into a digital template or mathematical representation of your fingerprint. This template is not an image of your fingerprint but rather a secure, irreversible data set.
  4. Secure Storage: This template is then encrypted and stored in a secure area of your device, often the Trusted Execution Environment (TEE) or a secure enclave within the device's processor. The TEE is isolated from the rest of the operating system, making it difficult for malicious software to access the fingerprint data.

Authentication Phase: Verifying Your Identity

  1. Scanning: When you place your finger on the sensor to unlock your device or authenticate an app, the sensor scans your fingerprint again.
  2. Feature Extraction: The device extracts features from the live scan in the same way as during enrollment.
  3. Matching: The extracted features from the live scan are compared against the stored template. The system calculates a matching score based on the similarity between the two sets of features.
  4. Decision: If the matching score exceeds a pre-defined threshold, the authentication is successful, and the device unlocks or grants access. If the score is below the threshold, the authentication fails. Many Android devices allow a limited number of failed attempts before requiring a passcode, PIN, or pattern.
  5. Private Key Usage: In many cases, especially when authenticating with apps or services, the successful fingerprint authentication unlocks a private key that's stored securely on the device. This private key is then used to communicate with the service, which has the corresponding public key. This mechanism supports a strong two-factor authentication approach, combining something you have (the device) with something you are (your fingerprint).

Security Considerations:

  • False Acceptance Rate (FAR): The probability that the system will incorrectly authenticate an unauthorized fingerprint.
  • False Rejection Rate (FRR): The probability that the system will incorrectly reject an authorized fingerprint.
  • Spoofing: The potential for using fake fingerprints to bypass the authentication system. Modern fingerprint sensors often incorporate liveness detection measures to mitigate this risk.
  • Secure Hardware: The use of secure hardware elements like the TEE is crucial for protecting fingerprint data from unauthorized access.

In summary, Android's fingerprint authentication offers a convenient and relatively secure way to verify your identity by matching live fingerprint scans against stored templates and, frequently, unlocking private keys for secure communication.

Related Articles