Sie sind hier

Eigener GnuPG Key

Einen eigenen Schluessel anzulegen ist eigentlich relativ leicht. Man sollte dazu aber bedenken, dass er eigentlich aus 3 Komponenten besteht:

Privater Schluessel
Das ist eine lange Zeichenkette, die man nur selbst zur Verfuegung hat. Sie wird normalerweise auf dem eigenen Computer abgespeichert.
Oeffentlicher Schluessel
Den brauchen andere, um Nachrichten zu verschluesseln, die nur mit dem privaten Schluessel gelesen werden koennen und zum verifizieren von signierten Nachrichten. Er sollte moeglichst weit verteilt werden.
Passphrase / Mantra
Die muss man sich selbst merken. Nur in Kombination mit ihr kann man den privaten Schluessel verwenden.

Die Passphrase sollte sehr lang und kompliziert sein. Am Besten nimmt man einen ganzen Satz, der keinen Sinn ergibt, vertauscht Buchstaben, ersetzt sie durch andere und Sonderzeichen, benutzt zufaellige Gross- und Kleinschreibung, etc. Dadurch erhaelt man ziemlich sichere Passwoerter. Eine Laenge zwischen 15 und 20 Zeichen ist sicherlich nicht uebertrieben.

Ich moechte hier zuerst auf Linux und Unix Clients eingehen, da ich damit die meiste Erfahrung habe.

Nach der Installation von gpg benoetigt man zuerst ein paar Daten, um den Schluessel zu erstellen. Diese sind:

  • Name (echter Name, kein Pseudonym)
  • Emailadresse (moeglichst die, die man meist zur Kommunikation verwendet)
  • Kommentar (falls man noch weitere Informationen hinzufuegen will
  • Passphrase
  • Eine Session zum erstellen laeuft folgendermassen ab:

    [widi@snoopy ~]$ gpg --gen-key
    gpg (GnuPG) 1.4.5; 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.
    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? 1
    DSA keypair will have 1024 bits.
    ELG-E keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048) 2048
    Die verlangte Schlüssellänge beträgt 2048 Bit
    Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
    0 = Schlüssel verfällt nie
    = Schlüssel verfällt nach n Tagen
    w = Schlüssel verfällt nach n Wochen
    m = Schlüssel verfällt nach n Monaten
    y = Schlüssel verfällt nach n Jahren
    Wie lange bleibt der Schlüssel gültig? (0) 0
    Schlüssel verfällt nie
    Ist dies richtig? (j/N) j
    You need a user ID to identify your key; the software constructs the user ID
    from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) "
    Ihr Name ("Vorname Nachname"): Thomas Widhalm
    Email-Adresse: widhalmt@widhalm.or.at
    Kommentar: Nur zu Demonstrationszwecken
    Sie haben diese User-ID gewählt:
    "Thomas Widhalm (Nur zu Demonstrationszwecken) "
    Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? f
    Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.
    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.
    ++++++++++++++++++++++++++++++++++++++++.+++++..++++++++++..++++++++++++++++++++++++++++++..+++++++++++++++.+++++.++++++++++++++++++++.+++++.+++++...........+++++
    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.
    +++++++++++++++.+++++.++++++++++.+++++.+++++++++++++++.+++++.+++++.+++++++++++++++..+++++++++++++++++++++++++++++++++++.+++++.++++++++++++++++++++++++++++++>++++++++++...>...+++++<+++++....................................................................................................>.+++++..........<.+++++.+++++^^^
    gpg: key 53EC2A45 marked as ultimately trusted
    Öffentlichen und geheimen Schlüssel erzeugt und signiert.
    gpg: "Trust-DB" wird überprüft
    gpg: public key FAEBD5FC is 37319305 seconds newer than the signature
    gpg: public key FAEBD5FC is 37319305 seconds newer than the signature
    gpg: public key FAEBD5FC is 37319134 seconds newer than the signature
    gpg: 3 marginal-needed, 1 complete-needed, classic Vertrauensmodell
    gpg: depth: 0 valid: 4 signed: 35 trust: 0-, 0q, 0n, 0m, 0f, 4u
    gpg: depth: 1 valid: 35 signed: 27 trust: 0-, 0q, 0n, 3m, 32f, 0u
    gpg: public key FAEBD5FC is 37319305 seconds newer than the signature
    gpg: public key FAEBD5FC is 37319305 seconds newer than the signature
    gpg: depth: 2 valid: 20 signed: 12 trust: 0-, 1q, 0n, 5m, 14f, 0u
    gpg: depth: 3 valid: 2 signed: 0 trust: 0-, 1q, 0n, 1m, 0f, 0u
    gpg: nächste "Trust-DB"-Pflichtüberprüfung am 2006-11-23
    pub 1024D/53EC2A45 2006-08-04
    Schl.-Fingerabdruck = E5F8 53DB B4E6 74F8 F881 D690 9914 CFDF 53EC 2A45
    uid Thomas Widhalm (Nur zu Demonstrationszwecken)
    sub 2048g/8F14036B 2006-08-04
    [widi@snoopy ~]$

    Man sollte die zu gebenden Antworten gut erkennen koennen. Diese Standardwerte werden fuer die meisten User passen. Was sie im einzelnen bedeuten, moechte ich in einem spaeteren Posting erlaeutern.
    Wichtig sind dabei vor allem die letzen 4 Zeilen. Dort sieht man die eigene Schluessel ID, mit der man diesen Schluessel finden kann. Aussrdem den Fingerabdruck, den man zum verifizieren benoetigt.
    Den Schluessel sollte man dann noch veroeffentlichen und ein Rueckrufzertifikat erstellen. Dieses Rueckrufzertifikat erlaubt es, den Schluessel ungueltig zu machen, falls man einmal die Passphrase vergessen sollte. Deshalb ist es auch sehr wichtig, dieses Rueckrufzertifikat ausserhalb des Rechners aufzubewahren, da damit jeder auch ohne Passphrase den eigenen Schluessel ungueltig machen kann.
    Um alle 3 Schritte zu erledigen, sind folgende Befehle noetig:

    gpg --gen-key
    gpg --send-key [Eigene Schluessel ID]
    gpg --gen-revoke > revoke.asc

    Damit erstellt man den Schluessel, veroeffentlicht den oeffentlichen Schluessel auf einen sogenannten Keyserver und generiert auch gleich ein Rueckrufzertifikat.

    Das Rueckrufzertifikat sollte man sich 1. ausdrucken und 2. auf einen externen Datentraeger sichern und wegsperren. Mein Beispiel erstellt dazu die Daten revoke.asc

    Die Schluessel selbst werden in .gnupg im home des aktuellen Users abgespeichert.

    Was man mit diesem Schluessel dann anstellen kann, werde ich in spaeteren Postings erlaeutern.

    Die meisten aktuellen Mailclients unter Linux und Unix ermoeglichen aber Out-of-the Box das angeben eines gpg Keys. Fuer Thunderbird gibt es dafuer die Erweiterung enigmail.

Neuen Kommentar schreiben