Schlüsselgenerierung

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche
Edit l.png Dieser Artikel bedarf einer Aktualisierung. Edit.png

Nach der erfolgreichen Installation generiert man zuerst die Schlüssel. Für wirklich sicheren E-Mail Verkehr benötigt man zwei Schlüssel: Einen öffentlichen und einen privaten Schlüssel. Den öffentlichen Schlüssel sendet man seinen persönlichen bzw. geschäftlichen Kontakten zu. Freunde und Kollegen können mit Hilfe des öffentlichen Schlüssels die Texte und Dateien, die sie einem zuschicken möchten verschlüsseln. Nur man selbst ist jedoch in der Lage diese zu entschlüsseln; dazu benötigt man den privaten Schlüssel – den man logischerweise nicht öffentlich aufbewahren werden; dazu später mehr. Mit dem folgenden Befehl im Terminal generiert man die Schlüsselpaare; GnuPG fragt dann nach den zu verwendenden Algorithmen:

# gpg --gen-key

Man erhält folgendes Listing:

dunkelangst@Betriebssystem:~$ gpg --gen-key
gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
 This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: Verzeichnis `/home/dunkelangst/.gnupg' erzeugt
gpg: Neue Konfigurationsdatei `/home/dunkelangst/.gnupg/gpg.conf' erstellt
gpg: WARNUNG: Optionen in `/home/dunkelangst/.gnupg/gpg.conf' sind während dieses Laufes noch nicht wirksam
gpg: Schlüsselbund `/home/dunkelangst/.gnupg/secring.gpg' erstellt
 gpg: Schlüsselbund `/home/dunkelangst/.gnupg/pubring.gpg' erstellt
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
  (1) DSA and Elgamal (default)
  (2) DSA (nur signieren/beglaubigen)
  (5) RSA (nur signieren/beglaubigen)
Ihre Auswahl? 

Man sollte hier die Auswahl 1 Treffen und mit ENTER bestätigen.

Das DSA-Schlüsselpaar wird 1024 Bit haben.
ELG-E Schlüssel können zwischen 1024 und 4096 Bits lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 

Ein Schlüsselpaar mit 1024 Bit ist noch für die nächsten Jahrzehnte sicher. Dennoch gilt hier: Je länger der Schlüssel ist, desto sicherer ist er. Man sollte daher den größt möglichen Schlüssel auswählen - in diesem Fall also 4096 Bit länge. Nach dem man die gewünschte Länge eingegeben hat ist diese mit ENTER zu bestätigen.

Die verlangte Schlüssellänge beträgt 4096 Bit
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
         0 = Schlüssel verfällt nie
      <n>  = Schlüssel verfällt nach n Tagen
      <n>w = Schlüssel verfällt nach n Wochen
      <n>m = Schlüssel verfällt nach n Monaten
      <n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0)

Man legt hier also die Gültigkeitsdauer der Schlüssel fest. Evtl. kann es hier sinnvoll sein, den Schlüssel mit einem Verfallsdatum zu belegen. Da der hier erstellte Schlüssel jedoch für die nächsten Jahrzehnte sicher genug sein wird und der normale E-Mail Anwender nur ein einziges Mal ein Vertrauensnetzwerk für einen Schlüssel aufbauen möchte sollte man hier die Option 0 wählen und mit ENTER bestätigen. Es folgt die folgende Bestätigung:

Schlüssel verfällt nie
Ist dies richtig? (j/N)

Man bestätigt mit j und dann mit ENTER. Im nächsten Schritt erfragt GnuPG den Namen des Anwenders, die E-Mail Adresse für die der Schlüssel gültig ist (es muss keine E-Mail Adresse angegeben werden; es sollte aber auf jeden Fall die gültige E-Mail Adresse angegeben werden!) und einen Kommentar, der für jeden unverschlüsselt bleibt und somit für jeden sichtbar ist: Die jeweilige Eingabe ist mit ENTER zu bestätigen.

 You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and E-mail Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Ihr Name ("Vorname Nachname"): Dunkelangst Nachname
Email-Adresse: Beispielname@beispieldomain.de
Kommentar: Dies ist der Kommentar der unverschlüsselt für jeden sichtbar ist
Sie benutzen den Zeichensatz `utf-8'
Sie haben diese User-ID gewählt:
    "Dunkelangst Nachname (Dies ist der Kommentar der unverschlüsselt für jeden sichtbar ist) 
