Ich habe eine Datei mit der folgenden symmetrischen Verschlüsselung verschlüsselt:
gpg --symmetric myfile
was zu einer Datei führt myfile.gpg
.
In Ordung. Nun entschlüsseln wir die Datei noch einmal:
gpg -o myfile --decrypt myfile.gpg
Ich werde nach der Passphrase gefragt, die ich eingegeben habe, 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 ich weiß, dass diese sicher sind.
- Warum ist es nicht für die Integrität geschützt?
- Und wie behebe ich das?
encryption
gnupg
data-integrity
aes
gertvdijk
quelle
quelle
gpg -c myfile
verschlüsseln undgpg myfile.gpg
entschlüsseln, die Ausgabe wirdmyfile
standardmäßig entschlüsselt .gpg myfile.gpg
führt zu einer entschlüsselten Ausgabe, die auf meinem System an stdout gesendet wird ...Antworten:
Hintergrund
CAST-5 ist ein älterer Verschlüsselungsalgorithmus, der von GnuPG verwendet wird, da AES zu dem Zeitpunkt, als GnuPG ursprünglich als Quelle erstellt wurde, noch nicht existierte . Es ist nicht weit verbreitet (abgesehen von GnuPG aus Kompatibilitätsgründen).
Das
WARNING: message was not integrity protected
liegt daran , dass diese Funktion nicht eingeschaltet wird zum Zeitpunkt der Verschlüsselung standardmäßig aktiviert. Wenn dies aktiviert war, konnte GnuPG feststellen, ob die Datei während der Übertragung geändert wurde.Update: In modernen Versionen von GnuPG, die mit Ubuntu / Debian ausgeliefert werden, ist MDC jetzt standardmäßig aktiviert und Sie sollten diese Meldung nie mehr für etwas sehen, das mit diesen neueren Versionen signiert ist.
Lösungen
Um ein stärkeres AES-256 zu verwenden, müssen Sie es entweder in der Befehlszeile oder in Ihrer Konfigurationsdatei angeben.
Befehlszeile: Fügen Sie die
--cipher-algo AES256
Option hinzu, damit die gesamte zu verschlüsselnde Zeile angezeigt wirdKonfigurationsdatei (empfohlen): Fügen Sie Ihrer
~/.gnupg/gpg.conf
Konfigurationsdatei die folgende Zeile hinzu .Ich empfehle diesen Ansatz, da er für alle zukünftigen GPG-Vorgänge mit diesem Benutzerkonto verwendet wird.
Der Benutzer muss nichts ändern, um die Datei zu entschlüsseln - GnuPG erkennt dies automatisch.
Beachten Sie, dass die Nachricht bei Verwendung der AES-256-Verschlüsselung automatisch auf Integrität geschützt wird. Um den Integritätsschutz für andere Chiffren, für die dies nicht aktiviert ist (wie CAST-5), manuell zu aktivieren, fügen Sie die
--force-mdc
Option beim Verschlüsseln hinzu.Noch besser: unterschreiben!
Ein noch besserer Ansatz wäre, Ihre Dateien mit Ihrem Schlüsselpaar zu signieren (wenn Sie es haben). Fügen Sie dem
--sign
Verschlüsselungsbefehl einfach die folgende Option hinzu:Dadurch wird nicht nur die Integrität der Datei überprüft, sondern es wird auch dem Empfänger der Datei ermöglicht, den Ursprung zu überprüfen. Bei Änderungen an der Datei schlägt die Signaturprüfung fehl.
quelle