GnuPG Anleitung - Seite 6

Schlüsselerstellung

GnuPG Anwender, die zum ersten Mal mit GnuPG oder Kryptographie allgemein in Kontakt kommen, sollten sich zuerst einen Testschlüssel erstellen, mit dem die Informationen und Möglichkeiten dieser oder einer anderen Anleitung theoretisch und praktisch erprobt werden und den ersten Schlüssel nicht als „ihren Schlüssel“ sofort an Schlüsselserver und Kommunikationspartner versenden.

Bei der Schlüsselerstellung und später bei einer eventuellen Änderung der Passphrase sollte man eine sichere Passphrase wählen. Hinweise zur Zusammensetzung einer sicheren Passphrase gibt der Passwort Beitrag der Wikipedia.

Grundlegende Optionen

Vor der Schlüsselerstellung sollte man die gpg.conf Konfigurationsdatei editieren und nach den Basis-Optionen weitere Optionen setzen. Die hier angegeben Algorithmen und Kompressionsverfahren sind als Beispiele zu verstehen. Welche Algorithmen und Kompressionsverfahren die jeweilige GnuPG Version unterstützt, wird nach Eingabe von gpg --version angezeigt. Auf der Seite Kryptografische Verfahren bei GnuPG werden Eigenschaften und Zwecke der Algorithmen vorgestellt. Wer bereits vor der Erstellung des ersten Schlüssels seine bevorzugten Algorithmen festlegen will, kann dies über die Angabe von Algorithmen für bestimmte Zwecke und in mehreren Listen machen. Die Änderung der eigenen Krypto-Präferenzen ist aber auch zu einem späteren Zeitpunkt möglich.

Option Wert Erklärung
default-keyserver-url URL Angabe der URL des bevorzugten Schlüsselservers, die bei Schlüsselerstellung und Änderung der Präferenzen in Eigenzertifikate des Schlüssels gespeichert wird
cert-digest-algo SHA512|384 bestimmt den Hash-Algorithmus, den GnuPG für Zertifikate bei der Zertifizierung von Schlüsseln verwendet. Für NIST P-521 und Brainpool P-512 ECC Kurven muss SHA512 gesetzt sein.
s2k-cipher-algo TWOFISH bestimmt den Algorithmus, mit dem der geheime Schlüssel verschlüsselt wird
s2k-digest-algo SHA512|384 bestimmt den Hash-Algorithmus, mit dem die Passphrase gehasht wird
personal-cipher-preferences TWOFISH AES256 AES192 AES (3DES) Die personal-*-preferences Listen setzen die Reihenfolgen der zu bevorzugenden Algorithmen für symmetrische Schlüssel und die symmetrische Verschlüsselung (-cipher-), die Prüfsummen (-digest-) und die Datenkompression (-compress-). Die default-preferences Liste ist eine Zusammenfassung der persönlichen Präferenzen. Die Listen bestimmen damit, welche Angaben zu Krypto-Präferenzen im Eigenzertifikat gespeichert werden und welche Algorithmen bei der Daten- und Kommunikationsverschlüsselung zum Einsatz kommen. Die (Bezeichner) Algorithmen sind gemäß OpenPGP-Standard immer gesetzt.
personal-digest-preferences SHA512 SHA384 SHA256 (SHA1)
personal-compress-preferences BZIP2 ZLIB ZIP (nicht komprimiert)
default-preference-list TWOFISH … SHA512 … BZIP2 …

Hauptschlüssel (Zertifizieren)

Im folgenden Beispiel wird ein RSA Hauptschlüssel erstellt, der nur dem Zertifizieren eigener und fremder Schlüssel dienen soll. Dem Hauptschlüssel wird danach ein Unterschlüssel zum Signieren von Daten und ein zweiter Unterschlüssel zum Verschlüsseln angehängt. Der Hauptschlüssel soll niemals, der Signierschlüssel nach 25 Jahren und der Verschlüsselungsschlüssel nach 5 Jahren verfallen.

gpg --full-generate-key --expert

Danach zeigt GnuPG folgende Auswahl an, aus der Nr (8) gewählt wird:

Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (8) RSA (Nutzung selber einstellbar)
Ihre Auswahl? 8

Im nächsten Schritt wird dem Hauptschlüssel die Signieren und Verschlüsseln Eigenschaften entzogen:

Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Signieren Zertif. Verschl.
 
   (S) Umschalten der Signaturnutzbarkeit
 
Ihre Auswahl? s
 
Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Zertif. Verschl.
 
   (V) Umschalten der Verschlüsselungsnutzbarkeit
 
Ihre Auswahl? v
 
Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Zertif.
 
   (Q) Beenden
 
Ihre Auswahl? q

Dann folgt die Abfrage nach der Bitlänge des Hauptschlüssels und der Dauer seiner Gültigkeit:

RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 4096
 
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
         0 = Schlüssel verfällt nie
Wie lange bleibt der Schlüssel gültig? (0) 0
Schlüssel verfällt nie
Ist dies richtig? (j/N) j

Statt allgemeiner Zeitraumangaben mit <n>Zeitraum (d = Tage, w = Wochen, m = Monate, y = Jahre) kann auch ein bestimmtes Datum nach dem Muster YYYY-MM-DD angegeben werden. Das Verfallsdatum bzw. der Gültigkeitszeitraum kann zu einem späteren Zeitpunkt geändert werden. Ist ein Unterschlüssel zum Verschlüsseln engültig verfallen, ist er von anderen GnuPG Benutzern nicht mehr zum Verschlüsseln zu verwenden. Danach kann man einfach einen neuen Unterschlüssel erstellen. Unterschlüssel und der Hauptschlüssel können zurückgezogen, also für ungültig erklärt oder gelöscht werden.

