WebAuthn et Passkey 101
Acquérir une compréhension approfondie de WebAuthn, y compris son concept, son flux de travail, les raisons de sa popularité et les défis associés.
WebAuthn se classe parmi les authentificateurs les plus sécurisés dans les normes NIST AAL. Introduit en 2013, c'est maintenant le choix privilégié des entreprises pour l'authentification. Cependant, son adoption n'est pas encore généralisée, ce qui entraîne de nombreuses interrogations à propos de WebAuthn et des Passkeys. Plongeons-nous dans ce que vous devriez savoir.
Concept : Quelle est la relation entre WebAuthn, Passkey et FIDO ?
FIDO Alliance | FIDO Alliance est une organisation fournissant des standards d'authentification sans mot de passe open-source et sécurisés, y compris UAF, U2F, et FIDO2. |
FIDO2 | FIDO2 est un ensemble de normes pour une authentification en ligne sécurisée développée par FIDO Alliance. FIDO2 comprend deux composants principaux : WebAuthn pour les connexions sans mot de passe et CTAP pour la communication sécurisée des appareils. |
Passkey | Une passkey est une crédential résistante au phishing basée sur FIDO pour remplacer les mots de passe.
|
WebAuthn | WebAuthn, une API JavaScript développée par le W3C et FIDO Alliance, permet l'authentification des applications web avec les normes FIDO2. Passkey est l'une des méthodes d'authentification que WebAuthn supporte. |
Flux : Comment fonctionne WebAuthn ?
4 entités principales de WebAuthn
Fondamentalement, vous pouvez connaître les 4 entités principales impliquées dans le flux WebAuthn.
-
Utilisateur : La personne qui s'inscrit ou s'authentifie à l'application web en utilisant WebAuthn.
-
Agent utilisateur : Le navigateur web qui gère les appels de l'API WebAuthn, et gère le processus d'authentification entre toutes les différentes parties de confiance et authentificateurs.
-
Partie de confiance : Votre service web ou application que l'utilisateur tente d'accéder. L'utilisateur interagit avec la Partie de confiance via l'Agent utilisateur.
-
Authentificateur : Le composant matériel que l'utilisateur possède pour vérifier son identité. Il peut prendre diverses formes selon la capacité de la plateforme ou du navigateur, comme les clés de sécurité (comme les Yubikeys), les téléphones ou les tablettes (connectés par Bluetooth, NFC ou USB), les biométriques ou les NIP d'appareil, etc.
Flux de travail de WebAuthn
La cryptographie asymétrique à clé publique est le processus central.
- Génération de paire de clés : L'Agent utilisateur génère une paire de clés publique-privée. La clé publique est partagée avec la Partie de confiance, tandis que la clé privée reste stockée en toute sécurité dans l'authentificateur de l'utilisateur.
- Défi d'authentification : Lorsque l'utilisateur tente de se connecter, la Partie de confiance envoie un défi d'authentification à l'Agent utilisateur.
- Vérification de l'utilisateur : L'Agent utilisateur envoie le défi à l'authentificateur qui interagit avec l'utilisateur pour la vérification (par exemple, biométrie ou appui sur un bouton).
- Signature cryptographique : L'authentificateur utilise sa clé privée pour signer le défi, créant une signature cryptographique.
- Vérification et accès : L'Agent utilisateur vérifie la signature à l'aide de la clé publique et informe la Partie de confiance d'une authentification réussie. L'accès est accordé.
Pour détailler, divisez-le en phases d'inscription et d'authentification.
Le flux d'inscription WebAuthn :
Le flux d'authentification WebAuthn :
Avantages : Pourquoi WebAuthn devient-il tendance ?
Authentificateurs multiples
Vous avez la possibilité de choisir parmi plusieurs authentificateurs pour une flexibilité accrue. Ces authentificateurs sont de deux types, pour une utilisation locale et dans le cloud, et vous pouvez en activer un ou les deux pour votre service.
Authentificateur de plateforme (Authentificateur interne)
L'authentificateur de plateforme est lié à un système d'exploitation d'appareil unique et spécifique, tel qu'un ordinateur, un ordinateur portable, un téléphone ou une tablette, avec lequel l'utilisateur se connecte. Il fonctionne exclusivement sur l'appareil pour l'autorisation en utilisant des méthodes comme la biométrie ou un code d'accès de l'appareil. C'est un moyen rapide d'authentifier, surtout avec la biométrie, et peut remplacer la saisie manuelle de mot de passe. Cependant, si l'utilisateur perd l'appareil, cela peut devenir un obstacle à l'accès. Par exemple :
- macOS et iOS : Vérification iCloud Keychain par Touch ID, Face ID ou code d'accès de l'appareil.
- Windows : Vérification Windows Hello par reconnaissance faciale, empreinte digitale ou NIP amical.
- Android : Google Password Manager prend également en charge la reconnaissance faciale ou l'empreinte digitale pour le remplissage automatique des mots de passe pour autoriser les appareils.
Authentificateur itinérant (Authentificateur externe, Authentificateur multiplateforme)
L'authentificateur itinérant est un dispositif ou une application logicielle portative séparée, telle qu'une clé de sécurité matérielle ou un smartphone. Il doit lier l'appareil en utilisant USB ou en gardant NFC ou Bluetooth activé. L'authentificateur itinérant n'est pas limité à un seul appareil ou navigateur, offrant ainsi une plus grande flexibilité. Par exemple :
- Clés de sécurité : également appelées jetons matériels, comme Yubikey.
- Smartphone mobile : comme l'utilisation d'un compte Google basé sur le cloud sur Android, ou un compte iCloud sur iPhone. Il est important de noter que l'authentification inter-appareils nécessite également une connexion Bluetooth, NFC ou USB pour garantir que l'authentificateur de l'utilisateur est à proximité. Les authentificateurs mobiles nécessitent souvent un scan de code QR pour les lier aux appareils de bureau. (Les téléphones Android, en particulier, peuvent utiliser le lien persistant pour un lien harmonieux avec le navigateur Chrome pour une autorisation en un clic sans avoir besoin de scanner un code QR.)
Sécurité très assurée
La sécurité très assurée est essentielle pour protéger les ressources de l'entreprise. Cela est réalisé grâce aux mesures suivantes :
- Protection des clés de confidentialité : Les clés de confidentialité ne sont jamais partagées avec des sites web tiers (Partie de confiance), ce qui aide à se protéger contre les violations de mots de passe et les tentatives de phishing.
- Exigence de proximité d'appareil : Les appareils nécessitent soit "l'authentification pour une seule plateforme d'appareil" soit "authentificateur itinérant limité par USB, Bluetooth ou NFC" pour être à proximité de l'utilisateur, empêchant les attaques à distance.
- Lien de domaine : WebAuthn est étroitement lié au domaine spécifique du site web sur lequel l'utilisateur s'est inscrit, offrant une protection contre les attaques de phishing depuis des sites non autorisés.
Expérience utilisateur sans friction pour MFA&1FA
WebAuthn améliore la sécurité tout en augmentant l'expérience de vérification sans mot de passe de l'utilisateur :
- Expérience native et efficacité de la biométrie : WebAuthn adopte des méthodes d'authentification spécifiques adaptées à différentes plateformes et appareils, s'alignant sur les habitudes des utilisateurs. L'authentification biométrique élimine le besoin d'une saisie manuelle, accélérant considérablement le processus de vérification.
- MFA direct en sautant le 1FA : WebAuthn est couramment utilisé pour MFA (Authentification Multi-Factorielle). En raison de sa sécurité robuste, si la partie de confiance a précédemment enregistré l'utilisation de WebAuthn dans le navigateur, les utilisateurs peuvent sauter l'étape 1FA (Authentification à Facteur Unique) et se connecter directement par vérification de passkey.
- Passkey remplacement du mot de passe : Les Passkeys peuvent également servir d'alternative aux mots de passe traditionnels pour le 1FA. Les utilisateurs peuvent fournir leur passkey soit avant soit après avoir entré leur compte, avec vérification du mot de passe seulement requise lorsque l'authentification par passkey n'est pas disponible.
Défi : Pourquoi WebAuthn n'est-il pas largement adopté par les utilisateurs ?
Limitations du navigateur ou de la plateforme
Certains navigateurs ou plateformes ne prennent pas du tout en charge WebAuthn ou manquent de support pour les authentificateurs itinérants. Bien que les statistiques actuelles de Caniuse montrent une bonne couverture, avec 97,37 % de support des plateformes de bureau et 96,3 % de plateformes mobiles, des variations existent toujours selon les versions de navigateurs et les systèmes d'exploitation. Par exemple, les Linux Desktop ne prennent pas en charge les authentificateurs de plateforme, Android ne prend en charge entièrement WebAuthn que sur Chrome, et Internet Explorer sur macOS ne prend pas en charge WebAuthn. Cela oblige les admins à demander aux membres de faire appliquer des choix spécifiques de navigateur ou de système d'exploitation, ou de configurer d'autres méthodes MFA alternatives.
Risque de perte de dispositif
Particulièrement pour les utilisateurs s'appuyant sur les authentificateurs de plateforme "Ce dispositif", perdre le dispositif peut entraîner une perte d'accès à leurs comptes. La récupération de compte peut être un processus compliqué. Pour atténuer ce risque, il est conseillé aux utilisateurs de lier simultanément d'autres méthodes d'authentification de sauvegarde lors de la configuration de WebAuthn.
Support limité des sites web et des applications
De nombreux services et applications n'offrent pas encore de support pour les passkeys. Les utilisateurs manquent souvent de familiarité avec les différentes méthodes d'authentification et peuvent ne pas comprendre pleinement les distinctions et limitations entre les authentificateurs de plateforme et les authentificateurs itinérants. Cependant, les principaux systèmes, navigateurs et services SaaS adoptent de plus en plus WebAuthn, en faisant une tendance croissante que les entreprises et les utilisateurs commencent à adopter.
Conclusion
Logto se prépare à lancer l'AMF (Authentification Multi-Factorielle) en novembre. La phase initiale prendra en charge trois méthodes de vérification : TOTP d'application d'authentificateur, WebAuthn(Passkey), et les codes de sauvegarde, offrant une solution complète de connexion et d'inscription. Nous continuerons à développer des fonctionnalités avancées liées à WebAuthn. Nous attendons votre expérience et vous invitons à rester à l'écoute sur Product Hunt pour la sortie prochaine de l'AMF.