La autenticación de dos factores (2FA), a veces denominada verificación en dos pasos o autenticación de doble factor, es un proceso de seguridad en el que los usuarios proporcionan dos factores de autenticación diferentes para verificarse. Este proceso se realiza para proteger mejor tanto las credenciales del usuario como los recursos a los que puede acceder. La autenticación de dos factores proporciona un mayor nivel de seguridad que los métodos de autenticación que dependen de la autenticación de un solo factor (SFA), en la que el usuario sólo proporciona un factor – normalmente, una contraseña o código de acceso. Los métodos de autenticación de dos factores se basan en que el usuario proporcione una contraseña, así como un segundo factor, normalmente un token de seguridad o un factor biométrico, como una huella dactilar o un escáner facial.
La autenticación de dos factores añade una capa adicional de seguridad al proceso de autenticación, dificultando a los atacantes el acceso a los dispositivos o a las cuentas en línea de una persona, ya que conocer la contraseña de la víctima por sí sola no es suficiente para pasar la comprobación de la autenticación. La autenticación de dos factores se ha utilizado durante mucho tiempo para controlar el acceso a sistemas y datos sensibles, y los proveedores de servicios en línea utilizan cada vez más la 2FA para proteger las credenciales de sus usuarios contra el uso de piratas informáticos que han robado una base de datos de contraseñas o han utilizado campañas de phishing para obtener las contraseñas de los usuarios.
- ¿Qué son los factores de autenticación?
- ¿Qué es la gestión de identidades y accesos? Guía de IAM
- ¿Cómo funciona la autenticación de dos factores?
- Elementos de la autenticación de dos factores
- Tipos de productos de autenticación de dos factores
- Cómo funcionan los tokens de hardware para 2FA
- Autenticación de dos factores para la autenticación de dispositivos móviles
- ¿Es segura la autenticación de dos factores?
- Niveles más altos de autenticación
- Notificaciones push para 2FA
- Futuro de la autenticación
¿Qué son los factores de autenticación?
Hay varias formas diferentes en las que alguien puede ser autenticado utilizando más de un método de autenticación. Actualmente, la mayoría de los métodos de autenticación se basan en factores de conocimiento, como una contraseña tradicional, mientras que los métodos de autenticación de dos factores añaden un factor de posesión o un factor de herencia.
Los factores de autenticación, enumerados en orden aproximado de adopción para la informática, incluyen los siguientes:
- Un factor de conocimiento es algo que el usuario conoce, como una contraseña, un PIN (número de identificación personal) o algún otro tipo de secreto compartido.
- Un factor de posesión es algo que el usuario tiene, como una tarjeta de identificación, un token de seguridad, un teléfono móvil, un dispositivo móvil o una aplicación de smartphone, para aprobar las solicitudes de autenticación.
- Un factor de inherencia, más comúnmente llamado factor biométrico, es algo inherente al ser físico del usuario. Pueden ser atributos personales mapeados a partir de características físicas, como las huellas dactilares autenticadas a través de un lector de huellas. Otros factores de inherencia comúnmente utilizados son el reconocimiento facial y de voz. También incluyen la biometría del comportamiento, como la dinámica de pulsación de teclas, la forma de andar o los patrones de habla.
- Un factor de localización, normalmente denotado por la ubicación desde la que se realiza un intento de autenticación, puede aplicarse limitando los intentos de autenticación a dispositivos específicos en una ubicación particular o, más comúnmente, rastreando el origen geográfico de un intento de autenticación basado en la dirección del Protocolo de Internet (IP) de origen o alguna otra información de geolocalización, como los datos del Sistema de Posicionamiento Global (GPS), derivados del teléfono móvil del usuario u otro dispositivo.
- Un factor de tiempo restringe la autenticación del usuario a una ventana de tiempo específica en la que se permite el inicio de sesión y restringe el acceso al sistema fuera de esa ventana.
Hay que tener en cuenta que la gran mayoría de los métodos de autenticación de dos factores se basan en los tres primeros factores de autenticación, aunque los sistemas que requieren una mayor seguridad pueden utilizarlos para implementar la autenticación multifactor (MFA), que puede basarse en dos o más credenciales independientes para una autenticación más segura.
Este artículo forma parte de
¿Qué es la gestión de identidades y accesos? Guía de IAM
- Que también incluye:
- Cómo construir una arquitectura IAM eficaz
- 4 mejores prácticas esenciales de gestión de identidades y accesos
- 5 tendencias IAM que configuran el futuro de la seguridad
¿Cómo funciona la autenticación de dos factores?
Así es como funciona la autenticación de dos factores:
- La aplicación o el sitio web piden al usuario que inicie sesión.
- El usuario introduce lo que sabe — normalmente, nombre de usuario y contraseña. Entonces, el servidor del sitio encuentra una coincidencia y reconoce al usuario.
- Para los procesos que no requieren contraseñas, el sitio web genera una clave de seguridad única para el usuario. La herramienta de autenticación procesa la clave, y el servidor del sitio la valida.
- El sitio entonces pide al usuario que inicie el segundo paso de inicio de sesión. Aunque este paso puede adoptar varias formas, los usuarios tienen que demostrar que tienen algo que sólo ellos podrían tener, como un token de seguridad, una tarjeta de identificación, un smartphone u otro dispositivo móvil. Este es el factor de posesión.
- A continuación, el usuario introduce un código de un solo uso que se generó durante el cuarto paso.
- Después de proporcionar ambos factores, el usuario es autenticado y se le concede el acceso a la aplicación o sitio web.
Elementos de la autenticación de dos factores
La autenticación de dos factores es una forma de AMF. Técnicamente, se utiliza siempre que se requieren dos factores de autenticación para acceder a un sistema o servicio. Sin embargo, utilizar dos factores de la misma categoría no constituye 2FA; por ejemplo, requerir una contraseña y un secreto compartido sigue considerándose SFA ya que ambos pertenecen al mismo tipo de factor de autenticación: el conocimiento.
En lo que respecta a los servicios SFA, el ID de usuario y la contraseña no son los más seguros. Uno de los problemas de la autenticación basada en contraseñas es que requiere conocimiento y diligencia para crear y recordar contraseñas fuertes. Las contraseñas requieren protección frente a muchas amenazas internas, como notas adhesivas guardadas por descuido con credenciales de acceso, discos duros viejos y explotaciones de ingeniería social. Las contraseñas también son presa de amenazas externas, como los hackers que utilizan ataques de fuerza bruta, de diccionario o de tabla arco iris.
Dado el tiempo y los recursos suficientes, un atacante suele poder vulnerar los sistemas de seguridad basados en contraseñas y robar datos corporativos, incluida la información personal de los usuarios. Las contraseñas han seguido siendo la forma más común de SFA debido a su bajo coste, facilidad de implementación y familiaridad. Las preguntas de respuesta a múltiples retos pueden proporcionar más seguridad, dependiendo de cómo se implementen, y los métodos de verificación biométrica independientes también pueden proporcionar un método más seguro de SFA.
Tipos de productos de autenticación de dos factores
Hay muchos dispositivos y servicios diferentes para implementar la 2FA: desde tokens hasta tarjetas de identificación por radiofrecuencia (RFID) o aplicaciones para smartphones.
Los productos de autenticación de dos factores pueden dividirse en dos categorías: los tokens que se entregan a los usuarios para que los utilicen al iniciar sesión y la infraestructura o el software que reconoce y autentica el acceso de los usuarios que utilizan sus tokens correctamente.
Los tokens de autenticación pueden ser dispositivos físicos, como llaveros o tarjetas inteligentes, o pueden existir en el software como aplicaciones móviles o de escritorio que generan códigos PIN para la autenticación. Estos códigos de autenticación, también conocidos como contraseñas de un solo uso (OTP), suelen ser generados por un servidor y pueden ser reconocidos como auténticos por un dispositivo o aplicación de autenticación. El código de autenticación es una secuencia corta vinculada a un dispositivo, usuario o cuenta en particular y puede utilizarse una vez como parte de un proceso de autenticación.
Las organizaciones necesitan desplegar un sistema para aceptar, procesar y permitir -o denegar- el acceso a los usuarios que se autentiquen con sus tokens. Esto puede ser desplegado en forma de software de servidor, un servidor de hardware dedicado o proporcionado como un servicio por un proveedor de terceros.
Un aspecto importante de 2FA es asegurar que el usuario autenticado se le da acceso a todos los recursos que el usuario está aprobado – y sólo esos recursos. Por ello, una función clave de 2FA es vincular el sistema de autenticación con los datos de autenticación de una organización. Microsoft proporciona parte de la infraestructura necesaria para que las organizaciones soporten 2FA en Windows 10 a través de Windows Hello, que puede operar con cuentas de Microsoft, así como autenticar a los usuarios a través de Microsoft Active Directory, Azure AD o Fast IDentity Online (FIDO 2.0).
Cómo funcionan los tokens de hardware para 2FA
Existen tokens de hardware para 2FA que soportan diferentes enfoques de autenticación. Uno de los tokens de hardware más populares es el YubiKey, un pequeño dispositivo de bus serie universal (USB) que admite OTPs, cifrado y autenticación de clave pública y el protocolo de segundo factor universal (U2F) desarrollado por la FIDO Alliance. Los tokens YubiKey son vendidos por Yubico Inc. con sede en Palo Alto, California.
Cuando los usuarios con una YubiKey se conectan a un servicio en línea que soporta OTPs – como Gmail, GitHub o WordPress – insertan su YubiKey en el puerto USB de su dispositivo, introducen su contraseña, hacen clic en el campo YubiKey y tocan el botón YubiKey. La YubiKey genera una OTP y la introduce en el campo.
La OTP es una contraseña de 44 caracteres de un solo uso; los primeros 12 caracteres son un ID único que identifica la clave de seguridad registrada en la cuenta. Los 32 caracteres restantes contienen información encriptada mediante una clave conocida sólo por el dispositivo y los servidores de Yubico, establecida durante el registro inicial de la cuenta.
La OTP se envía desde el servicio online a Yubico para la comprobación de la autenticación. Una vez validada la OTP, el servidor de autenticación de Yubico devuelve un mensaje confirmando que se trata del token correcto para este usuario. La 2FA está completa. El usuario ha proporcionado dos factores de autenticación: La contraseña es el factor de conocimiento, y la YubiKey es el factor de posesión.
Autenticación de dos factores para la autenticación de dispositivos móviles
Los teléfonos inteligentes ofrecen una variedad de posibilidades para la 2FA, lo que permite a las empresas utilizar lo que más les convenga. Algunos dispositivos son capaces de reconocer las huellas dactilares, una cámara integrada puede utilizarse para el reconocimiento facial o el escaneo del iris, y el micrófono puede utilizarse para el reconocimiento de voz. Los teléfonos inteligentes equipados con GPS pueden verificar la ubicación como un factor adicional. La voz o el servicio de mensajes cortos (SMS) también pueden utilizarse como canal para la autenticación fuera de banda.
Un número de teléfono de confianza puede utilizarse para recibir códigos de verificación por mensaje de texto o llamada telefónica automatizada. Un usuario tiene que verificar al menos un número de teléfono de confianza para inscribirse en 2FA.
Apple iOS, Google Android y Windows 10 tienen aplicaciones que soportan 2FA, permitiendo que el propio teléfono sirva como el dispositivo físico para satisfacer el factor de posesión. Duo Security, con sede en Ann Arbor, Michigan, y adquirida por Cisco en 2018 por 2.350 millones de dólares, es un proveedor de plataformas 2FA cuyo producto permite a los clientes utilizar sus dispositivos de confianza para 2FA. La plataforma de Duo establece primero que un usuario es de confianza antes de verificar que el dispositivo móvil también puede ser de confianza para autenticar al usuario.
Las apps de autenticación reemplazan la necesidad de obtener un código de verificación a través de texto, llamada de voz o correo electrónico. Por ejemplo, para acceder a un sitio web o a un servicio basado en la web que admita Google Authenticator, los usuarios escriben su nombre de usuario y su contraseña, un factor de conocimiento. A continuación, se les pide que introduzcan un número de seis dígitos. En lugar de tener que esperar unos segundos para recibir un mensaje de texto, el Authenticator genera el número por ellos. Estos números cambian cada 30 segundos y son diferentes para cada inicio de sesión. Al introducir el número correcto, los usuarios completan el proceso de verificación y demuestran la posesión del dispositivo correcto, un factor de propiedad.
Estos y otros productos de 2FA ofrecen información sobre los requisitos mínimos del sistema necesarios para implementar 2FA.
¿Es segura la autenticación de dos factores?
Aunque la autenticación de dos factores mejora la seguridad -porque el derecho de acceso ya no depende únicamente de la fuerza de una contraseña-, los esquemas de autenticación de dos factores son tan seguros como su componente más débil. Por ejemplo, los tokens de hardware dependen de la seguridad del emisor o del fabricante. Uno de los casos más sonados de un sistema de dos factores comprometido se produjo en 2011, cuando la empresa de seguridad RSA Security informó de que sus tokens de autenticación SecurID habían sido pirateados.
El propio proceso de recuperación de cuentas también puede ser subvertido cuando se utiliza para anular la autenticación de dos factores, ya que a menudo restablece la contraseña actual del usuario y le envía por correo electrónico una contraseña temporal para que pueda volver a iniciar sesión, eludiendo el proceso de 2FA. Las cuentas empresariales de Gmail del director general de Cloudflare fueron hackeadas de esta manera.
Aunque el 2FA basado en SMS es barato, fácil de implementar y se considera fácil de usar, es vulnerable a numerosos ataques. El Instituto Nacional de Estándares y Tecnología (NIST) ha desaconsejado el uso de SMS en los servicios de 2FA en su Publicación Especial 800-63-3: Directrices de Identidad Digital. El NIST llegó a la conclusión de que las OTPs enviadas por SMS son demasiado vulnerables debido a los ataques de portabilidad de números de teléfono móvil, como el hackeo del Sistema de Señalización 7, contra la red de telefonía móvil y el malware, como Eurograbber, que puede utilizarse para interceptar o redirigir los mensajes de texto.
Niveles más altos de autenticación
La mayoría de los ataques se originan en conexiones remotas de Internet, por lo que la 2FA hace que estos ataques sean menos amenazantes. Obtener las contraseñas no es suficiente para acceder, y es poco probable que un atacante pueda obtener también el segundo factor de autenticación asociado a una cuenta de usuario.
Sin embargo, los atacantes a veces rompen un factor de autenticación en el mundo físico. Por ejemplo, una búsqueda persistente en las instalaciones del objetivo podría encontrar una identificación y una contraseña de empleado en la basura, o en dispositivos de almacenamiento desechados por descuido que contengan bases de datos de contraseñas. Sin embargo, si se requieren factores adicionales para la autenticación, el atacante se enfrentaría al menos a un obstáculo más. Dado que los factores son independientes, el compromiso de uno de ellos no debería conducir al compromiso de los demás.
Por ello, algunos entornos de alta seguridad requieren una forma más exigente de MFA, como la autenticación de tres factores (3FA), que suele implicar la posesión de un token físico y una contraseña utilizada junto con datos biométricos, como escaneos de huellas dactilares o huellas de voz. También se están utilizando factores como la geolocalización, el tipo de dispositivo y la hora del día para ayudar a determinar si un usuario debe ser autenticado o bloqueado. Además, los identificadores biométricos de comportamiento, como la longitud de la pulsación del teclado, la velocidad de escritura y los movimientos del ratón de un usuario, también pueden supervisarse discretamente en tiempo real para proporcionar una autenticación continua en lugar de una única comprobación de autenticación durante el inicio de sesión.
Notificaciones push para 2FA
Una notificación push es una autenticación sin contraseña que verifica a un usuario enviando una notificación directamente a una aplicación segura en el dispositivo del usuario, alertando a éste de que se está produciendo un intento de autenticación. El usuario puede ver los detalles del intento de autenticación y aprobar o denegar el acceso, normalmente con un solo toque. Si el usuario aprueba la solicitud de autenticación, el servidor recibe esa solicitud y registra al usuario en la aplicación web.
Las notificaciones push autentican al usuario confirmando que el dispositivo registrado en el sistema de autenticación — normalmente, un dispositivo móvil — está en posesión del usuario. Si un atacante compromete el dispositivo, las notificaciones push también se ven comprometidas. Las notificaciones push eliminan las oportunidades de ataques de hombre en el medio (MitM), accesos no autorizados y ataques de phishing e ingeniería social.
Aunque las notificaciones push son más seguras que otras formas de métodos de autenticación, siguen existiendo riesgos de seguridad. Por ejemplo, los usuarios podrían aprobar accidentalmente una solicitud de autenticación fraudulenta porque están acostumbrados a dar un toque de aprobación cuando reciben notificaciones push.
Futuro de la autenticación
Confiar en las contraseñas como método principal de autenticación ya no ofrece la seguridad ni la experiencia de usuario (UX) que los usuarios demandan. Y, aunque las herramientas de seguridad heredadas, como un gestor de contraseñas y MFA, intentan solucionar los problemas de los nombres de usuario y las contraseñas, dependen de una arquitectura esencialmente obsoleta: la base de datos de contraseñas.
En consecuencia, las organizaciones que buscan mejorar la seguridad en el futuro están explorando el uso de tecnologías de autenticación sin contraseña para mejorar la UX.
La autenticación sin contraseña permite a los usuarios autenticarse en sus aplicaciones de forma segura, sin tener que introducir contraseñas. En las empresas, esto significa que los empleados pueden acceder a su trabajo sin tener que introducir contraseñas, y el departamento de TI sigue manteniendo un control total sobre cada inicio de sesión.
La biometría y los protocolos seguros son un par de ejemplos de tecnologías de autenticación sin contraseña.
El uso de la biometría como método de autenticación sin contraseña a nivel de usuario, aplicación y dispositivo puede garantizar mejor a las empresas que los empleados que inician sesión en los sistemas son quienes dicen ser.
Los protocolos son otro ejemplo de tecnologías sin contraseña. Los protocolos son estándares que pretenden facilitar la comunicación entre un proveedor de identidad y un proveedor de servicios. Un empleado que se autentifica en el proveedor de identidad también se autentifica en los proveedores de servicios asignados, sin necesidad de introducir una contraseña.
Alejarse de las contraseñas beneficia a las organizaciones porque la eliminación de la contraseña se traduce en una mejor UX para sus empleados. La autenticación sin contraseña introduce nuevas formas para que los empleados inicien sesión de forma fácil y segura en su trabajo sin tener que depender de las contraseñas. Esto elimina la necesidad de recuperación de cuentas, las solicitudes de restablecimiento de contraseñas y el proceso de rotación manual de contraseñas.