¿A qué tamaño de tabla hace que la reutilización de sal haga que las tablas del arco iris sean rentables?

1

Aunque sé que la sal nunca debe reutilizarse, me interesa saber si es un problema importante si solo tenemos un número pequeño de hashes para los que se reutiliza.

Entonces, digamos que tenemos una tabla con los hashes de contraseña N para los cuales se utiliza el mismo valor sal. La sal es única, pero se reutiliza para todos los hashes.

¿El tamaño de la tabla tiene un impacto en la cantidad de seguridad que se pierde? Por ejemplo, una tabla con solo una contraseña obviamente tendría cero pérdidas de seguridad, mientras que una tabla con 10 contraseñas sería menos segura, pero no significativamente.

¿La cantidad de pérdida de seguridad depende del tamaño N y en qué momento una tabla arco iris se vuelve rentable? ¿En qué momento la seguridad se ve seriamente comprometida? ¿Es N=10 , o N=100 , o N=1000 ?

Editar: Supongamos también que cada contraseña es única en la tabla. No estamos interesados en ningún otro tipo de pérdida de seguridad, excepto que las tablas de Rainbow se vuelven más rentables.

Edición 2: Digamos que medimos el gasto computacional en términos de teraFLOPS por contraseña resquebrajada. La rentabilidad realmente depende de la recompensa esperada, por supuesto, pero pongamos un valor arbitrario: consideramos que 1 teraFLOP / contraseña crackeada es rentable.

    
pregunta sashoalm 20.10.2016 - 17:28
fuente

2 respuestas

2

Depende

El propósito de la sal es forzar a un usuario malintencionado a usar un ataque de diccionario en lugar de rainbow attack . El motivo del cambio dependerá de la intención del atacante y de los recursos disponibles.

Usuario único

Si un pirata informático intenta obtener la contraseña de un solo usuario, de todos modos no usaría un ataque de arco iris. Un ataque de diccionario es realmente más rápido contra una fila de la base de datos (a menos que el pirata informático sea extremadamente desafortunado).

Solo se dirigen a contraseñas comunes

Si un pirata informático solo intenta encontrar usuarios que utilizan contraseñas muy comunes, puede construir una tabla arco iris bastante pequeña, una para cada uno de sus valores de sal. Cuantas más sales tengas, más tablas tendrá que crear. Pero no hay un número mágico. Dependerá de los recursos disponibles para el pirata informático y del tamaño de la lista de contraseñas que está buscando. Debido a que cada mesa de arco iris sería pequeña, puede estar dispuesto a crear cientos o miles de ellos.

Intentando obtener todas las contraseñas

Si un pirata informático está intentando descifrar cada una de las contraseñas de su base de usuarios, deberá construir una tabla completa de arco iris para cada sal. Si hay demasiadas sales, decidirá que es más fácil simplemente cambiar a un ataque de diccionario. El umbral para esto probablemente sería subjetivo e indicativo ... por ejemplo, Si el pirata informático tuviera suficiente espacio de almacenamiento para 100 tablas arco iris, el uso de 101 sales haría que cambiara a un ataque de diccionario.

Por otra parte, si su tabla tiene muy pocos usuarios (no pocas sales), un ataque de diccionario puede ser más rápido de todos modos. Cuando tienes millones y millones de usuarios, un atacante estaría dispuesto a ir mucho más lejos para evitar tener que usar un ataque de diccionario.

    
respondido por el John Wu 20.10.2016 - 20:39
fuente
1

La sal estática tiene la misma eficacia que la no sal. No tendrías ninguna defensa contra alguien que construya una mesa de arco iris. Los usuarios con contraseñas en colisión sabrían qué contraseña coincidía con la suya. Y no aumentaría la complejidad ni ralentizaría el hash de ninguna manera; no es un sustituto para un algoritmo de tipo pbkdf2.

Si la seguridad de su sistema es mantener el secreto de la sal, entonces debe tratarlo como una clave secreta, no como una sal.

    
respondido por el John Deters 20.10.2016 - 19:41
fuente

Lea otras preguntas en las etiquetas