❼ back   

Pourquoi FIDO2 est plus sécurisé que le TOTP

Comprendre la protection contre le phishing


Introduction

Les mots de passe à usage unique basés sur le temps (TOTP) ont longtemps été la norme pour l'authentification à deux facteurs, mais ils présentent une vulnérabilité critique : ils sont sensibles aux attaques de phishing. FIDO2 (Fast Identity Online 2), la norme moderne d'authentification, élimine cette faiblesse grùce à la liaison cryptographique de l'origine. Cet article explique pourquoi FIDO2 représente une amélioration fondamentale de la sécurité par rapport au TOTP.

La faille fatale du TOTP

Le TOTP gĂ©nĂšre des codes Ă  six chiffres qui se renouvellent toutes les 30 secondes. Bien que cela semble sĂ©curisĂ©, ces codes souffrent d'un problĂšme fondamental : ils peuvent ĂȘtre utilisĂ©s par n'importe quelle application (c'est-Ă -dire site web) qui obtient le code OTP. Les codes eux-mĂȘmes ne contiennent aucune information sur l'endroit oĂč ils doivent ĂȘtre utilisĂ©s, ce qui en fait des jetons porteurs — quiconque prĂ©sente le code peut s'authentifier.

Cela crĂ©e une opportunitĂ© parfaite pour les attaques de phishing. Si un attaquant peut tromper un utilisateur pour qu'il entre son code TOTP sur un site malveillant, ce code peut ĂȘtre immĂ©diatement retransmis au service lĂ©gitime dans la fenĂȘtre de validitĂ© de 30 secondes.

L'attaque Evilginx : comment le phishing TOTP fonctionne

Evilginx est un cadre de phishing sophistiqué qui démontre la vulnérabilité du TOTP et d'autres méthodes d'authentification traditionnelles. Voici comment il opÚre :

Victime Navigateur de l'utilisateur Proxy Evilginx googIe.com Moteur de proxy : ‱ Copie le site rĂ©el ‱ Intercepte le trafic ‱ Capture les identifiants ‱ Vole les cookies ‱ Relaye en temps rĂ©el Google google.com (LĂ©gitime) Attaquant AccĂšs complet avec cookie volĂ© 1. Clique sur le lien de phishing 2. Proxy les requĂȘtes 3. Retourne les rĂ©ponses TOTP : 123456 utilisateur@example.com Cookie : abc123... 5. Session dĂ©tournĂ©e !

Décomposition du flux d'attaque :

  1. Tromperie initiale : La victime reçoit un e-mail de phishing convaincant avec un lien vers un domaine qui semble légitime (par exemple, googIe.com au lieu de google.com)

  2. Proxy transparent : Evilginx s'interpose entre la victime et le site web rĂ©el, agissant comme un proxy inverse qui transmet toutes les requĂȘtes et rĂ©ponses

  3. Collecte des identifiants : Lorsque l'utilisateur entre son nom d'utilisateur, son mot de passe et son code TOTP, Evilginx capture tout en transmettant simultanément les informations au site légitime

  4. Détournement de session : Plus critique encore, Evilginx capture le cookie de session retourné par le site légitime aprÚs une authentification réussie

  5. Prise de contrÎle du compte : L'attaquant dispose désormais d'un cookie de session valide et peut accéder au compte sans avoir besoin de s'authentifier à nouveau

Pourquoi le TOTP ne peut pas se défendre contre cela : Le code TOTP est valide pour le service légitime, et le proxy se contente de le relayer en temps réel. Le service ne peut pas faire la différence entre l'utilisateur légitime et le proxy de l'attaquant.


Comment FIDO2 protĂšge contre le phishing

FIDO2 utilise la cryptographie Ă  clĂ© publique avec une fonctionnalitĂ© de sĂ©curitĂ© cruciale : la liaison cryptographique de l'origine. Cela signifie que chaque authentification est cryptographiquement liĂ©e au domaine spĂ©cifique oĂč elle a Ă©tĂ© créée.

Vérification du FQDN dans FIDO2

Lorsqu'une authentification FIDO2 se produit, le nom de domaine (Fully Qualified Domain Name ou FQDN) fait partie intégrante du processus de défi-réponse cryptographique :

Authentification FIDO2 légitime sur google.com

Navigateur Agent utilisateur Partie fiable google.com Défi + Nonce ID RP : "google.com" API WebAuthn Extrait l'origine : "google.com" Clé de sécurité (Authentificateur FIDO2) Identifiant stocké : Origine : google.com Clé privée : [Clé] ID d'identifiant : 8f4... Origine correspondante ! Signe le défi avec la clé privée SUCCÈS Signature vérifiée Utilisateur authentifié 1. Connexion utilisateur 2. Défi 3. Origine + Défi 4. Réponse signée Authentification

Ce qui se passe lors d'une tentative de phishing avec FIDO2 :

FIDO2 bloque l'attaque de phishing sur googIe.com (faux)

Navigateur Agent utilisateur Site de phishing googIe.com (notez le i majuscule) ID RP : "googIe.com" API WebAuthn Extrait l'origine : "googIe.com" ClĂ© de sĂ©curitĂ© (Authentificateur FIDO2) Identifiant stockĂ© : Origine : google.com ClĂ© privĂ©e : [ClĂ©] ID d'identifiant : 8f4... Origine non correspondante ! googIe.com ≠ google.com AUCUN IDENTIFIANT TROUVÉ BLOQUÉ Authentification ÉchouĂ©e 1. Victime clique sur le lien de phishing 2. Faux dĂ©fi 3. Mauvais origine : "googIe.com" 4. Erreur : Aucun identifiant ATTAQUE DE PHISHING EMPÊCHÉE La clĂ© de sĂ©curitĂ© a refusĂ© de s'authentifier car le domaine ne correspondait pas. Authentification

Différences clés :

Avec TOTP (Vulnérable) :

  • L'utilisateur voit une fausse page de connexion qui semble rĂ©elle
  • L'utilisateur entre le code TOTP 123456
  • Le code est valide pour google.com
  • Le proxy transmet le code au vrai google.com
  • L'authentification rĂ©ussit, l'attaquant gagne

Avec FIDO2 (Protégé) :

  • L'utilisateur voit une fausse page de connexion
  • Le navigateur tente une authentification FIDO2
  • L'authentificateur vĂ©rifie : Est-ce google.com ? NON, c'est googIe.com
  • L'authentification Ă©choue immĂ©diatement
  • L'utilisateur est alertĂ© qu'il y a un problĂšme
  • L'attaque de phishing est empĂȘchĂ©e

Avantages de sécurité supplémentaires de FIDO2

1. Aucun secret partagé

Le TOTP repose sur un secret partagĂ© stockĂ© Ă  la fois sur le serveur et l'appareil de l'utilisateur. Si le serveur est compromis, ces secrets peuvent ĂȘtre volĂ©s. FIDO2 utilise la cryptographie asymĂ©trique — le serveur ne stocke que des clĂ©s publiques, qui sont inutiles pour les attaquants.


2. Aucune attaque par relecture

Chaque authentification FIDO2 utilise un dĂ©fi-rĂ©ponse unique, rendant les attaques par relecture impossibles. Les codes TOTP, une fois interceptĂ©s, peuvent ĂȘtre rejouĂ©s dans leur fenĂȘtre de validitĂ©.

3. Vérification de la présence de l'utilisateur

Les authentificateurs FIDO2 nécessitent une interaction physique (toucher la clé de sécurité ou vérification biométrique), garantissant que l'utilisateur est réellement présent pendant l'authentification.

4. Résistant à l'ingénierie sociale

Étant donnĂ© que l'authentification FIDO2 est automatique et cryptographique, les utilisateurs ne peuvent pas ĂȘtre trompĂ©s pour entrer manuellement leurs identifiants sur un faux site.

Impact dans le monde réel

Les grandes entreprises technologiques ont signalé des améliorations spectaculaires de la sécurité aprÚs le déploiement de FIDO2 :

  • Google a signalĂ© zĂ©ro prise de contrĂŽle de compte parmi les employĂ©s utilisant des clĂ©s de sĂ©curitĂ©
  • Microsoft a constatĂ© que les clĂ©s de sĂ©curitĂ© bloquaient 100 % des attaques automatisĂ©es par bot et des attaques de phishing en masse
  • Le gouvernement amĂ©ricain a imposĂ© une MFA rĂ©sistante au phishing pour les agences fĂ©dĂ©rales, avec FIDO2 comme norme recommandĂ©e

Conclusion

Bien que le TOTP offre des amĂ©liorations de sĂ©curitĂ© par rapport aux mots de passe seuls, il reste vulnĂ©rable aux attaques de phishing sophistiquĂ©es comme celles permises par Evilginx. La liaison cryptographique de l'origine de FIDO2 rend le phishing fonctionnellement impossible — un attaquant ne peut ni relayer ni rĂ©utiliser les identifiants FIDO2 car ils sont cryptographiquement liĂ©s Ă  des domaines spĂ©cifiques.

À mesure que les attaques de phishing deviennent plus sophistiquĂ©es, les organisations devraient passer Ă  l'authentification basĂ©e sur FIDO2. La technologie est mature, largement soutenue et offre une sĂ©curitĂ© rĂ©sistante au phishing que le TOTP ne peut tout simplement pas Ă©galer.


Recommandations

  1. Pour les organisations : Mettre en Ɠuvre FIDO2/WebAuthn pour tous les comptes utilisateurs, en commençant par les comptes Ă  privilĂšges Ă©levĂ©s
  2. Pour les utilisateurs : Adopter des clés de sécurité matérielles (Token2 ou tout autre appareil certifié FIDO) ou utiliser des authentificateurs de plateforme (Windows Hello, Touch ID)
  3. Pour les développeurs : Intégrer les API WebAuthn dans vos applications et éduquer les utilisateurs sur l'authentification sans mot de passe
  4. Stratégie de transition : Prendre en charge à la fois TOTP et FIDO2 pendant la migration, mais encourager et inciter à l'adoption de FIDO2

L'avenir de l'authentification est résistant au phishing, et FIDO2 ouvre la voie.


Voir aussi : Une vidéo détaillée démontrant l'attaque Evilginx contre M365.

updated: 20/11/2025 13:24