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.