E-Mail-Verschlüsselung mit GnuPG

Ein Großteil der Korrespondenz heutzutage wird über E-Mails abgewickelt. Doch woran häufig nicht gedacht wird: E-Mails werden im Klartext durch das Internet geleitet und sind somit für jedermann lesbar. Deswegen werden E-Mails häufig mit Postkarten verglichen – jeder, der Zugriff darauf hat, kann den Inhalt des Textes kennen. Ich möchte in einem kurzen Tutorial zeigen, wie Sie Ihre E-Mails mithilfe des E-Mail-Programms Thunderbird verschlüsseln können, dass nur der berechtigte Empfänger die E-Mail lesen kann.

Anmerkung
Dieser Text ist noch in Bearbeitung und wird in einigen Punkten noch erweitert.

Wie schon in der Einleitung beschrieben bezieht sich diese Anleitung auf das E-Mail-Programm Thunderbird. Sie können es hier bekommen:

Wie Thunderbird konfiguriert und eingerichtet wird, erkläre ich später an anderer Stelle. Hier gehe ich davon aus, dass das Programm bereits funktioniert und ein E-Mail-Konto eingerichtet ist.

Anmerkung
Im Text gibt es einige Anmerkungen zu Sicherheitsfragen, auf die ich nur am Rande eingehe. Diese sind wie dieser Absatz hier gekennzeichnet und sollen zum weiteren Nachdenken und Nachforschen anregen.

GnuPG

Als Art der Verschlüsselung werden wir GnuPG einsetzen. Dabei handelt es sich um eine freie und quelloffene Implementierung des OpenPGP-Standards und ist kompatibel zur PGP-Verschlüsselung.

Es handelt sich hierbei um eine asymmetrische Verschlüsselung. In Abgrenzung zur symmetrischen Verschlüsselung bedeutet das, dass es zwei Schlüssel gibt: den öffentlichen Schlüssel und den privaten Schlüssel.

Den öffentlichen Schlüssel können und müssen Sie weitergeben. Dieser wird benötigt, wenn Ihnen jemand eine verschlüsselte E-Mail schicken möchte. Den privaten Schlüssel hingegen dürfen Sie nicht weitergeben. Den benötigen Sie zum Entschlüsseln der Nachrichten.

Wie funktioniert nun die Verschlüsselung?

Als Beispiel nehmen wir an, dass Alice eine E-Mail an Bob schicken möchte. Dazu benötigt Alice den öffentlichen Schlüssel von Bob, mit dem sie die Nachricht verschlüsselt und an Bob sendet. Bob kann nun diese Verschlüsselung mit seinem privaten Schlüssel wieder entschlüsseln.

Was ist eine elektronische Signatur und wie funktioniert sie?

Mit einer elektronischen Signatur – auch digitale Unterschrift genannt – kann festgestellt werden, ob eine E-Mail tatsächlich von dem Absender kommt und ob sie unterwegs verändert worden ist.

In unserem Beispiel mit Alice und Bob signiert Alice eine E-Mail, die sie an Bob schickt. Dazu erstellt sie einen Hash-Wert der E-Mail. Der Hash ist der Wert, der dabei herauskommt, wenn Alice den Text der E-Mail mit einem bestimmten Algorithmus berechnen lässt. Dieser Wert ist nahezu einzigartig. Das bedeutet, wenn sich an dem Text der E-Mail entwas ändert, würde auch ein anderer Hash-Wert herauskommen.

Im nächsten Schritt verschlüsselt Alice den errechneten Hash-Wert mit ihrem privaten Schlüssel und schreibt das Ergebnis an das Ende der E-Mail.

Bob bekommt nun diese E-Mail und entschlüsselt den Hash-Wert mit dem öffentlichen Schlüssel von Alice, den er hat. Nun berechnet er seinerseits den Hash-Wert des E-Mail-Textes von Alice und vergleicht die Hash-Werte. Sind sie identisch, wurde an der E-Mail nichts geändert, seit sie von Alice abgeschickt wurde. Dadurch, dass Bob den Hash-Wert mit dem öffentlichen Schlüssel von Alice entschlüsseln konnte, weiß er auch, dass Alice der Absender sein muss, da ihr privater Schlüssel benutzt wurde.

Anmerkung
Das alles setzt einige Punkte voraus, die in der Realität teilweise schwer einzuschätzen sind:

  1. Ist der öffentliche Schlüssel, den Bob von Alice bekommen hat, tatsächlich von Alice? Oder gibt nur jemand vor, Alice zu sein?
  2. Hat jemand Zugriff auf den privaten Schlüssel von Alice (z.B. dadurch, dass der Computer unzureichend gegen den Zugriff von anderen geschützt ist) und kann somit in ihrem Namen E-Mails signieren und verschlüsseln?

