F2A

La autenticación de dos factores (A2F) se refiere al proceso de inicio de sesión que requiere algo más que solo una contraseña. Todos estamos acostumbrados al típico sitio web de inicio de sesión compuesto por nuestro nombre de usuario y contraseña. Los nombres de usuario son generalmente fáciles de descubrir, en muchos casos es simplemente nuestra perfectamente conocida dirección de correo electrónico o, en el caso de los foros, el nombre público que todos pueden ver. Eso significa que la única verdadera protección que tienes para evitar que alguien inicie sesión en tu cuenta es la fortaleza de tu contraseña. Todos sabemos que necesitamos contraseñas fuertes, ¿verdad?

A todo esto, ¿qué es autenticación?

Para que puedas tener acceso a algo como tu correo electrónico, debes de cumplir con dos condiciones en el sistema del correo electrónico. Las he descrito a mayor detalle en el glosario final, pero, en resumidas cuentas, es esto:

Autenticación, a veces abreviado como AuthN, básicamente significa que eres quien dices ser.

Autorización, a veces abreviado como AuthZ, básicamente significa que tienes permitido leer tus correos electrónicos.

¿Cuál es la diferencia entre autenticación de dos factores y verificación de dos pasos?

Muchos estudiantes de ciencias de la computación y filósofos podrían debatir esto hasta el amanecer. Es verdad que hay una sutil diferencia, pero en la práctica no es algo muy importante. El punto principal es que no hay un concepto de “verificación” en el lenguaje de autenticación/autorización. Tenemos autenticación y tenemos autorización. El término “verificación” es un término ambiguo y puede generar confusión a la hora de diferencias lo que alguien sabe y lo que alguien tiene. Más aún, ¿qué significa verificación? ¿Significa que la persona ha sido identificada (AuthN) o significa que la persona tiene permitido acceder a algún recurso (AuthZ)? Ya tenemos palabras adecuadas para esos conceptos.

Otro punto confuso parte de la distinción entre lo que una persona tiene y lo que una persona sabe. A simple vista es fácil pensar que algo como un segundo factor biométrico que utiliza una huella digital es algo que el usuario tiene (puesto que tiene su propia huella digital). El uso de huellas digitales como un mecanismo para desbloquear un teléfono ha sido debatido en el sistema judicial de Estados Unidos y algunos jueces creen que una huella digital es un testimonio implícito, y un testimonio es algo que alguien sabe, no algo que tiene.

Ambos conceptos entran en el ámbito de la Autenticación Multi Factor (AMF) y ambos requieren que tengas algo además de una contraseña. No importa si ese “algo” es una huella digital, una secuencia numérica única o una Yubikey.

¿Por qué no basta con una contraseña?

Principalmente existen tres formas mediante las cuales los tipos malos pueden obtener tu contraseña. La primera es simplemente adivinarla. Podrías pensar que tienen una probabilidad muy baja de éxito, pero tristemente, muchas personas tienen contraseñas terriblemente débiles. Veo muchas contraseñas en mi trabajo diariamente y hay demasiados Chuck en el mundo con la contraseña chuck123. La segunda forma es utilizar un ataque de diccionario. Hay billones de cuentas en todo el mundo, y la mayoría de sus contraseñas están formadas por unos cuantos miles de palabras. Los tipos malos saben que ciertos sitios tienen contraseñas formadas por palabras comunes, así que realizan ataques de diccionario contra esos sitios. La tercera forma es simplemente robar la información. En el caso de los sitios grandes, sería poco práctico adivinar las contraseñas de millones de usuarios. Sería más fácil tratar de adivinar una sola contraseña, la del administrador del sitio por ejemplo, que tiene acceso al resto de la información. A veces pueden robar la información sin ninguna contraseña en absoluto. Pueden explotar una vulnerabilidad en el sitio web para robar los datos.

