Si tu aplicación requiere enviar Códigos de Un Solo Uso (OTPs) para restablecimiento de contraseñas o 2FA, cómo entregas ese código importa. Enviarlo de forma insegura anula completamente el propósito de la verificación de autenticación.
El problema con los OTPs por SMS
Durante años, enviar un código de 6 dígitos por SMS era el estándar. Sin embargo, el Instituto Nacional de Estándares y Tecnología (NIST) ha depreciado el 2FA basado en SMS.
¿Por qué? Las vulnerabilidades en la red SS7 permiten interceptar mensajes, y los ataques de intercambio de SIM permiten a los hackers redirigir los mensajes de texto de tus usuarios a sus propios teléfonos.
Alternativas seguras al SMS
1. Apps Autenticadoras (TOTP)
En lugar de enviar un código, el dispositivo del usuario lo genera usando un secreto compartido. Esto es altamente seguro ya que el secreto nunca viaja por la red después de la configuración inicial.
2. OTPs por Email (Con salvedades)
El email puede ser interceptado si TLS no se aplica, pero generalmente se considera más seguro que SMS si la cuenta de email del usuario está protegida por 2FA por hardware.
3. Enlaces Mágicos Cifrados
En lugar de un OTP, envía un enlace cifrado especializado (similar a la arquitectura de PassLink) que autentica al usuario al hacer clic.
Mejores prácticas al enviar un OTP
- Siempre aplica una ventana de expiración corta (5-10 minutos máximo).
- Aplica límite de tasa al endpoint de generación de OTP para prevenir fraude de SMS pumping.
- Nunca incluyas la contraseña del usuario o PII sensible en el mismo mensaje que el OTP.
Compartiendo Claves de Configuración TOTP
Al configurar una app autenticadora para una cuenta corporativa compartida, frecuentemente necesitas compartir el código QR o el secreto base32. Nunca envíes esto por Slack. Usa PassLink para generar un enlace autodestructivo para el secreto TOTP.
Prueba PassLink — Es Gratis
Crea un enlace cifrado y autodestructivo en 10 segundos. Sin registro.
Crear un Enlace Secreto Ahora