Google a présenté un exemple d'utilisation de l'authentification serveur avec un lecteur d'empreinte digitale. Présentation de l'exemple, mais aussi des clés symétriques et asymétriques.
L'API Fingerprint protège la vie privée de l'utilisateur en gardant les caractéristiques des empreintes digitales des utilisateurs contenus attentivement dans un hardware sécurisé sur l'appareil. Cet API protège contre les acteurs malveillants, en s'assurant que l'utilisateur peut utiliser de manière sécuriser ses empreintes digitales, même dans une application non fiables (pas dans le Play Store).
Android fournit aussi une protection pour les développeurs d'application, en fournissant l'assurance que l'empreinte digital de l'utilisateur a été identifié de manière positive avant de fournir l'accès à des ressources et des données sécuriser. Cela protège contre les applications trafiquées, en fournissant une sécurité au niveau du chiffrement pour les données hors ligne et les interactions en ligne.
Quand l'utilisateur active le lecteur d'empreinte digital, ils déverrouillent un coffre fort chiffré de manière hardware. En tant que développeur, il est possible de choisir quel type de clé materiel est stocké dans le coffre fort, selon les besoins de l'application :
Il faut tout d'abord créer une paire de clé asymétrique :
Pour récupérer les clés publiques et privées :
Ensuite, il faut transmettre la clé publique au serveur pour que par la suite le serveur puisse vérifier que les transactions sont autorisées par l'utilisateur. Exemple d'appel :
Appeler le détecteur d'empreinte et demander à l'utilisateur d'agir :
Envoie des données au serveur et vérification :
Science étonnante propose sur Youtube une vidéo expliquant les différentes techniques de chiffrement dont les deux proposés ci-dessus.