FIDO2 : le nouveau standard pour une connexion Web sécurisée

L’authentification par nom d’utilisateur et mot de passe sur Internet n’est plus si d’actualité pour diverses raisons : d’une part, la saisie de données personnelles des utilisateurs devient de plus en plus laborieuse en raison du nombre toujours croissant de services utilisés. D’autre part, la sécurité des données de connexion est de plus en plus menacée du fait des possibilités techniques accrues des cybercriminels. Par exemple, le nombre d’attaques par force brute ciblées ou les emails d’hameçonnage qui a première vue peuvent sembler inoffensifs, augmente constamment, et les internautes ne remarquent souvent même pas que leurs propres données de connexion ont déjà été espionnées et piratées.

Le standard de sécurité FIDO2 répond à ce problème en s’appuyant sur une authentification à deux facteurs basée sur l’utilisation de clés de sécurité (clés FIDO2) et de tokens (jetons d’authentification). Grâce à l’intégration du standard de W3C WebAuthn, cette procédure permet non seulement des connexions chiffrées et anonymes, mais aussi des connexions sans mots de passe. Mais comment fonctionnent exactement les clefs et tokens FIDO2 et quels sont les éléments nécessaires pour pouvoir utiliser cette nouvelle procédure de connexion pour ses activités sur Internet.

Qu’est-ce que FIDO2 ?

FIDO2 est la dernière spécification de la FIDO Alliance (Fast Identity Online) non commerciale créée dans le but de développer des normes libres de droits pour une authentification sécurisée au niveau mondial sur le World Wide Web. Après FIDO Universal Second Factor (FIDO U2F) et FIDO Universal Authentication Framework (FIDO UAF), FIDO2 est déjà le troisième standard à voir le jour grâce au travail de l’Alliance.

La base de FIDO2 est constituée du Client to Authenticator Protocol (CTAP) et du standard de W3C WebAuthn, qui se combinent pour permettre l’authentification lorsque les utilisateurs s’identifient avec des authentificateurs cryptographiques (comme la biométrie ou les codes PIN) ou des authentificateurs externes (comme les clés FIDO, les appareils portables ou mobiles) sur un terminal WebAuthn en toute sécurité (également appelé FIDO2 Server) généralement associé à un site Web ou une application Web.

Remarque

La FIDO Alliance a été fondée en 2012 par PayPal, Lenovo, Nok Nok Labs, Validity Sensors, Infineon et Agnitio. Un an plus tard, Google, Yubico et NXP ont rejoint le groupe. Au cours des dernières années, diverses collaborations ont eu lieu pour établir les standards, par exemple avec Samsung et Microsoft.

Pourquoi les spécifications de sécurité comme FIDO2 sont utiles ?

FIDO2 permet en option une authentification à deux facteurs, où la connexion traditionnelle avec nom d’utilisateur/mot de passe est complété par un chiffrement avec des clés FIDO2 ainsi qu’un token FIDO2 (matériel), ou bien une authentification complètement libre de mot de passe, qui fonctionne sans saisie.

Les deux variantes ont l’avantage commun d’éliminer la faiblesse bien connue du login utilisateur standard constitué d’un nom utilisateur et mot de passe ainsi que des classiques authentifications à deux facteurs (email, application mobile, SMS). Elles empêchent les cybercriminels d’utiliser des modèles d’attaques typiques tels que les attaques de l’homme du milieu et les attaques par hameçonnage (phishing) pour prendre le contrôle d’un compte utilisateur. Même si les données de connexion devaient être compromises ou piratées, la connexion FIDO2 ne réussit qu’avec le token (jeton) ou la clé privée correspondante, qui est également liée à un matériel dédié.

Le fait que FIDO2 soit un standard libre permet aux développeurs de logiciel et matériel de plus facilement implémenter dans leurs propres produits le processus afin d’offrir aux utilisateurs cette méthode de connexion très sûre.

Comment fonctionne FIDO2 ?

L’objectif principal de la FIDO Alliance est l’élimination progressive des mots de passe sur Internet et la FIDO Alliance a ainsi favorisé le développement de FIDO2. Pour cela, le chemin de communication sécurisé entre le client (le navigateur) et les services Web respectifs est d’abord configuré ou enregistré afin d’être disponible en permanence pour les connexions ultérieures. Dans ce processus, les clés FIDO2 mentionnées plus haut sont générées et vérifiées, et fournissent la base du chiffrement de la procédure de connexion. La procédure est la suivante :

  1. L’utilisateur s’enregistre auprès du service en ligne et génère une nouvelle paire de clés sur l’appareil utilisé, composée alors d’une clef privée (Private Key) et d’une clé publique FIDO2 (Public Key).
  2. Alors que la clé privée est stockée sur l’appareil et n’est connue que du côté client, la clé publique est enregistrée dans la base de données des clés du service Web.
  3. Les authentifications ultérieures ne sont désormais possibles qu’en justifiant la clé privée, qui doit toujours être déverrouillée par l’action de l’utilisateur. Il existe plusieurs options telles que la saisie d’un code PIN, l’appui sur un bouton, la saisie vocale ou l’insertion d’un matériel à deux facteurs (token FIDO2) distinct. Certains systèmes d’exploitation tels que Windows 10 et Android peuvent désormais également servir de jetons (tokens) de sécurité.
