FIDO2: el nuevo estándar de seguridad para el inicio de sesión

El registro web con nombre de usuario y contraseña ha dejado de estar a la última por varias razones. Por un lado, introducir datos de usuario se hace cada vez un proceso más engorroso, ya que el número de servicios a los que recurrimos no deja de aumentar. Por el otro, la seguridad de los datos de acceso está más expuesta debido a las crecientes posibilidades técnicas de los ciberdelincuentes. Por ejemplo, los ataques de fuerza bruta o los correos electrónicos de phishing, que parecen inofensivos al principio, se están volviendo cada vez más comunes y los usuarios a menudo ni siquiera se dan cuenta cuando les sustraen sus datos de acceso con éxito.

La norma de seguridad FIDO2 aborda este problema por medio de la autenticación de dos factores basada en el uso de claves de seguridad (FIDO2 key) y tokens de hardware. Gracias a la integración del estándar WebAuthn del W3C, este procedimiento no solo permite un inicio de sesión cifrado y anónimo, sino que prescinde de la contraseña. Pero ¿cómo funcionan exactamente las claves y tokens FIDO2 y qué necesitas para poder utilizar este procedimiento de inicio de sesión para tus actividades en la web?

¿Qué es FIDO2?

FIDO2 es la última especificación de la no comercial Alianza FIDO (Fast Identity Online), que se creó con el objetivo de desarrollar estándares abiertos y sin licencia para una autenticación mundial segura en la web. Después de FIDO Universal Second Factor (FIDO U2F) y FIDO Universal Authentication Framework (FIDO UAF), FIDO2 ya es el tercer estándar que surge del trabajo de la Alianza.

La estructura de FIDO2 está constituida por el Client to Authenticator Protocol (CTAP) y el estándar WebAuthn del W3C. Juntos permiten la autenticación cuando los usuarios se identifican con autenticadores criptográficos (como los biométricos o PIN) o externos (como las claves FIDO, los dispositivos portátiles o los terminales móviles) en un punto de acceso remoto de confianza de WebAuthn (también conocido como servidor de FIDO2), que suele pertenecer a un sitio web o una aplicación web.

Hecho

La FIDO Alliance fue fundada en 2012 por PayPal, Lenovo, Nok Labs, Validity Sensors, Infineon y Agnitio. Un año después, Google, Yubico y NXP se unieron al grupo. En los últimos años, ha habido varias colaboraciones para establecer los estándares, por ejemplo, con Samsung y Microsoft.

¿Por qué necesitas especificaciones de seguridad como FIDO2?

FIDO2 ofrece la opción de disponer de una autenticación de dos factores, en la que el nombre de usuario y la contraseña habitual de inicio de sesión se complementan con una encriptación con claves FIDO2, así como un token FIDO2 adicional (hardware), o una autenticación completamente libre de contraseña.

Ambas variantes permiten acabar con la conocida vulnerabilidad del inicio de sesión de usuario mediante nombre de usuario y contraseña, así como autenticaciones sencillas de dos factores (correo electrónico, aplicaciones móviles, SMS), porque evitan que los cibercriminales se apoderen de la cuenta con patrones de ataque típicos como el de man-in-the-middle o el ya mencionado phishing. Incluso si los datos de inicio de sesión se ven comprometidos, el inicio de sesión de FIDO2 solo tiene éxito con el token de hardware o la clave privada correspondiente, que también está vinculada a un hardware dedicado.

El hecho de que FIDO2 sea un estándar abierto facilita a los desarrolladores de software y hardware la implementación del procedimiento en sus propios productos para ofrecer a los usuarios este método seguro de acceso.

¿Cómo funciona FIDO2?

El gran objetivo de la Alianza FIDO es la progresiva eliminación de las contraseñas de la web, lo que ha hecho avanzar el desarrollo de FIDO2. Para ello, primero se configura la ruta de comunicación segura entre el cliente (navegador) y los respectivos servicios web para que esté disponible de forma permanente para posteriores inicios de sesión. Con este fin se generan y verifican las claves FIDO2 (FIDO2-keys) mencionadas al principio, que proporcionan el cifrado básico del procedimiento de inicio de sesión. Este procedimiento es el siguiente:

  1. El usuario se registra en un servicio online y genera en el dispositivo un par de claves nuevo, que consiste en una clave privada y una clave FIDO2 pública.
  2. Mientras que la clave privada se almacena en el dispositivo y solo se conoce en el lado del cliente, la clave pública se registra en la base de datos de claves del servicio web.
  3. Las autenticaciones posteriores solo son posibles si se aporta la clave privada, que siempre debe desbloquearse mediante la acción del usuario. Entre las diversas opciones se puede introducir un PIN, pulsar un botón, entrar un comando oral o insertar un hardware de dos factores por separado (FIDO2 token). Algunos sistemas operativos, como Windows 10 y Android, ahora también pueden actuar como tokens de seguridad.
