Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo las claves de acceso están cambiando la autenticación

[06/03/2023] Las contraseñas son un aspecto central de la infraestructura y la práctica de seguridad, pero también son una debilidad principal, involucrada en el 81% de todos los ataques de hacking. Los problemas de usabilidad inherentes dificultan que los usuarios administren las contraseñas de manera segura. Estas deficiencias de seguridad y facilidad de uso han impulsado la búsqueda de enfoques alternativos conocidos, generalmente, como autenticación sin contraseña.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Las claves de acceso son un tipo de autenticación sin contraseña que está teniendo un enfoque y una adopción cada vez mayores. Están destinadas a convertirse en una parte clave de la seguridad en los próximos años. Las claves de acceso representan una base más segura para la seguridad empresarial. Aunque no son infalibles -por ejemplo, se pueden sincronizar con un dispositivo que ejecuta un sistema operativo inseguro-, son mucho más seguras que las contraseñas para clientes, empleados y socios por igual.

Claves de acceso versus contraseñas

El problema raíz de seguridad con las contraseñas es que son solo cadenas de caracteres que desbloquean recursos seguros sin tener en cuenta a quién pertenecen. Es como la llave metálica de un automóvil que abre y enciende el automóvil sin tener en cuenta ningún otro factor. Las estadísticas sobre las credenciales de contraseña disponibles para los delincuentes son alarmantes y empeoran cada año.

Las claves de acceso son un enfoque de autenticación que es multifactorial, con énfasis en el dispositivo como primer factor. Al unir el dispositivo con otro factor, las claves de acceso evolucionan más allá del estilo de seguridad de "lo que sabe representado por las contraseñas a "lo que posee y lo que sabe.

Como afirma Matias Woloski, CTO de Auth0 Lab en Okta: "a medida que se reemplazan las contraseñas, el teléfono representará un primer factor más fuerte. Esto no solo mejorará la experiencia del usuario, sino también la seguridad. Las claves de acceso no se limitan a los smartphones y están disponibles en otros dispositivos, como tabletas, laptops y PCs.

Woloski señala que Apple, Google, y Microsoft soportan claves de acceso. Esta es una indicación de la fuerza de la marea detrás de la adopción de las claves de acceso, pero también revela algo sobre cómo funcionan las claves de acceso. Las claves de acceso más nuevas incluyen una parte de almacenamiento en la nube para la sincronización entre dispositivos y, en ese aspecto, el proveedor que utiliza (por ejemplo, Apple para iCloud) influye en cómo se comportarán las claves de acceso. Las claves de acceso pueden cambiar sin problemas entre dispositivos dentro del mismo ecosistema, y se está trabajando para simplificar las transferencias entre ecosistemas.

Cómo funcionan las claves de acceso

La fuerza del factor dispositivo es simple: es una entidad física. Un hacker en Rusia no puede robar el teléfono de un empleado en California. Por supuesto, un teléfono puede ser robado o extraviado, pero (casi con certeza) ya está bloqueado y las claves de acceso usan el teléfono junto con un segundo factor. El teléfono (u otro dispositivo) ya es una entidad con la que los empleados interactúan habitualmente, están acostumbrados a tratar de forma segura y tienen a la mano. También está asociado con otra información verificable -como una cuenta de proveedor de telefonía-.

Aunque el dispositivo físico es el ancla de la seguridad de la clave de acceso, no es un componente de hardware real el que asocia la clave de acceso con el dispositivo. En cambio, es un puente entre el dispositivo y las aplicaciones del usuario mediado por el sistema operativo o el navegador. Se ha trabajado mucho -y se sigue trabajando- en orquestar esto de forma segura.

La alianza FIDO es el organismo principal detrás de la definición de especificaciones en torno a las claves de acceso, y todos los grandes proveedores de servicios en la nube (CSP) y proveedores de infraestructura de claves de acceso son miembros. Junto con el W3C, FIDO ha introducido la API WebAuthn para estandarizar el funcionamiento de las claves de acceso y proporcionar bibliotecas para usar tanto en el front end como en el back end.

Tipos de claves de acceso

Las características del dispositivo físico hacen que la seguridad básica sea más sólida. Además de este factor, hay varios factores secundarios que se utilizan para verificar que el usuario es el propietario válido del dispositivo. Los tipos de claves de acceso más destacados son biométricos (por ejemplo, huellas dactilares o reconocimiento facial), basados en fichas, basados en PIN, orientados al movimiento o incluso contraseñas.

Cómo las claves de acceso utilizan la criptografía de clave pública

Estos factores (dispositivo y factor secundario) son utilizados por el servicio de clave de acceso en su dispositivo para crear un par de claves criptográficas asimétricas para cada sitio web, aplicación o servicio (la aplicación de autenticación) en el que utiliza la autenticación de clave de acceso. La clave privada se almacena en el dispositivo, en un almacén de claves, y la aplicación de autenticación conserva la clave pública. Este arreglo tiene muchas fortalezas de seguridad sistémica sobre las contraseñas. Dado que solo se expone la clave pública, por ejemplo, no hay un objetivo útil para los hackers en el cable o en las bases de datos. La clave pública es inútil para los atacantes.

Cómo utiliza el usuario final las claves de acceso

