logoOL.gif
user_gelb_schwarz_or.gif
logoUL.gif
logoUR.gif claim.gif
LinuxUser LinuxCommunity EasyLinux Linux-Magazin International
      Anzeige
      Anzeige

Erschienen in LinuxUser 11/2007

Mails verschlüsseln mit GnuPG

Schlüsselerlebnis


E-Mails kryptografisch zu sichern, ist längst keine Hexerei mehr: GnuPG und moderne Mailclients sorgen für Komfort.   René Gäbler

README

GnuPG [1] erlaubt das einfache Verschlüsseln von E-Mails. Verschiedene grafische Frontends erleichtern den Umgang mit dem Verschlüsselungsprogramm, gängige E-Mail-Clients integrieren die Möglichkeit zum Ver- und Entschlüsseln bereits.

E-Mails wandern unverschlüsselt von Server zu Server. Eine elektronische Nachricht, die Hans Mustermann aus München zu seinem Freund John Doe nach New York sendet, durchläuft viele Zwischenstationen. An jeder davon kann auch ein Dritter die Nachricht lesen.

Um dieses Problem zu lösen, entwickelte Phil Zimmermann im Jahr 1991 die Verschlüsselungssoftware Pretty Good Privacy (PGP), die sich schon bald einer hohen Beliebtheit erfreute. Eine mit PGP verschlüsselte E-Mail konnte nur der Empfänger lesen, der über den notwendigen Schlüssel verfügte.

PGP und GnuPG

Schon das Ur-PGP war keine klassische, kommerzielle Software: Zu nicht kommerziellen Zwecken durfte man es kostenlos verwenden, der Quellcode lag offen. Die kommerzielle Verwertung übernahm die Firma Viacrypt, später PGP Incorporated. Die übernahm 1997 der Software-Anbieter Network Associates, schaffte es jedoch nicht, das Programm erfolgreich im Markt zu etablieren. 2002 kaufte die neu gegründete PGP Corporation die PGP-Produkte und deren geistiges Eigentum von Network Associates zurück.

Auch bei der nichtkommerziellen Verwendung schlug PGP einige Kapriolen. Aufgrund des verwendeten Verschlüsselungsverfahrens RSA stufte die US-Regierung 1993 PGP als "Kriegswaffe" ein und verbot den Export. Um PGP auch Anwendern außerhalb der USA weiter zugänglich zu machen, veröffentlichte Zimmermann den Quellcode kurzerhand als 6000 Seiten starkes Buch in zwölf Bänden. Die wurden in Europa von 70 Freiwilligen per Einscannen wieder in elektronische Form gebracht. Diese Praxis fand erst sechs Jahre später ihr Ende, nachdem die USA die Beschränkungen gelockert hatten.

Um zum einen jedem Anwender eine Möglichkeit zu geben, das Verschlüsselungsverfahren zu nutzen und zum anderen interessierten Entwicklern die Software zu öffnen, entstand 1998 der IETF-Standard OpenPGP (RFC2440). Der erste Vertreter des Verfahrens war GnuPG. Das weit verbreitete Programm findet sich auf den Installationsmedien aller gängigen Linux- Distributionen, alle wichtigen E-Mail-Clients kommen mit GnuPG zurecht. Daher ist es nicht mehr notwendig, Nachrichten über die Kommandozeile zu verschlüsseln.


IETF: Internet Engineering Task Force. Diese aus Freiwilligen bestehende Organisation legt in Form so genannter RFCs ("Request for Comment") die technischen Standards für das Internet fest.

Grundlagen

Möchten Sie einem anderen Anwender eine verschlüsselte Nachricht zukommen lassen, müssen sowohl Sie als auch der Empfänger GnuPG verwenden. Beide Anwender erstellen je zwei Schlüssel, man spricht auch von einem Schlüsselpaar. Jedes Paar besteht aus einem öffentlichen und einem privaten Schlüssel. Ihren öffentliche Schlüssel ("public key") muss jeder kennen, der Ihnen verschlüsselte Nachrichten senden können soll. Um das Verfahren zu vereinfachen, legen Sie diesen Schlüssel am besten auf einem öffentlichen Keyserver ab (siehe Kasten "Schlüssel verteilen"). Den privaten Schlüssel ("private key") dagegen darf niemand außer Ihnen selbst kennen; er verbleibt bei Ihnen.

