¿Se puede ralentizar el hash TrueCrypt?

5

He he leído que TrueCrypt usa ~ 2k hashes SHA-1 en la contraseña .

  

El recuento de iteraciones es parte de la especificación TrueCrypt y es 2000 para SHA1, 2000 para RIPEMD-160 y 1000 para Whirlpool (porque Whirlpool es más avanzado y computacionalmente pesado que los otros dos).

Recuerdo de pruebas anteriores que mi computadora podría tener un rendimiento superior a ~ 400k por segundo. Para la fuerza bruta, eso sale a 5 ms por contraseña. (El problema probablemente sea mucho peor porque SHA1 era solo una parte del programa Java en el que estaba trabajando).

Entonces, para una próxima instalación de TrueCrypt que haré, ¿puedo alargar la función hash? Si es así, podría aumentar el costo de la fuerza bruta 50 veces y solo agregar un cuarto de segundo a la espera del usuario final.

Si me orientas en la dirección correcta, ¡sería genial!

    
pregunta George Bailey 27.04.2012 - 01:55
fuente

1 respuesta

5

En primer lugar, TrueCrypt es de código abierto, por lo que puede obtener la fuente y hacer lo que quiera, siempre que sepa cómo programar. Pero los contenedores TrueCrypt (o particiones, etc.) serían incompatibles con un programa TrueCrypt no modificado.

Continuando, el "conteo de iteraciones" no se puede ajustar sin programar. No es un parámetro que puede establecer en cualquier lugar en TrueCrypt. Por lo tanto, no puede cambiarlo en una próxima instalación de TrueCrypt . Y los documentos que mencionas están desactualizados, porque la documentos de TrueCrypt dice:

  

Se deben realizar 1000 iteraciones (o 2000 iteraciones cuando se usa HMAC-RIPEMD-160 como función hash subyacente) de la función de derivación de claves para obtener una clave de encabezado, lo que aumenta el tiempo necesario para realizar una búsqueda exhaustiva de contraseñas (es decir, ataque de fuerza bruta) [7].

Entonces, es 1000 a SHA-512 o Whirlpool, y 2000 a RIPEMD-160. Ya no usa SHA-1.

Un punto más es que el recuento de iteraciones puede parecer bajo, pero hay un salt de 512 bits con la contraseña. (fuente: páginas de truecrypt ). Eso es un gran sal, que evita las tablas arcoiris (ya que cualquier tabla precalculada tendría que comenzar con contraseñas de 512 bits (64 bytes)).

Por supuesto, las sales no evitan la fuerza bruta, ya que no es un valor oculto. Eso te deja solo con tu contraseña y, quizás, con un archivo de clave.

--- Edit: la realidad sobre la fuerza bruta.

Wikipedia tiene algo acerca de los límites físicos en un ataque de fuerza bruta. Si elige una contraseña que tiene 128 bits de entropía (es decir, mucho más de 16 bytes, ya que los caracteres imprimibles + números + símbolos no usan los 256 valores posibles de bytes), probablemente no será rompible antes de la 4ta Guerra Mundial .

Broma de XKCD también es obligatorio sobre este tema.

    
respondido por el woliveirajr 27.04.2012 - 14:38
fuente

Lea otras preguntas en las etiquetas