Co-écrit par Rew Islam et Guillaume Bouxin
En février, Google a publié le premier developer preview pour Android 14, un aperçu de la prochaine version d’Android prévue pour la fin de cette année.
Ce developer preview contient des modifications Android qui permettent aux applications tierces de gérer les clés de passe. Les clés de passe sont des identifiants résistants au phishing, basées sur les normes FIDO et sont l’avenir de l’authentification en ligne, conçues pour remplacer les mots de passe de manière plus sécurisée et plus facile à utiliser
Dashlane a été à la pointe de la prise en charge des clés de passe depuis que ces dernières ont été annoncées l’année dernière. En août, Dashlane a introduit la prise en charge intégrée dans notre gestionnaire de mots de passe ultra sécurisé et a dévoilé la première solution de clé de passe dans le navigateur. Vous pouvez essayer notre aperçu sur le navigateur Chrome de bureau en utilisant l’extension extension Dashlane Chrome (cela fonctionnera sur n’importe quel navigateur basé sur chrome).
Donc, qu’est-ce qui est intéressant à propos de ce developer preview d’Android 14 ? Jusqu’à présent, vous ne pouviez synchroniser vos clés de passe qu’avec des écosystèmes fournisseurs de plateformes tels que iCloud Keychain sur les plateformes Apple ou le gestionnaire de mots de passe Google sur Android.
Des entreprises technologiques comme Apple, Google et Microsoft travaillent depuis des années sur l’authentification sans mot de passe. Découvrez ce qu’elles font actuellement pour prendre en charge les clés de passe.
Si vous utilisez un gestionnaire de mots de passe dédié, tel que Dashlane, vous vous attendez probablement à ce qu’il gère vos clés de passe, tout comme cela est le cas avec vos mots de passe. Contrairement aux mots de passe, l’utilisation des clés de passe du mécanisme est plus sophistiquée sous la capot, bien que cela ne soit pas évident dans l’expérience utilisateur ; les clés de passe sont en fait beaucoup plus simples à créer et à utiliser que les mots de passe . Cette sophistication s’appuie sur le logiciel que vous utilisez sur votre appareil. Dans la plupart des cas, ce sera votre navigateur ou votre système d’exploitation mobile.
Les plateformes mobiles telles qu’Android et iOS nécessiteront des modifications pour permettre aux applications tierces telles que Dashlane de gérer les clés de passe. Ce sont les modifications qui ont été incluses dans ce developer preview d’Android 14. L’utilisateur peut simplement créer une clé de passe en utilisant son empreinte digitale au lieu d’entrer le mot de passe. L’empreinte digitale relie l’action d’authentification à l’utilisateur de l’appareil, ce qui empêche quiconque d’autres de créer et d’utiliser des clés de passe sur cet appareil spécifique.
Regardez cette vidéo de démonstration rapide pour voir comment créer un compte sur une application de démonstration Android.
Bien que l’interface de l’utilisateur de la feuille inférieure (le composant qui glisse vers le haut depuis le bas de votre écran pour afficher du contenu supplémentaire) fasse partie d’Android, la clé de passe est en fait créée par Dashlane et stockée dans le coffre-fort de l’utilisateur. Lorsque vous vous connectez, la clé de passe stockée dans le coffre-fort Dashlane est utilisée pour signer le défi, ce qui valide l’authentification. Tout cela se fait sans que l’utilisateur n’ait besoin de faire autre chose que de toucher son capteur d’empreintes digitales (ou, à défaut, de saisir le PIN de l’appareil).
C’est la première itération Android qui permet aux gestionnaires de mot de passe de gérer les clés de passe, et nous prévoyons la version publique plus tard cette année. Consultez les sites Web adoptant des clés de passe dans les mois et les années à venir. Une fois que vous commencez à utiliser des clés de passe, vous ne voudrez pas revenir aux mots de passe. En plus de vous permettre de ne rien saisir, les clés de passe sont également beaucoup plus sécurisées que les mots de passe, offrant à la fois une résistance au phishing et une facilité d’utilisation. Des niveaux de sécurité plus élevés se font souvent au détriment de la facilité d’utilisation, mais comme vous pouvez le voir dans la vidéo de démonstration ci-dessus, ce n’est pas le cas avec les clés de passe.
Il existe deux flux que Dashlane doit mettre en œuvre. Le premier consiste à créer une clé de passe et à l’enregistrer dans le coffre-fort Dashlane chiffré. Le deuxième est se connecter avec une clé de passe existante. Les deux mises en œuvre doivent être conformes à la spécification WebAuthn afin de fonctionner.
Lors de la création d’une clé de passe, Dashlane générera une paire de clés asymétriques, stockant la clé privée en toute sécurité dans le coffre-fort de l’utilisateur et renvoyant la clé publique à la partie de confiance (le site Web ou l’application qui enregistre la clé de passe). Lors de la connexion avec une clé de passe, la partie de confiance enverra un défi que Dashlane signera avec la clé privée en renvoyant la réponse pour authentifier l’utilisateur.
Un algorithme couramment utilisé pour WebAuthn est l’algorithme ECDSA avec SHA-256 pour créer la paire de clés et signer le défi, mais la partie de confiance peut demander d’utiliser un algorithme différent.
Générer une paire de clés asymétriques dans le langage de programmation Kotlin :
val spec = ECGenParameterSpec("secp256r1")
val keyPairGen = KeyPairGenerator.getInstance("EC")
keyPairGen.initialize(spec)
return keyPairGen.genKeyPair()
Signer un défi avec une clé privée le dans Kotlin :
val sig = Signature.getInstance("SHA256withECDSA")
sig.initSign(privateKey)
sig.update(challenge)
return sig.sign()
Avec Android 14, Dashlane peut utiliser la bibliothèque d’identifiants Jetpack pour communiquer avec une application qui veut utiliser une clé de passe. Elle permet d’invoquer une application tierce lorsqu’il existe une demande de création ou d’utilisation d’une clé de passe. Dashlane devra être sélectionnée en tant que service de fournisseur d’identité dans les paramètres de l’appareil, similaire à la saisie automatique sur Android. Actuellement, ce flux ne fonctionne que pour les applications natives, et nous prévoyons la prise en charge des sites Web dans les prochains developer previews.
Si vous êtes développeur et cherchez à mettre en place un système de connexion avec des clés de passe sur votre application Android native, vous pouvez suivre les étapes décrites dans ce guide fourni par Google.
La prise en charge des clés de passe Android pour les applications natives est fournie avec Android 14, dont la sortie publique est prévue en août 2023. Il faudra un peu plus de temps pour que les applications et les sites Web commencent à adopter les clés de passe, mais nous nous attendons à ce que cela s’accélère une fois que les clés de passe seront largement prises en charge par les appareils que de nombreuses personnes utilisent au quotidien.