web-dev-qa-db-fra.com

Mot de passe crypté dans les archives comprimées

Les utilitaires de compression de fichiers tels que WinRar ou Zip ou 7zip chiffrent le mot de passe et rangez-le à l'intérieur de l'archive.

Quelle est la sécurité? Je veux dire que vous donnez l'archive avec le mot de passe à l'intérieur, ce n'est pas comme authentifiant sur un site Web où le mot de passe est stocké quelque part à distance.

Peut par exemple effectuer un examen binaire de l'archive, étant donné que la structure de format de fichier RAR ou ZIP est publique, révèle la forme cryptée du mot de passe? Par exemple, recherchez l'en-tête contenant le mot de passe réel et extrayez la chaîne cryptée?

Dis que c'est plausible, est-ce que vous pouvez faire quelque chose pour extraire le mot de passe clair du crypté?

7
microwth

Le mot de passe est requis pour déchiffrer les archives, de stocker une copie du mot de passe à l'intérieur de l'archive serait inutile - quiconque pouvait décrypter l'archive a déjà le mot de passe.

Les seules choses qui sont stockées sans cryptées dans les archives sont le type de cryptage, et peut-être les attributs de structure de fichiers et de fichiers.

Peut-être que vous êtes confus sur la façon dont les archives sont verrouillées et déverrouillées. On dirait que vous êtes sous l'impression que le mot de passe est stocké à l'intérieur de l'archive, puis l'utilitaire d'archive compare le mot de passe saisi par l'utilisateur au mot de passe stocké dans l'archive. Cependant, ce n'est pas la façon dont le cryptage fonctionne. Si le mot de passe était stocké dans l'archive de sorte que l'utilitaire puisse le lire, une personne avec un simple éditeur de fichiers pourrait la lire. Non seulement cela, si le schéma de protection était configuré pour forcer simplement l'utilitaire à vérifier contre le mot de passe stocké de cette manière, mais pas obscurcir les données, tout le monde pourrait simplement lire le contenu du fichier sans même regarder le mot de passe. Si la charge utile était cryptée et que le mot de passe a été stocké quelque part dans la section non cryptée de l'archive, chacun pourrait lire le mot de passe et déchiffrer rapidement la charge utile, vaincre ainsi le cryptage.

Au lieu de cela, quel chiffrement utilise-t-il une clé et un algorithme pour manipuler certaines données pour obscurcir ce que cela signifie. Une fois que cela a suivi ce processus de cryptage, le seul moyen de donner un sens aux données est de le traiter à travers l'algorithme de décryptage correspondant. Le seul moyen de réussir cela consiste à utiliser la clé et l'algorithme correct. Étant donné que l'algorithme est toujours connu, seule la clé est unique. La façon dont vous savez que vous avez utilisé la clé correcte est le fait que les données que vous obtenez du processus de décryptage ont un format valide et ne sont pas simplement des données de déchets aléatoires. Les seules informations sur une archive cryptée vous donneront la charge utile cryptée et l'algorithme utilisé pour la chiffrer. C'est à vous de fournir la clé correcte.

6
Dr. Funk

Les utilitaires de compression de fichiers tels que WinRar ou Zip ou 7zip chiffrent le mot de passe et rangez-le à l'intérieur de l'archive.

Je ne sais pas où vous avez cette information (réclamations sans source est toujours mauvaise) mais je suis sûr que vous avez eu le mal. Cela n'aurait aucun sens et la question serait également quelle clé serait alors utilisée pour chiffrer le mot de passe.

Avec ZIP, vous pouvez examiner la section 7.2 de la spécification et vous verrez que le mot de passe ne sera en aucun cas stocké. Seules diverses données plus ou moins aléatoires sont stockées et utilisées avec une clé dérivée du mot de passe saisi par l'utilisateur. Ces données aléatoires sont utilisées pour s'assurer que les fichiers zip avec le même contenu et le même mot de passe ne donnent pas aux mêmes données cryptées.

Dans la Spécification RAR Vous trouverez la valeur Vérification facultative du mot de passe. Ce n'est pas le mot de passe crypté mais une valeur de hachage (c'est-à-dire irréversible) dérivée avec PBKDF2 (hachage intensive de calcul) du mot de passe.

Ce qui signifie que le plus vous avez est une version hachée du mot de passe et hachée avec un hachage vraiment lent. Bien que cela puisse être utilisé pour détecter un mot de passe incorrect assez rapide pour une tentative unique, cela n'aide pas beaucoup avec une brute forçant le mot de passe. La forçage brute serait probablement plus efficace en essayant d'utiliser le mot de passe et de vérifier si les données déchiffrées ont un sens. Cela peut être souvent fait plus rapidement car la plupart des formats de fichiers contiennent des chaînes magiques typiques au début ou ont une structure de fichier typique. Ainsi, si vous avez quelque chose qui n'a pas l'air aléatoire, vous avez probablement cassé le mot de passe.

13
Steffen Ullrich

Il y a déjà été une discussion sur quelque chose de similiaire que je pense que vous pourriez trouver utile. Le mot de passe protège-t-il un fichier archivé en crypté?

De plus, à partir de ce que j'ai lu à partir de là, WinRar utilise une clé 64 bits (WinRar utilise 262144 tours de SHA-1 avec un sel de 64 bits), qui est assez fort.

Je ne suis pas sûr à 100% sur ce qui suit, alors tout le monde me corrige si je me trompe. D'après ce que je comprends lorsque vous chiffrez une archive ou un fichier zip comprimé, 7ZIP ou WinRar, les fichiers cryptés ne vous permettent pas de lire une clé s'il y en a un, tel qu'il est crypté. Ce serait la même chose que d'essayer de déchiffrer un cryptage sans la clé, alors je suis sûr que vous ne pouvez pas obtenir la clé du fichier zippé.

En outre, je ne suis pas sûr que cela stocke même la clé. Le cryptage RSA est l'un des cryptage les plus puissants (si vous optez pour 2048 + cryptage) et certaines archives zip utilisent le même cryptage AES. La clé n'est pas stockée dans le cryptage, mais l'algorithme utilisé pour déchiffrer le fichier. La clé est fournie par celui qui passe par mot de passe protégé/crypté le fichier en premier lieu, et si la clé de déchiffrement correspond à la clé de cryptage, l'algorithme déclenchera le décryptage, ce qui le rend lisible.

Est-ce que cela répond à votre question?

Modifier: En ce qui concerne simplement l'extraction de la chaîne avec la clé de déchiffrement cryptée, non. Cela ne fonctionnerait pas comme la clé serait crypté et inutile, et vous devriez le déchiffrer pour pouvoir lire ce que la clé de déchiffrement est en réalité, vous êtes donc de retour à la place 1.

Par exemple, si j'écris: "crêpes", comme "H01LG32H4GGG6H", vous ne seriez pas en mesure d'extraire cette chaîne cryptée et de le convertir, car vous ne connaissez pas l'algorithme que j'ai utilisé pour déchiffrer le mot.

2
Robin