Biometric Authentication – How dynamic signature verification works and how secure it?

Sanjana Human In Tech
3 min readMay 22, 2024

--

Biometric identification involves using unique physical characteristics, such as fingerprints, facial recognition, or iris scans, to authenticate a user. Here’s how it generally works on both the device and server sides:

On the Device

Enrollment:

Capture: The device captures a biometric sample from the user (e.g., fingerprint scan, facial image).

Feature Extraction: The device processes the sample to extract unique features. For instance, in the case of a fingerprint, it might analyze ridge patterns.

Storage: The extracted features are converted into a digital template and stored securely on the device. This template does not store the raw image but a representation that cannot be reverse-engineered to recreate the original biometric data.

Authentication:

Capture: The user presents their biometric data again (e.g., scans their fingerprint).

Feature Extraction: The device processes the new sample to extract the features.

Comparison: The extracted features are compared to the stored template to verify a match.

Result: If there is a match, the user is authenticated. The result (success or failure) is used to grant or deny access to the app or service.

Server-Side Verification

To securely verify the identity on the server end, a combination of biometric verification on the device and additional factors on the server side can be used:

Secure Communication:

The device and server communicate over a secure channel (e.g., HTTPS) to protect data during transmission.

Token-Based Authentication:

After biometric verification on the device, the app can generate a secure token (e.g., JWT – JSON Web Token) that includes user information and possibly the result of the biometric verification.

This token is signed with a secret key to prevent tampering.

Server Validation:

The server receives the token and verifies its authenticity by checking the signature.

The server checks the token’s payload to ensure it matches expected values (e.g., user ID, timestamp, biometric verification result).

If the token is valid and the payload indicates a successful biometric verification, the server grants access to the requested resources or services.

Example Workflow

User Enrollment:

The user enrolls their biometric data on the device, which creates and securely stores a biometric template.

The device may also send a registration request to the server with user information, excluding the biometric template.

User Authentication:

The user attempts to log in using their biometric data.

The device verifies the biometric data and, if successful, generates a secure token.

The token is sent to the server as part of the authentication request.

Server-Side Verification:

The server verifies the token’s signature to ensure it was issued by the legitimate device.

The server validates the token’s payload.

If all checks pass, the server grants access to the user.

Security Considerations

Data Protection:

Biometric templates should be stored securely on the device, often in a hardware-backed secure enclave or trusted execution environment (TEE).

The server should not store biometric data to reduce the risk of data breaches.

Token Security:

Tokens should have a limited lifespan to reduce the risk of misuse if intercepted.

Tokens should be signed and encrypted to prevent tampering and unauthorized access.

Fallback Mechanisms:

Implement alternative authentication methods (e.g., PIN, password) in case the biometric system fails or is unavailable.

Biometric Libraries and Frameworks

For developers, there are libraries and frameworks that simplify implementing biometric authentication:

--

--

Sanjana Human In Tech
Sanjana Human In Tech

Written by Sanjana Human In Tech

A React Native front-end enthusiast and dedicated development engineer, eager to expand knowledge on development techniques and collaborate with others.

No responses yet