Glossary
OTP
Contraseña de un solo uso
By Buğra SözeriPublished Updated
OTP (One-Time Password, contraseña de un solo uso) es un código de autenticación de uso único, típicamente de 6 dígitos, válido durante una ventana corta. Combinado con una contraseña normal forma la autenticación de dos factores (2FA).
Tres canales de entrega comunes:
- OTP por SMS — código enviado por mensaje al teléfono del usuario. El más común, también el menos seguro (ataques de intercambio de SIM).
- TOTP (basado en tiempo, RFC 6238) — generado por una aplicación de autenticación a partir de un secreto compartido + la hora actual. No requiere red. Común en Google Authenticator, Authy, 1Password.
- HOTP (basado en contador, RFC 4226) — incrementa un contador por uso. Ahora es raro excepto para tokens de hardware como el modo OTP de YubiKey.
Los OTP neutralizan los ataques de reutilización de contraseñas (la contraseña robada por sí sola es inútil), pero no neutralizan el phishing moderno — un atacante que hace phishing del OTP puede reproducirlo dentro de la ventana de validez. La autenticación basada en hardware (FIDO2 / WebAuthn) sí neutraliza el phishing porque la clave demuestra que está en el sitio legítimo.
El problema de degradación al OTP por SMS: la revisión de 2017 de NIST SP 800-63B deprecó el SMS como autenticador fuera de banda debido a tres patrones de ataque documentados — fraude de intercambio de SIM (el atacante convence a un operador móvil para portar el número de la víctima a una nueva SIM), exploits del protocolo SS7 (la red global de señalización de telecomunicaciones tiene autenticación débil y puede ser consultada para redirigir mensajes) y fraude de portabilidad numérica en área física. Los bancos y exchanges que recurren al SMS como método de recuperación reducen efectivamente la seguridad de la cuenta a lo que el guión de atención al cliente del operador móvil aplique. Las aplicaciones que permiten prescindir del SMS en favor de solo TOTP o solo WebAuthn son significativamente más seguras.
Mecánica de TOTP — por qué la ventana de 30 segundos: TOTP es HMAC-SHA1 de (secreto compartido, marca de tiempo de 30 segundos actual), truncado a 6 dígitos. La granularidad de 30 segundos es un compromiso: suficientemente corta para limitar las ventanas de reproducción, suficientemente larga para perdonar pequeñas desviaciones del reloj entre servidor y cliente. La mayoría de los verificadores TOTP aceptan los valores del paso de tiempo anterior, actual y siguiente para manejar ±30s de desviación, por eso el código que acaba de caducar en tu autenticador a menudo sigue funcionando unos segundos. El aprovisionamiento se hace mediante un código QR que codifica otpauth://totp/Issuer:user?secret=...&period=30&digits=6. Relacionados: TOTP, JWT. Referencia: RFC 6238 — TOTP.
Ejemplo práctico
Te inscribes en TOTP. El servidor genera un secreto de 160 bits (por ejemplo, JBSWY3DPEHPK3PXP en base32), te muestra un código QR y tu aplicación de autenticación almacena el secreto. Para generar un código en el tiempo Unix actual 1716393600: calcula el paso de tiempo T = floor(1716393600 / 30) = 57213120, luego HMAC-SHA1(secreto, T) produce un hash de 20 bytes. Truncación dinámica según RFC 4226: toma el último nibble del hash como desplazamiento, extrae 4 bytes en ese desplazamiento, enmascara el bit superior y aplica módulo 10⁶ para obtener un código de 6 dígitos — digamos 492039. El servidor hace el mismo cálculo; si los códigos coinciden (permitiendo un paso en cualquier dirección para la desviación del reloj), la autenticación tiene éxito. Todo el protocolo es determinista y funciona sin conexión una vez que se ha aprovisionado el secreto.
Cuándo y por qué importa
OTP es la diferencia entre “el volcado de credenciales en la dark web compromete tu cuenta” y “el volcado de credenciales es inútil sin tu teléfono.” Empíricamente, el estudio de Google de 2019 con NYU y UCSD mostró que añadir cualquier segundo factor bloqueó el 99% de los ataques masivos de relleno de credenciales; el OTP por SMS solo bloqueó el 96% del phishing dirigido y los mensajes en el dispositivo bloquearon el 99%. La brecha restante — kits de phishing que proxifican OTPs en tiempo real (Evilginx, Modlishka) — solo se cierra con factores resistentes al phishing (WebAuthn/passkeys, llaves de hardware FIDO2). La escala pragmática para cualquier cuenta: solo contraseñas → OTP por SMS → aplicación de autenticación TOTP → llave de seguridad de hardware. Cada paso hacia arriba eleva materialmente el coste del atacante. Referencia: NIST SP 800-63B — Directrices de identidad digital.
Frequently asked questions
- ¿Qué es un OTP?
- Un OTP (One-Time Password, contraseña de un solo uso) es un código de uso único, típicamente de 6 dígitos, que caduca tras un uso o en un breve periodo de tiempo. Proporciona un segundo factor de autenticación más allá de una contraseña estática.
- ¿En qué se diferencia un OTP de una contraseña normal?
- Una contraseña normal es estática y reutilizable; un OTP solo es válido para un intento de autenticación o una ventana breve (30 segundos para TOTP). Capturar un OTP no otorga acceso continuo al atacante si ya se ha usado o ha caducado.
- ¿Cuál es la diferencia entre el OTP por SMS y el OTP de una aplicación de autenticación?
- Los OTP por SMS se envían a través de la red telefónica y son vulnerables a ataques de intercambio de SIM e intercepción SS7. Los OTP de aplicaciones de autenticación (TOTP) se generan localmente a partir de un secreto compartido y no se transmiten hasta que se introducen, lo que los hace significativamente más seguros.
Related
Published May 15, 2026 · Last reviewed May 31, 2026