Guide du développeur de clés d'accès pour les tiers de confiance

Découvrez comment intégrer des clés d'accès à votre service.

Anatomie d'un système de clés d'accès

Un système de clés d'accès se compose de quelques composants:

  • Partie de confiance: dans le contexte des clés d'accès, un tiers de confiance gère l'émission et l'authentification des clés d'accès. Le RP doit exploiter un client (un site Web ou une application qui crée des clés d'accès ou s'authentifie avec des clés d'accès) et un serveur pour enregistrer, stocker et vérifier les identifiants générés par les clés d'accès sur le client. Une application mobile avec clé d'accès doit être liée à un domaine de serveur RP à l'aide du mécanisme d'association fourni par le système d'exploitation, tel que Digital Asset Links.
  • Authenticator: appareil informatique tel qu'un téléphone mobile, une tablette, un ordinateur portable ou de bureau, capable de créer et de vérifier des clés d'accès à l'aide de la fonctionnalité de verrouillage de l'écran proposée par le système d'exploitation.
  • Gestionnaire de mots de passe: logiciel installé sur le ou les appareils de l'utilisateur final qui diffuse, stocke et synchronise les clés d'accès, comme le Gestionnaire de mots de passe de Google.

Parcours d'inscription

Utilisez l'API WebAuthn sur un site Web ou la bibliothèque Gestionnaire d'identifiants sur une application Android pour créer et enregistrer une clé d'accès.

Pour créer une clé d'accès, vous devez fournir quelques composants clés:

  • RP ID: indiquez l'ID du tiers de confiance sous la forme d'un domaine Web.
  • Informations sur l'utilisateur: l'ID de l'utilisateur, son nom et un nom à afficher.
  • Identifiants à exclure: informations sur les clés d'accès précédemment stockées pour éviter les enregistrements en double.
  • Types de clés d'accès: permet d'utiliser l'appareil lui-même ("authentificateur de plate-forme") comme authentificateur ou une clé de sécurité amovible ("authentificateur multiplate-forme / en itinérance"). En outre, les appelants peuvent spécifier s'ils doivent rendre les identifiants détectables afin que l'utilisateur puisse sélectionner un compte avec lequel se connecter.

Une fois qu'un RP demande la création d'une clé d'accès et que l'utilisateur la valide avec un déverrouillage d'écran, une clé d'accès est créée et un identifiant de clé publique est renvoyé. Envoyez-le au serveur et stockez l'ID d'identification et la clé publique pour une authentification ultérieure.

Parcours d'inscription

Découvrez en détail comment créer et enregistrer une clé d'accès:

Flux d'authentification

Utilisez l'API WebAuthn sur un site Web ou la bibliothèque Gestionnaire d'identifiants sur une application Android pour vous authentifier avec une clé d'accès enregistrée.

Pour l'authentification avec une clé d'accès, vous devez fournir quelques composants clés:

  • RP ID: indiquez l'ID du tiers de confiance sous la forme d'un domaine Web.
  • Défi: défi généré par le serveur qui empêche les attaques par rejeu.

Une fois qu'un RP demande une authentification avec une clé d'accès et que l'utilisateur la valide à l'aide du déverrouillage de l'écran, des identifiants de clé publique sont renvoyés. Envoyez-la au serveur et vérifiez la signature avec la clé publique stockée.

Flux d'authentification

Découvrez en détail comment vous authentifier avec une clé d'accès:

Intégrations côté serveur

Lors de la création d'une clé d'accès, le serveur doit fournir des paramètres clés tels qu'une question d'authentification, des informations sur l'utilisateur, les identifiants à exclure, etc. Il vérifie ensuite les identifiants de clé publique créés envoyés par le client et stocke la clé publique dans la base de données. Pour l'authentification avec une clé d'accès, le serveur doit soigneusement valider les identifiants et valider la signature pour permettre à l'utilisateur de se connecter.

Pour en savoir plus, consultez nos guides côté serveur:

Mécanismes d'authentification existants (anciens)

Lorsque vous prenez en charge les clés d'accès sur votre service existant, la transition de l'ancien mécanisme d'authentification, tel que les mots de passe aux clés d'accès, ne s'effectue pas en une journée. Nous savons que vous avez envie d'éliminer la méthode d'authentification la plus faible dès que possible, mais cela peut prêter à confusion ou ne pas laisser de côté certains d'entre eux. Nous vous recommandons de conserver la méthode d'authentification existante pour le moment.

Plusieurs raisons peuvent l'expliquer:

  • Il existe des utilisateurs dans un environnement incompatible avec les clés d'accès: la compatibilité des clés d'accès s'étend largement à plusieurs systèmes d'exploitation et navigateurs, mais ceux qui utilisent d'anciennes versions ne peuvent pas encore se servir de clés d'accès.
  • L'écosystème des clés d'accès n'est pas encore mature: il évolue. Les détails de l'expérience utilisateur et la compatibilité technique entre les différents environnements peuvent être améliorés.
  • Les utilisateurs ne sont peut-être pas encore prêts à vivre avec une clé d'accès: d'autres hésitent à se lancer dans de nouvelles choses. Au fur et à mesure de l'évolution de l'écosystème des clés d'accès, ils auront une idée de leur fonctionnement et de leur utilité.

Réexaminer votre mécanisme d'authentification existant

Alors que les clés d'accès rendent votre authentification plus simple et plus sûre, conserver les anciens mécanismes revient à laisser une marge. Nous vous recommandons de revoir et d'améliorer vos mécanismes d'authentification existants.

Mots de passe

Créer des mots de passe sécurisés et les gérer pour chaque site Web est des tâches difficiles pour les utilisateurs. Nous vous recommandons vivement d'utiliser un gestionnaire de mots de passe intégré au système ou un gestionnaire autonome. Si vous modifiez légèrement le formulaire de connexion, les sites Web et les applications peuvent avoir un impact considérable sur leur sécurité et l'expérience de connexion. Découvrez comment effectuer ces modifications:

Authentification à deux facteurs

Bien que l'utilisation d'un gestionnaire de mots de passe aide les utilisateurs à gérer les mots de passe, tous ne les utilisent pas. Il est courant de demander un identifiant supplémentaire appelé mot de passe à usage unique (OTP) pour protéger ces utilisateurs. Les mots de passe à usage unique sont généralement fournis via un e-mail, un SMS ou une application d'authentification telle que Google Authenticator. Les mots de passe à usage unique correspondent généralement à un texte court généré dynamiquement et valable uniquement pendant une durée limitée, ce qui réduit le risque de piratage de compte. Ces méthodes ne sont pas aussi robustes qu'une clé d'accès, mais beaucoup mieux que de laisser les utilisateurs avec un simple mot de passe.

Si vous sélectionnez l'envoi d'un mot de passe à usage unique par SMS, suivez les bonnes pratiques ci-dessous pour simplifier l'expérience utilisateur lors de la saisie de ce mot de passe à usage unique.

Fédération d'identité

La fédération d'identité est une autre option qui permet aux utilisateurs de se connecter facilement et de manière sécurisée. Avec la fédération d'identité, les sites Web et les applications peuvent autoriser les utilisateurs à se connecter à l'aide de leur identité fournie par un fournisseur d'identité tiers. Par exemple, Se connecter avec Google offre d'excellentes conversions aux développeurs, et les utilisateurs trouvent qu'il est plus facile et préférable que l'authentification par mot de passe. La fédération d'identité est complémentaire des clés d'accès. Elles sont idéales pour l'inscription, car le site Web ou l'application peuvent obtenir des informations de profil de base de l'utilisateur en une seule étape, tandis que les clés d'accès sont idéales pour simplifier la réauthentification.

Gardez à l'esprit qu'après l'abandon des cookies tiers par Chrome en 2024, certains systèmes de fédération d'identité pourront être affectés en fonction de leur conception. Pour atténuer l'impact, une nouvelle API de navigateur appelée Federated Credential Management (FedCM) est en cours de développement. Si vous exécutez un fournisseur d'identité, consultez les détails pour savoir si vous devez adopter FedCM.

La connexion par lien magique est une méthode d'authentification par laquelle un service fournit un lien de connexion par e-mail afin que l'utilisateur puisse cliquer dessus pour s'authentifier. Bien que cela aide les utilisateurs à se connecter sans se souvenir d'un mot de passe, le basculement entre le navigateur/l'application et le client de messagerie peut s'avérer compliqué. En outre, comme le mécanisme d'authentification repose sur l'adresse e-mail, la faible sécurité du fournisseur de messagerie peut compromettre les comptes des utilisateurs.

Ressources de formation

Web

Pour intégrer des clés d'accès à votre site Web, utilisez l'API Web Authentication (WebAuthn). Pour en savoir plus, consultez les ressources suivantes:

Android

Pour intégrer des clés d'accès à votre application Android, utilisez la bibliothèque Gestionnaire d'identifiants. Pour en savoir plus, consultez les ressources suivantes:

Expérience utilisateur

Découvrez les recommandations concernant l'expérience utilisateur pour les clés d'accès: