L’authentification FIDO emploie la cryptographie à clé publique (PKC) pour générer une paire de clés cryptographiques unique associée au compte d’un utilisateur. Cette paire de clés, appelée « clé d’accès », se compose d’une clé publique détenue par le fournisseur de services et d’une clé privée qui réside sur l’appareil de l’utilisateur.
Lorsque l’utilisateur se connecte à son compte, le fournisseur de services envoie un défi (généralement une chaîne de caractères aléatoires) à l’appareil de l’utilisateur. L’appareil invite l’utilisateur à s’authentifier au moyen d’un code PIN ou d’une authentification biométrique.
Si l’utilisateur s’authentifie avec succès, l’appareil utilise la clé privée pour signer le défi et le renvoyer au fournisseur de services. Ce dernier se sert de la clé publique pour vérifier que la bonne clé privée a été utilisée et, si c’est le cas, accorde à l’utilisateur l’accès à son compte.
Une clé d’accès stockée sur un appareil peut être employée pour se connecter à un service sur un autre appareil. Ainsi, si un utilisateur configure un mot de passe pour son compte de messagerie sur son appareil mobile, il peut toujours se connecter à ce compte sur un ordinateur portable. L’utilisateur devra relever le défi de l’authentification sur l’appareil mobile enregistré.
FIDO prend également en charge l’utilisation de clés de sécurité, également appelées « tokens matériels », en tant que méthode d’authentification. Les clés de sécurité FIDO sont de petits dispositifs physiques dédiés qui peuvent créer des paires de clés et signer des défis. Elles se connectent à d’autres appareils via Bluetooth, des protocoles de communication en champ proche (NFC) ou un port USB. Une clé de sécurité FIDO peut remplacer les données biométriques ou un code PIN dans le processus d’authentification : la possession de la clé authentifie l’utilisateur.
Comme la clé privée est stockée sur l’appareil de l’utilisateur et n’en sort jamais, la possibilité d’une violation de la sécurité est réduite au minimum. Les pirates ne peuvent pas la voler en pénétrant dans une base de données ou en interceptant des communications. La clé publique qui réside chez le fournisseur de services ne contient aucune information sensible et n’est guère utile aux cybercriminels.