Installation von Enigmail

Das klingt alles komplizierter, als es ist. Um die Prozesse der Verschlüsselung und Signierung zu automatisieren, gibt es Programme, die einem einen Großteil der Arbeit abnehmen.

Um Thunderbird dahingehend zu erweitern, dass es mit GnuPG E-Mails verschlüsseln kann, benötigen Sie das Add-On “Enigmail” (Download-Seite der deutschen Version). Achten Sie bereits beim Download auf die Sicherheit und laden Sie das Plugin nur von einer vertrauenswürdigen Quelle herunter (die offizielle Seite ist eine gute Wahl).

Anmerkung
Auch hier gibt es potentielle Sicherheitsgefahren.

  1. Trauen Sie dem Plugin “Enigmail”, dass es tatsächlich nur das tut, was in der Beschreibung steht?
  2. Enigmail nutzt seinerseits das Programm GnuPG – trauen Sie der Funktionalität dieses Programms?
  3. Falls die Programme “sicher” sind – ist auch die Download-Quelle sicher?
  4. Wird das Programm während des Downloads geändert (Stichwort “Bundestrojaner”)?

Nach dem Download gehen Sie in Thunderbird auf “Extras/Add-ons…” und dort auf “Installieren…”. Wählen Sie dann die zuvor heruntergeladene XPI-Datei aus. Danach fordert Sie Thunderbird zu einem Neustart des Programms auf. An dieser Stelle beenden Sie Thunderbird komplett und installieren zunächst GnuPG.

Installation von GnuPG

GnuPG ist das eigentliche Programm, das die Verschlüsselung vornimmt. Enigmail ist grafische Benutzeroberfläche für Thunderbird. Hier gibt es die aktuelle Version von GnuPG. Downloaden Sie die Binärdateien für Ihr Betriebssystem (in meinem Beispiel für Microsoft Windows).

Installieren Sie GnuPG auf Ihrem Rechner. Sie benötigen nur die “Base”-Auswahl, alle anderen Häkchen können Sie entfernen.

Kopieren Sie nach der Installation den Inhatl des GnuPG-Ordners (z.B. unter c:\Progamme\GNU\GnuPG) in Ihr Thunderbird-Verzeichnis (z.B. C:\Programme\Thunderbird\App\gpg). Danach können Sie GnuPG wieder von Ihrem System deinstallieren, wenn Sie es nicht noch für andere Anwendungen benötigen.

Downloaden Sie zusätzlich die iconv.dll, damit GnuPG mit nicht-englischsprachigen Systemen funktioniert. Sie können Sie hier herunterladen, entpacken und in das selbe Verzeichnis kopieren.

Starten Sie nun Thunderbird. Sie sehen direkt das neue Menü “OpenPGP”.

Anlegen eines Schlüsselpaares

Wie weiter oben beschrieben brauchen Sie nun einen eigenen privaten und öffentlichen Schlüssel. Dazu gehen Sie in das Menü “OpenPGP” und dort auf “Schlüssel verwalten”. Gehen Sie dort auf “Erzeugen/Neues Schlüsselpaar…”.

Benutzer-ID: wählen Sie das E-Mail-Konto aus, für das das Schlüsselpaar primär gelten soll. Das Paar kann nach der Erstellung auch für mehrere E-Mail-Konten gelten.

keine Passphrase: Normalerweise muss für jede Ver- und Entschlüsselungsaktion eine Passphrase (ähnlich einem Passwort, es kann jedoch auch Leerzeichen enthalten und sollte aus mehreren Worten bzw. Sätzen bestehen) eingegeben werden, die nur Ihnen bekannt ist. Dies kann mit dieser Option abgeschaltet werden. Machen Sie es nur dann, wenn Sie Ihr E-Mail-Programm so gesichert haben, dass es von Unbefugten nicht genutzt werden kann (z.B. es befindet sich in einem verschlüsselten Bereich auf der Festplatte, der nur mit einer Passphrase geöffnet werden kann).

Kommentar: Der Inhalt des Feldes wird an die E-Mails angehangen.

Ablaufdatum: Wie lange soll der erstellte Schlüssel gültig bleiben? Das betrifft nur das Verschlüsseln mit diesem Schlüssel. Nachrichten entschlüsseln geht auch noch nach der Ablaufzeit. Gerade zum Testen sollte ersteinmal eine kurze Gültigkeitsdauer eingestellt werden. Generell halte ich eine Gültigkeitsdauer von 2-5 Jahren als angebracht.

