WebAuthn, passkeys y el fin de las contraseñas

· Features

WebAuthn es la capa de autenticación del estándar FIDO2. En lugar de depender de secretos que el usuario debe recordar, emplea criptografía asimétrica. Durante el registro, el autenticador del usuario (clave hardware, enclave seguro, TPM, etc.) genera un par de claves privada-pública vinculado al dominio del Relying Party. El navegador envía la clave pública y los datos de atestación al servidor, que los almacena como un registro de credencial. La clave privada nunca sale del dispositivo del usuario. 

Flujo de autenticación

Al iniciar sesión, el servidor emite un challenge aleatorio. El navegador lo envía al autenticador, que verifica la presencia del usuario (p. ej., pulsar un botón), opcionalmente fuerza la verificación del usuario (PIN, biometría) y firma el challenge con la clave privada almacenada. El servidor valida la firma con la clave pública registrada previamente y comprueba que el contador de firmas del autenticador haya aumentado, protegiendo así contra claves clonadas. 

Passkeys

Las passkeys amplían las credenciales WebAuthn permitiendo la disponibilidad entre dispositivos. Los sistemas operativos sincronizan las credenciales mediante almacenamiento en la nube cifrado de extremo a extremo. Una passkey puede desbloquearse con el método de autenticación local del dispositivo (Touch ID, Face ID, Windows Hello, biometría de Android) y usarse en distintos navegadores y dispositivos. Esto elimina la fricción de recordar o escribir nada, manteniendo a la vez una seguridad respaldada por hardware. 

Ventajas frente a las contraseñas

  1. Resistencia al phishing – El autenticador vincula cada credencial a un origen concreto; un sitio de phishing no puede engañarlo para firmar un challenge de otro dominio.
  2. Sin secretos compartidos – Al no haber base de datos de contraseñas, el riesgo de fugas de credenciales se reduce drásticamente. Aunque el almacén de credenciales del servidor se vea comprometido, el atacante solo obtiene claves públicas.
  3. Mejor UX – Los usuarios solo confirman un prompt biométrico o tocan una clave de seguridad. Las passkeys entre dispositivos eliminan restablecimientos de contraseña y errores de escritura.
  4. Multifactor robusto – WebAuthn puede satisfacer "algo que tienes" (el autenticador) y "algo que eres o sabes" (biometría o PIN) en un solo gesto, logrando MFA fuerte con un esfuerzo mínimo.
  5. Resistencia al replay y al credential stuffing – Los challenges son de un solo uso y las claves privadas no pueden reutilizarse entre servicios, frustrando los ataques de replay y de credential stuffing.