Wie behebe ich „WARNUNG: Die Integrität der Nachricht wurde nicht geschützt“, wenn ich die symmetrische GPG-Verschlüsselung verwende?

Wie behebe ich „WARNUNG: Die Integrität der Nachricht wurde nicht geschützt“, wenn ich die symmetrische GPG-Verschlüsselung verwende?

Ich habe eine Datei mit symmetrischer Verschlüsselung wie folgt verschlüsselt:

gpg --symmetric myfile

Das Ergebnis ist eine Datei myfile.gpg.

Okay. Jetzt entschlüsseln wir die Datei noch einmal:

gpg -o myfile --decrypt myfile.gpg

Ich werde nach der von mir eingegebenen Passphrase gefragt und dann sehe ich

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

Bei der ersten und letzten Zeile bin ich mir nicht sicher.

  • Was ist die CAST5-Verschlüsselung und ist sie sicher? Ich kenne 3DES und AES und weiß, dass diese sicher sind.
  • Warum wird die Integrität nicht geschützt?
  • Und außerdem: wie behebe ich das?

Antwort1

Hintergrund

CAST-5ist ein älterer Verschlüsselungsalgorithmus, der von GnuPG verwendet wird, da AES zum Zeitpunkt der ursprünglichen Entwicklung von GnuPG noch nicht existierteQuelle. Es wird nicht häufig verwendet (abgesehen von GnuPG aus Kompatibilitätsgründen).

Das WARNING: message was not integrity protectedliegt daran, dass diese Funktion zum Zeitpunkt der Verschlüsselung nicht standardmäßig aktiviert ist. Wenn sie aktiviert wäre, könnte GnuPG erkennen, ob die Datei während der Übertragung verändert wurde.

Update: Moderne Versionen von GnuPG, die mit Ubuntu/Debian ausgeliefert werden, haben jetzt MDCstandardmäßig aktiviertund Sie sollten diese Meldung nie wieder für etwas sehen, das mit diesen neueren Versionen signiert wurde.

Lösungen

Um einen stärkeren AES-256 zu verwenden, müssen Sie ihn entweder in der Befehlszeile oder in Ihrer Konfigurationsdatei angeben.

  • Befehlszeile: Fügen Sie die --cipher-algo AES256Option hinzu, so dass die gesamte zu verschlüsselnde Zeile

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
    
  • Konfigurationsdatei (empfohlen): Fügen Sie Ihrer ~/.gnupg/gpg.confKonfigurationsdatei die folgende Zeile hinzu.

    cipher-algo AES256
    

    Ich empfehle diesen Ansatz, da er für alle zukünftigen GPG-Vorgänge auf diesem Benutzerkonto verwendet wird.

Zum Entschlüsseln der Datei muss der Benutzer nichts ändern – GnuPG erkennt dies automatisch.

Beachten Sie, dass die Integrität der Nachricht bei Verwendung der AES-256-Chiffre automatisch geschützt ist. Um den Integritätsschutz bei anderen Chiffren, für die dies nicht aktiviert ist (wie CAST-5), manuell zu aktivieren, fügen Sie die --force-mdcOption beim Verschlüsseln hinzu.

Noch besser: unterschreiben!

Ein noch besserer Ansatz wäre, Ihre Dateien mit Ihrem Schlüsselpaar zu signieren (falls Sie es haben). Fügen Sie die --signOption einfach dem Verschlüsselungsbefehl hinzu, wie folgt:

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

Dadurch wird nicht nur die Integrität der Datei überprüft, sondern der Empfänger der Datei kann auch den Ursprung der Datei überprüfen. Jegliche Änderungen an der Datei würden dazu führen, dass die Signaturprüfung fehlschlägt.

verwandte Informationen