Seguridad de archivos al cifrar archivos directamente con el comando openssl / y ¿qué pasa con la contraseña de hashing SHA1 primero?

7

He estado usando este comando para cifrar archivos por un tiempo:

openssl aes-256-cbc -a -salt -in secrets.txt -out secrets.txt.enc

Luego escribo una contraseña.

¿Alguien me puede decir, hablando en términos generales, qué tan difícil sería resolver esto?

Veo que está usando sal, pero eso no debería mejorar la seguridad a menos que estés almacenando la contraseña con hash en algún lugar (como una base de datos de inicio de sesión en sitios web), ¿no? Como dije, solo estoy cifrando archivos localmente, escribiendo mi contraseña manualmente cada vez.

También entiendo que openssl solo usa una iteración para generar la IV, ¡así que creo que este no es un proceso que consuma mucho tiempo! Corrígeme si me equivoco por favor.

En su opinión, ¿qué tan seguro es esto realmente?

Pregunta de bonificación: ¿Qué pasa si SHA1 hash la contraseña primero?

echo -n "mypassword" |openssl sha1

y pegar en el hash SHA1 al cifrar archivos? Sé que esto reduce la seguridad, porque ahora el cracker sabe con seguridad el formato de la contraseña (hash SHA1), pero ¿cuánto cree que esto reduce la seguridad en la práctica? ¿Sería factible recorrer todos (o lo suficiente) los hashes SHA1?

    
pregunta user21203 25.02.2013 - 16:15
fuente

2 respuestas

11

Consulte el final de esta respuesta : lo que hace OpenSSL para convertir la frase de contraseña en una clave de cifrado y IV es débil, porque son solo un par de invocaciones de MD5, lo que no es lo suficientemente lento. No hay manera de simplemente cambiar eso dentro de OpenSSL (no hay una opción de línea de comandos apropiada, esto está codificado).

Pre-hashing tu frase de contraseña no cambiaría mucho las cosas. Hacer mucho hashing anidado mejoraría un poco las cosas, pero no a niveles ideales, ya que la sal no se tomaría en cuenta hasta los últimos pasos (el atacante aún podría hacer muchas precomputaciones compartibles). La aplicación de contraseñas con lentitud y sales configurables no es algo que tolere la improvisación. En ese momento, es mucho más seguro que y sea más fácil deshacerse de OpenSSL y usar una mejor herramienta. Sugiero GnuPG : la herramienta de línea de comandos, con su marca -c , realiza cifrado simétrico basado en contraseña y lo hace mucho mejor que openssl enc .

    
respondido por el Thomas Pornin 25.02.2013 - 16:46
fuente
2

La seguridad de ese comando está directamente relacionada con la seguridad de la contraseña que elija. A partir de este momento, aes-256-cbc no se puede romper, por lo que puede confiar en que algunos solo podrán obtener los datos al conocer la contraseña.

Hashing la contraseña hará muy poca diferencia. las contraseñas de contraseña se utilizan para ocultar la contraseña de modo que incluso si alguien obtuviera la contraseña almacenada, no sabría la contraseña de los usuarios. Esto es completamente irrelevante para los archivos encriptados. El único beneficio sería que harán que su frase de contraseña tenga una longitud de 40 caracteres, sin embargo, solo serán caracteres alfa de una caja y números. Si alguien supiera que reduciría el tiempo para romperlo en una cantidad muy significativa. El beneficio de usar un kdf como pbkdf2 es que lleva más tiempo hacer que Bruteforce haga coincidir una contraseña con un hash. Por lo tanto, incluso si fuera útil utilizar un hash en algún momento, sería más fácil simplemente aplicar fuerza bruta a todos los hash posibles en lugar de calcular el hash. El mejor método es simplemente elegir una contraseña que tardaría mucho tiempo en descifrarse.

Lo que debes hacer es usar zxcvbn para elegir una buena contraseña y usarla. Actualmente, la computadora de descifrado de contraseñas más rápida del mundo puede hacer 350 mil millones de contraseñas por segundo, por lo que tener una frase de contraseña de más de 20 caracteres más usar zxcvbn para garantizar que no se pueda descifrar con algo como un ataque de diccionario asegurará que su archivo no pueda ser resquebrajado dentro del los próximos milenios, incluso si tienen mil de estas computadoras.

    
respondido por el Eric 25.02.2013 - 18:32
fuente

Lea otras preguntas en las etiquetas