Dein Computer klappert und quitscht? Du brauchst Hilfe mit einem Linux-System? Du möchtest mehr über Dein Arbeitsgerät wissen?
Komm rum...

Du oder Deine Gruppe möchtet Eure e-mails lieber verschlüsselt verschicken...? Oder gleich lieber die ganze Platte sicher machen...? Wir zeigen Euch wie's geht...

Du willst wissen was sich hinter TKÜ verbirgt? Oder warum Windows böse und Linux besser ist? In unseren Texten findest Du Antworten...

Workshop zu Emailverschlüsselung mit Thunderbird, GnuPG und enigmail

Mit der Verschlüsselung von Emails kann mensch sich einfach gegen das ungewollte Mitlesen absichern. Diesen Workshop bieten wir in unregelmässigen Abständen und für die Betriebssysteme Linux, Windows und MacOS an. Aber auch sonst stehen wir (fast) jederzeit für Fragen und Hilfe zum Thema zur Verfügung. Wenn Du oder Deine Gruppe auf verschlüsselte Kommunikation umsteigen wollen, kontaktiert uns einfach.

HowTo:Email-Verschlüsselung mit Thunderbird, GnuPG und enigmail

Dieser Text ist erschienen in einer HowTo-Sammlung der HUch! (Studierendenzeitung an der HU) im April 2008.

Hier vorgestellt wird das Verschlüsseln und das Signieren von Emails mittels Thunderbird und GnuPG. Thunderbird ist ein Email-Client, der in etwa die Funktionen von Microsoft Outlook bietet; GnuPG („GNU Privacy Guard) ermöglicht verschiedene Formen von Verschlüsselung. Zwischen diesen beiden vermittelt ein Plugin namens Enigmail, das im Thunderbird installiert werden muss. Andere Kombinationen von Software sind denkbar. Aus praktischen Gründen wird hier allerdings nur diese Kombination für GNU/Linux, Windows- und Mac-Betriebssysteme vorgestellt.

Problemstellung

Bei der Email-Kommunikation im Internet stellen sich grundsätzlich zwei Probleme: Das Problem der Privatsphäre und das Problem der Authentizität. Um dies weiter zu verständlichen ist ein kurzer Exkurs in die Funktionsweise des Internets nötig. Verschickt mensch eine Email, so wird diese über verschiedene Server und Router weitergeleitet, bis sie schließlich in der gewünschten Mailbox landet. Jede dieser Vermittlungsstellen empfängt die Mail, erzeugt eine Kopie und leitet diese weiter. Es gilt die Regel: „Every act on the internet is a copy.“ Aus dieser Tatsache ergibt sich das Problem der Privatsphäre, denn im Prinzip kann jede Vermittlungsstelle auch mehrere Kopien erstellen und diese an beliebig viele weitere Empfänger_innen senden. Dies passiert für Versender_innen und Empfänger_innen unsichtbar. Das zweite Problem der Authentizität ergibt sich ebenfalls aus der Tatsache, dass jede Mail über verschiedene Vermittlungsstellen geleitet wird. Jede dieser Stellen kann theoretisch und praktisch die Email manipulieren.

Das Public-/Private-Key-Verfahren

Das Public-/Private-Key-Verfahren adressiert beide oben genannten Probleme. Es funktioniert so: Wer verschlüsselte Emails senden und empfangen will, generiert sich auf dem heimischen Rechner ein Schlüsselpaar, also zwei Schlüssel, die zueinander gehören. Der öffentliche Schlüssel ist völlig unbedenklich und kann an alle, mit denen mensch in verschlüsselte Kommunikation treten will, verschickt werden. Der private Schlüssel ist wie der Name schon sagt privat und sollte nicht in falsche Hände gelangen. Daher ist dieser Schlüssel zusätzlich mit einer Passphrase geschützt. Der private Schlüssel befindet sich also selbst in nochmals verschlüsselter Form auf der eigenen Festplatte und kann nur durch Eingabe der Passphrase entschlüsselt werden.

Bob verschickt seinen öffentlichen Schlüssel an Alice. Eve (von englisch „Eavesdropper“ - Lauscher_in) kann den öffentlichen Schlüssel problemlos abfangen, das ist aber nicht schlimm.

