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.

Verweise auf aktuelle Seite