Cómo sería el Internet sin contraseñas

Una contraseña que no puede cambiarse: hackean 5,6 millones de huellas dactilares en EEUU

 

Alternativas al uso de la contraseña como método de autenticación

Recientemente Microsoft dio a conocer que sus cerca de 800 millones de usuarios de servicios como Outlook, Office o Skype ahora tendrán la opción de iniciar sesión en estas plataformas sin la necesidad de utilizar una contraseña, informan especialistas en forense digital del Instituto Internacional de Seguridad Cibernética.

El anuncio es parte de los planes de diversas empresas para migrar hacia el uso del Internet sin contraseñas mediante la implementación de WebAuthn, tecnología clave para concretar esta transición. Acorde a especialistas en ciberseguridad y forense digital, la implementación de esta tecnología implica el uso de la biométrica (como reconocimiento facial o huellas digitales) u otras formas de autenticación en lugar de seguir utilizando nombres de usuario y contraseñas.

Aunque esta es una medida relevante para la seguridad de los usuarios de Internet, aún falta pasar por un largo proceso de implementación, en el que habrá que convencer a los usuarios de adoptar nuevas formas de autenticación para el acceso a las diversas plataformas digitales. El uso de la contraseña es relativamente simple para cualquier usuario de Internet, por lo que este método ha prevalecido como el más utilizado. Por su parte, la autenticación sin contraseña funciona de manera diferente, puede ser complicada de entender y conlleva la necesidad de aprender nuevas siglas o conceptos, como FIDO2, WebAuthn, o CTAP. A continuación, especialistas en forense digital tratarán de explicar de manera general en qué consiste la autenticación sin contraseñas.

Inicios de sesión sin contraseña

Cuando alguien utiliza un sitio web, la manera más común de registrarse es eligiendo un nombre de usuario y contraseña. Una vez que el usuario comparte con el sitio web estos datos, se pierde cualquier tipo de control sobre lo que el sitio hace con su palabra clave, sólo queda esperar que el sitio web almacene y procese esa información de manera segura. Con base en el número de incidentes de seguridad de datos acontecidos recientemente, podemos deducir que no siempre se cumple esta expectativa.

Acorde a expertos en forense digital, con la autenticación sin contraseña los usuarios ya no dependerán de que el sitio web almacene de manera correcta su información. Esto se debe a que se utiliza la criptografía de clave pública, que autentica al usuario utilizando dos claves criptográficas: una clave privada, que es secreta, y una clave pública.

El usuario guarda su clave secreta, y le da la clave pública al sitio web cuando se registra. Debido a que esta clave será pública, los usuarios no deberán preocuparse de que su información confidencial sea comprometida en caso de una violación de datos. La clave pública sólo podrá desbloquear cosas que estaban bloqueadas usando la clave privada correspondiente.

Por su parte, el usuario se autentica utilizando su clave privada para encriptar un ‘desafío’ (un número aleatorio muy grande) enviado por el sitio web y luego hará que el sitio lo descifre con la clave pública. Si la secuencia de cifrado/descifrado funciona y el servidor web recupera el desafío del usuario, se completa el proceso de autenticación sin contraseña.

Para que esto funcione correctamente, el usuario necesitará un ‘autenticador’, un administrador de accesos y un conjunto de normas que permitan que su equipo, su navegador, y los sitios web que visita, colaboren para que se complete el proceso.

WebAuthn

WebAuthn es una API que los sitios web y los navegadores pueden usar para habilitar la autenticación mediante el uso de criptografía de clave pública en lugar de contraseñas. Los principales navegadores ya manejan WebAuthn, el siguiente paso es que los sitios web inviertan para implementar este cambio de código.

En lugar de solicitar que el usuario ingrese su nombre de usuario y contraseña, los sitios web pueden llevar a cabo la autenticación utilizando el código JavaScript incorporado en sus páginas web.

El código utiliza la API de WebAuthn para solicitar a los navegadores que generen credenciales cuando el usuario se registra en un sitio web, o para obtener las credenciales de inicio de sesión.

Aunque el código JavaScript se descarga con la página web y se ejecuta en la máquina del usuario, en su navegador, aún se considera parte del sitio web, por lo que no se puede confiar en el acceso a su clave privada ni a ningún otro secreto.

Autenticadores

Por defecto, los sitios web no reparan en la forma en la que el usuario genera o administra sus claves privadas, por lo que se puede utilizar el método más conveniente para cada individuo. Los usuarios pueden usar la autenticación incluida en su sistema operativo, como Windows Hello, el reconocimiento facial de Microsoft, o un autenticador remoto, un smartphone, por ejemplo.

Uniendo todas las piezas

Un escenario posible es que el usuario desee autenticarse usando sus huellas digitales. Al momento de iniciar sesión, el código en la página de inicio de sesión utiliza la API de WebAuthn para pedirle al navegador que firme un ‘desafío’ usando su clave privada. El navegador pasa el desafío al autenticador, y el autenticador le solicita al usuario permiso para firmar el desafío, lo que el usuario hace poniendo su dedo en el escáner de huellas.

El autenticador verifica la huella digital del usuario, firma el desafío y lo reenvía al navegador, que lo devuelve al código JavaScript del lado del cliente, que finalmente lo devuelve al servidor del sitio web, completando el proceso.

Explicado de esta manera puede parecer complejo, pero la interacción requerida del usuario es mínima.