Aller au contenu

FIDO2

De Competences-metiers wiki

FIDO2 (Fast IDentity Online 2) est un ensemble de standards ouverts développé par l'Alliance FIDO en collaboration avec le World Wide Web Consortium (W3C), publiés conjointement en mars 2019, qui permettent l'authentification sans mot de passe ou avec un second facteur fort sur les applications web et mobiles. Il repose sur deux spécifications complémentaires : WebAuthn (Web Authentication API, recommandation W3C) et CTAP2 (Client to Authenticator Protocol version 2, spécification FIDO Alliance). FIDO2 constitue la troisième génération des standards FIDO, faisant suite à FIDO UAF (Universal Authentication Framework, 2014) et FIDO U2F (Universal 2nd Factor, 2014), dont il intègre la rétrocompatibilité.

Historique et contexte

Fondation de l'Alliance FIDO

L'Alliance FIDO est un consortium industriel fondé en juillet 2012 par six entreprises fondatrices : Lenovo, Nok Nok Labs, PayPal, Validity Sensors, Infineon et Agnitio. Son objectif est de réduire la dépendance aux mots de passe, vecteur majeur de compromission dans les cyberattaques. En 2013, le consortium comptait déjà plus de trente membres, dont Google, Microsoft et ARM. En 2024, l'Alliance FIDO regroupe plus de 250 membres issus de l'industrie technologique, des services financiers et des gouvernements.

En décembre 2014, l'Alliance publie les premières spécifications FIDO 1.0 : FIDO UAF 1.0 (authentification sans mot de passe sur mobile via biométrie) et FIDO U2F 1.0 (second facteur universel via dispositif physique). Ces standards restent limités à des contextes applicatifs spécifiques et ne bénéficient pas d'intégration native dans les navigateurs web.

Genèse de FIDO2

Face aux limitations de FIDO 1.0 et à l'absence de standardisation côté navigateur, l'Alliance FIDO s'associe au W3C à partir de 2016 pour concevoir une spécification intégrée aux navigateurs. Le W3C publie la recommandation WebAuthn Level 1 le 4 mars 2019 ; l'Alliance FIDO finalise simultanément CTAP2. Ces deux textes forment ensemble l'écosystème FIDO2. WebAuthn Level 2 est publié en avril 2021, introduisant des fonctionnalités supplémentaires : extensions, attestations enrichies et mécanismes d'entreprise. En 2022, l'Alliance FIDO publie les spécifications des Passkeys (clés d'accès synchronisées), évolution majeure permettant la portabilité des credentials entre appareils via le cloud.

Architecture technique

FIDO2 articule deux couches distinctes qui interopèrent :

WebAuthn (Web Authentication API)

WebAuthn est une API JavaScript standardisée par le W3C qui expose au navigateur les fonctionnalités d'authentification forte. Elle définit deux opérations fondamentales :

  • navigator.credentials.create() : enregistrement d'un nouvel authentificateur — génération d'une paire de clés asymétriques propre au site et attestation du dispositif.
  • navigator.credentials.get() : authentification par assertion cryptographique — signature d'un défi (challenge) aléatoire émis par le serveur.

La prise en charge native de WebAuthn est disponible depuis : Chrome 67 (mai 2018), Firefox 60 (mai 2018), Safari 13 (septembre 2019) et Edge 18 (octobre 2018). En 2023, la couverture des navigateurs majeurs dépasse 95 % des utilisateurs web. L'API s'appuie sur la cryptographie asymétrique : les algorithmes supportés incluent ECDSA P-256 (algorithme par défaut), Ed25519 et RSA-PKCS#1v1.5 avec SHA-256.

CTAP2 (Client to Authenticator Protocol)

CTAP2 définit le protocole de communication entre le client (navigateur ou application native) et l'authentificateur externe. Il succède à CTAP1/U2F tout en lui restant rétrocompatible. CTAP2 supporte plusieurs canaux de transport physique :

