Présentation : Biométrie et Intégration
Android
Introduction à la Biométrie
Définition : La biométrie est une technologie qui permet d'identifier ou d’authentifier une
personne en utilisant ses caractéristiques biologiques ou comportementales uniques.
Exemples : Empreinte digitale, reconnaissance faciale, iris, voix, forme de la main,
signature dynamique.
Pourquoi utiliser la biométrie ?
Avantages :
- Plus sécurisé que les mots de passe
- Plus rapide et plus pratique
- Impossible à oublier
Utilisations courantes :
- Déverrouillage des smartphones
- Paiements mobiles
- Contrôle d’accès physique
- Applications bancaires
Fonctionnement d’un système biométrique
1. Enrôlement : Capture, traitement, stockage du modèle biométrique
2. Authentification : Nouvelle capture, comparaison, acceptation ou rejet
Types de biométrie
Biométrie physiologique : Empreintes digitales, iris, visage, ADN
Biométrie comportementale : Voix, signature, dynamique de frappe
Avantages et inconvénients
Avantages :
- Rapide et pratique
- Difficile à falsifier
- Réduction des fraudes
- Sécurité renforcée
Inconvénients :
- Coût
- Problèmes de vie privée
- Faux positifs/négatifs
- Données volées = risque important
Intégration dans Android Studio
Objectif : Authentifier un utilisateur avec son empreinte digitale dans une application
Android.
Prérequis techniques
- Android Studio
- SDK 23+ (Android 6.0+)
- Appareil compatible biométrie
- Permissions activées
Étapes d’intégration
1. Ajouter la permission dans AndroidManifest.xml :
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
2. Ajouter la dépendance dans build.gradle :
implementation "androidx.biometric:biometric:1.2.0-alpha04"
Interface utilisateur
<Button
android:id="@+id/btnBiometric"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Se connecter avec empreinte digitale" />
Code java
Executor executor = ContextCompat.getMainExecutor(this);
Crée un exécuteur pour gérer les réponses de l’authentification biométrique sur le
thread principal de l'application (UI thread).
BiometricPrompt biometricPrompt = new BiometricPrompt(MainActivity.this,
executor, new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationSucceeded(@NonNull
BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
Toast.makeText(getApplicationContext(), "Authentification réussie",
Toast.LENGTH_SHORT).show();
}
Crée une instance de BiometricPrompt qui permet de lancer le dialogue
d’authentification biométrique.
- MainActivity.this : contexte de l’activité actuelle.
- executor : pour exécuter les callbacks.
- new BiometricPrompt.AuthenticationCallback() : définit les actions à
exécuter selon le résultat de l'authentification.
@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
Toast.makeText(getApplicationContext(), "Échec de
l'authentification", Toast.LENGTH_SHORT).show();
}
});
Méthode appelée lorsque l’utilisateur a été authentifié avec succès.
Affiche un message de succès avec Toast.
BiometricPrompt.PromptInfo promptInfo = new
BiometricPrompt.PromptInfo.Builder()
.setTitle("Connexion biométrique")
.setSubtitle("Utilisez votre empreinte digitale")
.setNegativeButtonText("Annuler")
.build();
Construit le contenu visuel de la boîte de dialogue biométrique :
.setTitle(...) : titre affiché en haut.
.setSubtitle(...) : sous-titre expliquant la demande.
.setNegativeButtonText(...) : texte du bouton d’annulation.
Button biometricButton = findViewById(R.id.btnBiometric);
Récupère le bouton d'authentification biométrique dans le layout XML.
biometricButton.setOnClickListener(view ->
biometricPrompt.authenticate(promptInfo));
Lorsque l’utilisateur clique sur le bouton, cela lance l’authentification
biométrique via biometricPrompt.authenticate(promptInfo).
Conclusion
- Solution moderne de sécurité
- Intégration simple avec BiometricPrompt
- De plus en plus d’applications utilisent cette technologie