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

Zugriff: Die ganze Welt

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 mehr infos Einstellungen mehr infos Systemsteuerung mehr infos System mehr infos Erweitert mehr infos 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

Zugriff: Die ganze Welt

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.gz
Nach 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 --help
Am zweckmässigsten ist meist eine Konfiguration und Installation in das eigene Benutzerverzeichnis.
./configure --prefix=$HOME
In 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:
make
Anschließend kann die Funktion noch mit make check überprüft werden.
make check
Hier sollte am Ende eine Meldung wie diese zu sehen sein:
===================
All 25 tests passed
===================
Nun kann das Paket mit dem Befehl
make install
installiert 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

Zugriff: Die ganze Welt

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:

Der Standardwert für GnuPG ist DSA und ElGamal, PGP verwendet dagegen RSA.

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:

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

Zugriff: Die ganze Welt

Offizielle Seite von GnuPG
http://www.gnupg.de/ Externer Link

BSI: Warum Verschlüsselung?
https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/Datenverschluesselung/datenverschluesselung_node.html Externer Link

Einsatzmöglichkeiten von GnuPG

Zugriff: Die ganze Welt

Verschlüsselte Speicherung von Online-Formulardaten
/technik/sicherheit/online-speicherung.html Interner Link

Warum sollten Sie Ihre E-Mails verschlüsseln ?
/warumpgp.html Interner Link

Sourcecode (verschlüsselte Speicherung mit PHP und GnuPG)
/technik/sicherheit/source_php_gnupg.html Interner Link

Copyright 2022 by ZENDAS ..