Transport Protocole sous-jacent Cas d'usage typique
USB-A / USB-C HID (Human Interface Device) Clé de sécurité filaire
NFC ISO 14443-4 Tap-to-authenticate
Bluetooth Low Energy (BLE) GATT Authentificateur mobile sans fil
Hybride QR (cross-device) CTAP2.2 / caBLE Smartphone comme authentificateur distant

CTAP2.1 (2021) introduit la gestion des credentials côté authentificateur (credential management), la protection par PIN obligatoire et les politiques d'entreprise. CTAP2.2 (2022) standardise le protocole hybride (QR code) utilisé par les Passkeys cross-device.

Serveur de confiance (Relying Party)

Côté serveur, l'entité qui implémente FIDO2 est la Relying Party (RP). Elle stocke exclusivement la clé publique de chaque utilisateur — jamais la clé privée, qui ne quitte pas l'authentificateur — et vérifie les assertions cryptographiques à chaque tentative de connexion. L'infrastructure à clés publiques sous-jacente est simplifiée : il n'y a pas d'autorité de certification centrale, chaque paire de clés est propre à un couple (utilisateur, site). Les bibliothèques serveur open source référencées par l'Alliance FIDO incluent webauthn4j (Java), py_webauthn (Python), go-webauthn (Go) et SimpleWebAuthn (Node.js).

Mécanismes de fonctionnement

Enregistrement

L'enregistrement d'un authentificateur FIDO2 suit les étapes suivantes :

  1. Le serveur (Relying Party) émet un challenge aléatoire (256 bits minimum) et un identifiant de session sécurisé.
  2. Le navigateur appelle navigator.credentials.create() avec les paramètres du serveur : identifiant de l'utilisateur, politiques d'algorithmes acceptés, liste optionnelle d'authentificateurs exclus.
  3. L'authentificateur génère une paire de clés asymétriques origin-bound — liée cryptographiquement au domaine exact du site, pas au sous-domaine ni au chemin.
  4. L'authentificateur retourne la clé publique accompagnée d'une attestation signée prouvant le type et l'intégrité du dispositif (attestation packed, TPM, Android Key, ou none pour les contextes grand public).
  5. Le serveur vérifie l'attestation, enregistre la clé publique et lie le credential à l'identité de l'utilisateur dans sa base de données.

La clé privée est générée et stockée exclusivement dans l'élément sécurisé de l'authentificateur (Secure Element, TPM, Secure Enclave). Elle n'est jamais transmise sur le réseau, à aucune étape.

Authentification

Lors d'une tentative de connexion :

  1. Le serveur émet un nouveau challenge aléatoire lié à l'origine et à la session.
  2. Le navigateur appelle navigator.credentials.get() et présente le challenge à l'authentificateur.
  3. L'utilisateur effectue un geste de vérification de présence physique : contact tactile sur la clé, reconnaissance biométrique (empreinte digitale, visage), ou saisie du PIN.
  4. L'authentificateur signe le challenge avec la clé privée correspondant à ce site.
  5. Le serveur vérifie la signature numérique avec la clé publique enregistrée. Si la vérification réussit, la session est établie.

Ce mécanisme rend FIDO2 intrinsèquement résistant au phishing : la clé privée est liée à l'rpId (identifiant du Relying Party, dérivé du domaine), de sorte qu'une page frauduleuse sur un domaine différent — même visuellement identique — ne pourra jamais obtenir une assertion valide.

Types d'authentificateurs

Authentificateurs de plateforme

Les authentificateurs de plateforme sont intégrés au terminal de l'utilisateur :

  • Windows Hello (Microsoft) : utilise le TPM (Trusted Platform Module) du PC, supporte la reconnaissance faciale infrarouge, l'empreinte digitale et le PIN. Certifié FIDO2 depuis 2018.
  • Touch ID / Face ID (Apple) : enclave Secure Enclave des Mac (macOS Ventura 13, 2022) et iPhone/iPad (iOS 16 / iPadOS 16, 2022), avec synchronisation des Passkeys via iCloud Keychain.
  • Android Biometrics : intégré depuis Android 9 via Android Keystore, généralisé avec les Passkeys dans Android 14 (2023).
  • ChromeOS : authentificateurs FIDO2 de plateforme disponibles depuis ChromeOS M89 (2021).

