Qu’est-ce que l’authentification FIDO ?
FIDO, qui signifie Fast IDentity Online (Identification rapide en ligne) est un ensemble de normes d’authentification visant à renforcer le processus de connexion des utilisateurs aux services en ligne. Ces normes sont élaborées par l’Alliance FIDO et favorisent des processus d’authentification plus rapides et plus sûrs, l’objectif global étant d’éliminer complètement les connexions par mot de passe.
La première série de normes FIDO a été publiée en 2014 et les membres de l’Alliance FIDO comprenaient Google, PayPal, NXP et Infineon. Récemment, le nombre de membres s’est accru pour inclure Apple, Amazon, ARM, Intel, MasterCard, Microsoft, Samsung et Visa, pour n’en citer que quelques-uns.
Dans cet article
Comment fonctionne l’authentification FIDO ?
FIDO utilise la cryptographie à clé publique pour renforcer sa sécurité. Lorsqu’un utilisateur s’inscrit à un service en ligne, tel qu’un site web ou une application web, le dispositif FIDO de l’utilisateur génère une nouvelle paire de clés. La clé publique est partagée avec le service en ligne, tandis que la clé privée est conservée en sécurité dans le dispositif sans jamais être révélée. Lors des connexions suivantes, le service en ligne émet un défi que le dispositif FIDO signe en interne à l’aide de la clé privée. La signature est ensuite renvoyée au service en ligne où elle peut être vérifiée à l’aide de la clé publique stockée.
Il est important de noter que le dispositif n’effectuera l’opération de signature qu’après que l’utilisateur aura confirmé sa présence. Pour ce faire, il peut appuyer sur un bouton du dispositif ou scanner son empreinte digitale (dans le cas d’une clé biométrique). Cette exigence vise à empêcher les logiciels malveillants d’utiliser une clé FIDO jointe à l’insu de l’utilisateur. En demandant à l’utilisateur d’effectuer une action, il affirme qu’il est présent et qu’il souhaite que l’authentification se poursuive. C’est ce qu’on appelle la « détection de la présence de l’utilisateur ».
FIDO 1.0 (U2F et UAF)
La première génération de spécifications FIDO décrivait deux protocoles, à savoir le second facteur universel (U2F) et le cadre d’authentification universel (UAF).
FIDO U2F
FIDO U2F décrit « l’expérience du second facteur ». C’est là que l’utilisateur possède un dispositif distinct compatible FIDO, tel qu’une clé de sécurité USB qu’il doit utiliser pour se connecter en plus de son mot de passe. Cette méthode d’authentification supplémentaire permet d’éviter les attaques par hameçonnage en exigeant de l’utilisateur qu’il présente un élément qu’il possède, la clé de sécurité FIDO, en plus d’un élément qu’il connaît, comme son mot de passe. Il s’agit d’une authentification à deux facteurs (2FA) qui repose sur un dispositif matériel dédié distinct.
L’U2F a défini le protocole côté client utilisé pour communiquer avec la clé de sécurité FIDO, appelé le « Client to Authenticator Protocol » (CTAP). Ce protocole a été conçu pour fonctionner via USB, la communication en champ proche (NFC) ou par Bluetooth.
FIDO UAF
Le protocole FIDO UAF, quant à lui, a été conçu pour offrir une expérience sans mot de passe. Dans l’UAF, l’utilisateur enregistre son dispositif compatible avec l’UAF (par exemple, son smartphone) auprès d’un service en ligne et sélectionne une méthode d’authentification locale prise en charge par ce dispositif, principalement une méthode biométrique telle que la reconnaissance par empreintes digitales ou faciale. L’utilisateur peut alors accéder au service en ligne à partir de ce dispositif à l’avenir, s’authentifier localement en utilisant ce dispositif et sans avoir besoin de saisir un mot de passe.
FIDO2 (WebAuthn et CTAP2)
Alors que FIDO 1.0 était essentiellement constituée de deux protocoles distincts, FIDO 2.0 (ou plus simplement, FIDO2) vise à combiner les fonctionnalités de l’U2F et de l’UAF et mettre l’authentification forte à la portée de tous. Elle le fait par le biais d’une normalisation mondiale par l’intermédiaire de World Wide Web Consortium (W3C) et l’intégration dans les navigateurs web conformes, notamment Chrome, Firefox et Microsoft Edge.
FIDO2 se compose de deux parties :
- Une API JavaScript en cours de normalisation par le W3C, appelée Web Authentication , ou WebAuthn . Cette API est mise en œuvre dans les navigateurs Web conformes au W3C pour permettre aux applications Web d’utiliser directement les authentificateurs FIDO.
- CTAP2 - une version étendue du protocole Client-to-Authenticator.
En facilitant l’authentification FIDO pour les utilisateurs par une intégration simple et nette dans les services en ligne, FIDO2 vise à rendre l’authentification forte omniprésente et, à terme, à éliminer complètement la connexion classique par mot de passe.