Saltar al contenido

Qué es MFA y cómo funciona la autenticación multifactor

Las siglas MFA y 2FA, así como los términos multilfactor, verificación en dos pasos o factores…todas beben del mismo principio y, a día de hoy, forman parte de nuestras vidas. El presente artículo pretende centrar a nivel conceptual y técnico este tipo de tecnología, pues muchos quizá no sepan bien en qué consiste.

La autenticación en dos o más factores (aunque no es infalible) es algo que a día de hoy todos deberíamos tener activo, en tantos servicios como esté soportada, con el objetivo de blindar nuestra cuenta frente a intentos de engaño como el phishing, smishing y similares.

Y para ser usuarios de algo con todas las garantías, así como si nos toca administrarlo profesionalmente, lo mejor es conocer todos los detalles.

La Autenticación Multifactor

Este tipo de tecnologías se enmarcan a día de hoy dentro de un concepto más amplio, que es el IAM (Identity and Access Management) o Gestión de Identidades y Accesos. Así que estaríamos hablando de una pequeña porción de algo más grande, pero desde luego una importante porción (quizá la más importante).

Si nos remontamos al principio de la informática y las primeras cuentas de usuario protegidas, todo se hacía pensando en contraseñas (algo que también es importante proteger). Es decir, basándonos en un único factor de autenticación o 1FA.

No tardó mucho tiempo en comprobarse la fragilidad de las contraseñas, así que comenzaron a proliferar estándares y RFC, (la más conocida posiblemente es RFC 6238 para los TOTP). El concepto de MFA es simple, pero la tecnología en sí misma no ha parado de evolucionar para favorecer la adopción de algo que, al principio, se veía más como un inconveniente.

Actualmente, ya se empiezan a usar más criterios aparte de los 3 principales “algo que…”

Así es como llegó, primero, el concepto del 2FA -pedir al usuario algo más, aparte de su contraseña- y finalmente el MFA, que recoge en sí mismo el two factor authentication, en combinación con otros mecanismos.

Si alguna vez has iniciado sesión en una web que te ha devuelto un código a tu smartphone, para completar la transacción, o si tu banco te ha pedido introducir un código de tu tarjeta de coordenadas para completar una transacción (quizá un SMS), has utilizado un doble factor de autenticación.

Factores de autenticación

Para probar que somos quien decimos ser y que, por tanto, nuestro acceso a la cuenta debe permitirse, necesitamos proporcionar uno o más factores de autenticación. Un factor de autenticación es algo que enviamos y que solamente nosotros podemos saber o poseer, por tanto, da fé de nuestra posesión legítima de la identidad.

Generalmente existen 3 tipos básicos de factores de autenticación:

  • Algo que sabes: contraseña, PIN, conecta los puntos, etc
  • Algo que tienes: app, token USB, smartcard, transmisor de RF, etc
  • Algo que eres: biometría, huella dactilar, escaneo de retina o incluso olor

Normalmente, ese “algo que tienes” requiere de un registro previo para enlazar de forma segura con el método MFA. Por ejemplo, asociar un FIDO a nuestra cuenta, o registrarnos en una app de códigos TOTP como Google Authenticator o Authy.

google-authenticator
Google Authenticator

Para complicarlo un poquito, digamos que incluso aquellos mecanismos que han sido ideados más como un segundo factor (o N Factor) podrían ser implementados por sí mismos como medio de un solo factor.

Este sería el caso de un token FIDO (por ejemplo Yubikey) que sea aceptado como factor simple (sin contraseña). Cualquiera con control sobre el aparato tendría acceso completo, aunque sea más complicado obtener una llave hardware que realizar un phishing. Más sobre estándares FIDO.

Otros factores recientemente incorporados pasan, fundamentalmente, por lo que llaman behavior analytics o análisis de comportamiento. Combinando lo anterior con un estudio de las acciones del usuario, el sistema puede configurarse para no pedirle códigos en determinadas circunstancias.

En cualquier momento, el sistema podrá revocar este derecho si determina que el conjunto de atributos tales como dirección IP, navegador conocido, recurso accedido, dispositivo utilizado, franja horaria, etc. ofrecen una puntuación insuficiente.

MFA In-Band vs Out-of-Band

Llegados a los factores de autenticación múltiples, una distinción que podemos hacer es si son “en linea” o “fuera de linea” o banda.

  • In-Band significa que el factor de autenticación en uso es requerido y transmitido usando el mismo canal que el método de inicio de sesión primario (la contraseña, para entendernos).
  • Out-of-Band quiere decir que el factor de autenticación adicional se envía utilizando un canal de comunicación distinto al primario donde tiene lugar la autenticación.