Unter “Erweitert” kann noch die Schlüsselstärke und der Algorithmus eingestellt werden. Dies kann vorerst auf den Standard-Werten bleiben.

Bevor Sie nun auf “Schlüsselpaar erzeugen” klicken, sollten Sie wissen, dass Daten wie Tastaturanschläge, Mausbewegungen und Aktivität der Netzwerkkarte in den Zufallsalgorithmus mit einfließen. Da der Windows-interne Zufallsgenerator sehr vorhersehbar ist, sollten Sie aus Sicherheitsgründen möglichst viel mit Ihrem Rechner arbeiten, solange der Schlüssel erzeugt wird. Die Erzeugung kann je nach Geschwindigkeit des Computers mehrere Minuten dauern.

Nach der Erstellung werden Sie gefragt, ob ein Widerrufszertifikat erstellt werden soll. Dies ist auf jeden Fall sinnvoll. Wenn z.B. Ihr privater Schlüssel verlorengeht oder in falsche Hände fällt, können Sie so Ihren Schlüssel widerrufen. Speichern Sie das Zertifikat an einem sicheren Ort und hinterlegen Sie ihn so, dass ihn niemand anderes benutzern kann.

Nun müssen Sie Ihre Passphrase eingeben – es sei denn, Sie haben es mittels “keine Passphrase” abgeschaltet. Beachten Sie, dass die Passphrase möglichst lang und schwer zu erraten sein sollte und mit Sonderzeichen und Zahlen versehen sein sollte. Hier gibt es eine gute Möglichkeit, sich eine Passphrase zu erzeugen. Sie benötigen lediglich einen sechsseitigen Würfel. Vergessen Sie diese Passphrase nicht! Ohne sie können Sie keine E-Mails mehr ver- und entschlüsseln.

Das war es, Ihr Schlüsselpaar ist fertig! In dem Fenster “Schlüssel verwalten” sehen Sie nun Ihren neu erzeugten Schlüssel.

Öffentlichen Schlüssel exportieren

Damit nun auch E-Mails an Sie verschlüsselt werden können, müssen Sie Ihren öffentlichen Schlüssel auch veröffentlichen. Dies können Sie auf verschiedene Arten machen.

  1. Indem Sie den öffentlichen Scnhlüssel auf einen Schlüsselserver hochladen (Rechtsklick auf den Schlüssel und dann “Auf Schlüsselserver hochladen”). Dies sollten Sie erst machen, wenn Sie mit der Bedienung vertraut sind und sich sicher sind, dass Sie diesen Schlüssel einsetzen. Denn Sie können den Schlüssel von dort nicht wieder löschen. Die einzige Möglichkeit ist, ihn zu widerrufen (mit dem oben erstellten Widerrufszertifikat).
  2. Sie können den öffentlichen Schlüssel auf Ihrem Webspace zur Verfügung stellen (als Download oder im Klartext). Diese Methode ist so sicher wie Ihr Webspace. Wird Ihr Webspace gehackt, kann ein Angreifer den Schlüssel ändern.
  3. Sie versenden den Schlüssel per E-Mail. Dies ist potentiell unsicher, da Ihre E-Mail unterwegs abgefangen und mit einem falschen Schlüssel weitergeschickt werden könnte. Diese Gefahr können Sie umgehen, wenn Sie von der Schlüssel-Datei einen Hash erzeugen (z.B. mittels MD5) und den Empfänger das gleiche machen lassen. Vergleichen Sie dann telefonisch, ob der MD5-Hash sowohl beim Sender als auch Empfänger identisch ist.
  4. Sie kopieren die Schlüssel-Datei auf eine Diskette, CD oder USB-Stick und übergeben ihn persönlich.

Für die Punkte 2-4 benötigen Sie jedoch den öffentlichen Schlüssel entweder als Datei oder als Klartext in der Zwischenablage. Dies erreichen Sie so:

Im Fenster “Schlüssel verwalten” klicken Sie rechts auf Ihren Schlüssel und wählen Sie “In Zwischenablage exportieren”. Nun können Sie über “Bearbeiten/Einfügen” Ihren Schlüssel z.B. in eine E-Mail oder Ihren Web-Editor einfügen. Es wird nur der öffentliche Schlüssel exportiert.