Alice benutzt Bob's öffentlichen Schlüssel um eine Nachricht an Bob zu verschlüsseln. Da nur Bob in Besitz des passenden privaten Schlüssels ist, kann Eve die Nachricht zwar abfangen, aber nicht entschlüsseln.

Verschlüsselte Emails versenden und empfangen

Will ich nun eine Email verschlüsseln, so benötige ich den öffentlichen Schlüssel meiner Kommunikationspartner_in. Mit diesem Schlüssel verschlüssele ich meine Nachricht; das Ergebnis ist ein unleserlicher Zahlen- und Buchstabensalat. Die Empfängerin kann nun mittels ihres privaten Schlüssels, den sie erst durch Eingabe der Passphrase entschlüsseln muss, die Email aufmachen.

Erhalte ich dagegen eine verschlüsselte Mail, so muss ich mit Hilfe meiner Passphrase meinen privaten Schlüssel entschlüsseln und damit wiederum die Email entschlüsseln. Die entschlüsselte Mail erscheint dann wieder im Klartext. Mit diesem Verfahren ist also der Inhalt der Mail auf seiner Reise durchs Netz geschützt. Heutige Email-Programme unterstützen dieses Verfahren, so dass sich der Vorgang des Ver- und Entschlüsselns nutzerseitig auf wenige Mausklicks beziehungsweise die Eingabe der Passphrase beschränkt.

Emails signieren

Um die Authenzität der Email zu gewährleisten, wird im Prinzip das selbe Verfahren verwendet, nur andersherum. Bevor die Email verschickt wird, generiert das Emailprogramm aus dem Inhalt der Email und meinem privaten Schlüssel eine Prüfsumme, die beim Senden mit übermittelt wird. Das Emailprogramm der Empfängerin kann eine mathematische Beziehung zwischen dem Text der Mail, der Prüfsumme und meinem öffentlichem Schlüssel überprüfen. Stimmt diese Beziehung, so ist klar, dass die Prüfsumme nur mit Hilfe meines privaten Schlüssels und nur aus dem vorliegenden Text generiert worden sein kann. Damit kann die Empfängerin feststellen, dass erstens die Email von mir kommt (da nur ich im Besitz meines privaten Schlüssels nebst zugehöriger Passphrase bin) und zweitens, dass am Inhalt der Mail nichts manipuliert wurde.

Schritt 1: Programme installieren

 

Unter Linux

Im Paketmanager der jeweiligen Distribution (für Ubuntu und Debian wird meist Synaptic verwendet) einfach die Pakete thunderbird, gnupg und enigmail installieren. Auf Debian-basierten Distributionen reicht der Befehl:

$ apt-get install thunderbird gnupg enigmail

[als Root-User ausführen.]

Unter Windows

Unter Windows müssen die Programme einzeln heruntergeladen werden: Thunderbird findet sich unter http://www.mozilla.com. Dann auf Thunderbird klicken und das Paket in der gewünschten Sprache herunterladen. Ein Doppelklick auf Thunderbird_Setup.exe installiert das Programm.

GnuPG findet sich unter ftp://ftp.gnupg.org/gcrypt/binary/. Die momentan aktuellste Version ist 1.4.8, also die Datei: gnupg-w32cli-1.4.8.exe. Ein Doppelklick installiert das Programm.

Das Enigmail-Plugin muss unter https://addons.mozilla.org/de/thunderbird/addon/71 heruntergeladen werden. Die heruntergeladene xpi-Datei muss im Thunderbird unter Extras -> Addons -> Installieren (dort die heruntergeladene xpi-Datei auswählen) installiert werden. Dann den Thunderbird neu starten. Das die Programme korrekt installiert sind erkennt mensch unter anderem daran, dass das Thunderbird-Menü nun um den Eintrag „OpenPGP“ erweitert wurde.

Unter MacOS

Unter MacOS wird analog zur Installationsbeschreibung für Windows verfahren. Die GnuPG-Pakete für MAC finden sich unter: http://macgpg.sourceforge.net/.

Schritt 2: Email-Konto unter Thunderbird einrichten

Screencast mit Konfigurationsbeispiel

Dieser Schritt kann an dieser Stelle nicht ausführlich behandelt werden. Bei den meisten Email-Providern wie beispielsweise GMX, google, yahoo usw. findet sich eine Anleitung, wie die am weitesten verbreiteten Email-Programme zu konfigurieren sind. Folgende Angaben werden benötigt:

  • Die Email-Adresse.
  • Adresse des Mail-Eingangsservers.
  • Login und Passwort für den Mail-Eingangsserver.
  • Adresse des Postausgangsservers.
  • Das vom Posteingangsserver verwendete Protokoll (in der Regel POP3).
  • Login und Passwort für den Postausgangsserver.