Beim Versand einer vertraulichen Nachricht kodieren Sie diese mit dem öffentlichen Schlüssel des Empfängers. Der erledigt das Dekodieren dann mit seinem privaten privaten Schlüssel. Der Public Key wirkt quasi wie ein offenes Vorhängeschloss: Haben Sie erst einmal eine Nachricht damit "verschlossen", bekommt nur der Besitzer des passenden Schlüssels − also des entsprechenden Private Keys − sie wieder "auf".

Schlüssel verteilen

Ihre öffentliche Schlüssel müssen Sie mit Ihren Nachrichtenpartnern austauschen. Das könnten Sie theoretisch per E-Mail erledigen, was bei sehr vielen Kontakten aber recht aufwendig wäre. Die Lösung: Sie legen Ihren Schlüssel auf einen Keyserver ab. Das geschieht mit:

$ gpg --send-keys

Viele Schlüsselverwaltungsprogramme unterstützen das Veröffentlichen eines Schlüssels auf einem Keyserver und stellen auch gleich unterschiedliche Server zur Auswahl. Sie müssen sich nur noch für einen davon entscheiden. Der Befehl lädt alle aktiven, auf Ihrem Rechner befindlichen öffentlichen Schlüssel auf den Server − also auch die Ihrer Nachrichtenpartner.

Bei KGpg wählen Sie Datei | Schlüsselserver. Im Reiter Export suchen Sie sich einen Keyserver aus. Da die verschiedenen Keyserver miteinander kommunizieren und ihre Inhalte synchronisieren, spielt es letztlich kaum eine Rolle, für welchen Server Sie sich entscheiden. Der Befehl @LI $ gpg --recv-keys Schlüsselnummer

lädt der Schlüssel mit der angegebenen Nummer auf Ihren Rechner. Mit dem folgenden Befehl aktualisieren Sie die Schlüssel auf Ihrem System:

$ gpg --refresh-keys

So stehen auch Schlüssel mit neuen Signaturen zur Verfügung. Mit KGpg geben Sie eine ID oder einen Textstring ein. Diesen sucht das Programm dann auf dem Keyserver. Passende Schlüssel zeigt KGpg an und gibt Ihnen Gelegenheit zum Import. Sie finden diese Möglichkeit unter Datei | Schlüsselserver, wo Sie im Dialog den Reiter Import auswählen.

Schlüsselbund herstellen

Bevor Sie Nachrichten verschlüsseln, müssen Sie ein Schlüsselpaar erstellen. Das erledigen Sie schnell und einfach auf der Kommandozeile, indem Sie gpg --gen-key eingeben. Mit [Eingabe] übernehmen Sie die Standardvorgabe. Im nächsten Schritt geben Sie Länge des Schlüssels an; hier empfehlen sich 1024 oder besser 2048 Bit. Optional geben Sie für den Schlüssel ein Ablaufdatum an: Nach dessen Überschreiten verliert der Schlüssel seine Gültigkeit. Sie müssen dann entweder ein neues Schlüsselpaar erstellen oder den öffentliche Schlüssel mithilfe des privaten verlängern.

Nun gilt es die Daten des Schlüsseleigentümers anzugeben: Name, E-Mail-Adresse und ein Kommentar oder ein Spitzname. Verwenden Sie als Spitznamen besser weder Fantastisches noch Vulgäres: Der Spitzname wird immer mit dem Schlüssel weitergegeben. Im nächsten Schritt legen Sie das Passwort fest, das den privaten Schlüssel vor unbefugten Zugriffen schützt. Wie bei anderen Passworten gilt auch hier: Verwenden Sie eine sichere Zeichenkombination, die ein Fremder nicht erraten kann. Am besten erfüllt eine hinreichend lange Kombination aus Zeichen, Groß- und Kleinbuchstaben diesen Zweck.

Geben Sie das Passwort ein zweites Mal ein. Dann bewegen Sie auf Anforderung des Programms die Maus ein wenig hin und her. GnuPG verwendet diese Bewegung für das Erstellen von Zufallsdaten und generiert den Schlüssel. Notieren Sie sich Key-ID und Fingerprint.

