Avant d’ouvrir, de récupérer ou de reprotéger un fichier ZIP, il est utile de savoir exactement ce que vous avez entre les mains : s’il est chiffré tout court et, si oui, avec quel schéma. Une demande de mot de passe répond à la première question mais pas à la seconde, et un fichier peut être compressé sans être chiffré.

Signes rapides qu’un ZIP est chiffré

  • Son extraction vous demande un mot de passe.
  • Certains outils affichent une icône de cadenas, ou une colonne « chiffré », à côté des entrées.
  • Une tentative d’ouverture d’un fichier échoue avec un message concernant un mot de passe erroné ou manquant.

Chacun de ces signes confirme le chiffrement. Aucun ne vous dit quel schéma est utilisé, et cette distinction décide du niveau de protection du contenu et du déroulement d’une éventuelle récupération.

Chiffré n’est pas la même chose que compressé

Chaque ZIP compresse, ou du moins stocke, ses entrées. La compression n’est pas une protection : un ZIP simplement compressé s’ouvre pour quiconque dispose d’un outil ZIP, tandis que le chiffrement est une couche distincte appliquée par-dessus, et seule cette couche exige un mot de passe. La taille d’un fichier, ou le fait qu’il soit manifestement compressé, ne vous dit rien sur son éventuel chiffrement.

Ce que le format lui-même révèle

L’en-tête de chaque entrée enregistre si elle est chiffrée et comment, de sorte que la structure tranche la question même quand l’interface de l’archiveur ne le fait pas.

Le drapeau de chiffrement

Chaque entrée possède un drapeau d’usage général, et son bit de poids le plus faible est activé lorsque cette entrée est chiffrée. Si ce bit est à zéro sur chaque entrée, l’archive n’est pas protégée du tout, quel que soit ce que le nom du fichier suggère.

Marqueurs ZipCrypto

Une entrée ZipCrypto a le bit de chiffrement activé mais utilise par ailleurs une méthode de compression ordinaire, et elle place en tête de ses données un en-tête de chiffrement de 12 octets. L’indice tient à ce qui manque : aucun champ additionnel AES à trouver. Une entrée chiffrée qui paraît par ailleurs ordinaire est du ZipCrypto.

Marqueurs WinZip AES

Une entrée AES est plus distinctive :

  • Sa méthode de compression est enregistrée comme 99, un espace réservé qui signifie « regardez dans le champ additionnel AES pour la vraie méthode ».
  • Elle porte un champ additionnel avec l’identifiant 0x9901.
  • À l’intérieur de ce champ, un octet de robustesse contient 1, 2 ou 3 (c’est-à-dire AES-128, AES-192 ou AES-256), et un champ de version distinct de deux octets indique si l’entrée utilise la variante AE-1 ou AE-2.
Marqueur ZipCrypto WinZip AES
Bit de chiffrement activé Oui Oui
Méthode de compression Normale (stockée ou deflate) 99
Champ additionnel 0x9901 Absent Présent
Enregistre la force de la clé Non Oui (octet de robustesse 1, 2 ou 3 = AES-128, -192, -256)

AE-1 par rapport à AE-2

L’octet de variante dans le champ additionnel AES distingue deux formats étroitement liés qui partagent le même chiffrement. Dans AE-1, le champ CRC-32 stocké de l’entrée contient toujours la véritable somme de contrôle des données non compressées, ce qui permet un contrôle d’intégrité par rapport à l’original. AE-2 met ce champ à zéro. Le code d’authentification HMAC garantit déjà l’intégrité, et un CRC stocké pourrait divulguer une petite quantité d’information sur le contenu caché. Les deux variantes utilisent la même taille de clé AES et la même dérivation PBKDF2, de sorte que le choix affecte les détails de vérification plutôt que la robustesse du chiffrement lui-même.

Les outils qui signalent le chiffrement

Les listages détaillés exposent les mêmes champs sans éditeur hexadécimal.

  • Ligne de commande : zipinfo -v (ou unzip -Z -v) affiche le bit de chiffrement du drapeau d’usage général et la méthode de compression de chaque entrée, et 7z l -slt de 7-Zip liste une méthode de chiffrement pour chaque fichier. unzip -l seul ne liste que les noms.
  • La version graphique de 7-Zip affiche une colonne de méthode de chiffrement lorsque vous ouvrez l’archive.
  • Sous macOS, l’application Utilitaire d’archive intégrée demande un mot de passe pour les archives ZipCrypto mais ne peut pas ouvrir les entrées WinZip AES (il échoue avec une erreur) ; la commande zipinfo révèle les drapeaux dans les deux cas.
  • Un détecteur local : vous pouvez charger l’archive dans un outil de navigateur qui l’analyse sur l’appareil et nomme le schéma pour vous. Notre guide sur les fichiers ZIP chiffrés explique ce que signifie un tel rapport, et l’analyse se déroule localement, de sorte que le fichier n’est pas téléversé.

Pourquoi les noms de fichiers peuvent rester visibles

Vous pouvez souvent lister le contenu d’un ZIP chiffré sans le mot de passe, ce qui en surprend beaucoup. C’est ainsi que le format fonctionne. Le chiffrement ZIP standard chiffre les données de chaque entrée mais laisse le répertoire central lisible, de sorte que les noms, les tailles et les horodatages restent visibles même lorsque le contenu est verrouillé. Si ces noms sont eux-mêmes sensibles, le format ZIP simple ne suffit pas à lui seul.

Connaître le schéma guide votre prochaine étape

  • Avec ZipCrypto, considérez le contenu comme légèrement protégé et envisagez de le rechiffrer avec AES. Les mécanismes et les faiblesses sont couverts dans ZipCrypto expliqué.
  • Une archive AES est fortement protégée, et toute tentative de récupération sera lente par conception. Notre aperçu du chiffrement AES explique pourquoi c’est intentionnel.
  • Quel que soit le schéma, s’il s’agit de votre propre archive et que vous avez perdu le mot de passe, vous pouvez tenter une récupération locale depuis la page de récupération.

N’identifiez et ne récupérez que des archives que vous possédez ou que vous êtes autorisé à consulter ; cette règle vaut pour chaque étape ci-dessus.

Sources