GPG-Schlüsselverwaltung
Dieses Dokument erklärt detailliert, wie Sie mithilfe gängiger Fedora-Dienstprogramme einen GPG-Schlüssel erhalten. Es enthält außerdem Informationen zur Verwaltung Ihres Schlüssels als Fedora-Mitwirkender.
GPG-Schlüssel erstellen
GPG-Schlüssel in der GNOME-Arbeitsumgebung erstellen
Installieren Sie das Dienstprogramm Seahorse, das die Verwaltung von GPG-Schlüsseln vereinfacht.
-
Wählen Sie .
-
Klicken Sie auf den _Suchen_Knopf und geben Sie den Namen „Seahorse“ ein.
-
Klicken Sie auf das Seahorse-Paket und anschließend auf den Knopf Installieren, um die Software hinzuzufügen. Alternativ können Sie Seahorse auch über die Befehlszeile mit
sudo dnf install seahorseinstallieren.
Einen Schlüssel erstellen:
-
Wählen Sie im , wodurch die Anwendung Seahorse gestartet wird.
-
Klicken Sie in der oberen linken Ecke auf .
-
Geben Sie Ihren vollständigen Namen, Ihre E-Mail-Adresse und optional einen Kommentar ein, der beschreibt, wer Sie sind (z.B.: John C. Smith, jsmith@example.com, The Man).
-
Klicken Sie auf Erstellen.
-
Wählen Sie im angezeigten Dialogfeld eine sichere, aber auch leicht zu merkende Passphrase.
-
Klicken Sie auf OK und der Schlüssel wird erstellt.
Siehe [backup-gpg-keys-gnome].
Erstellen von GPG-Schlüsseln in der KDE-Arbeitsumgebung
-
Starten Sie das Programm KGpg über das Hauptmenü, indem Sie auswählen. Wenn Sie KGpg vorher noch nie verwendet haben, führt Sie das Programm durch den Prozess der Erstellung Ihres eigenen GPG-Schlüsselpaares.
-
Geben Sie im daraufhin erscheinenden Dialog Ihren Namen, Ihre E-Mail-Adresse und optional einen Kommentar ein, um ein neues Schlüsselpaar zu erstellen. Sie können außerdem die Gültigkeitsdauer Ihres Schlüssels sowie die Schlüsselstärke (Anzahl der Bits) und die verwendeten Algorithmen festlegen.
-
Geben Sie im nächsten Dialogfeld Ihre Passphrase ein. Anschließend wird Ihr Schlüssel im Hauptfenster von KGpg angezeigt.
Um Ihre GPG-Schlüssel-ID zu finden, schauen Sie in die ID Spalte neben dem neu erstellten Schlüssel. In den meisten Fällen sollten Sie, wenn Sie nach der Schlüssel-ID gefragt werden, 0x zu den letzten 8 Zeichen der Schlüssel-ID voranstellen, also beispielsweise „0x6789ABCD“.
Erstellen von GPG-Schlüsseln über die Befehlszeile
-
Verwenden Sie den folgenden Shell-Befehl:
$ gpg --full-generate-keyDieser Befehl erzeugt ein Schlüsselpaar, bestehend aus einem öffentlichen und einem privaten Schlüssel. Andere verwenden Ihren öffentlichen Schlüssel, um Ihre Kommunikation zu authentifizieren und/oder zu entschlüsseln. Verteilen Sie Ihren öffentlichen Schlüssel so weit wie möglich, insbesondere an Personen, von denen Sie wissen, dass sie authentische Nachrichten von Ihnen erhalten möchten, beispielsweise auf einer Mailingliste.
-
Drücken Sie die Eingabetaste, um bei Bedarf einen Standardwert zuzuweisen. Im ersten Schritt werden Sie aufgefordert, die gewünschte Schlüsselart auszuwählen:
Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) (14) Existing key from card Your selection?In fast allen Fällen ist die Standardeinstellung die richtige Wahl. Ein RSA/RSA-Schlüssel ermöglicht es Ihnen nicht nur, Nachrichten zu signieren, sondern auch Dateien zu verschlüsseln.
-
Wählen Sie die Schlüssellänge:
RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (3072)Auch hier gilt: Die Standardeinstellung ist für fast alle Benutzer ausreichend und stellt ein extrem hohes Sicherheitsniveau dar.
-
Legen Sie ein Ablaufdatum für den Schlüssel fest. Es empfiehlt sich, ein Ablaufdatum anzugeben, anstatt die Standardeinstellung none zu verwenden. Wenn beispielsweise die E-Mail-Adresse des Schlüssels ungültig wird, erinnert ein Ablaufdatum andere daran, den öffentlichen Schlüssel nicht mehr zu verwenden.
Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0)Die Eingabe des Wertes
1ybeispielsweise macht den Schlüssel ein Jahr lang gültig. (Sie können dieses Ablaufdatum nach der Schlüsselgenerierung ändern, falls Sie Ihre Meinung ändern.) Bevor das Programmgpgnach Signaturinformationen fragt, erscheint die folgende Eingabeaufforderung:Is this correct (y/N)? -
Drücken Sie
y, um den Vorgang abzuschließen. -
Geben Sie Ihren Namen und Ihre E-Mail-Adresse ein. Denken Sie daran, dass es bei diesem Vorgang um Ihre Authentifizierung als echte Person geht. Geben Sie daher unbedingt Ihren richtigen Namen an. Verwenden Sie keine Pseudonyme oder Benutzernamen, da diese Ihre Identität verschleiern.
-
Geben Sie Ihre echte E-Mail-Adresse für Ihren GPG-Schlüssel ein. Wenn Sie eine ungültige E-Mail-Adresse wählen, ist es für andere schwieriger, Ihren öffentlichen Schlüssel zu finden. Dies erschwert die Authentifizierung Ihrer Kommunikation. Wenn Sie diesen GPG-Schlüssel beispielsweise für die Vorstellung auf einer Mailingliste verwenden, geben Sie die E-Mail-Adresse an, die Sie auf dieser Liste verwenden.
-
Nutzen Sie das Kommentarfeld, um Aliase oder andere Informationen hinzuzufügen. (Manche verwenden unterschiedliche Schlüssel für unterschiedliche Zwecke und kennzeichnen jeden Schlüssel mit einem Kommentar, z. B. „Office“ oder „Open-Source-Projekte“.)
-
Geben Sie bei der Bestätigungsabfrage den Buchstaben
Oein, um fortzufahren, wenn alle Eingaben korrekt sind, oder nutzen Sie die anderen Optionen, um etwaige Probleme zu beheben. -
Geben Sie eine Passphrase für Ihren geheimen Schlüssel ein. Das Programm
gpgfordert Sie auf, Ihre Passphrase zweimal einzugeben, um sicherzustellen, dass Sie keine Tippfehler gemacht haben.
Abschließend generiert gpg Zufallsdaten, um Ihren Schlüssel so einzigartig wie möglich zu gestalten. Bewegen Sie währenddessen Ihre Maus, geben Sie zufällige Tasten ein oder führen Sie andere Systemaktionen aus, um den Vorgang zu beschleunigen. Sobald dieser Schritt abgeschlossen ist, sind Ihre Schlüssel fertig und einsatzbereit:
pub rsa3072 2021-02-09 [SC] [expires: 2022-02-09]
3782CBB60147010B330523DD26FBCC7836BF353A
uid John Doe (Fedora Docs) <johndoe@example.com>
sub rsa3072 2021-02-09 [E] [expires: 2022-02-09]
Der Schlüssel-Fingerabdruck ist eine Kurzform der Signatur Ihres Schlüssels. Er ermöglicht es Ihnen, anderen zu bestätigen, dass sie Ihren tatsächlichen öffentlichen Schlüssel unverfälscht erhalten haben. Sie müssen diesen Fingerabdruck nicht notieren. Um den Fingerabdruck jederzeit anzuzeigen, verwenden Sie folgenden Befehl und ersetzen Sie dabei Ihre E-Mail-Adresse:
$ gpg --fingerprint johndoe@example.com
Ihr Schlüssel-Fingerabdruck ist ein 160-Bit-SHA-1-Hash des Schlüssels, dargestellt als 40-stellige Hexadezimalzeichenkette. Obwohl kürzer als der öffentliche Schlüssel selbst, ist er dennoch etwas unhandlich. Daher wird üblicherweise eine kürzere GPG-Schlüssel-ID verwendet, beispielsweise beim Nachschlagen eines Schlüssels auf einem Schlüsselserver. Die GPG-Schlüssel-ID besteht aus einer kleinen Anzahl von Hexadezimalziffern, die aus den Zeichen der niederwertigen Bits des Fingerabdrucks stammen. Die „kurze“ GPG-Schlüssel-ID umfasst die letzten 8 Zeichen des hexadezimalen Fingerabdrucks, also die letzten 32 Bits. Kurze Schlüssel sind unsicher und werden nicht mehr empfohlen, da Kollisionen auftreten können, sodass der gefälschte Schlüssel eines Angreifers dieselbe kurze ID wie Ihr Schlüssel hat. Wenn Sie also jemandem die kurze GPG-Schlüssel-ID Ihres Schlüssels geben, kann diese Person stattdessen den Schlüssel des Angreifers von einem Schlüsselserver abrufen.
Aus diesem Grund empfiehlt sich die Verwendung der „langen“ GPG-Schlüssel-ID, die aus den letzten 16 Zeichen des hexadezimalen Fingerabdrucks Ihres Schlüssels besteht. Diese repräsentiert die 64 niederwertigen Bits Ihres Fingerabdrucks, was für Kollisionsresistenz ausreicht. Das Programm gpg erleichtert Ihnen das Finden der langen GPG-Schlüssel-ID Ihres Schlüssels:
$ gpg --list-keys --fingerprint --keyid-format 0xlong johndoe@example.com
Das Format 0xlong stellt der Schlüssel-ID ein "0x" voran, um deutlich zu machen, dass es sich um eine Folge von Hexadezimalziffern handelt; dies gilt als bewährte Vorgehensweise. Die Ausgabe des obigen Befehls sieht folgendermaßen aus:
pub rsa3072/0x26FBCC7836BF353A 2021-02-09 [SC] [expires: 2022-02-09]
Key fingerprint = 3782 CBB6 0147 010B 3305 23DD 26FB CC78 36BF 353A
uid John Doe (Fedora Docs) <johndoe@example.com>
sub rsa3072/0xF834D62672E88A6F 2021-02-09 [E] [expires: 2022-02-09]
Die erste Zeile (beginnend mit „pub“) gibt den Schlüsseltyp (3072-Bit-RSA) und die lange Schlüssel-ID (0x26FBCC7836BF353A) an. Diese entspricht den letzten 16 Zeichen des Schlüssel-Fingerabdrucks in der Ausgabe.
Schauen Sie nun in Erstellen einer Schlüsselsicherung über die Befehlszeile. Sichern Sie unbedingt Ihre Widerrufsschlüssel für alle aktiven Schlüssel, da dies den Widerruf von Schlüsseln im Falle eines Verlusts der Passphrase oder einer Kompromittierung des Schlüssels ermöglicht.
Eine Sicherung erstellen
Erstellen einer Schlüsselsicherung in der GNOME-Arbeitsumgebung
-
Klicken Sie mit der rechten Maustaste auf Ihren Schlüssel und wählen Sie Eigenschaften.
-
Wählen Sie die Registerkarte Details und anschließend „In Datei exportieren“ → „Geheimen Schlüssel exportieren“.
-
Wählen Sie einen Zieldateinamen aus und klicken Sie auf Exportieren.
Bewahren Sie die Kopie an einem sicheren Ort auf, z.B. in einem gesperrten Container.
Erstellen einer Schlüsselsicherung in der KDE-Arbeitsumgebung
-
Klicken Sie mit der rechten Maustaste auf Ihren Schlüssel und wählen Sie Geheimen Schlüssel exportieren.
-
Klicken Sie auf Weiter, um im Bestätigungsdialog fortzufahren.
-
Wählen Sie einen Namen für die Zieldatei.
-
Klicken Sie auf Speichern.
Bewahren Sie die Kopie an einem sicheren Ort auf, z.B. in einem gesperrten Container.
Erstellen einer Schlüsselsicherung über die Befehlszeile
Verwenden Sie den folgenden Befehl, um die Sicherung zu erstellen, die Sie anschließend an einen Ort Ihrer Wahl kopieren können:
$ gpg --export-secret-keys --armor johndoe@example.com > johndoe-privkey.asc
Bewahren Sie die Kopie an einem sicheren Ort auf, z.B. in einem gesperrten Container.
Ihren öffentlichen Schlüssel verfügbar machen
Wenn Sie Ihren öffentlichen Schlüssel anderen zugänglich machen, können diese die von Ihnen signierten Nachrichten überprüfen oder Ihnen gegebenenfalls verschlüsselte Nachrichten senden. Dieser Vorgang wird auch als Exportieren bezeichnet.
Siehe Manuelles Kopieren eines öffentlichen Schlüssels in eine Datei, falls Sie ihn per E-Mail an Einzelpersonen oder Gruppen versenden wollen.
Exportieren eines GPG-Schlüssels in der GNOME-Arbeitsumgebung
-
Klicken Sie auf menu:[Schlüssel abgleichen und veröffentlichen …]
-
Klicken Sie auf Schlüsselserver.
-
Wählen Sie ldap://keyserver.pgp.com im Kombinationsfeld Schlüssel veröffentlichen auf.
-
Klicken Sie auf Schließen.
-
Klicken Sie auf Abgleichen.
Siehe nun Schutz Ihres geheimen Schlüssels.
Exportieren eines GPG-Schlüssels in der KDE-Arbeitsumgebung
Nachdem Ihr Schlüssel generiert wurde, können Sie ihn auf einen öffentlichen Schlüsselserver exportieren
-
Klicken Sie mit der rechten Maustaste auf den Schlüssel im Hauptfenster.
-
Wählen Sie Öffentliche Schlüssel exportieren.
-
Von dort aus können Sie Ihren öffentlichen Schlüssel in die Zwischenablage, als ASCII-Datei, per E-Mail oder direkt auf einen Schlüsselserver exportieren.
-
Exportieren Sie Ihren öffentlichen Schlüssel auf den Standard-Schlüsselserver.
Siehe nun Schutz Ihres geheimen Schlüssels.
Exportieren eines GPG-Schlüssels über die Befehlszeile
Verwenden Sie folgenden Befehl, um Ihren Schlüssel an einen öffentlichen Schlüsselserver zu senden:
$ gpg --send-key SCHLÜSSELNAME
Ersetzen Sie KEYNAME durch die Schlüssel-ID oder den Fingerabdruck Ihres primären Schlüsselpaares. Dadurch wird Ihr Schlüssel an den Standard-Schlüsselserver von GnuPG gesendet. Falls Sie einen anderen Server bevorzugen, verwenden Sie:
$ gpg --keyserver hkp://pgp.mit.edu --send-key SCHLÜSSELNAME
Ersetzen Sie pgp.mit.edu durch Ihren bevorzugten Server.
Siehe nun Schutz Ihres geheimen Schlüssels.
Manuelles Kopieren eines öffentlichen Schlüssels
Wenn Sie jemandem eine Dateikopie Ihres Schlüssels geben oder senden möchten, verwenden Sie diesen Befehl, um ihn in eine ASCII-Textdatei zu schreiben:
$ gpg --export --armor johndoe@example.com > johndoe-pubkey.asc
Siehe nun Schutz Ihres geheimen Schlüssels.
Schutz Ihres geheimen Schlüssels
Behandeln Sie Ihren geheimen Schlüssel wie jedes wichtige Dokument oder jeden physischen Schlüssel. (Manche tragen ihren geheimen Schlüssel immer bei sich, entweder auf einem Magnetstreifen oder einem USB-Stick.) Wenn Sie Ihren geheimen Schlüssel verlieren, können Sie keine Nachrichten mehr signieren oder verschlüsselte Nachrichten öffnen, die Ihnen zugeschickt wurden.
Optionen für Hardware-Token
Wenn Sie die obigen Schritte befolgt haben, besitzen Sie einen geheimen Schlüssel in Form einer gewöhnlichen Datei. Eine sicherere Methode als die Speicherung des Schlüssels auf der Festplatte ist die Verwendung eines Hardware-Tokens.
Es gibt verschiedene Optionen auf dem Markt, zum Beispiel den YubiKey. Achten Sie auf einen Token mit OpenPGP-Unterstützung. Eine Anleitung zum Erstellen eines Schlüssels mit Offline-Datensicherung und zur Verwendung des Tokens für den Online-Zugriff finden Sie in diesem Blogbeitrag.
GPG-Schlüssel widerrufen
Wenn Sie einen Schlüssel widerrufen, verhindern Sie dessen öffentliche Nutzung. Dies sollten Sie nur tun, wenn der Schlüssel kompromittiert oder verloren gegangen ist oder Sie die Passphrase vergessen haben.
Ein Widerrufzertifikat erzeugen
Beim Erstellen des Schlüsselpaares sollten Sie auch ein Schlüsselwiderrufszertifikat erstellen. Mit diesem Zertifikat wird anderen mitgeteilt, dass der öffentliche Schlüssel nicht mehr verwendet werden darf. Benutzer können einen widerrufenen öffentlichen Schlüssel weiterhin zur Überprüfung alter Signaturen verwenden, jedoch nicht mehr zur Verschlüsselung von Nachrichten. Solange Sie noch Zugriff auf den privaten Schlüssel haben, können zuvor empfangene Nachrichten weiterhin entschlüsselt werden. Wenn Sie die Passphrase vergessen, können Sie mit diesem Schlüssel verschlüsselte Nachrichten nicht mehr entschlüsseln.
$ gpg --output revoke.asc --gen-revoke SCHLÜSSELNAME
Wenn Sie den Schalter --output nicht verwenden, wird das Zertifikat auf der Standardausgabe ausgegeben.
Ersetzen Sie KEYNAME entweder durch die Schlüssel-ID Ihres primären Schlüsselpaares oder durch einen beliebigen Teil Ihrer Benutzer-ID, der Ihr Schlüsselpaar identifiziert. Sobald Sie das Zertifikat (die Datei revoke.asc) erstellt haben, sollten Sie es schützen. Wird es versehentlich oder durch böswillige Handlungen Dritter veröffentlicht, wird der öffentliche Schlüssel unbrauchbar. Es empfiehlt sich, das Widerrufszertifikat auf einem sicheren Datenträger zu speichern oder eine Kopie auszudrucken und sicher aufzubewahren, um die Vertraulichkeit zu wahren.
Einen Schlüssel widerrufen
-
Den Schlüssel lokal widerrufen:
$ gpg --import revoke.ascSobald Sie den Schlüssel lokal widerrufen haben, müssen Sie das widerrufene Zertifikat an einen Schlüsselserver senden, unabhängig davon, ob der Schlüssel ursprünglich auf diese Weise ausgegeben wurde. Die Verteilung über einen Server hilft anderen Benutzern, schnell zu erkennen, dass der Schlüssel kompromittiert wurde.
-
Exportieren Sie mit folgendem Befehl auf einen Schlüsselserver:
$ gpg --keyserver hkp://pgp.mit.edu --send-keys SCHLÜSSELNAMEErsetzen Sie
KEYNAMEentweder durch die Schlüssel-ID Ihres primären Schlüsselpaares oder durch einen beliebigen Teil einer Benutzer-ID, der Ihr Schlüsselpaar identifiziert.
Weitere Ressourcen
Haben Sie einen Tippfehler entdeckt, fehlt etwas, ist es veraltet oder gibt es sonst noch etwas, das verbessert werden kann? Bearbeiten Sie dieses Dokument im Git-Repository von quick-docs.
Want to help? Learn how to contribute to Fedora Docs ›