¿existe un límite superior en el tiempo para forzar una contraseña de forma bruta, en función del retardo de inicio de sesión aceptable y los índices de velocidad del hardware?

2

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:

  1. ¿La lógica aquí suena?
  2. ¿Es este un teorema conocido que alguien más señaló hace mucho tiempo y ya tiene un nombre?
  3. ¿Qué cosas se pueden hacer para mitigar esto?
pregunta Bennett 16.07.2018 - 00:56
fuente

2 respuestas

1

Su lógica es sólida y es la base de algoritmos como PBKDF2 . Estos aumentan el costo de un ataque de fuerza bruta hasta el punto en que se vuelve inviable para todos, excepto para los ataques de diccionario más pequeños.

    
respondido por el John Deters 16.07.2018 - 01:53
fuente
1

Es cierto para una contraseña, pero en otro caso es donde se obtienen más de 100.000 cuentas a través de un ataque y se desea descifrar las contraseñas para la venta en la web oscura. En ese caso la seguridad es razonablemente buena.

Para estar seguro de acuerdo con NIST, el salt debe protegerse por separado de la contraseña con hash con un HSM u otro servidor seguro.

    
respondido por el zaph 16.07.2018 - 15:04
fuente

Lea otras preguntas en las etiquetas