45 votes

Comment corriger le message "WARNING : message was not integrity protected" lors de l'utilisation du chiffrement symétrique GPG ?

J'ai crypté un fichier en utilisant le cryptage symétrique comme suit :

gpg --symmetric myfile

ce qui donne un fichier myfile.gpg .

Très bien. Décryptons à nouveau le fichier :

gpg -o myfile --decrypt myfile.gpg

On me demande la phrase d'authentification que j'ai mise en place, puis je vois

gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

Je ne suis pas sûr de la première et de la dernière ligne.

  • Qu'est-ce que le cryptogramme CAST5 et est-il sûr ? Je connais le 3DES et l'AES et je sais qu'ils sont sûrs.
  • Pourquoi n'est-il pas protégé pour son intégrité ?
  • Et surtout, comment y remédier ?

70voto

gertvdijk Points 3338

Contexte

CAST-5 est un algorithme de cryptage plus ancien utilisé par GnuPG car AES n'existait pas encore à l'époque où GnuPG a été créé. source . Il n'est pas largement utilisé (à l'exception de GnuPG pour des raisons de compatibilité).

En WARNING: message was not integrity protected c'est parce que cette fonction n'est pas activée par défaut au moment du cryptage. Si elle était activée, GnuPG pourrait savoir si le fichier a été modifié en cours de route.

Mise à jour : les versions modernes de GnuPG livrées avec Ubuntu/Debian intègrent désormais le MDC. <a href="https://launchpad.net/ubuntu/+source/gnupg2/2.2.4-1ubuntu1.1" rel="noreferrer">activée par défaut </a>et vous ne devriez plus jamais voir ce message pour tout ce qui est signé avec ces nouvelles versions.

Solutions

Pour utiliser un AES-256 plus puissant, vous devez le spécifier soit sur la ligne de commande, soit dans votre fichier de configuration.

  • Ligne de commande : ajouter l'option --cipher-algo AES256 de sorte que la ligne complète à crypter devienne

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
  • Fichier de configuration (recommandé) : ajoutez la ligne suivante à votre fichier de configuration ~/.gnupg/gpg.conf fichier de configuration.

    cipher-algo AES256

    Je recommande cette approche car elle sera utilisée pour toutes les opérations GPG futures sur ce compte d'utilisateur.

Il n'y a rien à changer pour que l'utilisateur puisse décrypter le fichier - GnuPG le détectera automatiquement.

Notez qu'en utilisant le chiffrement AES-256, le message est automatiquement protégé en termes d'intégrité. Pour activer manuellement la protection de l'intégrité pour d'autres algorithmes de chiffrement pour lesquels elle n'est pas activée (comme CAST-5), ajoutez l'attribut --force-mdc lors du chiffrement.

Encore mieux : signez !

Une meilleure approche consisterait à signer vos fichiers avec votre paire de clés (si vous l'avez). Il suffit d'ajouter l'élément --sign à la commande de cryptage, comme suit :

gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile

Cela permet non seulement de valider l'intégrité du fichier, mais aussi de permettre au destinataire du fichier d'en vérifier l'origine. Toute modification du fichier entraînerait l'échec de la vérification de la signature.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X