Montag, 14. Januar 2008

PGP/GPG - Schlüssel-Backup

Als Ergänzung zum ersten Artikel zur Verwendung von PGP (oder genauer gesagt GnuPG) am Mac möchte ich heute eine Anleitung dazu geben, wie man ein Backup der Schlüssel beziehungsweise des ganzen Schlüsselrings erstellt.

Im vorherigen Beitrag wurde das meiste über schöne grafische Benutzeroberflächen erledigt. Heute werden wir aber leider nicht im die Benutzung des Terminals herum kommen. Aber keine Angst - alles ist genau beschrieben und es tut auch nicht weh :)

Das Allround-Backup

Allround-Backup erstellen

Alle Daten des Schlüsselrings werden in dem Verzeichnis ".gnupg" im eigenen Benutzerverzeichnis gespeichert. Der Punkt vor dem Verzeichnisnamen bedeutet, dass dieses Verzeichnis versteckt ist und somit standardmäßig nicht im Finder zu sehen ist. Möchte man seinen gesamten Schlüsselring inklusive der Konfiguration sichern, dann kann man dies wie folgt tun:
  1. Terminal öffnen (Programme -> Dienstprogramme)
  2. Folgendes eingeben (alles in einer Zeile):
    cp -r .gnupg GnuPG-Backup

Befehl bzw. OptionBedeutung
cpkopieren
-rrekursiv
.gnupgdas wollen wir sichern
GnuPG-Backupdahin soll gesichert werden

Das war's schon. Das Backup wurde erstellt.

Nun findet man im eigenen Benutzerverzeichnis einen neuen Ordner "GnuPG-Backup". In diesem Ordner befinden sich folgende Dateien:

DateinameBedeutung
gpg.confKonfigurationsdatei
pubring.gpgIn dieser Datei befinden sich alle öffentliche Schlüssel - inklusive dem eigenen.
random_seedIn dieser Datei befindet sich ein Pool von Zufallswerten, die bei der Schlüsselgenerierung verwendet werden.
secring.gpgIn dieser Datei befinden sich die eigenen privaten Schlüssel.
trustdb.gpgIn dieser Datei befindet sich die Vertrauens-Datenbank.

In dem Ordner "GnuPG-Backup" sollte die Datei "random_seed" unbedingt gelöscht werden. Nur so kann sichergestellt werden, dass eventuell neu erzeugte Schlüssel auch wirklich einmalig sind. Die Möglichkeit einer Dopplung ist zwar sehr gering, aber sicher ist sicher.

Den Ordner "GnuPG-Backup" kopiert man nun am besten auf einen USB-Stick und verwahrt ihn an einem sicheren Ort (also ich meine wirklich sicheren ... nicht nur unter dem Kopfkissen) auf. Den Ordner "GnuPG-Backup" der sich im eigenen Benutzerverzeichnis befindet muss man nun wieder löschen. Nicht vergessen! Ganz wichtig!

Allround-Backup wiederherstellen

