¿Saber la sal es un problema?

3

Entiendo que agregar una sal frustraría el uso de tablas de arco iris.

No entiendo el tiempo que tomaría crear una tabla de arco iris para un determinado tipo de sal y, por supuesto, esto depende del límite de tamaño de contraseña que use, el tamaño de sal, el método hash y también la potencia de cálculo. Por lo tanto, esta pregunta podría ser irrelevante.

Sin embargo, en teoría, si alguien tuviera acceso a todas las tablas de arco iris con sal para todas las contraseñas hasta x caracteres y la sal hasta x caracteres y el atacante supiera las sales, esto haría posible recuperar las contraseñas, ¿no? / p>     

pregunta Dane 05.04.2016 - 16:14
fuente

4 respuestas

7

El valor de la sal no está en su secreto, está en su diferenciación y en la complejidad agregada. Has tocado esto un poco.

Primero, dos contraseñas con diferentes sales tienen diferentes hashes resultantes. Por lo tanto, un atacante no puede mirar una tabla de contraseñas y descubrir usuarios que comparten la misma contraseña.

En segundo lugar, mientras escribe, una tabla de arco iris se puede calcular previamente para un gran conjunto de entradas de contraseña, lo que permite una recuperación rápida de la contraseña con O (1) tiempo. Sin embargo, esto suele ser para contraseñas sin sal.

En tercer lugar, el salt para un hash de contraseña es exclusivo de ese hash y debe tener el mismo tamaño (longitud de bit) que el algoritmo de hash. Una sola tabla de arco iris es el tamaño de todas las entradas de contraseña. Suponiendo contraseñas de 8 caracteres, mayúsculas y minúsculas sensibles a mayúsculas y minúsculas (digamos 10 extra), así que son 72 caracteres. 8 * log2 (72) es de unos 50 bits. Por lo tanto, el almacenamiento de la tabla arco iris para las contraseñas de hash sha-1 es de 50 + 160 o 2 ^ 210 bits.

Con 2 ^ 202 bytes de almacenamiento, eso ya es más grande que todo el almacenamiento actual en el planeta. Creo que podemos concluir dos cosas: 1) no todas las contraseñas se colocan en una tabla de arco iris y 2) las tablas de arco iris sin sal ya son bastante grandes.

Ahora, crear arco iris para todos los medios de sal posibles que requieren 210 * 160 o 2 ^ 33600 bits de almacenamiento. Dónde colocar todos esos datos (otros universos) palidece en comparación con el tiempo requerido para crearlos (más allá del final de nuestro universo).

Las tablas de arco iris por sal no van a suceder.

El ataque adecuado es capturar la base de datos de contraseñas y ejecutar un ataque de diccionario contra entradas individuales utilizando las sales no secretas y específicas para contraseñas.

    
respondido por el Andrew Philips 05.04.2016 - 16:43
fuente
4

Como se ha dicho, es teóricamente posible pero debido a limitaciones de almacenamiento y computación prácticamente más allá de lo posible:

Cálculo de una tabla de arco iris para todo el espacio de hash de un algoritmo de hash es imposible como se señala aquí . Por no hablar de hashes más grandes como SHA-512 o SHA3.

Existen tablas de arco iris para MD5 que cubren contraseñas simples (alfanuméricas, hasta 9 caracteres). Pero incluso entonces, el espacio de almacenamiento le da un golpe en la rueda:
estos son de unos 600 GB de tamaño (como se puede ver en el enlace). Si se usa una sal aleatoria por contraseña de solo 4 caracteres alfanuméricos, el tamaño de una tabla de contraseñas y sales de arco iris aumenta a 600 GB * (26 * 2 + 10) ^ 4 = 5.3 Zettabyte (es decir, 5 Millones de Terabyte). No es posible almacenar, pero buscar esa cantidad de datos.

    
respondido por el marstato 05.04.2016 - 16:44
fuente
0

Sí, pero esto es computacionalmente imposible a partir de hoy.

La sal técnicamente expande su contraseña en caracteres aleatorios pero conocidos. Por lo tanto, podría crear una "tabla de arco iris con sal" con todas las combinaciones de contraseñas hasta n de caracteres con, para cada contraseña, todas las sales de m de caracteres (se conoce m ). Pero esto no es computacionalmente viable (cálculos y almacenamiento).

    
respondido por el WoJ 05.04.2016 - 16:31
fuente
0

Teóricamente, sí, pero se encontrará con límites de almacenamiento.

A modo de ejemplo, matemáticas del fondo del sobre:

  • Contraseñas de longitud: < 12
  • Longitud de la sal: 32 bytes

combinaciones de contraseña y sal: 6x10 100 (~ 6x10 88 TB). La capacidad de almacenamiento total de todas las computadoras en el planeta es aproximadamente 10 zettabytes, o 8x10 10 TB , así que buena suerte almacenando esta tabla.

También escuché el rumor de que tener un contador de 256 bits en realidad ++ de 0 a 2 256 consumiría más energía que el sol, así que uhh, necesitarías un buen nuclear reactores para construir esa tabla del arco iris.

    
respondido por el Mike Ounsworth 05.04.2016 - 16:51
fuente

Lea otras preguntas en las etiquetas