Installation von GnuPG
Stand: 21.11.2019
Die nachfolgenden Schritte beschreiben die Installation von GnuPG und das Erstellen eines GnuPG-Schlüsselpaares.
Installation unter Windows XP
Installation mit Administratorprivilegien
Zur Installation von GnuPG unter Windows ist es am zielführendsten, sich eine kompilierte Version in Form eines ZIP-Archives von der GnuPG-Seite oder einem Mirror davon herunterzuladen.Anschließend wählt man ein Installationsverzeichnis. Der gesamte Verzeichnisname sollte dabei zweckmäßigerweise kein Leer- oder Sonderzeichen enthalten, da dies zu Problemen führen kann. Nun entpackt man das Archiv in das Installationsverzeichnis. Zum Abschluss muss noch ein Eintrag in die Registrierung vorgenommen werden. Als Grundlage dafür kann man die Datei gnupg.reg aus dem Installationspaket verwenden.
Nachdem die Datei gespeichert ist, kann die Datei mittels des Programms regedit importiert werden. Meist genügt für den Vorgang ein einfacher Doppelklick auf die Datei.
Um GnuPG von überall aus starten zu können, empfiehlt es sich, das Installationsverzeichnis in den Suchpfad der Programme aufzunehmen.
Dies geschieht unter Windows XP auf folgendem Weg:
Start Einstellungen Systemsteuerung System Erweitert Umgebungsvariablen
Dort unter den "Systemvariablen" die Variable "Path" um den Pfad zur "gpg.exe" erweitern.
Installation als Benutzer (ohne Administratorprivilegien)
Die Installation unterscheidet sich hierbei nur kaum. Zu Beachten ist in diesem Fall, dass der Benutzer Schreibrechte im Installationsverzeichnis besitzt.Die Registrierungsschlüssel werden nun alle in die Sektion HKEY_CURRENT_USER geschrieben, d.h. alle Eintragungen in der Datei gnupg-w32.reg von HKEY_LOCAL_MACHINE auf HKEY_CURRENT_USER ändern.
Da ein normaler Benutzer auch die Systemvariablen nicht ändern kann, muss eine neue Benutzervariable mit dem Namen "Path" angelegt werden, soweit diese noch nicht vorhanden ist. Als Wert für diese Variable sollte dann %PATH%;<Pfad zum Installationsverzeichnis> gewählt werden.
Installation unter Linux/UNIX
Installation mit root-Rechten
Bei den meisten Linuxdistributionen bzw. bei vielen Unix-Versionen wird GnuPG als fertiges Paket mitgeliefert.Das Paket wird dann, wie bei dem jeweiligen Betriebssystem vorgesehen, eingespielt. Wie dies im jeweiligen Einzelfall aussieht, sollte in der jeweiligen Dokumentation des Betriebssystems nachgeschlagen werden.
Installation als Benutzer
Bei der Installation als normaler Benutzer ist es meist zweckmässiger, den Quellcode nochmals zu übersetzen. Dadurch können die Standardwerte für Pfade u.ä. angepasst werden.Dazu wird der aktuelle komprimierte Tarball des Quellcodes von ftp://ftp.gnupg.org/gcrypt/gnupg/ heruntergeladen.
wget ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.0.tar.gzNach dem Auspacken des Archives mittels "tar" und "gunzip" kann mit dem eigentlichen Übersetzen begonnen werden.
gunzip -c gnupg-1.4.0.tar.gz | tar -xvf - cd gnupg-1.4.0
Um GnuPG nun in seinem eigenen Benutzerverzeichnis zu installieren, sollte nun bei der Konfiguration dies mittels des Parameters --prefix= angegeben werden. Eine Auflistung aller möglichen Optionen und Parameter bekommt man mittels des Befehls
./configure --helpAm zweckmässigsten ist meist eine Konfiguration und Installation in das eigene Benutzerverzeichnis.
./configure --prefix=$HOMEIn diesem Schritt werden nun verschiedene notwendige Dateien und Einstellungen gesucht und das Zielsystem bestimmt. Falls hier Fehler auftreten, müssen ggf. weitere Bibliotheken nachinstalliert werden.
Als letzte Zeile sollte (falls es sich um ein Linux-System handelt) nun erscheinen:
Configured for: GNU/Linux (i686-pc-linux-gnu)Falls sie kein Linux-System vorfinden, sollte hier natürlich das entsprechende System aufgeführt sein.
Der eigentliche Übersetzungsvorgang wird nun mit dem Befehl make gestartet:
makeAnschließend kann die Funktion noch mit make check überprüft werden.
make checkHier sollte am Ende eine Meldung wie diese zu sehen sein:
=================== All 25 tests passed ===================Nun kann das Paket mit dem Befehl
make installinstalliert werden.
Anschließend befindet sich die Ausführungsdatei im Homeverzeichnis im Verzeichnis bin.
Um eine einfachere Handhabung zu gewährleisten, sollte auch hier der Pfad zur Datei in die Variable PATH aufgenommen werden.
Generierung von Schlüsseln
Wenn GnuPG auf dem System installiert wurde, muss noch ein Schlüsselpaar generiert werden, um selbst verschlüsselte Nachrichten empfangen zu können.
Dies geschieht mit dem Befehl:
gpg --gen-key
Hier wird zunächst nach der Art des Schlüssels gefragt.
Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only) Your selection? 1
Zur Auswahl stehen dabei:
- DSA und ElGamal
- DSA (nur Signierungsschüssel)
- RSA (nur Signierungsschüssel)
In diesem Beispiel wird ein Standard-GnuPG-Schlüssel erstellt.
Dazu wird hier nun die Option (1) gewählt.
Als nächstes wird nach der Schlüssellänge gefragt:
DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024) 2048
Nun wird die Gültigkeitsdauer des Schlüssels abgefragt:
Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire= key expires in n days w = key expires in n weeks m = key expires in n months y = key expires in n years Key is valid for? (0)
Hier gibt es keine klaren Richtwerte. Vorgeschlagen ist hierbei "0", was bedeutet, dass der Schlüssel nie abläuft.
Ein Ablaufdatum im Schlüssel bedeutet übrigens nicht zwangsläufig, dass der Schlüssel nach dieser Zeit nicht mehr verwendet werden kann, sondern gibt nur an, ab wann der Schlüssel nicht mehr verwendet werden sollte. Es ist aber normalerweise trotzdem weiterhin möglich, Daten damit zu ver- und entschlüsseln.
Nach Eingabe der Gültigkeitsdauer erfolgt nochmals eine Nachfrage, ob diese Gültigkeitsdauer auch so stimmt:
Key is valid for? (0) 0 Key does not expire at all Is this correct (y/n)? y
Zuletzt wird noch nach einer ID für diesen Key gefragt. Diese besteht in der Regel aus:
- Name
- Kommentar
- E-Mail-Adresse
You need a User-ID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: Heinz Mustermann Email address: Heinz@Mustermann.de Comment: not valid You selected this USER-ID: "Heinz Mustermann (not valid) <Heinz@Mustermann.de>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
Nach der Eingabe der Daten und der Bestätigung mit "o" für Okay wird nun nach dem Passwort oder Passphrase für den Schlüssel gefragt. Der englische Name "Passphrase" im Gegensatz zu "Password" zeigt hier schon an, dass die Anforderungen an diese Authentifizierung hoch gesteckt werden sollte.
Eingabe der "Passphrase":
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o You need a Passphrase to protect your secret key. Enter passphrase: Repeat passphrase:
Nach der Eingabe und Bestätigung des Passphrases erfolgt dann die eigentliche Schlüsselgenerierung:
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. ++++++++++++++++++++.+++++.+++++..+++++++++++++++++++++++++.+ +++++++++.++++++++++.++++++++++++++++++++++++++++++++++++++ ++.+++++.+++++.++++++++++>+++++.................+++++ We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. ...++++++++++.+++++++++++++++++++++++++.+++++++++++++++.+++++ +++++.++++++++++++++++++++++++++++++++++++++++.+++++..++++++ +++++++++++++++++++>+++++.....>+++++.<+++++......+++++^^^ public and secret key created and signed. key marked as ultimately trusted. pub 1024D/DCF63931 2004-01-01 "Heinz Mustermann (not valid) <Heinz@Mustermann.de> Key fingerprint = 1411 8956 FB7E F57B F462 FAAE 8274 4ADC ACF0 3921 sub 2048g/D48AFD92 2004-01-01
Damit ist der Schlüssel fertig generiert.
Informationen zu GnuPG
Offizielle Seite von GnuPG
http://www.gnupg.de/
BSI: Warum Verschlüsselung?
https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/Datenverschluesselung/datenverschluesselung_node.html
Einsatzmöglichkeiten von GnuPG
Verschlüsselte Speicherung von Online-Formulardaten
/technik/sicherheit/online-speicherung.html
Warum sollten Sie Ihre E-Mails verschlüsseln ?
/warumpgp.html
Sourcecode (verschlüsselte Speicherung mit PHP und GnuPG)
/technik/sicherheit/source_php_gnupg.html