Anschließend wird die Benutzer-ID des Schlüssels definiert:

GnuPG erstellt eine User-ID, um Ihren Schlüssel identifizierbar zu machen.
 
Ihr Name ("Vorname Nachname"): test test
Email-Adresse: test@test.de
Kommentar:
Sie haben diese User-ID gewählt:
    "test test <test@test.de>"
 
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? f

Es folgt die Pinentry Eingabeaufforderung zur zweimaligen Eingabe der Passphrase:

Danach wird der Schlüssel und das Widerrufzertifikat erstellt und die Daten zum neuen Schlüssel angezeigt:

gpg: Schlüssel 55D3988C3A77A274 ist als ultimativ vertrauenswürdig gekennzeichnet
gpg: Widerrufzertifikat wurde als '/home/loginname/.gnupg/openpgp-revocs.d/fingerabdruck.rev' gespeichert.
Öffentlichen und geheimen Schlüssel erzeugt und signiert.
 
pub   rsa4096/55D3988C3A77A274 2018-07-23 [C]
  Schl.-Fingerabdruck = 0924 AF9B 87F1 1E55 9D20  80E3 55D3 988C 3A77 A274
uid                              test test <test@test.de>

Hier sieht man die Ausgabe des Fingerabdrucks des Schlüssels und die Ausgabe der Schlüssel-ID im long Format, das als Basis-Option in der gpg.conf Datei festgelegt wurde.

Zu einem späteren Zeitpunkt können bestehende Benutzer-IDs zurückgezogen oder entfernt und weitere Benutzer-IDs hinzugefügt werden.

Unterschlüssel (Signieren)

Nach Erstellung des Hauptschlüssels kann man sofort mit dem addkey Kommando die Erstellung des ersten Unterschlüssels starten. Wird der Unterschlüssel zu einem späteren Zeitpunkt erstellt oder soll ein Schlüssel allgemein geändert werden, startet man den Schlüssel-Editor mit dem edit-key Kommando.

gpg> addkey

oder

gpg --edit-key --expert 0x55D3988C3A77A274
 
Geheimer Schlüssel ist vorhanden.
sec  rsa4096/55D3988C3A77A274
     erzeugt: 2018-07-23  verfällt: niemals     Nutzung: C
     Vertrauen: ultimativ     Gültigkeit: ultimativ
[ ultimativ ] (1). test test <test@test.de>
 
gpg> addkey
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (8) RSA (Nutzung selber einstellbar)
Ihre Auswahl? 8
 
Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Signieren Verschl.
 
   (V) Umschalten der Verschlüsselungsnutzbarkeit
 
Ihre Auswahl? v
 
Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung 
Derzeit erlaubte Vorgänge: Signieren 
 
   (Q) Beenden
 
Ihre Auswahl? q
 
RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 4096
 
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
 
Wie lange bleibt der Schlüssel gültig? (0) 25y
Key verfällt am Fr 17 Jul 2043 10:06:23 CEST
Ist dies richtig? (j/N) j
Wirklich erzeugen? (j/N) j

Wurde mit dem Schlüssel-Editor begonnen, folgt die Pinentry Eingabeaufforderung zur Eingabe der Passphrase:

Aschließend werden die neuen Daten zum Schlüssel angezeigt:

sec  rsa4096/55D3988C3A77A274
     erzeugt: 2018-07-23  verfällt: niemals     Nutzung: C
     Vertrauen: ultimativ     Gültigkeit: ultimativ
ssb  rsa4096/A7E06A74E7165D1F
     erzeugt: 2018-07-23  verfällt: 2043-07-17  Nutzung: S
[ ultimativ ] (1). test test <test@test.de>

Unterschlüssel (Verschlüsseln)

gpg> addkey
 
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
 
   (6) RSA (nur verschlüsseln)
 
Ihre Auswahl? 6
 
RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 4096
Die verlangte Schlüssellänge beträgt 4096 Bit
 
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
 
Wie lange bleibt der Schlüssel gültig? (0) 5y
Key verfällt am Sa 22 Jul 2023 10:11:23 CEST
Ist dies richtig? (j/N) j
Wirklich erzeugen? (j/N) j

GnuPG zeigt wieder die Schlüsseleigenschaften an und der Prozess kann mit dem save Befehl beendet werden.

sec  rsa4096/55D3988C3A77A274
     erzeugt: 2018-07-23  verfällt: niemals     Nutzung: C
     Vertrauen: ultimativ     Gültigkeit: ultimativ  
ssb  rsa4096/A7E06A74E7165D1F
     erzeugt: 2018-07-23  verfällt: 2043-07-17  Nutzung: S
ssb  rsa4096/403774B953F3AAAE
     erzeugt: 2018-07-23  verfällt: 2023-07-22  Nutzung: E
[ ultimativ ] (1). test test <test@test.de>
 
gpg> save

Ist der Schlüssel erstellt, kann man den öffentlichen Schlüssel in eine Datei exportieren und z. B. per E-Mail versenden oder direkt auf einen Schlüsselserver laden.

Verweise auf aktuelle Seite