Grafisch geht's besser

Noch einfacher gelingt das Erstellen eines Schlüsselpaares und das Verwalten der Schlüssel mit einem grafischen Frontend. KDE-Anwender greifen zu KGpg [2] oder dem Tool Kleopatra (Abbildung ((1))) aus der Programmsammlung KDE-PIM [3], für Gnome gibt es Seahorse [4]. Wer mag, kann auch Gpa [5] verwenden, das Standard-Frontend für GnuPG. Alle Werkzeuge besitzen einen ähnlichen Funktionsumfang − für welches Programm Sie sich entscheiden, bleibt Ihrem persönlichen Geschmack überlassen.

((1)) Kleopatra zeigt unter OpenSuse nach dem Start die bereits installierten Schlüssel.

Am Beispiel von KGpg möchten wir zeigen, wie Sie mit einem Frontend ein neues Schlüsselpaar erstellen. Um den Vorgang zu starten, wählen Sie Schlüssel | Schlüsselpaar generieren oder drücken [Strg]+[N]. Nun geben Sie Ihren Namen und Ihre E-Mail-Adresse ein. In das Feld Kommentar (optional) tragen Sie einen Spitznamen ein. Stellen Sie die Schlüsseltiefe auf wenigstens 2048 Bit (Abbildung ((2))), für maximale Sicherheit wählen Sie 4096 Bit.

((2)) KGpg benötigt für das Erstellen eines neuen Schlüsselpaares nur wenige Angaben. Die Schlüsseltiefe sollten Sie auf jeden Fall erhöhen.

Die Vorgabe sieht kein Ablaufdatum für das Schlüsselpaar vor. Bestätigen Sie alle Angaben mit OK. Anschließend vergeben Sie ein Passwort und wiederholen die Eingabe. Ein Balken signalisiert, dabei, wie sicher das Passwort ist. Achten Sie darauf, das dieser Balken mindestens drei Viertel des Feldes ausfüllt (Abbildung ((3))). Optimalerweise steht der Passwortstärkeanzeiger auf Maximum.

((3)) Ein Balken zeigt die Stärke des Passworts an − und damit auch die Sicherheit des Schlüssels.

Nach dem Bestätigen generiert das Programm das Schlüsselpaar. Wie lang das dauert, hängt von der gewählten Schlüsseltiefe und der Leistung Ihres Rechners ab. In unserem Beispiel erhielten wir nach wenigen Sekunden die Meldung Neues Schlüsselpaar erstellt. Nun können Sie angeben, ob das neue Schlüsselpaar als Standard dienen soll. KGpg empfiehlt das Speichern oder Ausdrucken eines Sperrzertifikats: Ist das Schlüsselpaar beschädigt, kann man darauf zurückgreifen.

Damit ist das neue Schlüsselpaar erstellt, KGpg zeigt es im Hauptfenster an (Abbildung ((4))). Im Expertenmodus werden die Angaben auf der Textkonsole abgefragt. Über das Datei-Menü übertragen Sie den erstellten Schlüssel auf einen Schlüsselserver.

((4)) KGpg listet das fertig erstellte Schlüsselpaar in der Schlüsselverwaltung auf.

KMail und GnuPG

In halbwegs aktuellen KMail-Versionen ist die für eine Arbeit mit GnuPG notwendige Funktion bereits aktiviert. Überprüfen Sie das unter Einstellungen | KMail einrichten. Wählen Sie unter Sicherheit den Reiter Krypto-Module aus. Hier sollte OpenPGP aktiviert sein.

Nun ordnen Sie Ihrer E-Mail-Adresse einen GnuPG-Schlüssel zu: Wechseln Sie nach Identitäten, markieren Sie Ihren Namen und klicken Sie auf Ändern. Der Reiter Kryptographie führt Sie in den richtigen Einstellungsdialog. In der Zeile OpenPGP-Schlüssel zum Verschlüsseln wählen Sie den gewünschten Schlüssel. Der Dialog führt auch die deaktivierten Schlüssel auf. KMail überprüft jedoch die Gültigkeit und bietet nur die verwendbaren Schlüssel zur Auswahl an (Abbildung ((5))).

