¿Podría un hash de contraseña propenso a más colisiones proporcionar una mejor seguridad general?

5

Las infracciones de seguridad del sitio web parecen ser una ocurrencia común, ya que los hashes de contraseña del atacante pueden llevar a cabo un ataque de fuerza bruta contra él, a menudo se le entrega una lista de contraseñas que funcionarán en otros sitios, ya que los usuarios comúnmente reutilizan las contraseñas. >

¿Mejoraría la seguridad general al hacer que el algoritmo de hash sea un poco más débil y más propenso a las colisiones, por lo que incluso si el atacante hace fuerza bruta una contraseña que funciona en el sitio pirateado, no es probable que funcione en ningún otro sitio?

Entonces, si, por ejemplo, algunos algoritmos hash fueran 1000 veces más propensos a tener una colisión que otros algoritmos hash, el trabajo del atacante es 1000 veces más fácil en ese sitio, pero cualquier contraseña que fuerza bruta tiene solo 1 en 1000 posibilidades de trabajar en otro sitio. Podría continuar con la fuerza bruta y encontrar las 1000 contraseñas que chocan con el hash, pero si intentara pasar por las 1000 contraseñas de otros sitios, es de esperar que el sitio lo cierre antes de que él haya ingresado todas las contraseñas.

¿Esto llevaría a una mejor seguridad general al reducir la capacidad de un pirata informático para explotar contraseñas compartidas con otros sitios, o simplemente debilitaría la seguridad al hacer que sea mucho más fácil que la fuerza bruta obligue a la contraseña de un solo sitio?

    
pregunta Johnny 02.05.2013 - 20:16
fuente

1 respuesta

6

Los factores "1000" se anulan. Al hacer que las colisiones sean muy probables, de modo que cada contraseña tenga en promedio 999 contraseñas de Brother que otorguen igualmente acceso al sitio A, facilitará la entrada al sitio A 1000 veces. Debido a la gran variedad de contraseñas posibles, esa contraseña "fácil de sitio A" tiene solo 1/1000 de probabilidad de ser buena para el sitio B (donde el usuario reutilizó su contraseña), pero ese factor de dificultad adicional de 1000 está sobre la dificultad de Entrar en el sitio A, que se ha simplificado 1000 veces. Así que la entrada en el sitio B no se ha hecho más difícil.

Otra forma de verlo es imaginarse al atacante que intenta atacar el sitio B. Luego, crea el sitio A por sí mismo, con una función hash extremadamente feliz de colisión, de modo que cada contraseña posible conceda acceso a A: basta con tener Una función hash que siempre devuelve el mismo valor. El atacante puede implementar un sitio sin restricciones de acceso, es decir, ese tipo de "sitio A". ¿Cambia algo la dificultad de entrar en el sitio B? Dado que es algo que el atacante puede construir desde cero independientemente del sitio B y sus usuarios, no puede hacerlo.

En la situación que imaginas, puedes imaginar el sitio A como un filtro para el sitio B. Seguro, el sitio A no te dirá cuál es la contraseña correcta para el sitio B; pero reducirá la lista de candidatos a 1000 (de unos miles de millones). Esto solo puede ayudar atacar el sitio B, y ciertamente no proteger el sitio B.

    
respondido por el Thomas Pornin 02.05.2013 - 20:29
fuente

Lea otras preguntas en las etiquetas