<Beispielname@beispieldomain.de>"
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? 

Sollte man sich oben vertippt haben, so kann man an dieser Stelle die Eingaben wiederholen. Sofern alle Angaben stimmen, gibt man im Terminal f ein und Bestätigt mit ENTER.

Nun wird man aufgefordert einen Passphrase einzugeben. Der Unterschied zu einem normalen Passwort ist der, dass ein Passwort nur bis zu 12 Zeichen lang sein darf, während ein Passphrase ein beliebig langer Satz sein kann. Egal was man eingibt, es sollte sicher sein. Sonderzeichen wie etwa §,$,%,&,/ etc. sind genauso wie absichtliche Rechtschreibfehler sowie Groß- und Kleinschreibung sehr willkommen. Wichtig ist, dass man sich die Eingabe sehr gut merken kann, denn man wird immer wieder aufgefordert, diese Eingaben einzugeben.

Die eingegeben Zeichen werden während der Eingabe nicht angezeigt, um ein ausspähen der Daten durch dritte entgegen zu wirken. Die Eingabe des Passprase wird mit ENTER bestätigt und noch einmal wiederholt um Tippfehler zu vermeiden. Diese Eingabe ist dann umgehend erneut mit ENTER zu bestätigen.

Nun beginnt der Prozess der eigentlichen Schlüsselerzeugung. Um zu verhindern, dass mehrere Menschen den selben Schlüssel bekommen benötigt GnuPG eine ganze Menge an Zufallsbits. Diese werden standardmäßig mit dem Device /dev/random erzeugt. Dieses Device arbeitet jedoch zu langsam um diese Zufallswerte mit der benötigten Geschwindigkeit zu erzeugen; aus diesem Grund bittet GnuPG einen um Mithilfe:

Wir müssen eine ganze Menge Zufallswerte erzeugen.  Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
+++++++++++++.+++++.+++++++++++++++.++++++++++.++++++++++++++++++++..+++
+++++++.+++++.++++++++++.+++++.+++++++++++++++++++++++++..++++++++
+++++++...............>+++++......................<.+++++....+++++
Es sind nicht genügend Zufallswerte vorhanden.  Bitte führen Sie andere
Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!
(Es werden noch 185 Byte benötigt.)
Wir müssen eine ganze Menge Zufallswerte erzeugen.  Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
+++++++++++++++++++++++++...+++++..+++++.+++++.+++++..++++++++++.+++
++...++++++++++..++++++++++..+++++.++++++++++++++++++++++++++++++.++
+++.+++++..+++++..++++++++++++++++++++..+++++.+++++......+++++>...++
++++++++.+++++.+++++++++++++++.+++++...+++++++++++++++>+++++>+++++>+
++++>...+++++....>+++++...<..+++++......................>+++++.......
+++++^^^

Am Ende ist es geschafft: GnuPG gibt die Schlüssel ID des neuen Schlüssels aus:

gpg: /home/helmut/.gnupg/trustdb.gpg: trust-db erzeugt
gpg: Schlüssel C8C307FB ist als uneingeschränkt vertrauenswürdig gekennzeichnet
Öffentlichen und geheimen Schlüssel erzeugt und signiert.
gpg: "Trust-DB" wird überprüft
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell
gpg: Tiefe: 0 gültig:   1 signiert:   0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u
pub   1024D/C8C307FB 2007-09-10
      Schl.-Fingerabdruck = 39C9 509F 05FF 28C2 4071  8D68 A667 4ACE C8C3 07FB
uid                  Dunkelangst Nachname (Dies ist der Kommentar der unverschlüsselt für jeden sichtbar ist)
<Beispielname@beispieldomain.de>
sub   4096g/3B20B90D 2007-09-10
dunkelangst@Betriebssystem:~$

Der Wert 1024D/C8C307FB 2007-09-02 bezeichnet den 1024 Bit langen DSA-Schlüssels auch öffentlicher Schlüssel genannt.

Der Fingerabdruck ist dabei folgende Angabe: 39C9 509F 05FF 28C2 4071 8D68 A667 4ACE C8C3 07FB

Unter uid befinden sich die Angaben, die weiter oben eingegeben wurden, also der Vorname, Nachname, E-Mail Adresse und der Kommentar.

