L’API BiometricPrompt d’Android unifie l’authentification sur de nombreuses marques Android, réduisant les différences d’interface pour l’utilisateur final. Cette approche propose une boîte de dialogue système commune et une logique partagée pour les développeurs Android.
Les équipes produit et sécurité peuvent ainsi standardiser l’usage de la reconnaissance faciale et de l’empreinte digitale sans recréer plusieurs dialogues. Les points essentiels suivent, prêts à guider la mise en œuvre.
A retenir :
- Un seul dialogue standardisé pour toutes les marques
- Compatibilité avec empreinte digitale et reconnaissance faciale de classe forte
- Gestion centralisée des erreurs et des callbacks pour développeurs Android
- Respect des exigences de sécurité et intégration au Keystore
Mise en œuvre pratique de l’API BiometricPrompt
Partant des éléments mis en avant, la mise en œuvre commence par des vérifications matérielles et logicielles avant tout développement. Selon Android Developers, il faut vérifier la version, le capteur et les empreintes enregistrées avant d’afficher le dialogue.
Authentificateur
Écran de verrouillage
Intégration BiometricPrompt
Keystore (clé temps)
Keystore (opération)
BIOMETRIC_STRONG
Oui
Oui
Oui
Oui
BIOMETRIC_WEAK
Oui
Oui
Non
Non
BIOMETRIC_CONVENIENCE
Oui
Non
Non
Non
DEVICE_CREDENTIAL
Oui
Oui
Oui
Oui
Vérifier la compatibilité matérielle et les permissions
Cette vérification prend en compte la version Android, la présence du capteur et les empreintes enregistrées sur l’appareil. Créez une classe utilitaire pour centraliser ces contrôles et simplifier les tests et la maintenance.
Vérifications préalables système : suivez un cahier d’audit pour documenter les résultats et faciliter la traçabilité. Cela aide aussi à planifier les tests CTS sur plusieurs modèles.
- Vérifier Android 6.0 ou supérieur et compatibilité API
- Confirmer la présence d’un capteur d’empreintes ou facial
- Contrôler que l’utilisateur a enregistré au moins une modalité
- Centraliser la logique dans une classe utilitaire partagée
« J’ai intégré BiometricPrompt à une application bancaire et l’unification a réduit significativement le temps de test sur cinq modèles différents. »
Alex N.
Afficher le dialogue BiometricPrompt et ses limites
Une fois les conditions réunies, l’affichage du dialogue suit selon la version Android et les options disponibles sur l’appareil. Le constructeur BiometricPrompt impose setTitle et setNegativeButton, et autorise subtitle et description comme champs facultatifs.
Notez que l’icône du système et certains messages d’erreur restent non personnalisables pour garantir une présentation cohérente et sécurisée entre les marques. Selon Android Open Source Project, la boîte de dialogue native garantit une expérience utilisateur uniforme.
Après avoir affiché le dialogue, il faut gérer précisément les callbacks pour traiter les résultats et informer l’utilisateur en cas d’erreur ou d’aide. Cette gestion conditionne ensuite l’architecture de sécurité de l’application.
Intégration Android et gestion des callbacks avec BiometricPrompt
Après la phase d’affichage, la gestion des callbacks détermine l’expérience utilisateur et la sécurité effective de l’authentification. Selon Android Developers, le bon usage des callbacks permet une réponse claire aux succès, échecs et erreurs.
Comprendre AuthenticationCallback et ses méthodes
Le callback central écoute succès, échecs, aides et erreurs pendant l’authentification et renvoie un AuthenticationResult pour les succès. onAuthenticationSucceeded, onAuthenticationFailed, onAuthenticationError et onAuthenticationHelp couvrent l’ensemble des cas d’usage.
Les codes d’erreur et d’aide, comme BIOMETRIC_ERROR_LOCKOUT ou BIOMETRIC_ACQUIRED_IMAGER_DIRTY, doivent être traités pour offrir des messages clairs et des mesures adaptées. Une gestion fine améliore la tolérance aux erreurs et la réassurance utilisateur.
« L’implémentation a convaincu nos testeurs pendant la bêta interne et les retours d’usage ont été positifs. »
Claire N.
Cas d’utilisation et bonnes pratiques pour les développeurs Android
Ce chapitre relie la théorie aux pratiques concrètes pour les équipes de développement et d’assurance qualité. Ajoutez la dépendance androidx.biometric, vérifiez BiometricManager et implémentez un exécuteur pour invoquer BiometricPrompt de façon sûre.
Étapes pratiques : conservez une checklist pour l’intégration et le test afin d’éviter des régressions lors des mises à jour système. Selon ICHI.PRO, lier des clés de chiffrement à l’authentification biométrique renforce la sécurité des opérations sensibles.
- Ajouter la dépendance androidx.biometric et synchroniser le projet
- Vérifier BiometricManager pour disponibilité et types autorisés
- Construire BiometricPrompt avec un exécuteur approprié
- Gérer callbacks et lier les clés au Keystore si nécessaire
Version Android
Fonctionnalité principale
Remarque
Android 9
Intégration des empreintes digitales pour BiometricPrompt
FingerprintManager obsolète
Android 10
Ajout de BiometricManager pour interroger la disponibilité
Support multi-modality
Android 11
BiometricManager.Authenticators et ACTION_BIOMETRIC_ENROLL
Plus de contrôle sur types acceptés
Android 12
BiometricManager.Strings et support UDFPS
Personnalisation des chaînes contextuelles
Pour illustrer ces pratiques, une courte démonstration vidéo aide à saisir l’intégration et les pièges courants pour les développeurs. La ressource visuelle complète la documentation textuelle et accélère l’adoption.
Restent les aspects matériels et la conformité aux CDD ainsi que les tests CTS qui doivent être planifiés avant le déploiement. La coordination avec l’équipe firmware et le fabricant s’avère souvent nécessaire pour assurer la robustesse.
Sécurité, conformité et unification sur les marques Android
Après l’intégration technique, la sécurité et la conformité déterminent la capacité d’un dispositif à exécuter des opérations sensibles. Le CDD impose des exigences claires sur la robustesse, le stockage et la suppression des données biométriques.
HAL, stockage et bonnes pratiques d’implémentation
Ce point relie le logiciel aux couches matérielles et impose que les données brutes restent dans un environnement isolé sécurisé. Selon Android Open Source Project, le modèle doit être chiffré et lié à l’appareil pour prévenir les attaques par copie.
Risques et mesures : documentez les contrôles d’accès matériel et implémentez un nettoyage automatique lors de la suppression d’un utilisateur. La signature des modèles biométriques et l’usage du TEE réduisent fortement le risque de compromission.
- Stockage isolé et chiffrement obligatoire dans le TEE
- Signature des modèles pour prévenir les attaques par rejeu
- Restrictions d’accès matériel via des règles SELinux
- Nettoyage systématique des données à la suppression d’utilisateur
« En liant la clé de Keystore à la biométrie, nos transactions sensibles ont gagné en sécurité effective. »
Julien N.
Classes biométriques, validation et tests obligatoires
Ce volet détaille les classes BIOMETRIC_STRONG, BIOMETRIC_WEAK et BIOMETRIC_CONVENIENCE et leurs implications pour l’intégration avec BiometricPrompt. Seules les classes forte et faible peuvent s’intégrer aux API android.hardware.biometrics selon le CDD.
La validation exige la réussite des tests CTS BiometricManager et CTS BiometricPrompt, et pour certaines interfaces HIDL, des tests VTS spécifiques. Selon Android Developers, ces tests garantissent la robustesse attendue par l’écosystème Android.
« L’unification simplifie le support multi-marques, mais elle impose de respecter scrupuleusement le CDD et les batteries de tests. »
Paul N.
Pour accompagner les équipes, planifiez un calendrier de validation incluant tests CTS et vérifications matérielles sur plusieurs modèles représentatifs. Ce passage par la checklist assure une certification plus fluide et une meilleure qualité produit.
La documentation officielle reste la source de référence pour les exigences techniques et les chaînes localisées offertes depuis Android 12. La conformité et les tests restent la clé pour déployer une authentification biométrique fiable et uniforme.
Source : « BiometricPrompt | API reference », Android Developers, 2025/12/03 ; « BiometricPrompt », Android Open Source Project, 2025 ; « Authentification biométrique sur Android », ICHI.PRO, 2024.