Doble factor de autenticación, o cómo ponérselo difícil a un atacante

La doble autenticación es uno de esos mecanismos de protección muy familiares para la gente relacionada con ciberseguridad pero que, sin embargo, es una gran desconocida para el gran público. Este artículo pretende llegar a ese sector, cuyas cuentas de usuario son cada vez más interesantes para posibles atacantes. En futuras entradas ya me meteré más en harina y veremos aspectos más interesantes.

Para acceder a cualquier servicio es necesario que el usuario se identifique, proporcionando un identificador único en el dominio, como por ejemplo un nombre de usuario (o nickname), dirección de correo electrónico, documento nacional de identidad, número de seguridad social, etc. Esta información identifica al usuario, pero no lo autentifica, puesto que esta información no es secreta y cualquiera podría saberla.

Al identificador de usuario le debe acompañar algo más para que el sistema confíe en él y le permita el acceso. Hay tres factores de autenticación:

  • Algo que el usuario sabe: password, pin, passphrase, etc.
  • Algo que el usuario tiene: USB, llave, tarjeta, generador de claves, etc.
  • Algo que el usuario es: huella dactilar, iris, secuencia ADN, firma, reconocimiento facial, reconocimiento de voz u otros identificadores biométricos, etc.

Los métodos tradicionales de autenticación, familiares ya para todos, se basan en el uso de un identificador único de usuario acompañado de una contraseña que solo el usuario conoce. Pero, ¿qué pasa cuando la contraseña es interceptada o robada por otro usuario? Nadie quiere comprobarlo en primera persona.

El doble factor de autenticación, conocido también como 2FA o TFA, se basa en el uso conjunto de dos de los factores anteriormente mencionados; el ejemplo más usado es la generación de claves basadas en tiempo, donde el usuario debe introducir su password seguido de una clave temporal. Ésta es de un solo uso, tiene una validez de pocos segundos y es generada generalmente en el teléfono móvil, el cual ha sido previamente configurado con una semilla para generación de claves. En este caso un atacante podría interceptar la clave del usuario y el código temporal, pero ésta última, al tratarse de una clave temporal de un sólo uso no le resultaría útil. El atacante necesitaría la semilla con la que se generan las claves temporales, pero ésta no circula por la red, por lo que un man-in-the-middle resulta inútil.

Otras veces la clave temporal se genera en el servidor y se le envía al usuario en un mensaje SMS al teléfono movil, o por correo electrónico.

Si piensas que las claves temporales no son algo práctico ahora también es posible comprar llaves de seguridad en Internet. Se trata de llaves USB que contienen un certificado, y que tienes que insertar en un puerto de usb en el momento de introducir tu password.

A pesar de todo, la doble autenticación no es infalible, y como suele ser habitual el eslabón más débil suele ser el usuario, aunque este tipo de soluciones se lo ponen técnicamente muy difícil a los posibles atacantes. Kevin Mitnick cuenta en su libro “Ghost in the wires” como engañó a un operador de red de una importante multinacional para saltarse esta protección, haciéndose pasar por un empleado que no encontraba su tarjeta de claves.

A estas alturas puede que ya te haya convencido para usar el doble factor de autenticación, y te estés haciendo la pregunta: ¿dónde lo puedo usar?

Por suerte cada vez más servicios ofrecen esta posibilidad, aunque por el momento no todos. Algunos ejemplos son Google, Dropbox, Facebook, PayPal, eBay y Twitter. En https://twofactorauth.org/ puedes consultar una tabla de servicios y, en caso de ofrecer la posibilidad del doble factor de autenticación, los mecanismos que ofrecen.

Para hacer un resumen, la doble autenticación:

  • Reduce o elimina el robo de cuentas mediante phising.
  • Elimina el robo de cuentas mediante ataques man-in-the-middle.
  • Dificulta la impersonalización.
  • Y lo más importante: da algo de que hablar con tus amigos cuando te preguntan: ¿qué es ese USB raro que tienes en tu llavero?

Entonces es cuando les puedes soltar este rollo que acabas de leer, o incluso escribir un artículo. Hasta el próximo post :)