Der Wert 4096g/3B20B90D ist der 4096 Bit lange private Schlüssel (auch subkey genannt).

1 Revocation Certificate

Sollte ein Angreifer jemals Zugang zu der Datei mit dem Privaten Schlüssel kommen, so kann er lediglich den Schlüssel löschen; er kann jedenfalls keine Verschlüsselten E-Mails und auch keine verschlüsselten Daten entschlüsseln, da er das Passphrase nicht kennt. Die gelöschten Schlüssel kann man aus einer Sicherheitskopie (dazu in weiteren Artikeln mehr) wieder herstellen, jedoch ist das Vertrauen in die Privaten Schlüssel verloren gegangen.

Man muss nun allen Bekannten den Verlust mitteilen. Dazu erstellt man sich, direkt nach dem man sich den Schlüssel generiert hat, das Revocation Certificate. Dieses Zertifikat dient dazu den Schlüssel zurück zu rufen. Man erstellt dies mit dem folgenden Befehl im Terminal:

# gpg --gen-revoke key-ID

Die key-ID kann z.B. der Name, die E-Mail Adresse oder der Kommentar des Schlüssels sein. Natürlich kann man den Schlüssel auch direkt angeben, also in diesem Beispiel: 4096g/3B20B90D. Das Resultat im Terminal sieht dann wie folgt aus (fett dargestellte Zeichen sind Eingaben die mit ENTER bestätigt werden):

Dunkelangst Nachname (Dies ist der Kommentar der unverschlüsselt für jeden sichtbar ist)
<Beispielname@beispieldomain.de>
sub   4096g/3B20B90D 2007-09-10
Ein Widerrufszertifikat für diesen Schlüssel erzeugen? (y/N) y
Grund für den Widerruf:
 0 = Kein Grund angegeben
 1 = Hinweis: Dieser Schlüssel ist nicht mehr sicher
 2 = Schlüssel ist überholt
 3 = Schlüssel wird nicht mehr benutzt
 Q = Abbruch
(Wahrscheinlich möchten Sie hier 1 auswählen)
Ihre Auswahl? 3
Geben Sie eine optionale Beschreibung ein. Beenden mit einer leeren Zeile:
> Eine optionale Beschreibung ist nicht notwendig, kann aber angegeben werden.
Grund für Widerruf: Schlüssel wird nicht mehr benutzt
(Keine Beschreibung angegeben)
Ist das richtig? (y/N) y
Sie benötigen einen Passwortsatz, um den geheimen Schlüssel für
Nutzer: "Dunkelangst Nachname (Dies ist der Kommentar der unverschlüsselt für jeden sichtbar ist)
<Beispielname@beispieldomain.de>" zu entsperren
1024-Bit DSA Schlüssel, ID C8C307FB, erstellt 2007-09-10
gpg: GPG-Agent ist in dieser Sitzung nicht vorhanden
Ausgabe mit ASCII Hülle erzwungen
Widerrufszertifikat wurde erzeugt.

Dabei gibt GnuPG auch gleich folgenden Hinweis, an den man sich definitiv halten sollte:

Bitte speichern Sie es auf einem Medium welches sie wegschliessen
können; falls Mallory (ein Angreifer) Zugang zu diesem Zertifikat
erhält, kann erIhren Schlüssel unbrauchbar machen.  Es wäre klug,
dieses Widerrufszertifikat auch auszudrucken und sicher aufzubewahren,
falls das ursprüngliche Mediumnicht mehr lesbar ist. Aber Obacht: Das
Drucksystem kann unter Umständen eine Kopie anderen Nutzern zugänglich
machen.

Dieser Text bezieht sich dabei Ausschließlich auf den folgenden Inhalt:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: A revocation certificate should follow
lLHJFezfuerseSEWfufZzdjvKHOOzFTEWeeswawJOu09uLNkjbjGUZFUVjviGI/U
JLkjJOoHDRseqFzvbuhoHOONbizFFzuvGCFX
=Gdzt
-----END PGP PUBLIC KEY BLOCK-----

2 Lizenz

Diese Seite steht unter dieser Creative Commons Lizenz und wird gemäß Lizenz Vorschrift Ordnungsgemäß zu dem Original Beitrag verlinkt.

Zurück zur Übersichtsseite von GnuPG

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge