Si implemento la autenticación de dos factores mediante TOTP, (obviamente) tengo que protegerme contra los ataques de fuerza bruta simples del valor TOTP.
Si pido el valor TOTP después de iniciar sesión con contraseña, el atacante ya conoce la contraseña válida. Dado que la longitud predeterminada para el valor TOTP es de 6 dígitos, es fácil de fuerza bruta.
Posibles soluciones:
- Bloquear cuenta de usuario: Desventaja de bloquear a un usuario legítimo sin manera de desbloquearlo.
- Bloquear IP: puede funcionar, pero se puede omitir al aprovechar una red de bots. Debería bloquear más de una IP para IPv6.
Soluciones que no funcionan:
- Bloquear sesión actual: no funciona, porque el atacante conoce la contraseña y puede abrir otra sesión.
¿Cómo se puede implementar una protección de fuerza bruta para que no bloquee al usuario legítimo, pero sigue bloqueando los ataques lo mejor posible?