((5)) Klicken Sie mit der Maus auf die vorhandenen Schlüssel. KMail überprüft diese: Ein grünes Häkchen zeigt an, das ein Schlüssel noch gilt, ein rotes Kreuz markiert ungültige Schlüssel.

Um nun eine neue Nachricht zu verschlüsseln genügt ein Klick auf das Schlosssymbol in der Symbolleiste. Versenden Sie die Nachricht, bietet KMail den passenden Schlüssel für den Empfänger an. Wählen Sie den richtigen Schlüssel aus und bestätigen Sie die Einstellungen. Bei widersprüchlichen Angaben − etwa wenn eine E-Mail-Adresse nicht zu einem Schlüssel passt − erscheint eine entsprechende Warnung.

Beim Empfang einer verschlüsselten Nachricht müssen Sie ihr Passwort eingeben, woraufhin KMail sie entschlüsselt und damit auch lesbar macht. KMail rahmt die Nachricht farbig ein. Trägt die Mitteilung darüber hinaus noch eine Signatur (siehe Kasten "Signaturen verwenden"), hebt das Programm sie mit weiteren farbigen Balken hervorgehoben. Das mag verspielt wirken − sie sehen jedoch auf einen Blick, welche Nachrichten verschlüsselt und signiert wurden.

In den Einstellungsdialogen können Sie KMail dazu veranlassen, Nachrichten automatisch zu verschlüsseln (Abbildung ((6))) und zu signieren. Im Register Warnungen sorgen Sie dafür, das das Programm eine Info ausgibt, sobald Sie unverschlüsselte oder unsignierte Nachrichten versenden. Haben Sie einen Schlüssel mit einem Verfallsdatum versehen, erinnert Sie KMail rechtzeitig vor Ablauf daran. Ihnen bleibt so genug Zeit, ein neues Schlüsselpaar zu erstellen oder auch die Gültigkeit des aktuellen Schlüssel zu verlängern.

((6)) KMail kann Nachrichten automatisch verschlüsseln. Sie müssen dazu lediglich eine Option anschalten.
Signaturen verwenden

Eine Signatur ist wie eine Unterschrift: Mit ihr gehen Sie sicher, das der Schlüssel eines Kommunikationspartners auch wirklich von diesem stammt. Dazu müssen Sie jedoch auch sicherstellen, dass die Signatur stimmt. Das geschieht anhand des Fingerabdruckes eines Schlüssels. Den finden Sie über Ihr Schlüsselverwaltungsprogramm heraus. Auf der Kommandozeile geben dazu folgendes ein:

$ gpg -- fingerprint <I>Schlüssel-ID<I>

Der Fingerprint ist nichts anders als eine aus Buchstaben und Zahlen zusammengesetzte Zeichenkette. Sie gewährleistet die Echtheit des Schlüssels. Natürlich sollte der Fingerabdruck nicht per E-Mail bei Ihnen ankommen: Erhalten Sie einen neuen Schlüssel von einem Bekannten, rufen Sie ihn an oder treffen ihn. Lassen Sie sich den Fingerabdruck zeigen oder am Telefon vorlesen. Das mag etwas umständlich sein, dient jedoch nur zu Ihrer Sicherheit. Außerdem handelt es sich um ein einmaliges Prozedere − es sei denn, Ihr Kommunikationspartner erstellt nach einiger Zeit einen neuen Schlüssel.

Erweist sich der Schlüssel als korrekt, importieren Sie ihn mit Ihrem Schlüsselverwaltungsprogramm über den Befehl:

$ gpg --import <I>Schlüsseldatei<I>

Um auch anderen eine Chance zu geben, mit Ihnen verschlüsselte Nachrichten zu tauschen, müssen Sie ein gewisses Vertrauen aufbauen. Signieren Sie Ihren eigenen Schlüssel mit:

$ gpg --sign-key <I>Schlüsselnummer<I>

Mit KGpg wählen Sie Schlüssel | Signiere Schlüssel. Senden Sie den signierten Schlüssel an Ihren Nachrichtenpartner. Der sollte umgekehrt das selbe tun.

