web-dev-qa-db-fra.com

Quel est le niveau de sécurité d'un fichier Zip protégé par mot de passe Windows?

J'ai besoin d'envoyer des informations sensibles à un client. Je pensais envoyer par e-mail un fichier Zip protégé par mot de passe que j'avais créé à l'aide de Windows XP puis les appeler avec le mot de passe. En supposant que je choisis un bon mot de passe, cette approche est-elle sécurisée? Plus précisément, la difficulté est-elle -il pour décrypter un fichier Zip protégé par mot de passe?

40
Dave Aaron Smith

Lors de la création d'un fichier Zip protégé par mot de passe (avec l'utilitaire "dossier compressé" intégré dans le système d'exploitation), Windows XP utilise l'algorithme de chiffrement "standard" pour les fichiers Zip. Il s'agit d'un chiffrement de flux maison , et il est faible . Avec 13 octets de texte en clair connu, la complexité de l'attaque est d'environ 238 opérations, ce qui est réalisable en quelques heures sur un PC. 13 octets sont relativement faciles à obtenir (par exemple, si l'un des fichiers de l'archive est une image, il sera probablement non compressé et commencera par un en-tête connu). Le résultat a même été amélioré , notamment parce que les fichiers d'une archive sont chiffrés séparément mais sans diversification adéquate des clés. Il y a quelques années (plusieurs maintenant, tempus fugit), j'ai vu un logiciel de piratage de mot de passe par Ivan Golubev qui a mis cette science à profit utiliser, et pourrait casser le cryptage Zip en une heure.

L'attaque contre le cryptage Zip est en fait:

  • une belle introduction à la cryptanalyse;
  • un bon exercice de programmation;
  • un rappel que vous ne devez pas lancer votre propre crypto . Phil Katz était très bon dans son domaine, mais les meilleurs cryptographes du monde vous diront qu'il faut beaucoup plus qu'un très bon cryptographe pour créer un algorithme sécurisé - il faut beaucoup cryptographes qui proposer fébrilement des designs et essayer de briser les designs des autres, pendant quelques années, jusqu'à ce qu'un design apparemment robuste émerge (où "robuste" signifie "aucun ne pourrait trouver le moindre argument pour soutenir l'idée qu'ils pourraient, éventuellement, faire une brèche en elle à une date non précisée ").

Maintenant, si vous utilisez un outil qui prend en charge le nouveau cryptage basé sur AES, les choses iront mieux, à condition que le format et l'implémentation ne soient pas bâclés et que le mot de passe ait une entropie suffisante. Cependant, ces fichiers Zip ne seront pas ouverts par l'explorateur WinXP d'origine.

Si un outil externe est requis, vous pouvez tout aussi bien compter sur un outil qui a été soigneusement analysé pour la sécurité, à la fois dans la spécification du format et dans la mise en œuvre; en d'autres termes, comme @ D.W. suggère: GnuPG .


Quant aux archives auto-déchiffrantes , elles sont toutes fausses, car elles reposent sur l'utilisateur qui fait exactement ce qui ne devrait jamais être fait, c'est-à-dire lancer un exécutable qu'il reçu par e-mail. S'il le fait ouvre une archive auto-décryptante que vous lui envoyez, alors il va juste, par cette action, démontrer qu'il est vulnérable à la myriade de virus/vers/whatevers qui parcourent Internet sauvage et il est probablement déjà infecté par divers logiciels malveillants, notamment des enregistreurs de frappe.

Néanmoins, il existe un moyen, dans votre situation spécifique, de rendre une archive auto-décryptable raisonnable. Il a encore besoin de votre client pour installer un nouveau logiciel, mais au moins, il vient directement de Microsoft: le File Checksum Integrity Verifier - un nom pompeux pour un outil qui calcule le fichier hachages. Envoyez l'archive auto-déchiffrante à votre client et demandez-lui de l'enregistrer en tant que fichier ( sans en l'exécutant, bien sûr). Ensuite, faites-lui exécuter FCIV dessus, pour obtenir le hachage SHA-1 du fichier. Faites de même de votre côté. Enfin, comparez les deux hachages par téléphone (il n'est pas difficile de dicter 40 caractères hexadécimaux). Si les deux hachages correspondent, votre client saura que le fichier n'a pas été modifié pendant le transfert et il pourra l'exécuter en toute confiance.

(C'est-à-dire, si votre client vous fait confiance et croit que votre la machine n'est pas pleine d'horloge avec un virus qui aurait pu infecter l'archive à sa sortie.)

46
Thomas Pornin

Pour les données sensibles, je serais un peu réticent à utiliser des archives Zip ou 7Zip protégées par mot de passe. Les versions actuelles du cryptage qu'ils utilisent n'ont pas été bien étudiées ou vérifiées par des chercheurs indépendants. Les anciennes versions du logiciel présentaient des failles de sécurité, ce qui est un motif de préoccupation minime. Les versions plus récentes sont peut-être correctes, mais comme elles n'ont pas été examinées de manière indépendante, je suis réticent à leur faire confiance. Idéalement, quelque chose comme GPG ou PGP est meilleur.

