Las aplicaciones de autenticación, los tokens de hardware y los códigos por SMS son métodos de autenticación habituales que te encontrarás al configurar la autenticación de dos factores (2FA). Todos ellos se basan en contraseñas de un solo uso (OTP). TOTP y HOTP son dos tipos estandarizados de OTP, mientras que los códigos por SMS y correo electrónico son otros métodos habituales de envío de OTP. Aunque en el fondo sirven para el mismo propósito básico, sus implementaciones difieren, lo que les otorga ventajas y limitaciones únicas. En este artículo, analizaremos las diferencias entre HOTP, TOTP y OTP, y explicaremos qué opción tiene más sentido para los distintos casos de uso.
Comprender HOTP, TOTP y OTP
Contraseña de un solo uso (OTP)
Las OTP son códigos temporales, a veces denominados contraseñas de un solo uso o códigos 2FA, que se utilizan una sola vez. No reemplazan a las contraseñas, sino que proporcionan una capa adicional de seguridad. Las OTP se utilizan habitualmente en aplicaciones bancarias para la verificación de la identidad durante los inicios de sesión o al configurar una cuenta online.
Nota: OTP es el término general para varias formas de contraseñas de un solo uso, incluidas TOTP, HOTP y correo electrónico/SMS.
Contraseña de un solo uso basada en el tiempo (TOTP)
Los códigos TOTP suelen ser códigos de 6 dígitos generados por aplicaciones de autenticación. Son válidos durante unos 30 segundos (a veces hasta 60 segundos, según el servicio). Cuando un código expira, deja de funcionar y se genera uno nuevo. La naturaleza temporal de TOTP hace que sea muy seguro, ya que limita el margen de tiempo para que los atacantes utilicen cualquier código robado.
Contraseña de un solo uso basada en HMAC (HOTP)
Los HOTP se suelen encontrar en tokens de hardware como las YubiKeys y dependen de un sistema basado en un contador para generar códigos. Este sistema funciona de forma similar a un talonario de vales numerados: hay un orden correlativo de códigos que se coteja con el sistema. Siempre que el token de hardware y el servidor de la aplicación sigan sincronizados, se te concederá acceso.
A diferencia de TOTP, los códigos HOTP no expiran con un temporizador. Siguen siendo válidos hasta que los usas o generas un nuevo código. Esto los hace ideales para situaciones sin conexión, pero también significa que, si generas un código y no lo usas, sigue siendo una clave válida que un atacante podría encontrar y utilizar.
HOTP, TOTP y OTP: diferencias clave
Tanto TOTP como HOTP son tipos de OTP con diferentes métodos de generación. Por ejemplo, si estás comparando TOTP con OTP, probablemente estés comparando los códigos basados en el tiempo de las aplicaciones de autenticación con métodos OTP generales, como los códigos por SMS y correo electrónico.
| Códigos por SMS/correo electrónico | TOTP | HOTP | |
| Validez del código | Varía (de minutos a horas) | De 30 a 60 segundos | Hasta que se genere un nuevo código |
| Seguridad* | Baja | Alta | Moderada |
| Complejidad de la configuración | Ninguna | Baja | Moderada |
| Requisito de red activa | Sí | No | No |
| Hardware adicional | Ninguna | Ninguna | Token de hardware |
*Nivel de seguridad basado en las ventanas de validez del código y el riesgo de interceptación.
Seguridad
HOTP, TOTP y OTP ofrecen diferentes niveles de seguridad, siendo las consideraciones clave el tiempo de exposición y el método de transmisión.
TOTP generalmente ofrece una seguridad más sólida que los códigos por SMS o correo electrónico, ya que los códigos se generan en el dispositivo y tienen una validez corta. Si los atacantes consiguen de alguna manera tu código TOTP, este se vuelve inútil.
HOTP se basa en una estructura criptográfica, lo que proporciona una seguridad sólida. Sin embargo, dado que los códigos HOTP no expiran con un temporizador, las ventanas de validez potencialmente largas podrían hacer que los códigos robados se conviertan en una vulnerabilidad.
Los códigos por SMS y correo electrónico son los menos seguros del grupo. Viajan a través de redes que se pueden interceptar o redirigir, lo que los hace más vulnerables a los ataques de intercambio de SIM o suplantación..
Nota: Ningún método OTP es inmune a los ataques de ingeniería social, como la suplantación. Es importante saber detectar la suplantación para defenderte adecuadamente.
| Códigos por SMS/correo electrónico | TOTP | HOTP |
| Susceptible de interceptación debido a los requisitos de red activa | Tiempo mínimo para que los atacantes exploten los códigos robados | La validez prolongada ofrece mayores oportunidades de ataque |
| Las plataformas sin cifrar facilitan el robo de códigos | Menor riesgo de interceptación, ya que los códigos se generan en el dispositivo | Seguridad sólida basada en una estructura criptográfica |
Experiencia de usuario
La complejidad de la configuración, la presión del tiempo y la fiabilidad afectan a la experiencia de usuario de los tres métodos.
TOTP es fiable y práctico. La configuración es sencilla (a menudo basta con escanear un código QR) y los códigos se generan incluso sin una red activa. Sin embargo, la corta expiración de los códigos genera presión de tiempo, lo que puede causar frustración a los usuarios más lentos o a quienes administran varias cuentas.
En comparación, HOTP es mucho más relajado, sin limitaciones de tiempo. Sin embargo, la configuración es mucho más compleja y puede requerir la compra de hardware adicional.
Los códigos por SMS y correo electrónico son los más sencillos, ya que no requieren configuración, pero dependen de la conectividad de red, lo que puede causar retrasos durante caídas o interrupciones del servicio.
| Códigos por SMS/correo electrónico | TOTP | HOTP |
| No requiere configuración | Configuración sencilla mediante código QR con un autenticador 2FA | Configuración compleja, puede requerir hardware adicional |
| Ligera presión de tiempo, ya que algunos códigos expiran en unas horas | La presión del tiempo puede causar frustración | Sin presión de tiempo |
| Depende totalmente de una red activa para la entrega del código | Funciona de manera fiable incluso sin conexión a la red | Funciona sin conexión, pero pueden producirse problemas de sincronización |
Limitaciones
Las limitaciones particulares de cada método afectarán a cómo y cuándo los usas. Los códigos por SMS y correo electrónico funcionan con tus dispositivos actuales, pero su dependencia de tus conexiones de red e internet puede causar retrasos en la entrega del código que incluso podrían durar más que su propia validez.
TOTP no requiere una conexión de red para generar códigos, pero sí requiere que tu smartphone esté sincronizado en hora con el servidor para que tu código funcione. La mejor manera de garantizarlo es hacer que el reloj de tu dispositivo se sincronice automáticamente con internet. Así, cuando viajas, la sincronización horaria se mantiene activa.
Con HOTP, generar nuevos códigos sin conexión puede ser beneficioso cuando la conectividad de red es deficiente. Sin embargo, esto es un arma de doble filo. Regenerar códigos sin usarlos puede hacer que tu dispositivo se desincronice con el servidor, lo que generará fallos de autenticación. Además, la regeneración manual requerida con HOTP deposita una enorme responsabilidad de seguridad en el usuario.
| Códigos por SMS/correo electrónico | TOTP | HOTP |
| Las zonas con mala cobertura de red pueden causar retrasos significativos en la entrega del código | La hora del dispositivo debe estar sincronizada con la del servidor, incluso cuando viajas | Puede desincronizarse si se generan demasiados códigos pero no se usan |
¿Qué método OTP deberías usar?
La respuesta corta es que TOTP es el mejor estándar para la mayoría de las personas, mientras que HOTP cubre necesidades específicas sin conexión. Ambos son superiores a los SMS.
Aunque las necesidades individuales varían, TOTP parece ser la opción más equilibrada en la mayoría de las situaciones. Su naturaleza basada en el tiempo proporciona una capa adicional de seguridad, y la accesibilidad en smartphones lo convierte en una opción cómoda y segura para las cuentas a las que accedes habitualmente. Sin embargo, para una protección aún más sólida contra la suplantación, los métodos basados en hardware como FIDO2 o las llaves de acceso van más allá de cualquier método OTP.
Guarda contraseñas y genera OTP de forma segura
Administrar las contraseñas y los códigos de autenticación TOTP puede ser un engorro: cambiar constantemente de aplicación durante los inicios de sesión reduce el tiempo, ya de por sí limitado, que tienes para ingresar los códigos. Proton Pass es un gestor de contraseñas seguro que reduce esta fricción gracias a nuestra función de 2FA integrado (TOTP). Accede a tus contraseñas, códigos 2FA y mucho más desde una caja fuerte cifrada y segura.