Note

La spécification FIDO2 est prévue pour protéger de manière optimale la vie privée de l’utilisateur. Pour cette raison, aucune information n’est transmise qui pourrait fournir un indice sur d’autres activités sur Internet. Les données biométriques, si une telle fonction est utilisée, ne quitteront jamais l’appareil de l’utilisateur.

Quelles sont les configurations requises pour utiliser l’authentification FIDO2 ?

La spécification FIDO2 spécifie tous les composants nécessaires à une authentification moderne :

Tout d’abord, le standard WebAuthn du W3C, que nous avons mentionné à plusieurs reprises et qui permet aux services en ligne de permettre l’authentification FIDO via une API Web standard (écrite en JavaScript) et qui est également implémentée dans divers navigateurs et systèmes d’exploitation. Les applications qui supportent déjà le standard depuis mars 2019 sont notamment Windows, Android et iOS (version 13 ou supérieure) ainsi que les navigateurs Google Chrome, Mozilla Firefox, Microsoft Edge et Apple Safari (version 13 ou supérieure).

Le deuxième composant essentiel est le protocole CTAP (Client to Authenticator Protocol). Ce protocole permet aux différents tokens FIDO2 d’interagir avec les navigateurs et aussi d’agir comme authentificateurs. Le navigateur utilisé et le token matériel souhaité doivent donc pouvoir communiquer via le CTAP afin d’utiliser cette fonction de sécurité (y compris la connexion sans mot de passe).

Les avantages de FIDO2 comparé à l’authentification par mot de passe

La raison pour laquelle les procédures de connexion sans mot de passe ou les procédés de connexions authentifiées par deux facteurs supplémentaires, telles que FIDO2 sont l’avenir a déjà été abordée dans l’introduction. Par rapport à la connexion par mot de passe traditionnelle, elles offrent une zone d’attaque beaucoup plus restreinte pour les cybercriminels. Les mots de passe sont en effet souvent rapidement découverts avec les bons outils, tandis que les attaquants ont besoin du token de sécurité matériel pour obtenir un accès non autorisé à un compte utilisateur protégé par FIDO2. De plus, vous pouvez utiliser un seul token FIDO2 pour différents services Web au lieu de créer et de mémoriser plusieurs mots de passe.

Les avantages de l’authentification FIDO2 en résumé :

Niveau de sécurité plus élevé FIDO2 chiffre la connexion par défaut avec une paire de clés (privée et publique) qui ne peut être déverrouillée qu’avec l’appareil enregistré.
Confort d’utilisation amélioré En mode sans mot de passe, FIDO2 démontre ses atouts en termes de confort d’utilisation : Les mots de passe différents appartiennent tout autant au passé que la saisie du mot de passe lui-même. Un simple clic sur un bouton, une saisie vocale ou un branchement matériel suffissent à la place.
Protection contre le phishing (hameçonnage) Si vous utilisez FIDO2, vous n’avez pas à vous soucier des risques de phishing et cela même avec la variante à deux facteurs avec mot de passe. Même si les criminels obtiennent le mot de passe, ils se voient tout de même refuser l’accès au compte protégé.

Quels sont les inconvénients de l’authentification FIDO2 ?

Bien que la procédure FIDO2 soit avantageuse à bien des égards, il existe cependant quelques faiblesses. Il n’existe actuellement que quelques services Web qui offrent cette forme d’authentification, c’est pourtant une condition de base pour son utilisation. Si FIDO2 est possible, vous devez également prévoir des coûts supplémentaires pour l’achat de tokens de sécurité externes. Surtout dans les entreprises où chaque employé a besoin de sa propre clé de sécurité, le passage à FIDO2 peut alors se révéler rapidement être une opération coûteuse.

Enfin, la méthode d’authentification standardisée nécessite une étape supplémentaire par rapport à une authentification par mot de passe ordinaire si elle est implémentée comme un composant complémentaire dans le cadre d’une authentification à deux facteurs. Ainsi, si vous vous connectez à un ou plusieurs services plusieurs fois par jour, vous devez vous préparer à ce que FIDO2 ne soit pas l’une des techniques de connexion les plus efficientes.