Definición
WebAuthn (Web Authentication) es un estándar W3C (2019), codesarrollado con la FIDO Alliance bajo el nombre de FIDO2, que permite a un sitio solicitar una autenticación reforzada mediante criptografía asimétrica.
El usuario prueba su identidad a través de un authenticator (una llave física, Touch ID, Windows Hello, Face ID), sin introducir nunca una contraseña. Las passkeys son su evolución (2022+): credenciales WebAuthn sincronizadas entre dispositivos a través de la nube del fabricante (iCloud Keychain, Google Password Manager) o entre dispositivos mediante código QR — convertidas en el nuevo estándar de autenticación del gran público.
Cómo funciona
En el registro, el authenticator genera un par de claves propio del sitio: la clave privada nunca sale del secure element, y la clave pública la almacena el sitio. En el inicio de sesión, el sitio envía un desafío (challenge) que el authenticator firma con la clave privada (tras el desbloqueo biométrico), y el sitio verifica la firma.
La credencial está vinculada al dominio (origin binding): un falso examp1e.com no tiene la clave, lo que hace imposible el phishing.
Las 3 propiedades clave
- A prueba de phishing: la credencial solo funciona en el dominio correcto.
- Sin secreto compartido: ninguna contraseña que robar, solo claves públicas del lado del servidor.
- UX fluida: basta un Touch ID, sin SMS ni TOTP.
Authenticators
- Platform (integrados): Touch ID/Face ID, Windows Hello, biometría Android — gratuitos, pero históricamente ligados a un dispositivo.
- Roaming (externos): YubiKey, Titan Security Key, Feitian — portátiles y multidispositivo, pero hay que comprarlos y llevarlos encima.
Passkeys: la evolución
Las passkeys sincronizan las credenciales entre dispositivos (iCloud Keychain, Google Password Manager, cuenta Microsoft), permiten la autenticación entre dispositivos mediante QR + Bluetooth y las gestionan los password managers (1Password, Dashlane, Bitwarden). Consecuencia: se acabó la pérdida de credencial al cambiar de teléfono.
Comparación
| Mecanismo | ¿Phishable? | Fuerza | UX |
|---|---|---|---|
| Contraseña | Sí | Débil | Media |
| SMS OTP | Sí (SIM swap) | Media | Débil |
| TOTP | Sí (introducción) | Media | Media |
| Push (app del banco) | Parcialmente | Media | Buena |
| WebAuthn / Passkeys | No | Fuerte | Excelente |
Nivel eIDAS y SCA
WebAuthn alcanza con facilidad el nivel Sustancial (authenticator certificado + biometría local), y el nivel Alto con hardware certificado (YubiKey FIPS) y un alta presencial. Para la SCA de la PSD2, combina inherencia (biometría) y posesión (el authenticator) — dos factores en un solo gesto. Los bancos de la UE lo adoptan progresivamente.
Lo que WebAuthn / Passkeys no resuelve
- No resuelve la identidad: prueba la propiedad de la credencial, no quién eres (sigue siendo necesario un KYC inicial).
- No resuelve la autorización: solo la autenticación, no los scopes de OAuth.
- No resuelve el robo de un dispositivo desbloqueado: mitigado por la biometría obligatoria.
- No es universal: los navegadores antiguos no lo soportan (se necesita un fallback).
- No resuelve el KYC a distancia: abrir una cuenta sigue exigiendo probar la identidad (DNI electrónico, EUDI Wallet).
Lo que WebAuthn / Passkeys no es
- No es una wallet de identidad: es una clave de autenticación, no un contenedor de atributos (vs EUDI Wallet).
- No es una contraseña con hash: es criptografía asimétrica.
- No es una «clave biométrica»: la biometría no sale del dispositivo, desbloquea la clave localmente.
- No es FIDO U2F: U2F era un segundo factor; FIDO2/WebAuthn permite la autenticación sin contraseña.
En el ecosistema PSD2 / Open Finance
Es la evolución natural de la SCA: adopción creciente por los bancos (app y portal web), uso del lado del TPP para el back-office, desbloqueo de la EUDI Wallet e integración en Click to Pay para un checkout sin contraseña de tarjeta.
Ejemplos concretos
- Apple ID, cuenta de Google: passkeys-first desde 2022-2023.
- GitHub: 2FA con passkey ampliamente adoptado por los desarrolladores.
- Boursobank, N26, Revolut: login en la app vía passkeys / biometría local.
- Click to Pay: estándar EMVCo basado en WebAuthn para el checkout sin introducir la tarjeta.
- France Identité: utiliza credenciales próximas a FIDO2 para la autenticación biométrica local.
- SIM swap: el fraude que mató la confianza en el OTP por SMS — WebAuthn es su antídoto.
- YubiKey: tras su despliegue interno en 2017, Google eliminó el phishing en sus cuentas.