¿A qué hora toman el ataque de diccionario las contraseñas con sal?

-1

Estaba leyendo que los diseñadores del algoritmo de contraseña de UNIX utilizaron un sal de 12 bits para modificar la tabla E de la función de hashing de Unix (el DES). ¿Suponiendo que tengo un sistema con 2 ^ (24) usuarios?

¿Es eso posible el ataque del diccionario del usuario? y si es así, ¿cuánto tiempo tomaría? años ??

Soy realmente nuevo en seguridad informática

Editar: No estoy seguro de qué unidad de tiempo supongo que tengo que asumir bytes por minuto dependiendo de mi código?

La razón por la que pregunto es para un proyecto donde una de las preguntas dice: "Considere un sistema con 2 ^ 24 usuarios. Suponga que a cada usuario se le asigna una sal de una distribución aleatoria uniforme y que cualquiera puede leer los hashes de contraseña. y sal para los usuarios ". ¿Cuál es el tiempo esperado para encontrar las contraseñas de todos los usuarios que utilizan el ataque de diccionario? "

    
pregunta superfloyd 25.04.2012 - 19:19
fuente

2 respuestas

2

Creo que la respuesta depende del tipo de clase que estés tomando. Esto podría ser un problema de complejidad de tiempo (teórico) o más práctico.

En cualquier caso, esto es lo que sabes: tienes una población de usuarios bastante grande, cada usuario tiene un salt único, y cualquiera puede leer el hash de sal y contraseña para cualquier usuario. Encontrará un enlace a un punto de referencia de una gran lista de cifrados y funciones hash aquí , que puede utilizarse como una guía para Calcule cuántos datos puede bombear a través de una función hash. Sin revelar demasiado, descubra cuál es el propósito de agregar un valor de sal a la hora de calcular un hash.

Buena suerte.

    
respondido por el bangdang 25.04.2012 - 20:38
fuente
0

En el peor de los casos (desde la perspectiva de la defensa de seguridad, no del atacante), las sales no se agregan en ningún momento.

Todas las funciones de hashing, en principio, tienen una sal: algún estado inicial que se perturba al pasar la cadena a través del algoritmo. Es solo una cuestión de si la sal es modificable (es un parámetro del hash) o fija.

Una función de hashing que utiliza una tabla de estado inicial fija de, por ejemplo, 32 bits de todo cero, no es más rápida que una que permite que esos bits se especifiquen como un parámetro, que luego se mantiene junto con el hash como una sal.

No es el propósito de las sales frenar un ataque de diccionario a un conjunto específico de contraseñas. El propósito de un salt es aumentar el espacio (bueno, y tiempo) requerido para construir un diccionario precalculado ("tabla de arco iris").

Si un vector de sal tiene dos mil millones de combinaciones, entonces una palabra del diccionario como password contiene hasta dos mil millones de formas diferentes con la misma función de hashing, para diferentes sales. Si el atacante quiere una base de datos que le proporcione una búsqueda inversa instantánea de un hash a la palabra password , entonces necesita dos mil millones de entradas solo para esa palabra. Es una gran cantidad de almacenamiento que se puede dedicar a descifrar instantáneamente una sola palabra.

En ausencia de sales, aproximadamente esa misma cantidad de almacenamiento le daría una búsqueda inversa de dos mil millones de palabras: algo que probablemente sea muy útil en el craqueo real.

    
respondido por el Kaz 03.05.2016 - 00:29
fuente

Lea otras preguntas en las etiquetas