¿Qué es la autenticación de dos factores y por qué se utiliza?
La autenticación de dos factores (2FA), a veces conocida como verificación de 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 a sí mismos.
2FA se implementa para proteger mejor las credenciales de un usuario y los recursos a los que el usuario 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 los que el usuario proporciona un solo factor, por lo general, una contraseña o un código de acceso. Los métodos de autenticación de dos factores se basan en que un usuario proporcione una contraseña como primer factor y un segundo factor diferente, generalmente un token de seguridad o un factor biométrico, como una huella digital o un escaneo facial.
La autenticación de dos factores agrega una capa adicional de seguridad al proceso de autenticación al dificultar el acceso de los atacantes a los dispositivos o cuentas en línea de una persona porque, incluso si la contraseña de la víctima es hackeada, una contraseña por sí sola no es suficiente para pasar la verificación de autenticación.
La autenticación de dos factores se ha utilizado durante mucho tiempo para controlar el acceso a sistemas y datos confidenciales. Los proveedores de servicios en línea están utilizando cada vez más 2FA para proteger las credenciales de sus usuarios de ser utilizadas por hackers que robaron una base de datos de contraseñas o usaron campañas de phishing para obtener contraseñas de usuario.
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 crear una arquitectura de IAM eficaz
- 4 prácticas recomendadas esenciales de gestión de identidades y accesos
- 5 tendencias de IAM que configuran el futuro de la seguridad
¿Qué son los factores de autenticación?
Hay varias maneras de autenticar a alguien usando 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 agregan un factor de posesión o un factor de inherencia.
Los factores de autenticación, enumerados en orden aproximado de adopción para computación, incluyen los siguientes:
- Un factor de conocimiento es algo que el usuario conoce, como una contraseña, un número de identificación personal (PIN) u 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 celular, un dispositivo móvil o una aplicación para teléfonos inteligentes, para aprobar solicitudes de autenticación.
- Un factor biométrico, también conocido como factor de inherencia, es algo inherente al yo físico del usuario. Estos pueden ser atributos personales mapeados a partir de características físicas, como huellas dactilares autenticadas a través de un lector de huellas dactilares. Otros factores inherentes comúnmente utilizados incluyen el reconocimiento facial y de voz o la biometría conductual, como la dinámica de pulsaciones de teclas, la marcha o los patrones del habla.
- Un factor de ubicación generalmente se denota por la ubicación desde la que se realiza un intento de autenticación. Esto se puede hacer cumplir limitando los intentos de autenticación a dispositivos específicos en una ubicación particular o rastreando la fuente geográfica de un intento de autenticación en función de la dirección de Protocolo de Internet de origen u otra información de geolocalización, como los datos del Sistema de Posicionamiento Global (GPS), derivados del teléfono móvil u otro dispositivo del usuario.
- Un factor de tiempo restringe la autenticación del usuario a una ventana de tiempo específica en la que se permite iniciar sesión y restringe el acceso al sistema fuera de esa ventana.
La gran mayoría de los métodos de autenticación de dos factores dependen de los tres primeros factores de autenticación, aunque los sistemas que requieren mayor seguridad pueden usarlos para implementar la autenticación multifactor (MFA), que puede depender de dos o más credenciales independientes para una autenticación más segura.
¿Cómo funciona la autenticación de dos factores?
Habilitar la autenticación de dos factores varía en función de la aplicación o el proveedor específicos. Sin embargo, los procesos de autenticación de dos factores implican el mismo proceso general de varios pasos:
- La aplicación o el sitio web le piden al usuario que inicie sesión.
- El usuario introduce lo que sabe usually normalmente, nombre de usuario y contraseña. Luego, el servidor del sitio encuentra una coincidencia y reconoce al usuario.
- Para 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 solicita al usuario que inicie el segundo paso de inicio de sesión. Aunque este paso puede tomar varias formas, el usuario tiene que demostrar que tiene algo que solo él tendría, como datos biométricos, un token de seguridad, una tarjeta de identificación, un teléfono inteligente u otro dispositivo móvil. Este es el factor de inherencia o posesión.
- Entonces, el usuario puede tener que ingresar un código de una sola vez que se generó durante el paso cuatro.
- Después de proporcionar ambos factores, el usuario se autentica y se le concede acceso a la aplicación o al sitio web.
Elementos de autenticación de dos factores
La autenticación de dos factores es una forma de MFA. Técnicamente, está en uso cada vez que se requieren dos factores de autenticación para obtener acceso a un sistema o servicio. Sin embargo, el uso de dos factores de la misma categoría no constituye 2FA. Por ejemplo, requerir una contraseña y un secreto compartido todavía se considera SFA, ya que ambos pertenecen al tipo de factor de autenticación de conocimiento.
En lo que respecta a los servicios SFA, los nombres de usuario y las contraseñas no son los más seguros. Un problema con la autenticación basada en contraseñas es que requiere conocimiento y diligencia para crear y recordar contraseñas seguras. Las contraseñas requieren protección contra muchas amenazas internas, como notas adhesivas almacenadas descuidadamente con credenciales de inicio de sesión, discos duros antiguos y exploits 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 mesa arcoíris.
Con el tiempo y los recursos suficientes, un atacante generalmente puede violar los sistemas de seguridad basados en contraseñas y robar datos corporativos. Las contraseñas han seguido siendo la forma más común de SFA debido a su bajo costo, facilidad de implementación y familiaridad.
Las múltiples preguntas de respuesta a desafíos 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 2FA–, desde tokens hasta tarjetas de identificación por radiofrecuencia (RFID) y aplicaciones para teléfonos inteligentes.
Los productos de autenticación de dos factores se pueden dividir en dos categorías:
- tokens que se dan a los usuarios para que los usen al iniciar sesión; y
- infraestructura o software que reconoce y autentica el acceso para los usuarios que están utilizando 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), generalmente son 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 solo se puede usar una vez como parte de un proceso de autenticación.
Las organizaciones necesitan implementar un sistema para aceptar, procesar y permitir o denegar el acceso a los usuarios que se autentican con sus tokens. Esto puede implementarse en forma de software de servidor o un servidor de hardware dedicado, así como ser proporcionado como un servicio por un proveedor externo.
Un aspecto importante de 2FA es garantizar que el usuario autenticado tenga acceso a todos los recursos para los que el usuario está aprobado y solo a esos recursos. Como resultado, 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 admitan 2FA en Windows 10 a través de Windows Hello, que puede funcionar con cuentas de Microsoft, así como autenticar usuarios a través de Microsoft Active Directory, Azure AD o Fast IDentity Online (FIDO).
Cómo funcionan los tokens de hardware 2FA
Los tokens de hardware para 2FA están disponibles para diferentes enfoques de autenticación. Un token de hardware popular 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 Universal de 2do Factor desarrollado por la Alianza FIDO. Los tokens YubiKey son vendidos por Yubico Inc., con sede en Palo Alto, California.
Cuando los usuarios con un YubiKey inician sesión en un servicio en línea que admite OTPs, como Gmail, GitHub o WordPress, insertan su YubiKey en el puerto USB de su dispositivo, ingresan su contraseña, hacen clic en el campo YubiKey y tocan el botón YubiKey. El YubiKey genera un OTP y lo ingresa en el campo.
La OTP es una contraseña de un solo uso de 44 caracteres; los primeros 12 caracteres son un ID único que representa la clave de seguridad registrada en la cuenta. Los 32 caracteres restantes contienen información cifrada con una clave conocida solo por el dispositivo y los servidores de Yubico, establecida durante el registro inicial de la cuenta.
La OTP se envía desde el servicio en línea a Yubico para verificar la autenticación. Una vez validado el OTP, el servidor de autenticación de Yubico envía un mensaje confirmando que este es el 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 dispositivos móviles
Los teléfonos inteligentes ofrecen una variedad de capacidades de 2FA, lo que permite a las empresas usar lo que funciona mejor para ellos. Algunos dispositivos pueden reconocer huellas dactilares, usar la cámara incorporada para el reconocimiento facial o el escaneo del iris, y usar el micrófono para el reconocimiento de voz. Los teléfonos inteligentes equipados con GPS pueden verificar la ubicación como un factor adicional. El Servicio de Mensajes Cortos o de Voz (SMS) también se puede utilizar como canal para la autenticación fuera de banda.
Un número de teléfono de confianza se puede usar para recibir códigos de verificación por mensaje de texto o llamada telefónica automatizada. Un usuario debe verificar al menos un número de teléfono de confianza para inscribirse en mobile 2FA.
Apple iOS, Google Android y Windows 10 tienen aplicaciones compatibles con 2FA, lo que permite que el teléfono en sí sirva como dispositivo físico para satisfacer el factor de posesión. Duo Security, con sede en Ann Arbor, Michigan., y adquirido por Cisco en 2018 por $2,35 mil millones, tiene una plataforma que permite a los clientes usar sus dispositivos de confianza para 2FA. La plataforma de Duo establece primero que se confía en un usuario antes de verificar que el dispositivo móvil también se puede confiar como factor de autenticación.
Las aplicaciones 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 servicio basado en la web compatible con Google Authenticator, los usuarios deben introducir su nombre de usuario y contraseña, un factor de conocimiento. A continuación, se solicita a los usuarios que introduzcan un número de seis dígitos. En lugar de tener que esperar unos segundos para recibir un mensaje de texto, un autenticador genera el número para ellos. Estos números cambian cada 30 segundos y son diferentes para cada inicio de sesión. Al ingresar el número correcto, los usuarios completan el proceso de verificación y prueban 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.
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 al usuario 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, por lo general, con un solo toque. Si el usuario aprueba la solicitud de autenticación, el servidor recibe esa solicitud e inicia sesión con el usuario en la aplicación web.
Las notificaciones push autentican al usuario confirmando que el dispositivo registrado con el sistema de autenticación, generalmente 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 amenazas como los ataques de intermediario, el acceso no autorizado y los ataques de ingeniería social.
Aunque las notificaciones push son más seguras que otras formas de métodos de autenticación, todavía existen riesgos de seguridad. Por ejemplo, los usuarios podrían aprobar accidentalmente una solicitud de autenticación fraudulenta porque están acostumbrados a tocar aprobar cuando reciben notificaciones push.
¿Es segura la autenticación de dos factores?
Si bien la autenticación de dos factores mejora la seguridad, los esquemas 2FA solo son tan seguros como su componente más débil. Por ejemplo, los tokens de hardware dependen de la seguridad del emisor o fabricante. Uno de los casos más notorios de un sistema de dos factores comprometido ocurrió en 2011 cuando la empresa de seguridad RSA Security informó que sus tokens de autenticación SecurID habían sido pirateados.
El proceso de recuperación de la cuenta en sí mismo también se puede subvertir cuando se usa para derrotar la autenticación de dos factores, ya que a menudo restablece la contraseña actual de un usuario y envía por correo electrónico una contraseña temporal para permitir que el usuario inicie sesión de nuevo, evitando el proceso 2FA. Las cuentas de Gmail de negocios del director ejecutivo de Cloudflare fueron hackeadas de esta manera.
Aunque el 2FA basado en SMS es económico, 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 desalentado el uso de SMS en los servicios 2FA en su Publicación Especial 800-63-3: Pautas de Identidad Digital. El NIST concluyó que las OTP enviadas a través de SMS son demasiado vulnerables debido a los ataques de portabilidad de números de teléfono móvil, los ataques contra la red de telefonía móvil y el malware que se puede usar para interceptar o redirigir mensajes de texto.
Futuro de la autenticación
Los entornos que requieren mayor seguridad pueden estar interesados en la autenticación de tres factores, que generalmente implica la posesión de un token físico y una contraseña utilizados junto con datos biométricos, como escaneos de huellas dactilares o huellas de voz. También se utilizan factores como la geolocalización, el tipo de dispositivo y la hora del día para ayudar a determinar si un usuario debe autenticarse o bloquearse. Además, los identificadores biométricos de comportamiento, como la longitud de las pulsaciones de teclado de un usuario, la velocidad de escritura y los movimientos del ratón, también se pueden supervisar discretamente en tiempo real para proporcionar autenticación continua en lugar de una comprobación de autenticación única durante el inicio de sesión.
Confiar en las contraseñas como método principal de autenticación, aunque es común, a menudo ya no ofrece la seguridad o la experiencia de usuario que exigen las empresas y sus usuarios. Y, a pesar de que las herramientas de seguridad heredadas, como un administrador de contraseñas y MFA, intentan lidiar con 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, muchas organizaciones están recurriendo a la autenticación sin contraseña. El uso de métodos como la biometría y los protocolos seguros permite a los usuarios autenticarse de forma segura en sus aplicaciones sin tener que introducir contraseñas. En los negocios, esto significa que los empleados pueden acceder a su trabajo sin tener que ingresar contraseñas y aún mantiene un control total en cada inicio de sesión. El uso de la cadena de bloques, por ejemplo, a través de la identidad descentralizada o la identidad de soberanía propia, también está ganando atención como alternativa a los métodos de autenticación tradicionales.