Para iniciar sesión en los sitios y sistemas que emplean A2F necesitas un segundo factor además de tu contraseña. A simple vista parece una tontería. Si las contraseñas son tan fáciles de sobrepasar, ¿de qué sirve añadir una segunda contraseña? Es una buena pregunta. La autenticación de dos factores te responde perfectamente. En la mayoría de los casos, la A2F se trata de un código numérico que cambia cada minuto o que solo se puede utilizar una vez. Por lo tanto, alguien que obtenga tu contraseña no podrá entrar en tu cuenta a menos de que también tenga tu código de A2F. De esta forma, la A2F elimina el factor humano de crear contraseñas débiles y su tendencia a reutilizarlas en múltiples servicios. También protege la información de tu cuenta y evita que te la roben. Incluso si un tipo malo es capaz de robar todos los nombres de usuario y contraseñas para un sitio, no podría iniciar sesión en ninguna de esas cuentas sin ese código esencial de A2F de cada usuario.

¿Por qué debería usar autenticación de dos factores?

RSA-SecurID-Tokens

Considera que la mayoría de los hackeos de contraseñas se hacen por Internet. Una antigua pero útil analogía es la de robar un banco. Antes de que existiese Internet, robar un banco era muy difícil. Necesitabas un equipo, investigar el banco para saber la mejor hora para robarlo, obtener algunas armas y disfraces y, finalmente, robarlo sin que te atrapen. Hoy en día, el mismo ladrón de bancos puede sentarse en el otro lado del mundo e intentar meterse a la fuerza en tu cuenta bancaria en línea sin que siquiera te des cuenta. Si no puede meterse en tu cuenta, intentará con otra. Prácticamente no hay ningún riesgo de que lo atrapen y casi no necesita de ningún plan concreto. Con la introducción de la A2F, es virtualmente imposible que ese ladrón de bancos consiga su propósito. Incluso si de alguna manera pudiera adivinar correctamente tu contraseña, necesitaría subirse a un avión, rastrearte y robar tu dispositivo de A2F para poder meterse en tu cuenta. Una vez que se introduce un factor físico a una secuencia de inicio de sesión, se vuelve exponencialmente más difícil que un tipo malo consiga lo que quiere.

La A2F necesita que proporciones dos cosas: algo que sabes y algo que tienes. Lo que sabes es tu contraseña y lo que tienes es el código numérico. El código numérico cambia frecuentemente, así que si alguien es capaz de proporcionar el código correcto en determinado momento es porque tiene en sus manos el dispositivo de generación de códigos. La A2F está resultando ser muy resistente a los ataques de fuerza bruta para contraseñas, lo que es una buena noticia. La mala noticia es que tiene un ritmo de adopción muy lento. Son las compañías las que deben decidir implementar la A2F, no es algo que puedas decidir usar por ti mismo en cada página. Aunque cada vez más sitios web utilizan la A2F, aún hay muchos que no lo hacen. Sorprendentemente, existen páginas muy importantes, como las páginas de los bancos y del gobierno, que están tardando demasiado en adoptar la tecnología de la A2F.

Relacionado: ¿qué es un ataque de fuerza bruta?

¿Cómo funciona la autenticación de dos factores en la práctica?

Google auth authenticator

Si un servicio utiliza la A2F, no estará activada por defecto. Se requiere un proceso de inscripción para configurar la A2F para cada sitio. Sin este proceso de inscripción, los usuarios simplemente quedarían bloqueados y no podrían entrar en su propia cuenta. Tienes que revisar la configuración de seguridad o de inicio de sesión de tu cuenta y tener la esperanza de encontrar la configuración de la A2F.

Nota: será difícil configurar la A2F sin un smartphone porque las dos principales formas de generar los códigos son:

  • enviándolos por SMS
  • o por una aplicación del teléfono.

Autenticación de dos factores por SMS

Las ventajas de utilizar el método SMS es que es prácticamente universal y está vinculado a tu tarjeta SIM, no a tu teléfono. Casi todos los teléfonos móviles aceptan mensajes de texto, incluso los teléfonos “tontos” que no pueden instalar aplicaciones. Si cambias de teléfono o si tu teléfono se daña o se pierde, puedes simplemente poner tu tarjeta SIM en otro teléfono y listo. La principal desventaja es que para que te puedan llegar los SMS necesitas estar en un lugar con cobertura. Si cambias de país puedes tener problemas con el método SMS si cambias tu tarjeta SIM, ya que cada tarjeta tiene un número de teléfono diferente.