Thunderbird

Um mit Mozilla Thunderbird GnuPG zu nutzen, müssen Sie zunächst das Plugin Enigmail laden [6]. Achten Sie darauf, dass Sie auf der Webseite die richtige Version wählen. Die Installation erfolgt über Extras | Erweiterungen | Installieren. Fügen Sie hier auch das deutsche Sprachpaket ein. Nach einem Neustart von Thunderbird steht die Erweiterung zur Verfügung. Im Allgemeinen findet das Programm selbstständig den Pfad zu GnuPG. Unter OpenPGP | Einstellungen überprüfen Sie das (Abbildung ((7))).

((7)) Das Thunderbird-Plugin Enigmail findet selbst den richtigen Pfad zu GnuPG.

Bevor Sie Nachrichten ver- und entschlüsseln, müssen Sie dem Programm noch mitteilen, welchen Schlüssel Sie verwenden wollen. Dazu öffnen Sie den Dialog Konten und wählen OpenPGP-Sicherheit. Nutzen Sie die selbe E-Mail-Adresse für Ihren Schlüssel und die Identität in Thunderbird, müssen Sie nur die Option OpenPGP- Unterstützung für diese Identität aktivieren. Die Option E-Mail-Adresse dieses Kontos verwenden, um OpenPGP-Schlüssel zu verwenden ist per Vorgabe bereits aktiv (Abbildung ((8))). Unterscheiden sich die E-Mail-Adresse des Schlüssels und die in Thunderbird, dann schalten Sie die Option Spezielle OpenPGP-Schlüssel-ID verwenden an und wählen den Schlüssel aus. Optional veranlassen Sie Thunderbird dazu, Ihre Nachrichten grundsätzlich zu verschlüsseln respektive zu signieren.

((8)) In den Kontoeinstellungen von Thunderbird schalten Sie die Unterstützung für OpenPGP an und bestimmen den Schlüssel, den Sie verwenden wollen.

Beim Schreiben einer neuen Nachricht bestimmen Sie über das Pulldownmenü OpenPGP, ob die Nachricht verschlüsselt beziehungsweise signiert werden soll (Abbildung ((9))). Über die Menüzeile hängen Sie Ihren öffentlichen Schlüssel an die Nachricht an.

((9)) Thunderbird erlaubt auch das gezielte Verschlüsseln einzelner Nachrichten.

Erhalten Sie eine verschlüsselte Nachricht, zeigt Thunderbird eine Information über den Absender an. Neben dem Hinweis blendet der Client auch ein kleines Schloss-Symbol ein. Klicken Sie darauf, um zusätzliche Infos zu sehen. Thunderbird zeigt dann Details zur verwendeten Verschlüsselung und der Signatur der Nachricht.

Thunderbird-Anwender brauchen kein Extra-Tool für die Verwaltung von GnuPG-Schlüsseln: Das Programm besitzt bereits eine solche Funktion (Abbildung ((10))). Wählen Sie im Hauptfenster OpenPGP | Schlüssel verwalten, so zeigt Thunderbird die auf Ihrem System vorhandenen öffentlichen Schlüssel. Sie können diese signieren, neue Schlüssel erstellen und Benutzer zu einem Schlüssel hinzufügen. Auch das einlesen und exportieren von Schlüsseln beherrscht das Programm. Aus der Schlüsselverwaltung heraus versenden Sie bei Bedarf einen öffentlichen Schlüssel per E-Mail, selbst der Zugriff auf einen Schlüsselserver ist möglich (Abbildung ((11))).

((10)) Thunderbird besitzt eine integrierte Schlüsselverwaltung.

((11)) Mit Thunderbird können Sie Ihren öffentlichen Schlüssel auf einen Schlüsselserver bereitstellen. Das erspart Ihnen das Verteilen per E-Mail.

Evolution

Bevor Sie mit Evolution Nachrichten verschlüsseln, müssen Sie Ihre Schlüsselnummer notieren. Die finden Sie über Ihr Schlüsselverwaltungstool oder mit einem Kommandozeilenbefehl herausfinden. Verwenden Sie KGpg, markieren Sie den aktiven Schlüssel und wählen Schlüssel | Bearbeite Schlüssel. Notieren Sie sich die Key ID.Alternativ geben Sie auf der Kommandozeile gpg --list-keys Name@Maildomain ein.

