GnuPG Anleitung - Seite 9
GnuPG für Dateien
Sollen Daten nach der Verschlüsselung und/oder Signierung nicht in Binärform vorliegen, sondern mit ASCII-Hülle, um sie z. B. per E-Mail zu versenden, werden den Kommandos immer die Option --armor oder kurz -a mitgegeben, alternativ setzt man die Option armor in die gpg.conf.
Die Parameter können in ihrer Lang- oder Kurzform, einzeln oder kombiniert im Kommando angegeben werden.
Parameter | ||
---|---|---|
Langform | Kurzform | Erklärung |
--armor | -a | ASCII-Hülle |
--encrypt | -e | Verschlüsseln |
--symmetric | -c | symmetrisch Verschlüsseln |
--sign | -s | Signieren |
--recipient | -r | Schlüssel-ID oder Benutzer-ID als Empfänger |
Will man mit GnuPG 2.1.X mittels --passphrase-fd oder --passphrase-file die Passphrase für Verschlüsselungs- oder Signieraktionen abfragen bzw. automatisch übergeben lassen, müssen die Optionen mit --batch --pinentry-mode loopback kombiniert werden:
gpg2 --batch --pinentry-mode loopback --passphrase-fd|file
Verschlüsseln und Signieren
Verschlüsseln
Konsole
- eine Datei mit einem öffentlichen Schlüssel
gpg -a --encrypt --recipient Schlüssel-ID datei.ext
- eine Datei mit einem bestimmten Unterschlüssel
gpg -a --encrypt --recipient Unter-Schlüssel-ID! datei.ext
- mehrere Dateien mit einem öffentlichen Schlüssel
gpg -a --recipient Schlüssel-ID --enrypt-files datei1.ext ... dateiN.ext
- eine oder mehrere Dateien mit mehreren Schlüsseln
In der gpg.conf wird zuerst die gruppenname Gruppe definiert und der Gruppe die Schlüssel zugeordnet, mit denen die Daten verschlüsselt werden sollen:
group gruppenname=Schlüssel-ID1 ... Schlüssel-IDn
- eine Datei für Gruppe:
gpg -a --recipient gruppenname --encrypt datei.ext
- mehrere Dateien für Gruppe:
gpg -a --recipient gruppenname --encrypt-files datei1.ext ... dateiN.ext
- eine Datei konventionell mit einem symmetrischen Schlüssel
wenn Algorithmuspräferenzen in der gpg.conf hinterlegt sind:
gpg -a --symmetric datei.ext
wenn Algorithmuspräferenzen nicht in der gpg.conf hinterlegt sind:
gpg --cipher-algo Name --s2k-digest-algo Name -a --symmetric datei.ext
Für Name setzt man z. B. AES256 und SHA256.
- anonymisierte Verschlüsselung:
gpg --throw-keyids --no-comments --no-emit-version -a --encrypt --hidden-recipient Schlüssel-ID datei.ext
Das Kommando unterdrückt alle Angaben zu Schlüssel-IDs, Benutzer-IDs, Kommentaren und der verwendeten GnuPG Version. Zur Entschlüsselung probiert GnuPG alle privaten Schlüssel aus, beginnend mit dem Schlüssel, der mit der default-key Option in der gpg.conf zum Standardschlüssel erklärt wurde. Ab GnuPG 2.1 können mit try-secret-key Schlüssel-ID neben dem Standardschlüssel weitere Schlüssel angegeben werden, die bevorzugt ausprobiert werden sollen.
GPA
Zuerst startet man den GPA und ruft die Dateiverwaltung auf oder startet mit gpa -f
direkt die Dateiverwaltung:
Über das Datei öffnen Icon wählt man eine oder mehrere Dateien aus, die verschlüsselt werden sollen. Die ausgewählten Dateien werden in der Dateiverwaltung angezeigt:
Anschließend wird das Gewählte Datei verschlüsseln Icon angeklickt. Im Fenster werden die Schlüssel markiert, mit denen die Dateien verschlüsselt werden sollen. Für eine ASCII statt binärer Dateiausgabe wird die ASCII-Verpackung Checkbox aktiviert:
Das Ergebnis wird wieder in der Dateiverwaltung angezeigt:
Verschlüsselte Dateien mit ASCII-Hülle erhalten die asc Dateierweiterung, in binärer Form die gpg Dateierweiterung.
Signieren
Konsole
Mit -u Schlüssel-ID kann ein spezieller Signierschlüssel zum Signieren bestimmt werden. Ohne die Angabe wird entweder der mit default-key Schlüssel-ID in der gpg.conf definierte Standardschlüssel verwendet oder der erste Hauptsignierschlüssel, der im privaten Schlüsselring gefunden wird. In den folgenden Beispielen wird davon ausgegangen, dass in der gpg.conf ein Signierschlüssel zum Standard erklärt wurde und die Option -u Schlüssel-ID unterbleibt.
- eine Datei, Dateiinhalt mit Signatur in Binärform ohne Klartext
gpg --sign datei.ext
- eine Datei, Dateiinhalt mit Signatur in Klartext
gpg --clearsign datei.ext
- eine Datei mit angehängter ASCII Signatur in separater Signaturdatei
gpg --armor --detach-sign datei.ext
GPA
Zuerst werden die zu signierenden Dateien in die Dateiverwaltung geladen. Anschließend klickt man das Gewählte Datei signieren Icon an.
Im Fenster wird der Schlüssel markiert, mit dem die Dateien signiert werden sollen. Für eine ASCII statt binärer Dateiausgabe wird die ASCII-Verpackung Checkbox aktiviert. Mit abgetrennter Signatur wird die Signatur in einer separaten Signaturdatei gespeichert. Mit Signieren und Komprimieren wird eine Datei erzeugt, die Dateiinhalt und Signatur enthält. Wie bei der Verschlüsselung zeigt GPA auch beim Signieren das Ergebnis in der Dateiverwaltung an.
Verschlüsseln und Signieren
Konsole
- einer Datei mit Schlüssel einer Person
gpg -a --recipient Schlüssel-ID --sign --encrypt datei.ext
GPA
Zuerst werden die zu verschlüsselnden und signierenden Dateien in die Dateiverwaltung geladen. Anschließend klickt man das Gewählte Datei verschlüsseln Icon an.
Im oberen Fenster werden die Schlüssel markiert, mit denen die Dateien verschlüsselt werden sollen. Für das Signieren wird die Signieren Checkbox aktiviert und im unteren Fenster der Schlüssel bestimmt, mit dem signiert werden soll. Für eine ASCII statt binärer Dateiausgabe wird die ASCII-Verpackung Checkbox aktiviert. Wie bei der Verschlüsselung zeigt GPA auch beim Signieren das Ergebnis in der Dateiverwaltung an.
Entschlüsseln und Überprüfen
Entschlüsseln
Konsole
- Entschlüsselung des Dateiinhalts in Datei mit dem ursprünglichen Dateinamen datei.ext
gpg --output datei.ext --decrypt datei.ext.gpg
- Ausgabe des entschlüsselten Dateiinhalts in der Konsole
gpg --decrypt datei.ext.gpg
- Entschlüsselung mehrerer verschlüsselter Dateien
gpg --decrypt-files datei1.asc ... dateiN.asc
GPA
Zuerst werden die zu entschlüsselnden Dateien in die Dateiverwaltung geladen.
Nach Anklicken des Gewählte Datei entschlüsseln Icon und Eingabe der Passphrase über die pinentry Anwendung werden die Dateien entschlüsselt und das Ergbnis in der Dateiverwaltung angezeigt.
Überprüfen
Konsole
- Überprüfen einer Datei mit enthaltener Signatur oder separaten Signatur
gpg datei.ext.sig
- Überprüfen einer separaten Signatur, wobei Dateiname der signierten Datei vom Dateinamen der Signatur abweicht
gpg --verify datei.ext.sig datei.ext
Parameter
Die Ausgabe des Prüfergebnisses kann durch zusätzliche Parameter für die verify-options Option in der gpg.conf beeinflusst werden:
Parameter | Erklärung |
---|---|
show-photos | Anzeige von Foto(-ID)s |
show-policy-urls | Anzeige der URL zur Signatur-Richtlinie |
show-notations | Anzeige von Anmerkungen |
show-keyserver-urls | Anzeige der URL zum bevorzugten Schlüsselserver |
show-uid-validity | Anzeige des Vertrauensgrads vor der Benutzer-ID |
show-unusable-uids | Anzeige zurückgezogener oder ungültiger Benutzer-IDs |
show-primary-uid-only | In der Anzeige wird nur die primäre Benutzer-ID und keine Foto-ID ausgegeben |
In die gpg.conf werden ausgewählte Parameter mit Komma oder Leerzeichen getrennt hinter die verify-options Option gesetzt. Mit no-parameter wird die Bedeutung negiert.
verify-options [no-]parameter1 parameterN
GPA
Zuerst wird die Datei mit enthaltener Signatur oder die separate Signaturdatei in die Dateiverwaltung geladen.
Nach Anklicken des Signatur der ausgewählten Datei prüfen Icon zeigt der GPA das Ergebnis an:
Prüfsummen
Zur Überprüfung von Prüfsummen, die z. B. auf Webseiten angegeben werden, um die Datenintegrität einer heruntergeladenen Datei festzustellen, erzeugt man mit GnuPG ebenfalls eine Prüfsumme und vergleicht sie mit der angegebenen Prüfsumme. Dabei verwendet man den gleichen Hash-Algorithmus.
gpg --print-md Hash-Algo datei.ext
gibt die Prüfsumme aus, die mit einem bestimmten Hash-Algorithmus erzeugt wird. Als Hash-Algorithmus kann MD5, SHA1, RIPEMD160, SHA256, SHA384 oder SHA512 eingesetzt werden.
gpg --print-mds datei.ext
gibt alle Prüfsummen mit allen von GnuPG unterstützten Hash-Algorithmen aus.