Este video de Google muestra una captura de pantalla de una interacción de inicio de sesión con clave de acceso. La conclusión es que crear una cuenta e iniciar sesión con una clave de acceso es más simple que una contraseña. La clave de acceso se establece en el dispositivo para la página web con un deslizamiento de huella digital, escaneo facial u otro segundo factor. Aquí es donde teóricamente se podría usar una contraseña como un factor secundario para validar que el usuario actual es el usuario real. A partir de entonces, el usuario no tendría que ingresar la contraseña en los inicios de sesión posteriores. La contraseña u otro factor nunca se transmiten ni se almacenan de forma remota.

Claves de acceso para múltiples dispositivos

Lo último en las especificaciones de claves de acceso FIDO se orienta a múltiples dispositivos. Una vez que se establece una clave de acceso para un servicio determinado, el mismo dispositivo se puede usar para compartirlo de forma segura con otro dispositivo. Los dispositivos deben estar muy cerca, dentro del alcance de la conexión inalámbrica, y el usuario tiene un papel activo en la verificación de la sincronización del dispositivo. El servicio de nube remota para el dispositivo dado también juega un papel.

Eso significa que un iPhone usa la nube de Apple, un dispositivo Android usa Google Cloud Platform (GCP) y Windows usa Microsoft Azure. Se están realizando esfuerzos para simplificar el intercambio de claves de acceso entre proveedores. Es un proceso bastante manual para compartir entre proveedores, por ejemplo, para pasar de un dispositivo Android a una laptop MacOS.

Beneficios y desventajas de la llave de acceso

Las claves de acceso son claves criptográficas, por lo que ya no está la posibilidad de contraseñas débiles. No comparten información vulnerable, por lo que se eliminan muchos vectores de ataque de contraseñas. Las claves de acceso son resistentes al phishing y otros ataques de ingeniería social: la propia infraestructura de claves de acceso negocia el proceso de verificación y no se deja engañar por una página web falsa pero bien hecha -ya no existe la posibilidad de escribir accidentalmente una contraseña en el formulario incorrecto.

Existen algunos problemas de seguridad empresarial, en particular, garantizar que los empleados y otras personas sigan la política de seguridad de los dispositivos utilizados con claves de acceso. Más allá de eso, hay un trabajo en curso en torno a la recuperación de claves de acceso. Sería bueno poder recuperar todas sus claves de acceso del proveedor de la nube que las respalde de una sola vez en caso de pérdida, robo o destrucción de un dispositivo. El proceso requiere volver a solicitar una clave de acceso de cada servicio. En el lado positivo, un dispositivo robado no es una vulnerabilidad de seguridad, ya que el dispositivo en sí debe desbloquearse para obtener acceso a la clave de acceso.

Implementación de claves de acceso

Las claves de acceso son un desarrollo importante en el que los líderes de TI de la empresa deberían pensar en términos de cómo pueden mejorar la experiencia y la seguridad del usuario, y cómo introducirlas en sus procesos e infraestructura. Afortunadamente, no son tan difíciles de agregar, ya que la mayor parte del trabajo pesado está a cargo de bibliotecas y especificaciones bien definidas, desarrolladas por la alianza FIDO del consorcio abierto respaldado por grandes tecnologías. Además, los servicios de seguridad de terceros se están moviendo para soportar claves de acceso y hacer que sea mucho más fácil aprovecharlas.

El mayor elemento que queda en la infraestructura de claves de acceso es que las aplicaciones y los sitios comiencen a usarlos. Solo un puñado de páginas web ha implementado la autenticación con clave de acceso. Es probable que esa situación cambie rápidamente.

Para los encargados de la ciberseguridad de los proyectos de software, la llegada de las claves de acceso representa tanto una responsabilidad como una oportunidad. Desarrollar el soporte para claves de acceso requerirá un esfuerzo proporcional a la escala de la infraestructura existente. Afortunadamente, las herramientas y los proveedores de seguridad de terceros se están moviendo para soportar claves de acceso, y esto puede simplificar enormemente el proceso de incorporación.

Agregar compatibilidad con el autenticador de clave de acceso a una aplicación implica modificar los componentes de front end y back end para soportar flujos de trabajo de autenticación estándar, como la creación de cuentas, la revocación y el inicio de sesión. También existe el caso de uso especializado de convertir una cuenta basada en contraseña a una basada en clave de acceso.

La API WebAuthn

En el navegador, la API WebAuthn se puede usar como mecanismo estándar para establecer un puente entre el código de la aplicación y la compatibilidad con la clave de acceso. La API de WebAuthn permite al desarrollador generar una nueva clave de acceso (es decir, soporta la función "Crear clave de acceso) en la interfaz. (Recuerde: la clave privada nunca abandona el dispositivo del usuario). El proceso de creación de la clave de acceso requerirá información del servidor back end (como user.id y un campo de desafío que se usa más adelante durante la autenticación), los datos que vincularán la aplicación, el usuario y la clave de acceso específicos. Una vez creados, el front end envía la clave pública al servidor para su almacenamiento y futura autenticación.

La mayoría de los navegadores soportan WebAuthn ahora. Más allá de eso, el dispositivo en sí debe ser compatible con un autenticador de contraseña basado en plataforma. Eso incluye la mayoría de los dispositivos en estos días. (La API WebAuthn de los navegadores ahora incluye un indicador condicional para verificar fácilmente si está disponible para el usuario).

Desde una perspectiva básica, soportar claves de acceso significa incorporar código JavaScript para manejar la interacción de autenticación, una pequeña cantidad de IU y la API de back end para responder a las solicitudes y conservar los datos. Es posible usar directamente las bibliotecas del lado del servidor de WebAuthn para procesar las solicitudes en el back end, pero usar bibliotecas de código abierto puede simplificar eso.