Una desventaja más avanzada de la A2F por SMS es que no es tan difícil para los tipos malos infiltrarse en el sistema SMS e interceptar los códigos, o utilizar ingeniería social para llamar a tu proveedor móvil y pedirles que asignen tu número a su propia tarjeta SIM. Este tipo de fechorías las suelen hacer los tipos malos que van a por una persona en concreto por una razón específica. No forman parte de los ataques más comunes. No hay mucho que puedas hacer en cuestiones de precauciones de seguridad si has atraído la atención de tipos malos tan sofisticados como esos.

Autenticación de dos factores por aplicaciones

Authy authenticator

Existe una gran variedad de aplicaciones de A2F en el mercado. La más popular es Google Authenticator, pero sus competidores, Authy y LastPass, también tienen aplicaciones de A2F. Este tipo de variedad de productos no ayuda a la adopción de la A2F porque las compañías tienen que perder su tiempo decidiendo qué plataforma de A2F deben usar. Los clientes también tienen que estar dispuestos a instalar otra aplicación de A2F en sus teléfonos si su servicio usa una plataforma de A2F distinta de los demás.

La mayor ventaja de las aplicaciones de A2F es que no necesitan ningún tipo de conexión a Internet o celular para funcionar. Simplemente muestran el código correspondiente. La desventaja de estas aplicaciones es que si pierdes o dañas tu teléfono y no puedes ver el código, será muy complicado volver a entrar en tu cuenta.

Otra pequeña desventaja de las aplicaciones de A2F es que cada servicio tiene que configurarse individualmente. Normalmente solo hay que escanear el código QR con la aplicación, pero puede ser un proceso más complejo con algunas aplicaciones corporativas.

Los mejores servicios ofrecen A2F tanto por SMS como por aplicación, pero son extremadamente escasos.

Autenticación de dos factores en los negocios

Las empresas usan más la A2F que los servicios públicos. Muchas compañías con empleados que trabajan a distancia han implementado fuertemente la A2F. El mecanismo más común y avanzado de la A2F para empresas es la RSA SecurID. Está disponible desde hace años y se puede instalar como una aplicación o como un token físico, parecido a una memoria USB con una pantalla que muestra el código. Otro fuerte contendiente en estos días es Okta. Okta comenzó a centrarse en la autenticación única, o Single Sign On (SSO), lo que significa que los usuarios solo tienen que iniciar sesión una sola vez y después podrán acceder a servicios de terceras partes. Muchas empresas utilizan el SSO, y ahora que Okta ofrece A2F, se está volviendo más popular.

Glosario

Autenticación (AuthN): eres quien dices ser. Aquí es donde se aplican tu nombre de usuario y tu contraseña. Se considera que cualquiera que presenta ambas cosas es el propietario. Sin embargo, haberte autenticado no significa que puedas leer tu correo electrónico.

Autorización (AuthZ): una vez que te has autenticado (el sistema sabe quién eres), se podrá determinar a qué se te permite acceder. En el caso del correo electrónico está claro para lo que te conectas. Pero imagina que estás en la oficina y solo puedes leer algunos de los discos compartidos por red, no todos. Aquí es la capa de AuthZ la que decide lo que tienes permitido hacer, pero no puede hacerlo hasta que te hayas autenticado propiamente.

Usar la A2F es una muy buena medida de seguridad y deberías activarla en todos los servicios que puedas. El sitio TwoFactorAuth.org tiene un interesante proyecto, hacer una lista de las compañías que tienen la A2F y avergonzar así públicamente a las compañías que no la tienen. Si un servicio que utilizas actualmente no tiene la A2F, quizá podrías encontrar un servicio alternativo que sí la tenga.

Lee también: verificador de seguridad de contraseñas, una manera divertida de revisar la fuerza de tu contraseña (¡lee nuestro aviso legal!).