Las apps de autenticación, los tokens de hardware y los códigos por SMS son métodos de autenticación comunes que encontrará 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 comunes de entrega de OTP. Aunque en el fondo sirven para el mismo propósito básico, sus implementaciones difieren, lo que les otorga beneficios y limitaciones únicos. En este artículo, analizaremos detalladamente HOTP frente a TOTP frente a OTP y explicaremos qué opción tiene más sentido para diferentes 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 solo una vez. No reemplazan a las contraseñas, sino que proporcionan una capa adicional de seguridad. Las OTP se utilizan comúnmente en aplicaciones bancarias para la verificación de identidad durante los inicios de sesión o al configurar una cuenta en línea.

Nota: OTP es el término genérico para varias formas de contraseñas de un solo uso, que incluyen TOTP, HOTP y correo electrónico o 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 apps 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 basada en el tiempo de TOTP lo hace muy seguro, ya que limita la ventana de oportunidad para que los atacantes utilicen cualquier código robado.

Contraseña de un solo uso basada en HMAC (HOTP)

Los HOTP se encuentran comúnmente en tokens de hardware como las YubiKeys y dependen de un sistema basado en un contador para generar códigos. Este sistema funciona de manera similar a un talonario de vales numerados: hay un orden de códigos en curso que se compara con el sistema. Mientras el token de hardware y el servidor de la aplicación permanezcan sincronizados, se le concederá acceso.

A diferencia de TOTP, los códigos HOTP no expiran con un temporizador. Siguen siendo válidos hasta que usted los use o genere un código nuevo. Esto los hace ideales para situaciones sin conexión, pero también significa que si usted genera un código y no lo usa, este seguirá 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 usted compara TOTP con OTP, es probable que esté comparando los códigos basados en tiempo de las apps de autenticación con los métodos generales de OTP, como los códigos por SMS y correo electrónico.

Códigos por SMS o correo electrónicoTOTPHOTP
Validez del códigoVaría (de minutos a horas)De 30 a 60 segundosHasta que se genere un código nuevo
Seguridad*BajaAltaModerada
Complejidad de la configuraciónNingunaBajaModerada
Requisito de red activaNoNo
Hardware adicional NingunaNingunaToken de hardware

*Nivel de seguridad basado en las ventanas de validez del código y el riesgo de intercepció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 de alguna manera los atacantes obtienen su 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, debido a 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 de todos. Viajan a través de redes que pueden ser interceptadas o redirigidas, lo que los hace más vulnerables a ataques de duplicación de SIM (SIM swap) o suplantación de identidad (phishing)..

Nota: Ningún método OTP es inmune a los ataques de ingeniería social, como la suplantación de identidad. Es importante saber cómo detectar la suplantación de identidad para defenderse adecuadamente.

Códigos por SMS o correo electrónicoTOTPHOTP
Susceptible de intercepción debido a los requisitos de red activaTiempo mínimo para que los atacantes aprovechen los códigos robadosUna validez larga ofrece más oportunidades de ataque
Las plataformas sin cifrar facilitan el robo de códigosMenor riesgo de intercepción, ya que los códigos se generan en el dispositivoSeguridad sólida basada en una estructura criptográfica

Experiencia de usuario

La complejidad de la configuración, la presión del tiempo y la confiabilidad afectan la experiencia de usuario de los tres métodos.

TOTP es confiable 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 rápida 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 gestionan varias cuentas.

En comparación, HOTP es mucho más flexible, ya que no tiene 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 que requieren menos esfuerzo, ya que no necesitan configuración, pero dependen de la conectividad de red, lo que puede causar retrasos durante interrupciones o caídas del servicio.

Códigos por SMS o correo electrónicoTOTPHOTP
No requiere configuraciónConfiguración sencilla mediante un código QR con una app de autenticación de 2FAConfiguración compleja; puede requerir hardware adicional
Ligera presión de tiempo, ya que algunos códigos expiran en horasLa presión del tiempo puede causar frustraciónSin presión de tiempo
Depende totalmente de una red activa para el envío del códigoFunciona de manera confiable incluso sin conexión de redFunciona sin conexión, pero pueden producirse problemas de sincronización

Limitaciones

Las limitaciones particulares de cada método afectarán cómo y cuándo los use. Los códigos por SMS y correo electrónico funcionan con sus dispositivos existentes, pero su dependencia de la red y las conexiones a internet puede causar retrasos en el envío de los códigos que incluso podrían superar su tiempo de validez.

TOTP no requiere una conexión de red para generar códigos, pero sí requiere que su teléfono inteligente esté sincronizado temporalmente con el servidor para que su código funcione. La mejor manera de garantizar esto es hacer que el reloj de su dispositivo se sincronice automáticamente con internet. De este modo, cuando viaje, la sincronización horaria se mantendrá.

Con HOTP, generar códigos nuevos 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 su dispositivo se desincronice del servidor, lo que generará fallas de autenticación. Además, la regeneración manual que requiere HOTP impone una gran responsabilidad de seguridad al usuario.

Códigos por SMS o correo electrónicoTOTPHOTP
Las zonas con mala cobertura de red pueden causar retrasos significativos en el envío de los códigosLa hora del dispositivo debe estar sincronizada con la del servidor, incluso al viajarPuede desincronizarse si se generan demasiados códigos pero no se usan

¿Qué método de OTP debería 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 al 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 a través de teléfonos inteligentes lo convierte en una opción conveniente y segura para las cuentas a las que accede regularmente. Pero, para una protección aún más sólida contra la suplantación, los métodos basados en hardware como FIDO2 o las claves de acceso van más allá de cualquier método OTP.

Guarde contraseñas y genere OTP de forma segura

Gestionar contraseñas y códigos de autenticación TOTP puede ser una molestia: cambiar constantemente de aplicación durante los inicios de sesión reduce el tiempo ya limitado que tiene para ingresar códigos. Proton Pass es un gestor de contraseñas seguro que reduce esta fricción con nuestra funcionalidad de 2FA integrada (TOTP). Acceda a sus contraseñas, códigos 2FA y más desde una bóveda segura y cifrada.