Authentification FIDO avec WebAuthn
Le Web Authentication API (également connu sous le nom de WebAuthn) est une spécification écrite par W3C et FIDO, avec la participation de Google, Mozilla, Microsoft, Yubico et d’autres intervenants. L’API permet aux utilisateurs d’être authentifiés par une clé cryptographique publique.
WebAuthn est la méthode la plus sécurisée et pratique sur le web. Voici pourquoi :
Moins de problèmes pour les connexions Méthode simple et connue l’authentification des utilisateurs
Il s’agit de la seule méthode d’authentification web résistante aux tentatives d’hameçonnage.
Méthode standard et implémentée sur l’ensemble des navigateurs et systèmes d’exploitation
WebAuthn permet aux utilisateurs de s’authentifier avec deux types d’authentifiants.
Les authentifiants itinérants sont amovibles et multiplateforme, comme un Yubikey, et peuvent être utilisés sur plusieurs appareils. Pour vous authentifier avec un authentifiant en itinérance, vous devez le connecter à un appareil (par USB, NFC ou Bluetooth), fournir la preuve de votre présence (en le touchant par exemple) et fournir optionnellement une vérification utilisateur, en saisissant un NIP par exemple.
Les authentifiants de plateforme sont fixés à un appareil et ne fonctionnent que sur cet appareil. Certains exemples sont TouchBar (MacBook), Windows Hello, Touch/FaceId (iOS) et la reconnaissance facile et des empreintes digitales d’Android. Les données biométriques sont enregistrées sur l’appareil et ne sont jamais envoyées sur le serveur. Lorsque les données biométriques ne peuvent être utilisées, les méthodes d’authentification alternatives sont normalement fournies. Par exemple, si vous portez un masque, vous pouvez saisir votre mot de passe plutôt que d’utiliser la reconnaissance faciale.
WebAuthn et les points d’origines web
WebAuthn fonctionne en générant une paire de clés privée et publique pour chaque web origin enregistré dans l’appareil ou la clé de sécurité.
Puisque la paire de clés est associée au domaine, les utilisateurs restent protégés contre l’hameçonnage. Si un attaquant dupe un utilisateur en le faisant utiliser WebAuthn d’un autre domaine, l’authentificateur WebAuthn ne possèdera pas la paire de clés pour ce domaine et l’authentification échouera. Le cyber-criminel ne pourra pas obtenir les données identifiant l’utilisateur.
Authentificateurs itinérants
Pour savoir comment activer les authentificateurs itinérants dans Auth0, consultez la documentation WebAuthn avec les clés de sécurité.
Le flux d’enregistrement par défaut pour les clés de sécurité dans Android, affiché ci-après, est constitué des étapes suivantes :
Les utilisateurs sont authentifiés avec nom d’utilisateur/mot de passe.
Ils sont invités à sélectionner la méthode d’authentification qu’ils souhaitent pour s’enregistrer.
S’ils choisissent des Clés de sécurité, elles sont affichées dans une liste d’instructions.
Ils sont alors invités à saisir leur clé de sécurité.
Leur appareil affiche leur IU native afin de compléter le défi de la clé de sécurité.
Les utilisateurs peuvent nommer la clé pour l’identifier plus tard, d’un coup qu’ils aient à enregistrer plusieurs clés.

Dans le flux de défi, l’utilisateur reçoit une invite pour la clé de sécurité, et appelle ensuite l’interface utilisateur native de l’appareil, dans le cas présent Android :

Authentificateurs de plateforme
Pour savoir comment activer les authentificateurs de plate-forme, consultez la documentation Webauthn avec les données biométriques d’un appareil.
Étant donné que les authentificateurs de plate-forme ne peuvent être utilisés que dans un seul appareil, ils ne devraient pas être les seuls facteurs auxquels les utilisateurs s’inscrivent. Pour s’assurer que les utilisateurs ne sont pas verrouillés hors de leurs comptes, après qu’ils se soient authentifiés avec succès par une autre méthode d’authentification, Auth0 invitera les utilisateurs à s’enregistrer avec les authentificateurs de plateforme.
Auth0 essaiera d’inscrire progressivement tous les appareils des utilisateurs. Les utilisateurs seront invités à enregistrer les identifiants des plateformes des appareils dans chaque appareil utilisé.
Le flux d’enregistrement par défaut pour Face ID dans iOS est affiché ci-après, et comprend les étapes suivantes :
Les utilisateurs sont authentifiés avec nom d’utilisateur/mot de passe.
Ceux-ci utilisent une autre méthode d’authentification MFA, comme SMS, Authentification poussée ou OTP basé sur le temps.
Ils nomment leur appareil pour l’identifier plus tard.

La prochaine fois qu’ils se connectent à partir de cet appareil, les utilisateurs utilisent leur nom utilisateur/mot de passe et complètent la MFA avec l’identifiant biométrique de leur appareil.

WebAuthn en tant qu’authentification multifacteur
Webauthn.me
Auth0 gère webauthn.me, qui contient des informations détaillées sur WebAuthn et une liste actualisée des navigateurs qui prennent en charge WebAuthn.