Mit einer kurzen Email an sich selbst kann getestet werden, ob alles richtig eingestellt ist.

Schritt 3: Ein Schlüsselpaar generieren

Screencast mit Anleitung zur Schlüsselerzeugung

Im Thunderbird im Menü OpenPGP und dort „key management“ aufrufen.

gk

Mit diesem Dialog kann mensch einfach und schnell ein neues Schlüsselpaar generieren.

Im Key-Manager im Menüpunkt „Generate“ die Option „new pair“ auswählen. Dort unter „Account / User-ID“ die Emailadresse auswählen, für die ein neuer Schlüssel generiert werden soll. Dann unter „Passphrase“ das ausgewählte Passwort eingeben (siehe unbedingt den Punkt Passwortsicherheit) und zur Sicherheit nochmals wiederholen. Das Feld „Comment“ kann leer bleiben oder irgendeine Beschreibung des Schlüssels enthalten. Dieser Comment wird unverschlüsselt mit übertragen, deswegen sollte hier keinesfalls etwas stehen, dass Rückschlüsse auf die verwendete Passphrase zulässt. Im Feld „Key expires“ kann angegeben werden, wie lange der Schlüssel gültig sein soll. „Key does not expire“ ist eine gute Wahl. Ein Klick auf „Generate Key“ startet die Schlüsselerzeugung. Während der Generierungsprozess läuft kann mensch ein paar Anwendungen starten oder andere Aktivitäten ausführen. Dies erhöht die Entropie im Computersystem und führt damit zu Zufallszahlen von höherer Qualität.

Nach der Schlüsselgenerierung kommt die Aufforderung ein „revocation certificate“ zu erstellen. Dieses kann verwendet werden, um den Schlüssel zurückzurufen, beispielsweise wenn er kompromittiert wurde oder ein neuer Schlüssel verwendet werden soll. In diesem Falle sendet mensch das Revocation-Certificate an die Kommunikationspartner_innen und erklärt damit den Schlüssel für ungültig. Es empfiehlt sich also, ein solches Zertifikat zu erstellen und (beispielsweise gemeinsam mit Sicherheitskopien des öffentlichen und des privaten Schlüssels, siehe unten) irgendwo sicher aufzubewahren. Bei Erstellen des Zertifikats muss die Passphrase erstmals verwendet werden. Herzlichen Glückwunsch, das Schlüsselpaar ist erstellt.

Key-Manager

gk Im Key-Manager werden alle Schlüssel, die sich im Laufe der Zeit ansammeln, übersichtlich gespeichert. Dort lassen sich Key-ID, Fingerprint, Geltungsdauer etc. ablesen. Auch die eigenen privaten Schlüssel können hier eingesehen werden.

public key fingerprint

Der fingerprint eines öffentlichen PGP-Schlüssels besteht aus 10 Blöcken zu je 4 Zeichen. Der Fingerprint wird mittels eines mathematischen Algorithmus (Hash) aus dem öffentlichen Schlüssel generiert. Um die Sicherheit zu erhöhen ist es möglich, nach Erhalt eines öffentlichen Schlüssels die entsprechende Kommunikationspartner_in beispielsweise telefonisch zu kontaktieren und den fingerprint mündlich abzugleichen. So ist sichergestellt, dass wirklich mit dem richtigen public key verschlüsselt wird und nicht eine unberechtigte dritte Person einen gefälschten public key eingeschmuggelt hat.

Beispiel für einen public key fingerprint: 2914 0768 68E5 BC65 80E5 7D4C 60FA 1AA7 7023 405A

key-ID

Die Key-ID sind die letzten acht Ziffern des fingerprints. Aus praktischen Gründen wird in einigen Fällen lediglich die ID eingesetzt, allerdings ist sie wegen ihrer Kürze nicht dazu in der Lage, einen Schlüssel zweifelsfrei zu identifizieren.

Anmerkungen zur Passwortsicherheit

