¿Por qué el software no detecta automáticamente los ataques de descifrado de contraseñas y los frustra?
Versión larga:
Supongamos que alguien intenta un ataque de descifrado de contraseñas de fuerza bruta en algún programa XYZ que requiere autenticación de contraseña.
Entiendo que tal ataque consistiría en iterar sobre el conjunto de "todas las contraseñas posibles", proporcionando cada una a XYZ, hasta que una de ellas funcione. Para que esta estrategia tenga alguna probabilidad de éxito, el atacante tendría que poder proporcionarle a XYZ muchas contraseñas candidatas por segundo. Por lo tanto, sería trivial programar XYZ para detectar este patrón (es decir, distinguirlo del caso en el que un usuario legítimo escribe la contraseña correcta algunas veces), y escalar automáticamente el requisito de autenticación para el siguiente, por ejemplo, 10 minutos.
La idea es que al propietario de XYZ se le permita establecer dos "contraseñas": una "contraseña de nivel 1" (AKA, "pass word ") que es relativamente fácil de recordar y fácil de escribir, pero también es relativamente fácil de descifrar mediante fuerza bruta y una "contraseña de nivel 2" (AKA, "pass phrase ") que podría ser extremadamente larga, imposible de crack por fuerza bruta, pero también muy inconveniente para el uso diario (legítimo).
Alguien que supiera la palabra de paso conveniente pero débil casi nunca necesitaría usar la frase de paso inseparable pero inconveniente.
Estoy seguro de que hay una gran falla en este esquema, de lo contrario, las contraseñas no serían el dolor de cabeza para los usuarios legítimos. ¿Cuál es la explicación?