Para ilustrarlo fácilmente, si accedemos a una web que nos pide usuario y contraseña y, desde el mismo navegador, se nos pide introducir una respuesta adicional, esto se consideraría dos instancias del mismo factor, las dos “in band”.

Sin embargo, si se nos requiere introducir una contraseña en nuestro PC y se nos envía un SMS con un código PIN a nuestro teléfono, esto sería “out of band” o fuera de banda. El método Out-of-Band es más seguro y preferible.

Quién es quién en el proceso de autenticación multifactor

Dentro de lo que es el proceso de autenticación, tenemos los siguientes elementos.

Identidad

Se trata de una etiqueta única que detalla quién es el sujeto dentro de un entorno concreto (referido a menudo como namespace). Normalmente es el nombre de usuario con el que iniciamos sesión (johndoe), un correo electrónico (jdoe@miempresa.com) o cualquier conjunto de caractéres únicos que hayamos definido en la política de autenticación.

Cuando hablamos de Namespace o Identity Source, nos referimos a un sistema organizado para recopilar e identificar entidades concretas y sus atributos. Lo más normal es hablar de LDAP o Directorio Activo de Microsoft.

Vista de sincronización de identidades en SecurID Access, una popular herramienta de gestión de MFA empresarial

Pueden darse y recogerse varias de estas “etiquetas” o atributos en los directorios, de forma que podamos personalizar completamente las opciones MFA en base a ellas.

Autenticación

La autenticación es el proceso a través del cual un sujeto emite una prueba inequívoca de su posesión de una cuenta de usuario, dentro de un conjunto de identidades, obteniendo sus permisos asociados, membresía, derechos, etc.

La identidad de usuario y la prueba de posesión deben haberse almacenado previamente en al menos una ubicación en la red, de forma que se pueda usar en subsecuentes autenticaciones. Cada una de estas ubicaciones representa un potencial punto de ataque, que podría comprometer la cadena.

Token de Control de Acceso

Una vez que se ha iniciado sesión, lo normal es que inmediatamente después se acceda a un objeto de control de acceso (ya sea token, ticket, etc) de dicha identidad. Según la configuración, este contendrá poca cosa, o quizá un listado de grupos, permisos y otra información.

Podría tratarse de un ticket Kerberos (tgt) o un token LM/NTLM, por ejemplo, así como una cookie HTML para sitios web.

Autorización

La autorización es el proceso por el cual se compara el recién recibido token de control de acceso del sujeto, con los recursos previamente permitidos, para así saber el grado de acceso que conceder al sujeto.

Para agilizar el proceso, una vez que se ha accedido por primera vez a un recurso, el sujeto no precisa de reautenticarse hasta que no se alcanza el período de expiración definido para el token.

Tampoco se prueba la autenticación sucesivamente, una vez se ha emitido un token de control de acceso. La posesión de dicho token se considera como prueba de una autenticación satisfactoria.

MFA no es infalible

No debemos caer en la autocomplacencia y pensar que el hecho de contar con un método de autenticación multi-factor nos hace invulnerables. Primero, porque habitualmente no se emplea para proteger el 100% de los recursos de las empresas, sino solo un porcentaje variable de las mismas.

Segundo, porque la tecnología en sí misma puede presentar vulnerabilidades y/o malas implementaciones (responsabilidad nuestra o de un tercero) que anulen o reduzcan su eficacia.

Un grupo de hackers consiguen robar códigos 2FA SMS en Android

Tercero, porque existen ataques que en sí mismos serían capaces de saltar tecnologías como 2FA/ MFA, como son la ingeniería social, los ataques físicos o la manipulación técnica -y normalmente, una combinación de las tres-.

Los SMS resultan especialmente vulnerables, cuando hablamos de mecanismos MFA.

Para explicar al detalle estas técnicas te recomiendo consultar mi artículo sobre ataques contra MFA.

Empezando con el MFA

¿Cuándo debería utilizar autenticación multifactor? La respuesta es sencilla, siempre que sea posible.

Pero, especialmente, en aquellas cuentas que tengan configurados medios de pago o permitan transacciones monetarias o que puedan realizar cambios importantes para tí (tu información profesional, transacciones estatales como seguridad social, registros médicos, etcétera.

Para aprender a utilizar MFA en sitios populares, he creado artículos de referencia:

Puedes encontrar un listado completo (y siempre actualizado) de servicios que soportan MFA en 2faDirectory. Busca directamente el nombre del servicio. Y si no está soportada, siempre puedes emparejar tus cuentas con Latch de Elevenpaths.

Fuentes: Incibe, TechTarget, NIST, Knowbe4

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: