15.6 Verschlüsseln mit GPG
GnuPG oder GPG (GNU Privacy Guard, englisch für »GNU-Wächter der Privatsphäre«) ist ein freies Kryptografiesystem, das zum Ver- und Entschlüsseln von Daten sowie zum Erzeugen und Prüfen elektronischer Signaturen dient. GnuPG hat es sich zum Ziel gesetzt, einer möglichst großen Benutzergruppe die Verwendung von kryptografischen Methoden zur vertraulichen Übermittlung von elektronischen Daten zu ermöglichen. GnuPG unterstützt dazu folgende Funktionen:
- Verschlüsselung von Daten (zum Beispiel E-Mails), um vertrauliche Informationen an einen oder mehrere Empfänger zu übermitteln, die nur von den Empfängern wieder entschlüsselt werden können
- Erzeugung einer Signatur über die versendeten Daten, um deren Authentizität und Integrität zu gewährleisten
Beide Funktionen können kombiniert werden. In der Regel wird dabei zuerst die Signatur gebildet und an die Daten angehängt. Dieses Paket wiederum wird dann verschlüsselt an die Empfänger gesendet. Sie werden im Folgenden lernen, wie Sie mit einfachen Mitteln beliebige Dateien und E-Mails ver- und entschlüsseln können.
15.6.1 Verschlüsselung einzelner Dateien
Um einzelne Dateien zu verschlüsseln, genügt die Installation von GnuPG. Sie benötigen hierzu lediglich das Paket gnupg. Wenn Sie die Dokumentation mitinstallieren, können Sie diese mit dem Browser unter der Adresse
file:///usr/share/doc/gnupg-doc/ GNU_Privacy_Handbook/de/html/book1.htm
lesen. Die Verschlüsselung selbst findet im Terminal statt. Ein einfaches Kommando wie gpg -c DATEINAME genügt, um die Datei DATEINAME zu verschlüsseln. Hierbei werden Sie nach einem Passwort gefragt, das Sie nun beliebig wählen können. Die Hauptsache ist, dass Sie es nicht vergessen. Zur Vermeidung von Tippfehlern müssen Sie das Passwort zweimal eingeben. Mit
gpg --decrypt DATEINAME.gpg > Datei
oder
gpg -d DATEINAME.gpg > Datei
packen Sie die Datei wieder aus. Sie können hierbei einen beliebigen Dateinamen generieren (Datei). Auf die eben beschriebene Weise lassen sich mit vertretbarem Aufwand einzelne Dateien ver- und entschlüsseln. Alles, was Sie hierzu brauchen, ist ein persönliches Passwort.
15.6.2 E-Mails verschlüsseln mit GnuPG
Damit Sie Ihre E-Mails signieren bzw. verschlüsseln können, benötigen Sie zunächst ein eigenes Schlüsselpaar. Ein Schlüsselpaar besteht aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel ist nur für Sie, und der öffentliche ist, wie der Name bereits vermuten lässt, zum Veröffentlichen gedacht.
- Mit Ihrem privaten Schlüssel können Sie Ihre E-Mails signieren.
- Besitzt der Empfänger der signierten E-Mail Ihren öffentlichen Schlüssel, kann er diese Signatur verifizieren und sich somit von der Echtheit des Absenders überzeugen.
- Um eine E-Mail verschlüsseln zu können, benötigen Sie den öffentlichen Schlüssel des Empfängers. Mit ihm wird die E-Mail verschlüsselt. Sie kann dann nur vom Empfänger mit Hilfe seines privaten Schlüssels und der dazugehörigen Passphrase entschlüsselt werden.
Den Schlüssel können Sie im Terminal mit dem Befehl gpg --gen-key erzeugen. Sie werden nun gefragt, welche Art von Schlüssel Sie generieren möchten:
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) RSA (sign only)
Your selection?
Wählen Sie hier bitte die (1).
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) 1024
Requested keysize is 1024 bits
Daraufhin werden Sie nach der Schlüsselstärke gefragt. Hier sollten 1.024 Bit ausreichend sein. Anschließend müssen Sie auswählen, wie lange der Schlüssel gültig sein soll:
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Nun brauchen Sie nur Ihren Namen und Ihre E-Mail-Adresse anzugeben:
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: Vorname Nachname
Email address: <IhreMailAdresse@domain>
Comment: optional
Zu guter Letzt werden Sie gefragt, ob Ihre Angaben korrekt sind, und Sie werden um ein mindestens achtstelliges Passwort gebeten, damit E-Mails signiert und entschlüsselt werden können. Nun liegt Ihr Schlüssel im Verzeichnis ~/.gnupg als secring.gpg. Der Befehl gpg --list-secret-keys zeigt Ihnen Informationen des Schlüssels in der Konsole an. Wichtig ist hierbei Ihre Key-ID, die sich hinter der »Schlüsselstärke« befindet. %Diese Key-ID ist ein achtstelliger Hex-Code.
Befehl | Was er bewirkt |
gpg --search-keys Vorname Nachname | Suche nach Schlüsseln |
gpg --keyserver subkeys.pgp.net --send-key | Der Schlüssel wird zum Server geschickt. |
gpg --refresh-keys pgp.mit.edu ******** | Ein signierter Schlüssel muss neu heruntergeladen werden. |
gpg --recv-keys subkeys.gpg.net --recv-keys | Lädt einen fremden Schlüssel herunter. |
gpg --list-sigs DDE93F54 | Anzeige der Signatur eines Keys |
gpg --clearsign -a test.txt | Signieren eines Textes |
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.