WebAuthn (Web Authentication)

A medida que acumulamos actividad en la red, aumenta en proporción el número de nombres de usuario y contraseñas que ha de recordarse o guardarse de alguna manera. Ya sea en las redes sociales, tiendas online o cuentas de correo electrónico, para todo es necesario disponer de datos de acceso privados. En el futuro empero navegar por Internet podría ser mucho más cómodo para los internautas, por lo menos si depende del Consorcio de la World Wide Web (W3C). El nuevo estándar WebAuthn pretende convertir a las contraseñas en algo del pasado sin poner en peligro la seguridad de los datos sensibles.

El nacimiento de la Web Authentication

Durante mucho tiempo, la única forma de verificar la identidad del usuario en la red fue el uso combinado de un nombre de usuario y una clave. Con el nombre de usuario (en muchos casos, la cuenta de correo electrónico) el usuario indica a qué cuenta quiere acceder y, con la clave o contraseña, que solo él conoce, confirma su identidad.

Pero este método de verificación ha demostrado sus carencias en los últimos años, en parte porque requiere de los usuarios un mínimo esfuerzo que muchos reducen utilizando combinaciones de caracteres fáciles de memorizar (y de descifrar) o empleando la misma clave para varias cuentas diferentes. Cuando este problema se hizo patente, se desarrollaron los gestores de contraseñas y la autenticación en dos pasos o MFA, siglas de Multifactor Authentication, pero los usuarios siguen sin sentirse cómodos con ellos y evitan utilizarlos.

Esto hizo que el Consorcio de la World Wide Web, una unión de empresas de informática que publica regularmente estándares para la web, se pusiera manos a la obra para encontrar una solución. Gracias a su cooperación con la FIDO (Fast IDentity Online) Alliance, que agrupa a varias empresas con el objetivo de desarrollar medidas homogéneas de autenticación, la han encontrado. Con el proyecto FIDO2, el W3C y la Alianza FIDO han desarrollado varias medidas de seguridad, entre ellas, el Client to Authenticator Protocol (CTAP) y el nuevo estándar WebAuthn.

El nuevo sistema de autenticación web aspira a convertirse en una forma única de verificación que, en lugar de usar contraseñas, utilizará datos biométricos: el estándar prevé que los usuarios confirmen su identidad por huella dactilar o reconocimiento facial. En la actualidad, muchos dispositivos, sobre todo teléfonos móviles y ordenadores portátiles, ya están equipados con el hardware y software necesario para ello, por lo que los obstáculos para los usuarios serían relativamente escasos ‒contando, además, que el sistema es compatible con el uso de tokens. Como esta información es inherente a los usuarios, no se puede olvidar o entregar a otra persona de forma involuntaria, de modo que, con la WebAuthn, el phishing podría previsiblemente formar parte del pasado en poco tiempo.

Implementación técnica de WebAuthn

La nueva Web Authentication deberá funcionar en el futuro en todos los navegadores. Chrome, Firefox, Edge y Safari (en parte), por ejemplo, ya soportan el estándar. Con este método, las páginas web que han de verificar la identidad del usuario recurren a la API de autenticación web en el navegador. El usuario, por su parte, confirma ser quien es en su propio equipo con un escáner de huella dactilar o con un token conectado a su ordenador. Los datos personales de identidad, como la huella digital, no abandonan el dispositivo. Es el navegador el que envía la verificación de su identidad, cifrada por medio de una clave pública, al servicio web. El usuario no ha tenido que introducir ni un nombre ni una contraseña.

La API se escribe en JavaScript. Esto hace que los administradores web lo tengan muy fácil para implementar la Web Authentication en sus páginas, lo que debería contribuir a su rápida expansión. Si los proveedores quieren garantizar un acceso a sus servicios aún más seguro, pueden combinar la API de WebAuthn con la MFA: la autenticación con datos biométricos seguiría permitiendo, pese a todo, la autenticación con contraseña.

Nota

Los administradores web han de crear en su sitio web la conexión con la API de autenticación implementando el código correcto de JavaScript. La recomendación oficial del W3C contiene más información sobre su aplicación del lado del servidor.

Dado que los internautas ya no son responsables de crear y almacenar contraseñas y nombres de usuario, desaparece el riesgo de que utilicen los mismos datos de acceso para distintas cuentas. El nuevo estándar WebAuthn crea datos de registro únicos para cada cuenta, de modo que lo único que ha de hacer el usuario para utilizar este método de verificación es registrarse una sola vez en el servicio web con su identificador personal (huella digital, token, etc.).

Hecho

Como con el estándar se utilizan datos diferentes para cada cuenta, WebAuthn también impide el seguimiento a través de diferentes páginas.

Ventajas y desventajas de WebAuthn

En contraposición a otras medidas más antiguas basadas en el uso de claves, la WebAuthn ofrece varias ventajas para los usuarios y los proveedores de servicios en la web. La comodidad es el factor que, por encima de todo, debería convencer a los internautas, porque ya no tendrían que memorizar más información. De aquí también se derivaría una mayor seguridad, porque el uso de claves no es un método seguro al cien por cien: si, por un lado, pueden romperse con ataques de fuerza bruta o con tablas arcoíris, entre otros métodos, por el otro, son fáciles de interceptar con phishing. Con la WebAuthn, en cambio, no hay contraseña que pueda ir a las manos equivocadas.

Tampoco sirve de nada lanzar un ataque de hombre intermedio o man in the middle, puesto que no se envían datos sensibles que puedan interceptarse. El método de clave pública protege de forma criptográfica el envío del certificado de autenticación.

El que los datos sensibles no abandonen el dispositivo del usuario también implica un beneficio para los administradores web. Hoy en día, los proveedores de servicios han de invertir mucha energía y competencia técnica en proteger los datos de acceso de sus clientes o usuarios. Si los delincuentes logran colarse en sus bases de datos, las consecuencias pueden ser fatales, tanto para las empresas que no han podido evitar el ataque, como para los desprotegidos usuarios, que quizá se convierten en víctimas del robo de datos, sobre todo, si utilizan los mismos datos de acceso para otras plataformas.

WebAuthn está considerado un método mucho más seguro que la autenticación en dos pasos porque, si bien la solicitud de un dato de identificación extra garantiza una mayor protección, tampoco es un método completamente seguro. Muchas formas de autenticación, como la contraseña One Time enviada por SMS, que también se ha convertido en blanco de los ataques de phishing, pueden interceptarse sin dificultad. A esto se añade que la WebAuthn es mucho más rápida y amigable que la MFA.

Los inconvenientes aparecen en el momento de registrar un nuevo autenticador para una cuenta, por ejemplo, si el usuario pierde el token y necesita uno nuevo. Conectarlo con el perfil del usuario no es fácil puesto que, de lo contrario, supondría un riesgo demasiado elevado. Para poder hacerlo, el usuario debe poseer un autenticador de repuesto, definido explícitamente para ello, o poner en marcha un restablecimiento total, lo que equivaldría al restablecimiento de la contraseña y está indicado sobre todo para servicios que no requieren un elevado estándar de seguridad.

En resumen

WebAuthn ofrece un estándar de seguridad mucho más elevado que los métodos anteriores y facilita el registro en los servicios online. Los proveedores de servicios en Internet también se benefician de una menor inversión de tiempo y trabajo, puesto que implementar la API de Web Authentication es mucho más fácil.