TOTP vs SMS: ¿Qué método de autenticación de dos factores es más seguro?


Ambos son mejores que nada

Vamos a dejar esto claro: si estás eligiendo entre 2FA basado en SMS y sin 2FA, activa SMS. Un segundo factor débil supera a ningún segundo factor. Pero si tienes la opción entre SMS y una aplicación autenticadora TOTP, la autenticadora es la mejor opción. Aquí está por qué.

Cómo funciona el 2FA por SMS

Cuando inicias sesión en una cuenta con 2FA basado en SMS, el servicio envía un mensaje de texto con un código numérico corto a tu número de teléfono. Escribes el código en el formulario de inicio de sesión, y si coincide, estás autenticado.

Sencillo. Ampliamente soportado. Casi todo el mundo tiene un teléfono que recibe mensajes.

El problema es que SMS fue diseñado para comunicación, no para seguridad. Los mensajes de texto pasan por la red de tu operador, y hay varios puntos a lo largo de ese camino donde las cosas pueden salir mal.

Cómo funciona TOTP

TOTP genera códigos en tu dispositivo usando un secreto compartido y la hora actual. Si quieres la explicación completa, hay un artículo separado sobre cómo funciona TOTP. La versión corta: tu aplicación autenticadora y el servidor tienen una copia de la misma clave secreta. Ambos saben qué hora es. Así que producen independientemente el mismo código de 6 dígitos cada 30 segundos. No se necesita red.

Dónde falla SMS

Intercambio de SIM

Este es el problema más grande. Un ataque de intercambio de SIM ocurre cuando alguien convence a tu operador de teléfono de transferir tu número a una nueva tarjeta SIM. El atacante llama al soporte al cliente, se hace pasar por ti (usando información personal de filtraciones de datos, redes sociales, o ingeniería social), y pide activar tu número en su dispositivo.

Una vez que controlan tu número, reciben tus códigos SMS. Luego pueden iniciar sesión en cualquier cuenta donde uses 2FA basado en SMS.

El intercambio de SIM no es teórico. Se ha usado para robar criptomoneda, entrar en cuentas corporativas, y atacar a periodistas y activistas. El Centro de Denuncias de Delitos por Internet del FBI recibió más de 2,000 quejas de intercambio de SIM en un solo año.

Vulnerabilidades SS7

SS7 es un conjunto de protocolos que las redes telefónicas usan para enrutar llamadas y mensajes. Fue diseñado en los años 70, cuando las únicas entidades en la red eran compañías de telecomunicaciones confiables. La seguridad no era una prioridad.

Los investigadores han demostrado que atacantes con acceso a la red SS7 pueden interceptar mensajes de texto sin que la víctima lo sepa. Este tipo de ataque requiere cierta sofisticación técnica y acceso a la red, así que no es algo que un script kiddie al azar logre. Pero actores estatales y grupos criminales bien financiados lo han usado.

Dependencia de red

SMS requiere servicio celular. Sin señal, sin código. Si estás viajando internacionalmente, en un sótano, o en algún lugar con cobertura irregular, es posible que no puedas iniciar sesión.

TOTP funciona offline. El código se genera localmente en tu dispositivo. Podrías estar en modo avión, en un submarino, donde sea. Mientras el reloj de tu dispositivo sea aproximadamente correcto, los códigos funcionan.

Retrasos en la entrega

Los mensajes de texto a veces llegan tarde. Congestión del operador, problemas de red, o enrutamiento internacional pueden retrasar un SMS por segundos o incluso minutos. Si el código expira antes de que lo recibas, tienes que solicitar uno nuevo. Molesto, y ocasionalmente un problema real cuando necesitas iniciar sesión rápidamente.

Los códigos TOTP están disponibles instantáneamente. Abres la aplicación, y el código está ahí.

Dónde SMS tiene ventaja

Conveniencia. No necesitas instalar una aplicación. No necesitas escanear códigos QR. No necesitas entender qué es una “clave secreta”. El servicio te envía un código por mensaje de texto, y lo escribes. Para personas que no se sienten cómodas gestionando una aplicación autenticadora, SMS es más fácil de configurar y usar.

También está la cuestión del respaldo. Si pierdes tu teléfono, puedes obtener una nueva SIM con tu mismo número de tu operador. Recuperar el acceso a una aplicación autenticadora puede ser más difícil si no configuraste respaldos.

La brecha de seguridad, en términos sencillos

La diferencia principal: los códigos TOTP nunca viajan por una red. Se generan en tu dispositivo y se escriben en un formulario de inicio de sesión. Eso es todo. No hay mensaje para interceptar, ni operador para manipular socialmente, ni vulnerabilidad de protocolo para explotar.

Los códigos SMS viajan por infraestructura que no controlas: la red de tu operador, enrutamiento SS7, torres celulares. Cada salto es un punto potencial de intercepción.

NIST (el Instituto Nacional de Estándares y Tecnología de EE. UU.) etiquetó a SMS como un autenticador “restringido” en 2016, recomendando que los servicios se muevan hacia métodos basados en aplicaciones o hardware. Esa recomendación no ha cambiado.

Comparación práctica

SMSTOTP
Necesita servicio celularNo
Vulnerable a intercambio de SIMNo
Vulnerable a intercepción SS7No
Dificultad de configuraciónBajaBaja-media
Entrega de códigoA veces retrasadaInstantánea
Funciona offlineNo
Estándar abiertoNoSí (RFC 6238)

La conclusión

Si un servicio ofrece TOTP como opción, úsalo. La configuración toma un minuto, y obtienes un segundo factor significativamente más seguro. Si SMS es la única opción disponible, úsalo de todas formas. Cualquier segundo factor reduce tu riesgo comparado con solo una contraseña.

Para un generador TOTP basado en navegador que puedes probar ahora mismo, visita 2fa.zip.

Protege tus cuentas con autenticación de dos factores

Genera códigos TOTP al instante, directamente en tu navegador.

Prueba nuestro Generador de Códigos 2FA Gratuito

Publicaciones Relacionadas