In Evolution öffnen Sie mit Bearbeiten | Einstellungen das Konfigurationsmenü. Im Reiter E-Mail-Konten drücken Sie die Schaltfläche Bearbeiten und wechseln zu Sicherheit. Tragen Sie Ihre Schlüsselnummer in das Feld PGP/GPG- Schlüsselkennung ein.

Wie bei anderen Programmen auch, finden Sie bei Evolution verschiedene Einstellungen zum Signieren vor. Die Option Beim Verschicken verschlüsselter E-Mails immer vor mir selbst verschlüsseln sollten Sie unbedingt anschalten. Eine verschlüsselte Nachricht können Sie so später selbst entschlüsseln und lesen − ohne diese Option sperren Sie sich aus: Evolution legt die Nachricht zwar im Ordner Gesendet ab, Sie können diese jedoch nicht einsehen. Um zu verhindern, das Evolution unsignierte Schlüssel ablehnt, aktivieren Sie die Option Schlüssel am Schlüsselbund beim Verschlüsseln immer vertrauen (Abbildung ((12))).

((12)) Bei Evolution müssen Sie die Schlüssel-ID eintragen. Mit einer Option sorgen Sie dafür, das Sie Ihre eigenen verschlüsselten Nachrichten auch wieder entschlüsseln können.

Das Verschlüsseln selbst ist schnell erledigt. Im Nachrichteneditor wählen Sie einfach Sicherheit | Mit PGP verschlüsseln (Abbildung ((13))). Auf dem selben Weg signieren Sie Ihre Nachrichten. Landet eine verschlüsselte E-Mail in Ihrem Posteingang, finden Sie in Ihr ein Schloss-Symbol und den Hinweis Verschlüsselte Nachricht. Ein Klick auf das Symbol zeigt einen Dialog mit einer Information zur Signatur und der Verschlüsselung, nähere Informationen sucht man hier jedoch vergeblich.

((13)) Um eine Nachricht zu verschlüsseln oder zu signieren, öffnen Sie in Evolution das Menü Sicherheit.

Fazit

Welches Programm Sie zum Verwalten Ihrer Schlüssel nutzen, bleibt Ihren persönlichen Geschmack überlassen. Jedes der gängigen Werkzeuge kann Schlüssel erstellen, bearbeiten und ungültig machen. Mit KGpg wie GPA oder anderen Werkzeugen signieren Sie Schlüssel und tauschen diese mit einem Schlüsselserver aus.

Alle gängigen E-Mail-Clients lassen sich schnell und einfach mit GnuPG verbandeln und beherrschen das Kennzeichnen verschlüsselte Nachrichten. Am augenfälligsten arbeitet hier KMail, dessen farbigen Balken ein wenig verspielt und fast schon aufdringlich wirken. Thunderbird und Evolution halten sich hier eher zurück.

Thunderbird müssen Sie zwar mit einem Plugin ergänzen, damit es mit GnuPG umgehen kann − das ist jedoch schnell erledigt; im Gegenzug erhalten Sie eine integrierte Schlüsselverwaltung, die sogar perfekt mit Keyservern kooperiert. (jlu)

Infos
[1] GnuPG: http://www.gnupg.org/
[2] Kgpg: http://developer.kde.org/~kgpg/index.html
[3] KDE PIM: http://pim.kde.org
[4] Seahorse: http://www.gnome.org/projects/seahorse/
[5] GNU Privacy Assistent: http://www.gnupg.org/(de)/related_software/gpa/index.html
[6] Enigmail: http://enigmail.mozdev.org/

Der Autor

René Gäbler arbeitet seit 1999 als freischaffender Autor in Berlin. Aus seiner Feder stammen mehr als 30 Bücher zu unterschiedlichen Themen und eine große Anzahl Beiträge für Magazine, Sammelwerke und andere Medien.

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Seite drucken | Feedback zu dieser Seite | Datenschutz | © 2019 COMPUTEC MEDIA GmbH

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [EasyLinux] [Linux-Community]