Wenn es nun nötig sein sollte, dass eben erstellte Backup wiederherzustellen, dann kann man dies wie folgt tun:
  1. Den Backup-Ordner (GnuPG-Backup) vom USB-Stick ins eigene Benutzerverzeichnis kopieren.
  2. Terminal öffnen (Programme -> Dienstprogramme)
  3. Folgendes eingeben (alles in einer Zeile):
    cp -r GnuPG-Backup/* .gnupg/

Befehl bzw. OptionenBedeutung
cpkopieren
-rrekursiv
GnuPG-Backup/*das was wiederhergestellt werden soll
.gnupgdahin soll wiederhergestellt werden

Einzelne Schlüssel sichern

Möchte man nun nicht den gesamten Schlüsselring sichern, sondern nur ein Backup einzelner Schlüssel erzeugen, dann kann man dies wie folgt tun:

Zunächst listen wir mal alle privaten Schlüssel auf ... denn wir benötigen ein paar Informationen. Eine Liste aller privaten Schlüssel erhält man, wenn man im Terminal (Programme -> Dienstprogramme) folgenden Befehlt eingibt:
gpg --list-secret-keys

Als Ergebnis erhält man dann eine Liste aller privaten Schlüssel. Dies kann zum Beispiel so aussehen:
dirk-eineckes-computer:~ dirkeinecke$ gpg --list-secret-keys
/Users/dirkeinecke/.gnupg/pubring.gpg
sec 1024D/3488443B 2008-01-12
uid Max Mustermann
ssb 4096g/DDEEF485 2008-01-12

Möchte man nun einen Schlüssel exportieren schaut man nach, welche E-Mail-Adresse für den Schlüssel eingetragen ist, den man exportieren möchte. Diese benötigen wir nun.

Das Programm "Terminal" sollte ja noch geöffnet sein. Man gibt nun für den Export folgenden Befehl ein (alles in einer Zeile):
gpg --armor --output private-max-mustermann.asc --export-secret-key max@mustermann.de

OptionBedeutung
--armorDie Ausgabe erfolgt nicht in Binär- sondern in Textform und wird mit einer ASCII-Hülle versehen.
--outputDie Ausgabe soll in eine Datei umgeleitet werden.
private-max-mustermann.ascIn diese Datei wird die Ausgabe umgeleitet. Dabei wird die Datei automatisch erstellt.
--export-secret-keyEs soll ein privater Schlüssel exportiert werden.
max@mustermann.deMan möchte den Schlüssel exportieren, der als Eigenschaft (in diesem Fall die E-Mail-Adresse) max@mustermann.de hat.

Das war's schon. Das Backup des Schlüssels wurde erstellt. Nun findet man im eigenen Benutzerverzeichnis eine neue Datei "private-max-mustermann.asc" welche den privaten Schlüssel in Textform enthält. Zur Sicherheit sollte man die Datei mal mit einem Text-Editor öffnen - die erste Zeile sollte diese sein:

-----BEGIN PGP PRIVATE KEY BLOCK-----

Der ein oder andere wird sich nun wundern, dass man so ja nur den privaten Schlüssel gesichert hat - nicht aber den öffentlichen. Keine Panik! Bei Exportieren werden die Informationen des öffentlichen Schlüssels auch exportiert und beim Import (darauf komme ich gleich) des privaten Schlüssels wird auch der dazu passende öffentliche Schlüssel automatisch wieder hergestellt.

Der nächste Absatz ist zwar fast genauso wie bereits oben beschrieben - aber ich will ihn trotzdem wiederholen. Sicherheitshalber.

Die Datei "private-max-mustermann.asc" kopiert man nun am besten auf einen USB-Stick und verwahrt ihn an einem sicheren (also ich meine wirklich sicheren ... nicht nur unter dem Kopfkissen) Ort auf. Die Datei "private-max-mustermann.asc" die sich im eigenen Benutzerverzeichnis befindet muss man nun wieder löschen. Nicht vergessen! Ganz wichtig!

Einzelne Schlüssel wiederherstellen

Das Wiederherstellen eines so gesicherten Schlüssels ist denkbar einfach. Man gehe dazu wie folgt vor:
  1. Das Programm "GPG Schlüsselbund.app" öffnen
  2. Auf "Importieren" in der Symbolleiste klicken
    (oder über das Menü: Ablage -> Importieren)



  3. Im folgenden Dialog die Backup-Datei "private-max-mustermann.asc" auswählen und die Checkbox "Importieren von Geheimschlüsseln zulassen" aktivieren



  4. Auf den "Öffnen"-Button klicken
  5. Es erscheint eine Dialogbox mit dem Text "Erfolgreich importiert" - hier auf dem "OK"-Button klicken.
Der Schlüssel wurde nun wiederhergestellt.

Möchte man den Import lieber auch über den Terminal erledigen (falls man langsam Spaß daran gefunden hat mit dem Terminal zu arbeiten *g*), dann kann man dies wie folgt tun:
  1. Die Backup-Datei "private-max-mustermann.asc" vom USB-Stick ins eigene Benutzerverzeichnis kopieren.
  2. Terminal öffnen (Programme -> Dienstprogramme)
  3. Folgendes eingeben (alles in einer Zeile):
    gpg --allow-secret-key-import --import private-max-mustermann.asc

OptionBedeutung
--allow-secret-key-importdas Importieren von privaten Schlüsseln soll erlaubt werden
--importes soll etwas importiert werden
private-max-mustermann.ascdiese Datei soll importiert werden

Die Ausgabe im Terminal sollte etwa so in dieser Art aussehen:
Dirk-Eineckes-Computer:~ dirkeinecke$ gpg --import private-max-mustermann.asc
gpg: Schlüssel 3488443B: geheimer Schlüssel importiert
gpg: Schlüssel 3488443B: "Offentlicher Schlüssel "Max Mustermann" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg: importiert: 1
gpg: gelesene geheime Schlüssel: 1
gpg: geheime Schlüssel importiert: 1
Dirk-Eineckes-Computer:~ dirkeinecke$

Mit diesem Befehl wurden also zwei Sachen erledigt: Zum einen wurde der private Schlüssel wiederhergestellt. Aber es wurde auch automatisch der ursprüngliche öffentlicher Schlüssel wiederhergestellt.


So - mit diesen beiden Möglichkeiten sollte man auf der sicheren Seite sein. Man muss das Backup natürlich auch von Zeit zu Zeit aktualisieren. Und noch einmal: Keine Backup-Ordner oder Backup-Dateien auf dem Rechner zurücklassen und den USB-Stick wirklich sicher aufbewahren.

Kommentare:

  1. sehr gute anleitung. ich habe immer die unsichtbaren ordner eingeblendet und dann den ganzen .gpg ordner kopiert.

    AntwortenLöschen
  2. hallo... bei mir gibts diese datei nicht :(

    gibts dazu einen lösungsansatz??

    danke greetz derjoe

    derjoe (at) quick-line.ch

    AntwortenLöschen
  3. Ich mache immer Sicherungskopien der wichtigsten Dateien für mich. Und immer war es einfach, Kopien dieser Daten wieder her. Aber dies ist nicht immer genug, um alle Ihre Dateien zu schützen. Mehrmals habe ich die beiden Archive mit Fotos versehentlich gelöscht und konnte sie mit Hilfe dieses Programms nur wiederherstellen http://www.munsoft.de.

    AntwortenLöschen