Hier gehen die Meinungen etwas auseinander, wie lang ein Passwort sein sollte, um wirklich sicher zu sein. Klar ist allerdings, dass es Groß- und Kleinschreibung sowie Zahlen und Sonderzeichen enthalten sollte. Nicht enthalten sein sollten ganze Wörter oder Sätze. Als Eselsbrücke empfiehlt es sich, sich einen Satz zu merken und die jeweiligen Anfangsbuchstaben als Passwort zu verwenden.

Ein Beispiel: Wegen des „Linksrucks“ in der SPD-Führung verlor die Partei 43% bei den Landtagswahlen.
Ergibt als Passwort: Wd“L“idSPD-FvdP43%bdL.
Dieses Passwort kann als sehr sicher gelten (jetzt natürlich nicht mehr, weil es veröffentlicht wurde). Es hat 22 Zeichen, für unsere Zwecke hier sollte allerdings ein Passwort von mindestens 15 Zeichen Länge völlig ausreichen.

Schritt 4: Sicherheitskopien erstellen

Vorweg eine Warnung: Sollte der private Schlüssel verloren gehen oder aber die eigene Passphrase vergessen werden, so gibt es keine Möglichkeit, die so verschlüsselten Emails jemals wieder zu lesen. Deswegen muss mensch sich die Passphrase genau einprägen. Im Falle eines Festplattencrashs oder ähnlichem wären die privaten Schlüssel verloren, daher sollten alle Schlüssel sowie das Revocation-Certificate auf einem externen Medium (bspw. USB-Stick) gesichert werden.

Unter Linux finden sich die entsprechenden Dateien (und auch alle importierten öffentlichen Schlüssel anderer Leute) im Verzeichnis /home/<USERNAME>/.gnupg. Einfach das gesamte Verzeichnis sichern. Unter Windows finden sich die Dateien unter: C:\Dokumente und Einstellungen\<USERNAME>\Anwendungsdaten\gnupg Dabei sollte <USERNAME> durch den eigenen Benutzernamen ersetzt werden.

Schritt 5: Emails verschlüsseln und signieren

Screencast zum Umgang mit Enigmail (senden und empfangen)

Um eine Email verschlüsseln zu können, wird der öffentliche Schlüssel der Kommunikationspartner_in benötigt. Diesen kann mensch sich einfach zuschicken lassen und dann importieren. Das funktioniert mit einem Rechtsklick auf die der Email angehängte asc-Datei und Klick auf „importieren“.

Um eine verschlüsselte Nachricht zu verschicken im Thunderbird einfach auf „Verfassen“ klicken. Die gewünschte Emailadresse eingeben und im Menü unter „OpenPGP“ die beiden Punkte „sign email“ und „encrypt email“ auswählen. Dass die Mail wie gewünscht verschlüsselt und signiert wird, erkennt mensch an den beiden kleinen grünen Symbolen unten rechts (ein Bleistift für die Signatur und ein Schlüssel für die Verschlüsselung). Dann wie gewohnt die Email schreiben. Dabei ist zu bedenken, dass die Betreffszeile nicht mitverschlüsselt wird, hier sollen also keine sensiblen Daten eingegeben werden. Beim Verschicken der Email wird mensch aufgefordert, die Passphrase einzugeben. Wie oben beschrieben ist dies nötig, um den eigenen privaten Schlüssel zu öffnen, mit dem die Mail signiert werden soll. Angenommen mensch wollte die Mail nur verschlüsseln, aber nicht signieren, so wäre die Eingabe der Passphrase nicht nötig. Ein Klick auf „Senden“ startet den Verschlüsselungsvorgang und versendet die Mail.

Schritt 6: Verschlüsselte und signierte Emails empfangen.

Erhält mensch eine verschlüsselte Email, so wird die Eingabe der Passphrase gefordert. Nach Eingabe erscheint die entschlüsselte Mail. Wiederum kann mensch an den beiden grünen Symbolen am unteren Rand des Fensters erkennen, dass sowohl Verschlüsselungs- wie Signaturvorgang erfolgreich waren. Sollte das Bleistift-Symbol rot bleiben so kann dies bedeutet, dass der öffentliche Schlüssel der Kommunikationspartner_in noch nicht importiert wurde.

Passphrase merken: Falls mensch nicht jedesmal die Passphrase eingeben will, kann im Thunderbird-Menü unter „OpenPGP“ -> „Preferences“ eingestellt werden, dass die Passphrase für längere Zeit im System erhalten bleibt.

Voila.