Um den Schlüssel in eine Datei zu speichern, klicken Sie rechts auf den Schlüssel und wählen Sie “In Datei exportieren…”. Nun werden Sie gefragt, ob Sie auch den privaten Schlüssel exportieren sollen. Kreuzen Sie das nicht an. Wählen Sie dann, wo die Datei gespeichert werden soll. Diese Datei kann nun als E-Mail-Anhang verschickt, auf Webspace hochgeladen oder auf Diskette/CD/USB-Stick kopiert werden.

Ihre erste verschlüsselte E-Mail

Da Sie evtl. noch niemanden kennen, mit dem Sie verschlüsselte E-Mails austauschen können, schicken Sie ruhig mir eine. Meine öffentlichen Schlüssel bekommen Sie unter https://www.hellseals.de/gpg.

Importieren eines Schlüssels

Sie bekommen den öffentlichen Schlüssel Ihres Kommunikationspartners entweder als ASC-Datei (das, was der “Schlüssel verwalten”-Dialog exportiert) oder als Klartext auf einer Website oder in einer E-Mail.

Klartext-Schlüssel

  1. Markieren Sie den Schlüssel komplett, einschließlich der ersten und letzten Zeile:
    —–BEGIN PGP PUBLIC KEY BLOCK—–

    —–END PGP PUBLIC KEY BLOCK—–
  2. Kopieren Sie den Schlüssel (Strg+C)
  3. Gehen Sie im “Schlüssel verwalten”-Dialog auf “Bearbeiten/Aus Zwischenablage importieren”
  4. Fertig

ASC-Datei importieren

Gehen Sie im “Schlüssel verwalten”-Dialog auf “Datei/Importieren” und wählen Sie die ASC-Datei aus.

Schreiben einer verschlüsselten E-Mail

Erstellen Sie eine neue Nachricht und wählen Sie einen Empfänger, dessen öffentlichen Schlüssel Sie haben (z.B. michDiese E-Mail-Adresse ist gegen Spam-Bots geschützt, Sie müssen Javascript aktivieren, damit Sie es sehen können ). Neu hinzugekommen zum E-Mail-verfassen-Dialog ist nun das Icon “OpenPGP”. Wenn Sie den Pfeil rechts daneben klicken, sehen Sie die Optionen “Nachricht unterschreiben” und “Nachricht verschlüsseln”.

Sie können beide Optionen auswählen. Gehen Sie nun auf “Senden”. Enigmail vergleicht nun die Empfängeradresse mit den gespeicherten Schlüsseln. Wird keine Übereinstimmung gefunden, wählen Sie den entsprechenden Schlüssel aus. Nun wird die Nachricht verschlüsselt und verschickt.

Anmerkung
Der Betreff der E-Mail verbleibt im Klartext, auch wenn die Mail verschlüsselt ist.

Die E-Mail wird auf Ihrem Rechner verschlüsselt im Ordner “Gesendet” abgelegt. Normalerweise könnten Sie die E-Mail selber nicht mehr lesen, da Sie zum Entschlüsseln den privaten Schlüssel des Empfängers benötigen. Enigmail verschlüsselt die ausgehende Mail jedoch zusätzlich mit Ihrem öffentlichen Schlüssel, damit Sie die Mail noch lesen können (mit Ihrem privaten Schlüssel). Diese Option können Sie auch unter “OpenPGP/Einstellungen” deaktivieren. Dann kann die Mail wirklich nur noch der Empfänger lesen.

Verschlüsselte und unterschriebene E-Mails empfangen

Wenn Sie nun eine verschlüsselte E-Mail bekommen und sich diese in Thunderbird anzeigen lassen möchten, müssen Sie Ihre Passphrase eingeben. Danach wird die E-Mail entschlüsselt (sofern Sie mit Ihrem öffentlichen Schlüssel verschlüsselt wurde) und der Inhalt angezeigt. Die E-Mail verbleibt jedoch verschlüsselt, d.h. dass Sie Ihre Passphrase erneut eingeben müssen, wenn Sie die Mail später noch einmal lesen möchten. Dies dient der Sicherheit.

Ist die E-Mail unterschrieben, wird Ihnen in Thunderbird angezeigt, ob der Inhalt der E-Mail mit der Signatur übereinstimmt. Dies wird durch eine rote oder grüne Farbe in der Vorschau der E-Mail gekennzeichnet.

Autor: Daniel Neumann

... ist seit 1996 im Web aktiv und hat sich seit dem mit dem Einsatz von Web-Technologien beschäftigt. Seit 2005 arbeitet er mit kommerziellen und freien Web-Content-Management-Systemen.