Contenido del curso
Conexiones sociales
Conexiones sin password
Protegiendo una API
Auth0 SDKs
Administración de usuarios
Reglas y Acciones en Auth0
Multifactor Authentication
Casos en producción
Login sin contraseña con WebAuthn y FIDO
Resumen
El estándar WebAuthn con FIDO Security Keys permite autenticar usuarios sin contraseñas, usando llaves físicas o dispositivos biométricos aprobados por la FIDO Alliance. Aprenderás cómo ocurre el registro, cómo se valida un login y cómo activarlo en Auth0 si trabajas con autenticación moderna en aplicaciones web.
¿Qué es WebAuthn y por qué reemplaza a las contraseñas?
WebAuthn es un estándar respaldado por la FIDO Alliance que funciona en la mayoría de navegadores actuales. Su propósito es eliminar el uso del password y reemplazarlo por dispositivos físicos o biométricos que firman criptográficamente cada intento de acceso.
La lógica detrás del estándar se apoya en la firma asimétrica: existe una llave privada que firma y una llave pública que verifica. La llave privada nunca sale del dispositivo, por eso solo tú puedes firmar un challenge válido.
¿Qué es un challenge en WebAuthn? Es un stream aleatorio que la fuente confiable envía al autenticador para que lo firme. Si la firma se valida con la llave pública, el usuario es quien dice ser.
¿Cómo funciona el registro de un usuario con WebAuthn?
En el proceso de registro intervienen tres partes: el autenticador (tu dispositivo biométrico o llave física), el navegador y una fuente confiable que actúa como authorization server, por ejemplo Auth0 o Google.
El flujo ocurre así:
- El navegador solicita un challenge a la fuente confiable.
- La fuente confiable devuelve ese challenge al autenticador.
- El autenticador genera una llave pública y una privada, firma el challenge y envía de regreso la llave pública junto con un identificador.
- La fuente confiable almacena la llave pública y el ID del autenticador.
En el demo de webauthn.me puedes ver la animación: ingresas un nombre de usuario, presionas registrar y el dispositivo crea las llaves. En una MacBook con sensor de huella, Apple firma el challenge internamente y devuelve la credencial validada.
¿Cómo se hace login después del registro?
Para autenticarte envías tu ID a la fuente confiable. Ella te devuelve un nuevo challenge para firmar. Como solo tú posees la llave privada almacenada en el dispositivo, eres el único capaz de firmarlo correctamente. La fuente confiable usa la llave pública guardada para verificar la firma y aprobar el acceso.
¿Por qué la llave privada nunca se comparte? Porque vive dentro del dispositivo físico o biométrico. Si saliera, cualquiera podría suplantar tu identidad. Solo viaja la firma, no la llave.
¿Cómo activar WebAuthn con FIDO Security Keys en Auth0?
Dentro del dashboard de Auth0 encuentras la configuración en Security > Multifactor Auth. La primera opción de la lista es WebAuthn with FIDO Security Keys y se activa con un clic.
Al activarla, Auth0 pregunta si quieres usar verificación adicional por PIN o sensor táctil. La recomendación es habilitarla siempre y cuando la llave lo soporte, porque no todas las llaves físicas tienen esa capacidad.
Después defines la política: puedes pedir el segundo factor siempre o solo cuando detectes riesgo. Para fines de demo conviene marcar siempre, así cada login exige introducir y tocar la llave.
¿Qué pasa la primera vez que un usuario hace login?
Auth0 le pide registrar la llave de seguridad. El usuario la conecta por USB (o usa un adaptador USB-C si trabaja en MacBook), la toca para confirmar presencia física y le asigna un nombre. A partir de ese momento, cada inicio de sesión requiere repetir el gesto: insertar la llave y tocarla.
Esto convierte al dispositivo físico en el segundo factor obligatorio, eliminando la dependencia exclusiva de contraseñas.
¿Qué dispositivos cumplen con el estándar FIDO?
La FIDO Alliance certifica dos grandes familias de autenticadores que puedes integrar con WebAuthn:
- Llaves de seguridad físicas, como las que fabrica Yubico, que se conectan por USB, NFC o Lightning.
- Dispositivos biométricos integrados, como el sensor de huella de una MacBook o el reconocimiento facial de un smartphone.
- Autenticadores de plataforma, gestionados por el sistema operativo cuando ya tiene tus credenciales registradas.
La elección depende del nivel de portabilidad y del tipo de puerto disponible en tus equipos. Si trabajas con varias máquinas, una llave física multipuerto suele ser más versátil.
Tu reto: entra al sitio de Yubico, revisa los modelos disponibles y comenta cuál elegirías y por qué. ¿Priorizarías USB-C, NFC o compatibilidad con dispositivos móviles?