¿Sabes qué es la autenticación en dos pasos y la de doble factor y cuál es más segura? Hoy en día en el mundo online se recurre a la autenticación de doble factor (Two factor authentication) usando incluso U2F y a la autenticación en dos pasos, (Two step authentication) para reforzar la seguridad de los sistemas.
Aunque se tiende a pensar que la autenticación de doble factor y la autenticación en dos pasos son lo mismo, no es así.
El U2F es ideal para aquellas personas que quieran blindar sus cuentas online y que siempre tienen problemas con las contraseñas y por un coste muy bajo (sobre 15 € o incluso menos).
Nunca conviene olvidar los consejos para mejorar la seguridad en Internet de todas maneras para protegerse contra ataques de Phising y otras amenazas.
¿En qué consiste exactamente la autenticación de doble factor y la de en dos pasos y que diferencias tienen (y cuál conviene usar por ser más segura siempre que sea posible?
Antes de explicar en qué consiste la autenticación de doble factor y la autenticación en dos pasos, hay que indicar que los factores de autenticación pueden clasificarse en las siguientes tres categorías:
Aclarados estos puntos, seguimos.
Una autenticación de dos pasos (también conocida como 2SV) permite (es decir, no obliga) a que los dos métodos de autenticación pertenezcan a categorías diferentes, sino que podrían pertenecer a la misma (por ejemplo, podrías tener -cosas que tienes- dos elementos físicos hardware diferentes como una llave y una tarjeta).
Un nivel de seguridad más bajo sería la autenticación de un solo factor (SFA), en el que solo se solicita un dato (típicamente, la clave) y que si bien se sigue usando en muchos servicios online y offline, cada vez tenderá a usarse menos (o debería hacerlo).
En el caso de Facebook o Twitter, por poner dos ejemplos reales, esta autenticación en dos pasos se puede hacer a través de un SMS recibido o a mediante la propia «app» instalada en el móvil.
Así, cuando intento iniciar sesión en Facebook en un nuevo navegador o dispositivo, no solo tendré que poner mi nombre de usuario/correo/etc. y clave sino también introducir el código que mandan por SMS o el que genera la correspondiente app, válido, en algunos casos, unos pocos minutos.
Evidentemente y aunque se puede configurar en algunos casos que no vuelva a pedir esa seguridad adicional en un cierto dispositivo, hace más tedioso el proceso de inicio de sesión pero, a cambio, se gana seguridad.
Gmail y su autenticación más segura, Dropbox, Hotmail, WhatsApp y su autenticación en dos pasos, etc. permiten también esta opción que refuerza notablemente la seguridad de cuenta ante ataques por fuerza bruta, ingeniería social e incluso keyloggers o malware, a costa de ese «esfuerzo» adicional cuando accedemos a la cuenta con esos pasos adicionales. De esta forma, si alguien consigue averiguar o interceptar nuestra contraseña, que debería ser lo más robusta posible, tendrá más difícil poder acceder al sistema, y de eso se trata.
La autenticación de doble factor (conocido también como 2FA o TFA) permite reforzar todavía más la seguridad de un sistema o cuenta a través de la solicitud de algún dato adicional solo conocido o poseído por el usuario legítimo (por ejemplo, introducir una contraseña y luego la huella dactilar etc.).
La autenticación de dos factores hace necesario el uso de dos métodos de autenticación diferentes de dos de las tres categorías ya comentadas (deben ser de diferente naturaleza), como por ejemplo una contraseña (algo que sabes) y una tarjeta (algo que posees) o un reconocimiento biométrico por ejemplo del ojo.
Google Authenticator o Microsoft Authenticator son servicios de estas empresas en las que cuando el usuario quiere iniciar sesión, envían una notificación que se gestiona de manera directa, lo que mejora la seguridad.
Existen soluciones hardware más seguras, como las U2F.
Universal 2nd Factor o U2F, consiste en una evolución de los sistemas de doble autenticación existentes que supone una sustancial mejora de la seguridad y fiabilidad a la hora de iniciar sesión en servicios, permitiendo además que este proceso sea más sencillo y rápido para los usuarios.
Ahora mismo el Universal 2nd Factor (U2F) es un estándar de autenticación abierta que refuerza y simplifica la autenticación de dos factores (2FA) mediante un dispositivo USB especialmente diseñado o también puede usar conexiones NFC inalámbricas o bluetooch compatible con diferentes móviles si disponen de esta tecnología.
Inicialmente fue un desarrollo de Yubico y Google, pero ahora es un estándar de la Alianza FIDO.
A diferencia de prácticamente todos los sistemas de autenticación que están basados en software, los que usan el U2F ya que utilizan elementos hardware (muy económicos además entre 5 y 50 €).
El sistema no puede ser más sencillo tal y como explican en este vídeo del FIDO U2F:
Este modelo FIDO Key U2F NFC USB Feitian por ejemplo cuesta unos 15 € en Amazon y puede ser usado por USB y por NFC en los dispositivos compatibles que los acepten.
El U2F es aceptado por casi todos los navegadores (Edge, Firefox, Chrome, Opera, etc.) y permite ser usado como un método adicional de verificación en servicios en línea compatibles con el protocolo U2F como Google, Dropbox, GitHub, GitLab, Bitbucket, Facebook y otros.
Incluso es posible usarlas con Windows Hello, el sistema de identificación incluido en Windows, lo que permite usarlo incluso fácilmente en Windows 10.
Recientemente y a modo de ejemplo, en Google es obligatorio usar un dispositivo de este tipo con seguridad reforzada y otras prestaciones para iniciar sesión Building on our cloud security leadership to help keep businesses protected y así evitar ataques de phishing. Este modelo que usan en Google se denomina Google Titan Security Key.
El modo de proceder no puede ser más sencillo: hay que conectarlo al puerto USB o NFC y la primera vez generará un número aleatorio que utilizará posteriormente para iniciar sesión en las plataformas que queramos.
En este vídeo se ve cómo se inicia sesión en Google en un iPad usando un sistema U2F por bluetooth:
Cuando deseemos iniciar sesión en una web, lo único que hay que hacer es autenticarse de manera convencional y/o conectar ese USB o acercar el dispositivo con NFC/bluetooth al equipo y esperar a que el navegador lo detecte y autorizar la aplicación.
Es importante proteger lógicamente este dispositivo ya que es, literalmente, la «llave» para acceder a todos los servicios online configurados.
La pregunta es, si en estos escenarios descritos debo introducir algo que sé -contraseña- y algo que me llega aleatorio -vía SMS, app, etc.- a través de algo que supuestamente tengo, ¿no es una autenticación de doble factor? No exactamente. Veamos por qué…
Por un lado, en el inicio de sesión pide la habitual del servicio (por ejemplo, la clave de acceso a Facebook) y, por otro, está un código adicional que se genera sobre la marcha ante cada solicitud y constituye un «desafío» que solo el usuario legítimo debería conocer porque «tiene» el móvil y recibe el SMS o bien utiliza la aplicación de Facebook y visualiza ese código aleatorio OTP («One time password») y, aunque el usuario no sepa inicialmente la contraseña al azar enviada, en el fondo luego la recibe y la introduce, por lo que son dos factores «algo que sabe», siendo estrictamente hablando y por tanto autenticación en dos pasos y no de doble factor.
Un usuario malicioso podría por ejemplo simular la web de un cierto servicio web, capturar la contraseña del usuario y cuando éste intente iniciar sesión, realizar una solicitud al servicio legítimo que enviará un SMS por ejemplo con un código, que la víctima recibirá e introducirá en el sitio malicioso que podrá utilizarlo para iniciar sesión en el legítimo.
En el fondo, este tipo de prácticas, aunque mejoran la seguridad, no suponen más que un sistema en el que pide dos claves y es que hay que pensar que en el caso de servicios online, es posible hacerlo usando software espía en el ordenador, malware, ingeniería social o incluso llegando a interceptar los SMS con una vulnerabilidad de SS7, el protocolo que emplean la mayoría de los operadores de telecomunicaciones cuando el móvil se conecta a la red para hacer llamadas o enviar SMS.
Incluso en EE.UU. se ha pedido a la FCC que se deje de usar el protocolo SS7 (o que lo corrija) que tiene más de 30 años.
Supongamos por ejemplo que iniciamos sesión en una página que parece Gmail que nos pide un código recibido por SMS. Esta página maliciosa podría hacer una petición a Google para que nos envíe un SMS que nosotros introduciríamos en la web falsa, dándole acceso a la cuenta. Por tanto es mejor siempre que sea posible utilizar otro tipo de medidas, por ejemplo la llave USB hardware instalada en el PC, de tal manera que la validación se realice en el propio equipo sin opción a que otras partes puedan interceptar la información.
A diferencia de la autenticación en dos pasos, más expuesta a este tipo de ataques, con una autenticación de doble factor el usuario malicioso debería tener acceso a informaciones de distinta naturaleza, lo que dificulta que lleve a cabo su cometido, aunque eso no quiere decir ni mucho menos que con esta medida el sistema sea invulnerable. Se puede llegar a comprometer una cuenta o servicio, aunque es más difícil.
Saludos, gracias
Muy bueno. Ya me he pedido una llave de esas y va de cine. Gracias por aportar
Muy buen, Fran. Muchas gracias por el testimonio.
Saludos.