Saltar al contenido principal

FIDO/WebAuthn - Estándares de autenticación sin contraseña

Lectura de 2 min aprox.

FIDO (Fast IDentity Online) y WebAuthn son estándares internacionales para lograr una autenticación que no dependa de contraseñas. Al combinar las especificaciones técnicas desarrolladas por la FIDO Alliance con la API WebAuthn recomendada como estándar web por el W3C, es posible utilizar la autenticación basada en criptografía de clave pública desde navegadores y aplicaciones. Con una resistencia estructural frente al phishing y como tecnología que resuelve el problema fundamental de la filtración de contraseñas, su adopción avanza en toda la industria.

La fundación de la FIDO Alliance y la evolución de los estándares

En 2012 se fundó la FIDO Alliance, liderada principalmente por PayPal y Lenovo. En aquella época, la reutilización de contraseñas y las filtraciones de datos a gran escala se sucedían unas tras otras, y las limitaciones de la autenticación por contraseña se habían vuelto evidentes. La Alianza publicó primero dos estándares en 2014. UAF (Universal Authentication Framework) permitía el inicio de sesión sin contraseña mediante autenticación biométrica, mientras que U2F (Universal 2nd Factor) permitía la autenticación de dos factores usando llaves de seguridad USB.

En 2018 llegó un importante punto de inflexión. Como proyecto FIDO2, se estandarizaron la API WebAuthn del W3C y el CTAP (Client to Authenticator Protocol) de la FIDO Alliance. WebAuthn es la especificación de la API del lado del navegador, mientras que CTAP es el protocolo de comunicación con el autenticador (llaves de seguridad y dispositivos biométricos). Al combinar ambos, se hizo posible usar autenticadores de hardware directamente desde un navegador web. Y desde 2022, se ha extendido el mecanismo de sincronizar en la nube las credenciales FIDO2 como passkeys, convirtiéndose en una tecnología al alcance también de los usuarios comunes.

El flujo de autenticación basado en criptografía de clave pública

La autenticación FIDO/WebAuthn funciona mediante un esquema de desafío-respuesta. En la autenticación tradicional por contraseña se envía una «cadena secreta» al servidor, pero con FIDO la clave privada nunca sale del dispositivo.

El servidor genera un desafío aleatorio
El navegador llama a la API WebAuthn
El autenticador verifica al usuario (biometría / PIN)
La clave privada firma el desafío
El servidor verifica la firma con la clave pública

La ventaja decisiva de este esquema es que en el servidor solo se almacena la clave pública del usuario. Aunque el servidor se vea comprometido, deducir la clave privada a partir de la clave pública es computacionalmente inviable, por lo que una filtración de datos no conduce directamente al uso indebido de las credenciales.

Cómo funciona la resistencia al phishing - verificación de origen

La razón principal por la que FIDO/WebAuthn resiste el phishing es que la verificación del origen (dominio) se realiza automáticamente en el momento de la autenticación. El autenticador incluye criptográficamente en la firma el dominio que emitió la solicitud de autenticación. Aunque un atacante solicite al usuario que se autentique en un sitio falso (por ejemplo, examp1e.com), las credenciales del sitio legítimo (example.com) no pueden usarse en el origen del sitio falso. Aunque el usuario sea engañado para acceder al sitio falso, el fraude se detecta a nivel del autenticador, por lo que un ataque de phishing es estructuralmente imposible. Esto también es una ventaja importante al considerar los desafíos de la migración a passkeys.

La relación con las passkeys

Una passkey es una de las formas de implementación de FIDO2/WebAuthn. Técnicamente es la misma autenticación basada en criptografía de clave pública, pero una passkey se diferencia del FIDO2 convencional en que las credenciales pueden sincronizarse en varios dispositivos a través de la nube. Como las llaves de seguridad FIDO2 convencionales están vinculadas a un dispositivo físico, la recuperación en caso de pérdida era un problema. Las passkeys resuelven este problema y logran una sincronización fluida entre dispositivos a través de iCloud Keychain y Google Password Manager. Combinadas con la autenticación biométrica, la experiencia del usuario también ha mejorado notablemente.

Estado de compatibilidad y consideraciones prácticas

A fecha de 2025, todos los navegadores principales - Chrome, Safari, Firefox y Edge - admiten la API WebAuthn. A nivel de sistema operativo, Windows Hello, Touch ID / Face ID en macOS / iOS y la autenticación biométrica de Android funcionan como autenticadores FIDO2. En las implementaciones empresariales, cada vez son más los casos que adoptan llaves de seguridad de hardware como YubiKey como medio de autenticación multifactor.guías sobre llaves de seguridad FIDO2 (Amazon) también son referencias útiles para la implementación.

Como consideración práctica, implementar WebAuthn también requiere soporte del lado del servidor. Es necesario implementar la lógica para generar desafíos, almacenar claves públicas y verificar firmas, y se recomienda el uso de bibliotecas (como SimpleWebAuthn y py_webauthn). Además, contar con conocimientos básicos sobre el cifrado, en especial comprender cómo funciona la criptografía de clave pública, resulta útil a la hora de solucionar problemas. Conocer también los riesgos de la autenticación biométrica y los fundamentos de la autenticación de dos factores te dará una visión completa del diseño de la autenticación.

Términos relacionados

¿Te resultó útil este artículo?

XHatena