WebAuthn (Web Authentication) est un standard du World Wide Web Consortium (W3C) avec la contribution de la FIDO Alliance qui propose une interface d'authentification des utilisateurs aux applications Web à l'aide de clés asymétriques. Cette interface est une extension de l'API plus générale « Credential Management » qui définit comment les navigateurs Web ou autres agents utilisateur doivent interagir avec un gestionnaire de mots de passe. WebAuthn peut être utilisé dans un contexte d'authentification simple, l'utilisateur n'étant pas obligé de fournir d'informations supplémentaires, comme un nom d'utilisateur ou un mot de passe. Toutefois, pour plus de sécurité, le système qui demande l'authentification peut exiger ces informations, ce qui en fait un processus d'authentification multifacteur. WebAuthn peut également être combiné à d'autres facteurs d'authentification, tels que des gestes ou une vérification biométrique, ce qui améliore la sécurité, tout en évitant aux utilisateurs de saisir des chaînes de caractères longues et complexes. WebAuthn peut être implémenté de différentes façons, car les opérations cryptographiques sous-jacentes sont déléguées à un authentificateur, qui est un modèle fonctionnel abstrait. Cela permet d'implémenter entièrement WebAuthn dans un logiciel, ou d'utiliser le Trusted Execution Environment (TEE) d'un processeur ou encore un Trusted Platform Module (TPM). Les opérations cryptographiques sensibles peuvent aussi être déléguées à des jetons d'authentification externes auxquels on peut accéder via USB, Bluetooth ou par communication en champ proche (NFC). Cette pratique est en général considérée plus sécurisée, car les clés privées ne sont à aucun moment accessibles par les logiciels exécutés sur la machine. La communication avec les jetons d'authentification externes est conçue pour fonctionner avec le protocole CTAP (Client to Authenticator Protocol), ce qui permet à WebAuthn d'être rétrocompatible avec la norme U2F.
Mathias Josef Payer, Daniele Antonioli
Jean-Pierre Hubaux, Sylvain Chatel, Apostolos Pyrgelis, Christian Louis Knabenhans