Veuillez noter que le cryptage avec un mot de passe a tendance à être faible. La plupart des gens choisissent des mots de passe qui n'ont pas assez d'entropie pour être protégés contre la recherche hors ligne (par exemple, attaque par dictionnaire, recherche exhaustive). De plus, les mots de passe longs et forts sont peu pratiques à utiliser, ce qui les dissuade davantage.

Je vous recommande d'éviter d'envoyer des fichiers .exe auto-extractibles. C'est un risque pour la sécurité. Lorsque vous envoyez des fichiers .exe auto-extractibles, vous les entraînez à recevoir une pièce jointe .exe par e-mail et à l'exécuter. C'est une pratique très dangereuse, du point de vue de la sécurité. Je pense que le fait que Zip et 7Zip encouragent cette pratique est un signe de mépris pour la sécurité.

Si vous devez utiliser un cryptage par mot de passe, je recommande: Utilisez GPG ou PGP (par exemple, gpg -c). La sécurité du cryptage de GPG a été bien étudiée et est solide. Utilisez un mot de passe long et fort: par exemple, utilisez un utilitaire pour générer un mot de passe cryptographiquement aléatoire. Vous voulez un mot de passe d'environ 14 à 16 caractères aléatoires, sans aucun motif.

Ce sera probablement l'option la plus simple à utiliser pour votre client, qui offre également une protection renforcée.

Si vous souhaitez une sécurité supplémentaire, stockez les données cryptées sur un CD ou un DVD, puis envoyez le CD ou le DVD par Fedex (plutôt que par e-mail). De cette façon, vous obtenez deux couches de sécurité: quelqu'un ne peut voler les données que s'il peut accéder au CD ou au DVD et s'il a le mot de passe pour le décrypter.

Si vos clients ont du mal à utiliser PGP ou GPG, vous pouvez utiliser une version récente du cryptage de mot de passe Zip ou 7Zip. Dans ce cas, j'éviterais un fichier .exe auto-extractible et je serais probablement plus enclin à envoyer les données cryptées par courrier (sur un CD ou un DVD) plutôt que sur Internet.

Alternativement: Si votre client est techniquement averti et que vous communiquez fréquemment avec lui, une autre option consiste à lui faire utiliser GPG ou PGP pour générer une paire de clés publique aléatoire, vous envoyer sa clé publique, puis vous pourrez crypter les données sous leur clé publique. Cela fournira une sécurité renforcée, s'ils savent utiliser GPG ou PGP. Cependant, il est moins intuitif et donc probablement impossible à envoyer un élément de données à un client moyen.

6
D.W.

Il n'est pas si difficile de déchiffrer un fichier Zip protégé par mot de passe. Il existe de nombreuses applications pour déterminer le mot de passe ou simplement supprimer le mot de passe.

Il y a de fortes chances que personne n'intercepte les e-mails entre vous et eux. Les serveurs de messagerie publics ont une énorme quantité de données circulant entre eux. Mettre un mot de passe sur l'e-mail est probablement suffisant. Si vous avez besoin de quelque chose de plus sécurisé, essayez de crypter l'e-mail par lequel la pièce jointe est envoyée, ou postez le fichier dans un emplacement de dépôt sécurisé comme une boîte de dépôt (oui, je suis conscient du problème qu'ils ont eu il y a quelques semaines) et envoyez-les le lien.

4
mrdenny

J'ai utilisé des fichiers Zip protégés par mot de passe comme mécanisme de cryptage ad hoc (bien que je préfère utiliser GPG lorsque cela est possible). Une grande partie de la récupération de mot de passe pour les fichiers Zip, mais tant que vous utilisez une version actuelle, le seul mécanisme de récupération pratique est la force brute. Je crois que 7-Zip et Winzip prennent tous les deux en charge AES-256. Si votre client a déjà Winzip, je l'utiliserais (assurez-vous simplement d'utiliser le cryptage AES et non "Legacy").

L'aspect le plus important de l'utilisation de ce mot de passe est votre mot de passe (je recommanderais une phrase secrète, au moins 16 caractères, ajoutez des caractères spéciaux). La phrase secrète a l'avantage que la force brute est difficile, et vous pouvez l'échanger par téléphone avec une relative facilité.

Ce n'est en aucun cas un mécanisme parfait, mais il pourrait être assez bon pour vos besoins (selon la sensibilité des données).

4
Andrew

Avec les deux GTX 295, un mot de passe de 4 caractères peut être récupéré en moins d'une heure.

http://is.hut.vn/~phongph/uploads/publications/1277074631.pdf

1
Jodie C