Web Authentication (WebAuthn) es un estándar web publicado por el Consorcio WWW (W3C).[1][2][3] WebAuthn es un componente fundamental del proyecto FIDO2 bajo la orientación de la Alianza FIDO.[4] El objetivo del proyecto es normalizar una interfaz para autenticar a los usuarios con aplicaciones y servicios basados en la web utilizando criptografía asimétrica.
En el lado del cliente, el soporte para WebAuthn puede ser implementado de varias maneras. Las operaciones criptográficas subyacentes son realizadas por un autentificador,[5] que es un modelo funcional abstracto mayormente agnóstico con respecto a la forma en que se gestiona el material clave. Esto hace posible implementar el soporte para WebAuthn puramente en software, haciendo uso de un entorno de ejecución de confianza (trusted execution environment) de un procesador o de un módulo de plataforma de confianza (Trusted Platform Module). Las operaciones criptográficas sensibles también pueden ser transferidas a un autentificador de hardware móvil que a su vez puede ser accedido a través de USB, Bluetooth de baja energía, o Near field communication (NFC). Un autentificador de hardware móvil se ajusta al Client to Authenticator Protocol (CTAP) de FIDO,[6] haciendo que WebAuthn sea efectivamente compatible con el estándar Universal 2nd Factor (U2F) de FIDO.
Al igual que U2F heredado, la autenticación web es resistente a la suplantación de identidad del verificador, es decir, es resistente a los ataques activos de intermediarios,[7] pero a diferencia de U2F, WebAuthn no requiere una contraseña tradicional. Además, un autentificador de hardware móvil es resistente a programas maliciosos, ya que el material de la clave privada no es accesible en ningún momento para el software que se ejecuta en la máquina anfitriona.
El estándar WebAuthn Level 1 se publicó como Recomendación W3C el 4 de marzo de 2019.[1][8] Se está desarrollando un estándar Level 2.[9]