WebAuthn
Depuis que les premiers systèmes informatiques ont vu le jour, la question de l’authentification des utilisateurs n’a cessé de se poser. Le mot de passe s’est imposé très tôt comme la réponse évidente : une chaîne de caractères connue de l’utilisateur, simple à mettre en place, facile à comprendre. Sauf que cette simplicité cache mal ses faiblesses. On vole les mots de passe, on les devine, on les intercepte. En 2024, plus de 80% des piratages tirent encore parti de mots de passe trop faibles ou volés.
Au fil du temps, d’autres méthodes sont apparues. La vérification en deux étapes, les certificats numériques, la biométrie. Chacune apporte sa pierre à l’édifice, mais elles restent parfois lourdes à déployer, ou manquent d’une vraie uniformité. C’est là que le W3C et l’Alliance FIDO ont décidé de changer la donne avec Web Authentication, qu’on appelle plus simplement WebAuthn.
Google, Mozilla, Microsoft et Yubico ont mis la main à la pâte pour aboutir à cette spécification publiée en 2019. L’idée rompt avec ce qu’on faisait depuis des décennies. Au lieu de partager un secret entre l’utilisateur et le serveur, WebAuthn s’appuie sur la cryptographie asymétrique. Quand vous vous inscrivez sur un service, une paire de clés se crée. La clé privée reste bien au chaud sur votre appareil, tandis que la clé publique part vers le serveur avec un identifiant généré au hasard.
Dans cette architecture, la clé publique stockée côté serveur ne sert à rien pour pirater votre compte. Les attaquants se désintéressent de plus en plus des bases de données. L’authentification est liée au domaine exact du site : une clé créée pour example.com ne marchera jamais sur evil-example.com. Les tentatives d’hameçonnage perdent beaucoup de leur efficacité.
WebAuthn repose sur trois piliers. La robustesse d’abord : l’authentification s’appuie si possible sur un module matériel de sécurité qui garde les clés privées et effectue les calculs cryptographiques. Le périmètre ensuite : chaque paire de clés ne vaut que pour une origine précise, comme les cookies qu’on connaît bien. L’attestation enfin : les authentificateurs peuvent fournir un certificat qui prouve au serveur que la clé publique vient d’une source fiable.
Les navigateurs ont vite adopté cette technologie. Chrome, Firefox, Edge, Safari : tous prennent en charge le standard. Les développeurs ont donc la capacité de l’intégrer de façon homogène. Les systèmes d’exploitation modernes ont suivi avec leurs propres systèmes d’authentification : Windows Hello chez Microsoft, Touch ID chez Apple.
Le processus lui-même se déroule en plusieurs temps. À l’inscription, le serveur transmet des données qui lient l’utilisateur à ses identifiants, avec des informations sur l’organisation et une chaîne aléatoire pour contrer les attaques par rejeu. Le navigateur utilise l’API Web Authentication pour demander la création d’une nouvelle paire de clés.
La réponse contient l’identifiant de l’authentificateur, les données client en JSON, un objet d’attestation. Le serveur vérifie tout ça selon une procédure en 19 points décrite dans la spécification. Une fois validé, il stocke la clé publique et l’identifiant dans sa base.
Pour les connexions suivantes, vous prouvez que vous possédez la clé privée en créant une assertion. Le serveur envoie une nouvelle chaîne aléatoire, l’authentificateur génère une signature numérique que le serveur vérifie avec la clé publique qu’il a gardée. Plus de risque de vol de mot de passe, et l’expérience utilisateur s’en trouve améliorée.
WebAuthn s’inscrit dans FIDO2, un ensemble de technologies qui vise à généraliser l’authentification sans mot de passe. Le besoin se fait sentir : en 2024, seulement 28% des utilisateurs activent la double authentification sur leurs comptes en ligne.
La spécification continue d’évoluer avec de nouvelles fonctionnalités et des implémentations qui s’affinent. Les développeurs trouvent des exemples de code et des bibliothèques dans différents langages, Python et Go notamment, pour intégrer WebAuthn dans leurs applications.
L’histoire de WebAuthn montre comment les méthodes d’authentification sur Internet se transforment. En remplaçant les mots de passe par des clés cryptographiques, cette norme répond aux exigences de sécurité actuelles tout en simplifiant la vie des utilisateurs. Les grands acteurs du web l’adoptent de plus en plus, et l’on peut parier qu’à l’avenir, s’authentifier deviendra à la fois plus sûr et plus pratique.
Cette évolution s’inscrit dans un mouvement plus large où la cryptographie asymétrique remplace peu à peu les secrets partagés d’autrefois. WebAuthn représente une étape importante dans l’histoire de la sécurité informatique, en apportant une solution standardisée à ce problème d’authentification qui nous poursuit depuis les débuts.