Authentification FIDO

Une représentation des entités impliquées dans l'authentification : un serveur, un navigateur Web et un appareil.

L'authentification FIDO (Fast IDentity Online) est un ensemble de normes pour une authentification rapide, simple et forte.

Ces normes sont développées par la FIDO Alliance, une association de l'industrie avec des représentants d'un éventail d'organisations dont Google, Microsoft, Mozilla et Yubico. Les normes permettent une authentification résistante au phishing, sans mot de passe et multifacteur. Ils améliorent l'UX en ligne en facilitant la mise en œuvre et l'utilisation d'une authentification forte.

Certains des outils et applications les plus populaires du Web utilisent déjà l'authentification FIDO, notamment les comptes Google, Dropbox, GitHub, Twitter et Yahoo Japan.


  • Les utilisateurs gagnent. Les utilisateurs bénéficient de flux d'authentification rapides et sécurisés.

  • Les développeurs gagnent. Les développeurs d'applications et de sites Web peuvent utiliser des API simples pour authentifier les utilisateurs en toute sécurité.

  • Les entreprises gagnent. Les propriétaires de sites et les fournisseurs de services peuvent protéger plus efficacement leurs utilisateurs.

Comment fonctionne l'authentification FIDO ?

Dans un flux d'authentification de FIDO, une partie utilisatrice utilise des API pour interagir avec le authentificateur d'un utilisateur.

Partie de confiance

Représentation d'un lien sécurisé entre une application Web et un serveur Web.

La partie qui invoque est votre service, composé d'un serveur back-end et une application front-end.

Application

Lors d' un flux d'authentification ou d' enregistrement, l'application utilise les API côté client comme WebAuthn et FIDO2 pour Android pour créer et vérifier les informations d' identification de l' utilisateur avec l'authentificateur.

Cela implique de transmettre un défi cryptographique du serveur à l'authentificateur et de renvoyer la réponse de l'authentificateur au serveur pour validation.

Serveur

Le serveur stocke les informations d'identification et de compte de la clé publique de l'utilisateur.

Lors d'un flux d'authentification ou d'enregistrement, le serveur génère un défi cryptographique en réponse à une requête de l'application. Il évalue ensuite la réponse au défi.

L' Alliance FIDO maintient une liste des produits tiers certifiés, y compris des solutions de serveur. Un certain nombre de serveurs FIDO open source sont également disponibles ; voir WebAuthn Impressionnant pour plus d' informations.

Authentificateur

Un utilisateur est sur le point de se connecter à une application Web sur un appareil mobile.

Un authentificateur FIDO génère des informations d' identification d'utilisateur. Les informations d'identification d'un utilisateur ont à la fois un composant de clé publique et un composant de clé privée. La clé publique est partagée avec votre service, tandis que la clé privée est gardée secrète par l'authentificateur.

Un authentificateur peut faire partie de l'appareil de l'utilisateur ou d'un élément matériel ou logiciel externe.

L'authentificateur est utilisé dans deux interactions de base: l' enregistrement et l' authentification.

Inscription

Dans un scénario d'enregistrement, lorsqu'un utilisateur crée un compte sur un site Web, l'authentificateur génère une nouvelle paire de clés qui ne peut être utilisée que sur votre service. La clé publique et un identifiant pour les informations d'identification seront stockés avec le serveur.

Authentification

Dans un scénario d'authentification, lorsqu'un utilisateur revient au service sur un nouvel appareil ou après l'expiration de sa session, l'authentificateur doit fournir une preuve de la clé privée de l'utilisateur. Il le fait en répondant à un défi cryptographique émis par le serveur.

Pour vérifier l'identité de l'utilisateur, certains types d'authentificateurs utilisent la biométrie comme les empreintes digitales ou la reconnaissance faciale. D'autres utilisent un code PIN. Dans certains cas, un mot de passe est utilisé pour vérifier l'utilisateur et l'authentificateur ne fournit qu'une authentification à deuxième facteur.

Prochaines étapes

Participez à un atelier de programmation :

En savoir plus sur: