Supongamos que un usuario utiliza una contraseña para iniciar sesión en su PC. Cuando el usuario inicia sesión, la PC aplica una función criptográfica a la contraseña y compara el texto cifrado con el texto cifrado de la contraseña conocida (esta función criptográfica puede ser "difícil" para dificultar los ataques de fuerza bruta). Un atacante ha obtenido acceso físico a la máquina, incluido el texto cifrado de la contraseña, por lo que, por supuesto, tiene acceso a todos los archivos no cifrados en su máquina, pero el atacante también desea obtener la contraseña (tal vez saber la contraseña del usuario les ayudará adivine la contraseña del usuario en otros servicios, entre otras cosas).
Parece que hay un teorema que da un límite superior sobre cuánto tiempo puede demorarse el atacante en forzar la contraseña del usuario. Si N es el número de contraseñas en el espacio de complejidad que un usuario real puede elegir, y t es el tiempo máximo que un usuario está dispuesto a esperar a que la función criptográfica codifique su contraseña de inicio de sesión, y R es la proporción de la velocidad del hardware del atacante a la velocidad del hardware del usuario, luego el tiempo máximo para que el atacante fuerce la contraseña del usuario es N * t / R.
Por ejemplo, si hay 10 millones de contraseñas con la complejidad de la contraseña que el usuario puede elegir, y el usuario está dispuesto a esperar 3 segundos para iniciar sesión después de escribir su contraseña, y el hardware del atacante es 100 veces más rápido que el hardware del usuario, entonces el tiempo máximo para que el atacante ejerza la fuerza bruta de la contraseña es 10,000,000 * (3 segundos) / 100 = aproximadamente 3.5 días.
Desafortunadamente, este parece ser un límite superior que es independiente de qué hardware o qué función criptográfica está utilizando. Siempre habrá un límite en la forma en que las personas complejas crearán sus propias contraseñas, habrá un límite en la cantidad de tiempo de retraso que tolerará la gente al iniciar sesión, y un atacante bien financiado siempre podrá obtener hardware. veces más rápido de lo que está usando un usuario promedio (aunque solo sea comprando 100 computadoras portátiles idénticas a la computadora portátil del usuario).
Por lo tanto, un par de cosas:
- ¿La lógica aquí suena?
- ¿Es este un teorema conocido que alguien más señaló hace mucho tiempo y ya tiene un nombre?
- ¿Qué cosas se pueden hacer para mitigar esto?