Nota

La especificación FIDO2 está diseñada para proteger la privacidad del usuario. Por esta razón, no se transmite ninguna información que pueda dar una pista sobre otras actividades de la web. Además, los datos biométricos, si se utiliza tal característica, nunca salen del dispositivo del usuario.

¿Cuáles son los requisitos para utilizar la autenticación FIDO2?

La especificación FIDO2 determina todos los componentes que son necesarios para el procedimiento de autenticación actual:

El primero y más importante es el estándar múltiple WebAuthn del W3C, que permite a los servicios en línea habilitar la autenticación FIDO a través de una API Web estándar (escrita en JavaScript) que también se implementa en varios navegadores y sistemas operativos. Las aplicaciones que ya soportan el estándar publicado en marzo de 2019 incluyen Windows, Android e iOS (Versión 13 o superior), así como los navegadores Google Chrome, Mozilla Firefox, Microsoft Edge y Apple Safari (Versión 13 o superior).

El segundo componente crucial es el Protocolo de Cliente a Autenticador (CTAP). Este protocolo permite a los distintos tokens FIDO2 interactuar con los navegadores y también actuar como autenticadores. Por lo tanto, tanto el navegador utilizado, como el token de hardware deseado, deben poder comunicarse a través de CTAP para poder utilizar esta función de seguridad (incluido el inicio de sesión sin contraseña).

Ventajas de FIDO2 sobre la autenticación con contraseña

En la introducción ya explicamos por qué los procedimientos de inicio de sesión sin contraseña o con autenticación de dos factores, como el FIDO2, son el futuro. En comparación con el tradicional inicio de sesión con clave, presentan muchas menos zonas vulnerables frente a los ciberdelincuentes. Las contraseñas pueden averiguarse con las herramientas adecuadas, mientras que los atacantes necesitarían el token de seguridad de hardware para obtener acceso no autorizado a una cuenta de usuario protegida por FIDO2. A esto se añade que un token FIDO2 puede utilizarse para diferentes servicios web en lugar de tener que crear y recordar varias contraseñas diferentes.

Ventajas de la autenticación FIDO2:

Mayor nivel de seguridad FIDO2 cifra el inicio de sesión de forma predeterminada con un par de claves (privada y pública) que solo pueden desbloquearse con el dispositivo registrado.
Mayor comodidad para el usuario En el modo sin contraseña, FIDO2 muestra sus puntos fuertes en cuestiones de comodidad para el usuario. Disponer de diversas contraseñas está tan desfasado como la introducción de la contraseña en sí misma; basta con hacer clic en un botón, hacer una entrada de voz o conectar el hardware.
Protección contra el phishing Si utilizas FIDO2, no tienes que preocuparte por el phishing incluso con la variante de dos factores con contraseña. Aún, cuando los delincuentes obtienen la contraseña, se les niega el acceso a la cuenta protegida.

¿Cuáles son las desventajas de la autenticación FIDO2?

Aunque el proceso FIDO2 es ventajoso en muchos aspectos, también tiene sus puntos débiles. Actualmente, existen pocos servicios web que ofrezcan esta forma de autenticación, lo que se constituye como un requisito imprescindible para poder utilizarla. Si es posible utilizar FIDO2, también hay que planificar costes adicionales para la compra de tokens de seguridad externos; especialmente en empresas donde cada empleado necesita su propia clave de seguridad, el cambio a FIDO2 puede ser costoso.

Por último, el método de autenticación estandarizada requiere un paso adicional en comparación con un inicio de sesión de contraseña común cuando se implementa como componente adicional la autenticación de dos factores. Por lo tanto, si te conectas a uno o más servicios varias veces al día, debes contar con que FIDO2 no es una de las técnicas de conexión más eficaces.