Clés de sécurité matérielles

Les clés de sécurité matérielles sont des dispositifs physiques dédiés à l'authentification FIDO2 :

  • YubiKey (Yubico, Suède) : gamme la plus répandue, disponible en USB-A, USB-C et NFC. La YubiKey 5 supporte FIDO2, FIDO U2F, PIV, OpenPGP et OTP. Prix indicatif : 50 à 80 € selon le modèle. La YubiKey 5C NFC est compatible macOS, Windows, Linux, Android et iOS.
  • Google Titan (Google) : clé développée en interne, disponible commercialement depuis 2018 à 35 $ aux États-Unis, disponible en USB-C+NFC et USB-A+NFC.
  • SoloKey (SoloKeys) : clé open source (firmware et hardware sur GitHub), certifiée FIDO2 niveau L1.
  • Nitrokey (Allemagne) : clé open source disponible en USB-A, USB-C et NFC, à partir de 30 €.
  • Feitian (Chine) : fabricant proposant des clés certifiées FIDO2 à partir de 20 €, utilisées notamment dans les déploiements d'entreprise à grande échelle.

Passkeys (clés d'accès)

Les Passkeys sont une évolution de FIDO2 formalisée en 2022 par l'Alliance FIDO avec le soutien d'Apple, Google et Microsoft. Ils permettent la synchronisation des credentials FIDO2 entre appareils via le gestionnaire de mots de passe du fournisseur de plateforme (iCloud Keychain, Google Password Manager, Windows Hello). Cette synchronisation supprime la contrainte d'enregistrement par appareil tout en maintenant la résistance au phishing. En mars 2024, l'Alliance FIDO recense plus de 13 milliards de comptes utilisateurs accessibles via Passkeys.

Comparaison avec les méthodes d'authentification antérieures

Caractéristique Mot de passe OTP SMS TOTP (RFC 6238) FIDO U2F FIDO2 / Passkeys
Résistance au phishing Nulle Faible Faible Forte Forte
Résistance aux attaques par rejeu Nulle Partielle Partielle Forte Forte
Nécessite mémorisation Oui Non Non Non Non
Authentification sans mot de passe Non Non Non Non Oui
Synchronisation multi-appareils Via gestionnaire Oui Oui (secret partagé) Non Oui (Passkeys)
Impact vol de base de données Élevé (hash cassable) Partiel Partiel Faible (clé publique) Faible (clé publique)

Adoption et déploiement

Grandes plateformes grand public

L'adoption de FIDO2 par les grandes plateformes s'est accélérée à partir de 2022 :

  • Google : support FIDO2 comme second facteur depuis 2018 ; Passkeys activés par défaut sur tous les comptes Google en mai 2023 ; en septembre 2023, Google annonce que plus de 400 millions de comptes ont utilisé les Passkeys.
  • Microsoft : Windows Hello certifié FIDO2 depuis 2018 ; connexion sans mot de passe disponible pour tous les comptes Microsoft depuis septembre 2021 ; Microsoft Entra ID (Azure AD) supporte FIDO2 comme méthode MFA depuis 2019.
  • Apple : Passkeys disponibles dans iOS 16, iPadOS 16 et macOS Ventura (septembre 2022) ; intégration dans Safari et dans l'API système.
  • Amazon : support des clés FIDO2 comme facteur MFA sur AWS IAM depuis 2019 et sur les comptes consommateurs Amazon.com depuis 2023.
  • GitHub : support des clés de sécurité FIDO2 depuis 2019 ; Passkeys en disponibilité générale depuis 2023.
  • PayPal : Passkeys disponibles sur iOS depuis novembre 2022, sur Android depuis 2023.

Secteur financier et DSP2

Le secteur bancaire adopte FIDO2 pour répondre aux exigences de la directive DSP2 (Directive sur les services de paiement, 2e version) relatives à l'authentification forte du client (Strong Customer Authentication, SCA). L'Autorité bancaire européenne (ABE) reconnaît les mécanismes FIDO2 comme conformes aux critères SCA dès lors qu'ils satisfont deux des trois facteurs : connaissance, possession, inhérence. La Banque centrale européenne a publié en 2023 des orientations précisant la compatibilité de FIDO2 avec la SCA pour les paiements en ligne.

Déploiement en entreprise

En environnement d'entreprise, FIDO2 s'intègre dans les architectures de Gestion des identités et des accès (IAM) via les fournisseurs d'identité principaux : Microsoft Entra ID, Okta, Ping Identity, ForgeRock et Keycloak (open source depuis la version 18). Le déploiement suit généralement une approche par vagues : populations à haut risque en premier (administrateurs systèmes, équipes IT, Direction), puis généralisation. L'ANSSI recommande FIDO2 dans sa note technique sur l'authentification (mise à jour 2021) et dans ses guides sur le Zero Trust.

Cadre réglementaire et normatif

FIDO2 s'articule avec plusieurs référentiels réglementaires :

  • ISO/IEC 27001 et ISO/IEC 27017 : FIDO2 contribue à satisfaire les contrôles A.9 (Contrôle d'accès) en renforçant l'authentification des utilisateurs et des comptes à privilèges.
  • Conformité RGPD : FIDO2 réduit les risques liés aux violations de bases d'identifiants. La clé publique stockée côté serveur n'est pas une donnée biométrique au sens du RGPD si le traitement biométrique reste confiné à l'authentificateur (principe de minimisation).
  • Directive NIS2 : transposée en droit des États membres au plus tard en octobre 2024, NIS2 exige des mesures d'authentification robustes pour les entités essentielles et importantes. FIDO2 est une solution technique conforme pour les accès privilégiés et distants.
  • DORA (Digital Operational Resilience Act) : pour les entités financières soumises à DORA, FIDO2 contribue aux exigences de sécurité des accès et de résilience opérationnelle numérique.
  • eIDAS 2 (EUDIW) : le règlement européen sur l'identité numérique en révision envisage des mécanismes d'authentification compatibles avec FIDO2 pour le portefeuille d'identité numérique européen (European Digital Identity Wallet).

Dans le cadre de l'audit de cybersécurité ou du test d'intrusion, l'évaluation du déploiement FIDO2 inclut la vérification de la politique de récupération de compte, la robustesse de l'enrôlement initial et la gestion des authentificateurs de secours.

Sécurité : forces et limites

Points forts

  • Résistance structurelle au phishing : la liaison cryptographique à l'rpId (domaine) empêche toute réutilisation d'une assertion sur un site frauduleux, même sous HTTPS avec un certificat valide.
  • Absence de secret partagé côté serveur : le serveur ne stocke que la clé publique, limitant l'impact d'une violation de base de données. Contrairement au hachage des mots de passe, il n'existe pas d'attaque par dictionnaire ou par table arc-en-ciel applicable à une clé publique ECDSA.
  • Protection contre les attaques par rejeu : chaque assertion contient un challenge aléatoire à usage unique et un compteur de signatures (signature counter) permettant de détecter le clonage de l'authentificateur.
  • Résistance au vol logique de credentials : la clé privée ne quitte jamais l'élément sécurisé ; une compromission logicielle du système d'exploitation hôte ne suffit pas à l'extraire.
  • Chiffrement et intégrité : les algorithmes ECDSA P-256 et Ed25519 offrent une résistance équivalente à RSA-3072 avec des clés de 256 bits, conformément aux recommandations de l'ANSSI (RGS v2).

Limites et points de vigilance

  • Perte de l'authentificateur : la perte d'une clé de sécurité matérielle sans dispositif de récupération peut verrouiller définitivement l'accès. Il est recommandé d'enregistrer au minimum deux authentificateurs distincts (par exemple, une clé matérielle + un authentificateur de plateforme).
  • Surface d'attaque des Passkeys synchronisés : la synchronisation via iCloud Keychain, Google Password Manager ou Windows Hello déplace la surface d'attaque vers le compte cloud du fournisseur. La compromission de ce compte (par phishing de l'identifiant Apple ID, par exemple) permet d'accéder à tous les Passkeys synchronisés.
  • Vie privée et attestation : le mécanisme d'attestation d'origine peut permettre, selon le niveau choisi, de lier plusieurs enregistrements à un même modèle d'authentificateur (risque de fingerprinting). WebAuthn définit des modes d'attestation anonymisés (Self Attestation, None) recommandés pour les déploiements grand public.
  • Enrôlement initial : la sécurité de FIDO2 dépend de la robustesse du processus d'enrôlement. Un enrôlement réalisé après une simple authentification par SMS peut être compromis via l'attaque du maillon faible.
  • Dépendance aux environnements récents : FIDO2 requiert un navigateur et un système d'exploitation à jour. Les environnements legacy (Internet Explorer, Windows 7, Android < 7) sont incompatibles.

Programme de certification FIDO

L'Alliance FIDO propose un programme de certification structuré en niveaux croissants :

Niveau Nom Exigences principales
L1 Functional Certification Conformité fonctionnelle WebAuthn / CTAP, tests interopérabilité
L1+ Software Security Analyse de code, protection contre les attaques logicielles courantes
L2 Hardware Security Élément sécurisé matériel, isolation de la clé privée
L3 High Security Évaluation selon critères communs (CC EAL4+), résistance aux attaques physiques
L3+ Highest Security CC EAL5+ ou équivalent, résistance aux attaquants disposant de moyens avancés

En mars 2024, l'Alliance FIDO recense plus de 700 produits certifiés dans son catalogue officiel. La certification Biometric Component (FIDO BC) couvre les composants biométriques embarqués dans les authentificateurs.

Métiers et compétences liés à FIDO2

La maîtrise de FIDO2 est une compétence valorisée dans plusieurs filières de la cybersécurité et du développement :

  • Le Responsable de la sécurité des systèmes d'information (RSSI) pilote la stratégie d'authentification de l'organisation, arbitre entre Passkeys et clés matérielles selon les populations et les risques, et assure la conformité avec ISO/IEC 27001 et NIS2.
  • L'architecte IAM (Identity and Access Management) conçoit les flux d'intégration FIDO2 avec les fournisseurs d'identité, les applications internes et les portails partenaires.
  • Le développeur web intègre WebAuthn côté client (API JavaScript) et côté serveur (bibliothèques FIDO2), en veillant à la gestion des vulnérabilités propres au protocole (vérification de l'origine, du type de credential, du compteur de signatures).
  • L'auditeur de sécurité évalue les déploiements FIDO2 dans le cadre d'un Audit de cybersécurité ou d'un Test d'intrusion, en ciblant notamment les faiblesses du processus d'enrôlement et la politique de récupération de compte.
  • Le consultant en gestion des risques quantifie la réduction de risque apportée par FIDO2 par rapport aux solutions MFA plus faibles (SMS, TOTP), en s'appuyant sur les données de l'Alliance FIDO : selon Google (2023), FIDO2 bloque 100 % des attaques de phishing automatisées, contre 96 % pour les clés de sécurité physiques dans les études antérieures.

Les formations conduisant à la maîtrise de FIDO2 s'inscrivent dans des parcours certifiants reconnus : CISSP (domaine 5 : Identity and Access Management), CEH (Certified Ethical Hacker), CISM, ainsi que des certifications spécialisées proposées par l'Alliance FIDO elle-même depuis 2023.

Voir aussi