๐Ÿ‘† Biometric Authentication Simulator

Interactive demonstration of fingerprint, iris, face recognition with FAR/FRR analysis

Biometric Data
FAR/FRR Analysis
Enrollment Protocol
FIDO2 Integration
Certificates
Biometric Data Types & Processing
๐Ÿ‘†
Fingerprint
Ridge patterns, minutiae points, core/delta positions. Captured at 500-1000 DPI.
๐Ÿ‘๏ธ
Iris
Iris texture patterns, crypts, furrows, collarette. Near-infrared imaging at 640x480.
๐Ÿ˜Š
Face
3D facial geometry, landmarks (68+ points), skin texture. RGB + depth sensor.

Template Size Comparison

Fingerprint Template: ~250 bytes
Iris Template: ~512 bytes
Face Template: ~4 KB
False Accept Rate (FAR) vs False Reject Rate (FRR)
Low (Convenience) High (Security)
FAR (False Accept Rate): 0.01%
FRR (False Reject Rate): 5.00%
EER (Equal Error Rate): ~2.5%
// FAR/FRR Calculation Example function calculateFAR(threshold, impostor_scores) { const false_accepts = impostor_scores.filter(s => s >= threshold); return false_accepts.length / impostor_scores.length; } function calculateFRR(threshold, genuine_scores) { const false_rejects = genuine_scores.filter(s => s < threshold); return false_rejects.length / genuine_scores.length; }

Lower threshold = More convenient (lower FRR) but less secure (higher FAR). Higher threshold = More secure (lower FAR) but less convenient (higher FRR). The optimal point is the Equal Error Rate (EER).

Biometric Enrollment Protocol
1๏ธโƒฃ Capture
โ†’
2๏ธโƒฃ Quality Check
โ†’
3๏ธโƒฃ Feature Extract
โ†’
4๏ธโƒฃ Template Gen
โ†’
5๏ธโƒฃ Encrypt & Store

Enrollment Steps

Step 1: Capture

Multiple samples (3-5) captured for reliability. Quality metrics: resolution, contrast, focus.

Step 2: Quality Check

NFIQ (NIST Fingerprint Image Quality) or equivalent. Reject poor quality samples.

Step 3: Feature Extraction

Extract minutiae (fingerprint), iris codes (iris), or face embeddings (face). Convert to numeric template.

Step 4: Template Generation

Combine multiple samples into robust template. Apply template protection (cancelable biometrics).

Step 5: Secure Storage

Encrypt template with AES-256. Store in secure enclave (TPM/TEE). Link to user ID.

// Enrollment Protocol Example const enrollment = { capture: async () => { const samples = await captureBiometric({ count: 3 }); return samples; }, qualityCheck: (samples) => samples.filter(s => s.quality > 0.8), extractFeatures: (samples) => samples.map(extractTemplate), generateTemplate: (features) => combineFeatures(features), secureStore: (template) => encryptAndStore(template, 'AES-256') };
FIDO2/WebAuthn Integration

Passwordless Authentication Flow

๐ŸŒ Client
โ†’
๐Ÿ” WebAuthn API
โ†’
๐Ÿ‘† Biometric
โ†’
๐Ÿ”‘ Sign Challenge
โ†’
โœ“ Server Verify

FIDO2 Components

1. Authenticator

Hardware (YubiKey, TPM) or platform (Touch ID, Windows Hello) authenticator with biometric sensor.

2. WebAuthn API

Browser API for registration (navigator.credentials.create) and authentication (navigator.credentials.get).

3. Relying Party

Server that verifies the signed challenge. Stores public key, never the biometric template.

// WebAuthn Registration const credential = await navigator.credentials.create({ publicKey: { challenge: new Uint8Array([/* server challenge */]), rp: { name: "WIA Standards", id: "wiastandards.com" }, user: { id: new Uint8Array(16), name: "user@example.com", displayName: "User" }, pubKeyCredParams: [{ alg: -7, type: "public-key" }], authenticatorSelection: { authenticatorAttachment: "platform", userVerification: "required" // Biometric required } } }); // Send credential.response to server for verification

Privacy Win: Biometric data never leaves the device. Only cryptographic proof (signature) is sent to server.

Certification & Compliance
๐Ÿ“œ
ISO/IEC 19794
Biometric data interchange formats. Defines standard templates for fingerprint, iris, face.
๐Ÿ”’
ISO/IEC 30107
Presentation Attack Detection (PAD). Liveness detection to prevent spoofing.
๐Ÿ›ก๏ธ
ISO/IEC 24745
Biometric template protection. Cancelable biometrics and cryptographic protection.
๐ŸŒ
FIDO Alliance
FIDO2 certification for passwordless authentication. WebAuthn + CTAP protocols.
๐Ÿ‡ช๐Ÿ‡บ
GDPR Compliance
EU General Data Protection Regulation. Biometric data as special category, requires explicit consent.
๐Ÿ‡บ๐Ÿ‡ธ
NIST Standards
NIST SP 800-63B for digital identity. Biometrics as authenticator assurance level (AAL).

Compliance Checklist

โœ… Explicit user consent for biometric collection
โœ… Secure storage with encryption (AES-256)
โœ… Template protection & cancelable biometrics
โœ… Liveness detection (PAD) to prevent spoofing
โœ… Regular security audits & penetration testing
โœ… Right to deletion & data portability
โœ… Multi-factor fallback option