Contraseña encriptada dentro del archivo comprimido

7

Las utilidades de compresión de archivos como Winrar o ZIP o 7zip cifran la contraseña y la almacenan dentro del archivo.

¿Qué tan seguro es eso? Quiero decir que está regalando el archivo con la contraseña dentro, no es como autenticarse en un sitio web donde la contraseña se almacena en algún lugar de forma remota.

¿Puede el examen binario del archivo, por ejemplo, dado que la estructura del formato del archivo rar o zip es pública, puede revelar la forma cifrada de la contraseña? Por ejemplo, busque el encabezado que contiene la contraseña real y extraiga la cadena cifrada.

Diga que esto es plausible, ¿hay algo que pueda hacer para extraer la contraseña clara del cifrado?

    
pregunta microwth 19.02.2016 - 17:47
fuente

3 respuestas

6

La contraseña es necesaria para descifrar el archivo, por lo que almacenar una copia de la contraseña dentro del archivo no tendría sentido, ya que cualquiera que pueda descifrar el archivo ya tiene la contraseña.

Las únicas cosas que se almacenan sin cifrar en el archivo son el tipo de cifrado, y quizás la estructura del archivo y los atributos del archivo.

Quizás esté confundido acerca de cómo el archivo se bloquea y desbloquea. Parece que tiene la impresión de que la contraseña se almacena dentro del archivo, y luego la utilidad de archivo compara la contraseña introducida por el usuario con la contraseña almacenada en el archivo. Sin embargo, no es así como funciona el cifrado. Si la contraseña se almacenara en el archivo de manera que la utilidad pudiera leerla, cualquier persona con un editor de archivos simple podría leerla. No solo eso, si el esquema de protección se configurara para forzar simplemente a la utilidad a verificar la contraseña almacenada de esta manera, pero no ofuscar los datos, cualquiera podría simplemente leer el contenido del archivo sin siquiera mirar la contraseña. Si la carga útil se cifró y la contraseña se almacenó en algún lugar de la sección no cifrada del archivo, cualquiera podría leer la contraseña y descifrar rápidamente la carga útil, lo que anularía el cifrado.

En cambio, lo que hace el cifrado es usar una clave y un algoritmo para manipular algunos datos para ofuscar lo que significa. Una vez que haya pasado por este proceso de encriptación, la única forma de entender los datos es procesarlos a través del algoritmo de descifrado correspondiente. La única forma de hacerlo con éxito es usando la clave y el algoritmo correctos. Como el algoritmo siempre se conoce, solo la clave es única. La forma en que sabe que usó la clave correcta es el hecho de que los datos que obtiene del proceso de descifrado tienen un formato válido y no son solo datos de basura aleatorios. La única información que le proporcionará un archivo cifrado es la carga útil cifrada y el algoritmo utilizado para cifrarlo. Depende de usted proporcionar la clave correcta.

    
respondido por el Dr. Funk 19.02.2016 - 18:49
fuente
13
  

Las utilidades de compresión de archivos como Winrar o ZIP o 7zip cifran la contraseña y la almacenan dentro del archivo.

No sé de dónde obtuviste esta información (las reclamaciones sin fuente siempre son malas) pero estoy seguro de que te equivocaste. Esto no tendría ningún sentido y la pregunta también sería qué clave se usaría para cifrar la contraseña.

Con ZIP puede consultar la sección 7.2 de la especificación y verá que la contraseña No se almacenará de ninguna manera. Solo se almacenan varios datos más o menos aleatorios que se utilizan junto con una clave derivada de la contraseña introducida por el usuario. Estos datos aleatorios se utilizan para asegurarse de que los archivos ZIP con el mismo contenido y la misma contraseña no generen los mismos datos cifrados.

En la especificación RAR encontrará un valor de verificación opcional para la contraseña. Esta no es la contraseña cifrada, sino un valor de hash (es decir, irreversible) derivado de PBKDF2 (hash de computación intensiva) de la contraseña.

Lo que significa que lo máximo que tienes es una versión con hash de la contraseña y con un hash realmente lento. Si bien esto se puede usar para detectar una contraseña equivocada lo suficientemente rápido para un solo intento, no ayuda mucho con la aplicación bruta de la contraseña. La fuerza bruta probablemente sería más efectiva al tratar de usar la contraseña y verificar si los datos descifrados tienen algún sentido. Esto se puede hacer a menudo más rápido porque la mayoría de los formatos de archivo contienen cadenas mágicas típicas al principio o tienen una estructura de archivos típica. Por lo tanto, si tienes algo que no parece aleatorio, probablemente hayas roto la contraseña.

    
respondido por el Steffen Ullrich 19.02.2016 - 18:52
fuente
2

Ya ha habido una discusión sobre algo similar que creo que podría encontrar útil. ¿La protección de un archivo archivado en realidad lo cifra?

Además, por lo que leí de allí, WinRar usa una clave de 64 bits (WinRAR usa 262144 rondas de SHA-1 con un sal de 64 bits), que es bastante fuerte.

No estoy 100% seguro de lo siguiente, por lo que alguien me corrige si me equivoco. Por lo que entiendo cuando cifras un archivo comprimido o un archivo zip, 7zip o winrar, los archivos cifrados no te permiten leer una clave si hay una, como está, cifrada. Eso sería lo mismo que intentar descifrar un cifrado sin la clave, así que estoy bastante seguro de que no puede obtener la clave del archivo comprimido.

Tampoco estoy seguro de si almacena la clave. El cifrado RSA es uno de los encriptados más fuertes (si va por 2048 encriptaciones de bits), y algunos archivos zip utilizan el mismo cifrado AES. La clave no se almacena en el cifrado, pero el algoritmo utilizado para descifrar el archivo. La clave la proporciona la persona que protegió / cifró el archivo con una contraseña en primer lugar, y si la clave de descifrado coincide con la clave de cifrado, el algoritmo desentrañará el descifrado, por lo que será legible.

¿Responde esto a tu pregunta?

Editar: En cuanto a simplemente extraer la cadena con la clave de descifrado cifrada, no. Eso no funcionaría ya que la clave sería encriptada e inútil, y tendría que descifrarla para poder leer lo que realmente es la clave de desencriptación, por lo que está de vuelta en el cuadrado 1.

Por ejemplo, si escribo: "panqueques", como "H01LG32H4Gg6H", no podrías extraer esa cadena cifrada y convertirla, ya que no conoces el algoritmo que utilicé para descifrar la palabra.

    
respondido por el Robin 19.02.2016 - 18:16
fuente

Lea otras preguntas en las etiquetas