Una contraseña de un solo uso (OTP) es un código válido para un único inicio de sesión u operación, que suele servir como segundo factor en la autenticación de dos factores.
Cómo funcionan las contraseñas de un solo uso
Hay varios tipos de OTP:
- TOTP (basadas en el tiempo, RFC 6238): una app de autenticación y el servidor comparten un secreto y calculan el mismo código de seis dígitos a partir de la hora actual, normalmente cada 30 segundos. Así funcionan Google Authenticator, Microsoft Authenticator y muchos gestores de contraseñas.
- HOTP (basadas en un contador, RFC 4226): el código cambia con cada uso; es habitual en tokens hardware.
- Códigos por SMS, llamada o correo: el servicio genera un código aleatorio y lo envía al usuario.
Como el código caduca enseguida, una contraseña robada en una filtración ya no basta para entrar. Esto frena la mayoría de los ataques automatizados, como el relleno de credenciales, y refuerza la autenticación de dos factores.
Puntos débiles de las OTP
- Phishing en tiempo real: los kits de phishing con intermediario reenvían el código a la web real en segundos.
- Ingeniería social: llamadas y «bots de OTP» piden a la víctima que lea el código, y los mensajes de smishing llevan a páginas falsas para introducirlo.
- SIM swapping e intercepción por SS7: los códigos por SMS pueden desviarse al teléfono del atacante.
- Malware: los troyanos bancarios de Android leen los SMS entrantes.
Buenas prácticas
- Preferir las apps de autenticación a los SMS, y las passkeys o llaves FIDO2 resistentes al phishing a cualquier OTP.
- No compartir nunca un código con quien llame o escriba: los servicios legítimos no lo piden.
- Los servicios deben limitar los intentos y vincular cada código a una operación concreta.
Pese a sus debilidades, las OTP son un gran avance frente a la contraseña sola y una parte importante de una autenticación robusta.