Bitte warten...

Verschlüsselte E-Mail-Kommunikation mit Mozilla Thunderbird

(Mit Thunderbird 115.4.1 unter Linux Mint 21.2)

Eine Ende-zu-Ende-Verschlüsselung ist wohl die wesentlichste Maßnahme gegen das unerwünschte Mitlesen des eigenen E-Mail-Verkehrs durch Dritte. Trotz zunehmender Bedrohung vertraulicher elektronischer Kommunikation wird diese Maßnahme dennoch bislang nur wenig genutzt. Ein möglicher Grund dafür ist der relative Mehraufwand, der mit der Auseinandersetzung mit diesem Thema und schließlich mit der Anwendung von Verschlüsselung verbunden ist. Diese Anleitung für den E-Mail-Client Mozilla Thunderbird soll diese Schwelle etwas herabsetzen. Um die Lernkurve möglichst flach zu halten, wurde hier auf die technischen Hintergründe so weit wie möglich verzichtet. Wer sich dafür interessiert, erfährt aber über die entsprechenden Links mehr.

Eine offizielle Anleitung zur Verschlüsselung von E-Mails mit Thunderbird (und insbesondere zur Migration von Enigmail) findet man hier.

Wer seine E-Mails üblicherweise über einen Webmailer, also im Browser liest und schreibt, sollte sich Thunderbird installieren, da Webmailer Verschlüsselung bisher kaum anbieten. Es existieren allerdings Werkzeuge wie Mailvelope, mit denen Verschlüsselung auch per Webmail möglich ist.

Das Prinzip

Es werden immer zwei Schlüssel benötigt, ein öffentlicher Schlüssel für die Verschlüsselung und ein privater (d. h. geheimer) Schlüssel für die Entschlüsselung. Mit Hilfe deines öffentlichen Schlüssels können andere Personen ihre Daten, die sie an dich senden möchten, verschlüsseln. Diese Daten kannst du dann mit deinem privaten Schlüssel wieder entschlüsseln. In umgekehrter Richtung benötigst du immer den öffentlichen Schlüssel des Empfangenden deiner Daten, um diese für sie oder ihn zu verschlüsseln (asymmetrische Verschlüsselung).

Dabei ist zu beachten, dass nur der Inhalt einer E-Mail verschlüsselt wird. Die Betreffzeile wird unverschlüsselt übertragen und sollte daher keine vertraulichen Informationen enthalten. Ebenso kann der Betreff ›unterwegs‹ manipuliert worden sein.

Während die Ver- und Entschlüsselung von E-Mails ein relativ einfacher Vorgang ist, der bei regelmäßiger Anwendung zur Routine wird, erfordert die Erzeugung der benötigten Schlüssel sowie deren Verwaltung und Pflege etwas mehr Aufmerksamkeit und Sorgfalt. Mit der integrierten Unterstützung von Verschlüsselung in Thunderbird können sowohl die Schlüssel erzeugt und verwaltet als auch die Ver- und Entschlüsselung von E-Mails selbst durchgeführt werden.

Unter Linux Mint existiert das Werkzeug Seahorse (Gnome Keyring), mit dem die Schlüsselerzeugung und -‍verwaltung auf Betriebssystemebene bewerkstelligt werden kann. Dieses Werkzeug ist von Thunderbird unabhängig, greift aber ebenfalls auf OpenPGP zurück. Schlüssel, die mit dem einen Programm erzeugt wurden, müssen bei Bedarf manuell in das jeweils andere importiert werden.

Wichtige Begriffe

Persönlicher Schlüssel
Auch: privater oder geheimer Schlüssel, private key. Der Schlüssel eines Schlüsselpaares, mit dem empfangene Nachrichten entschlüsselt und ausgehende Nachrichten signiert werden können. Dieser Schlüssel wird von der Person erzeugt, die eingegangene verschlüsselte E-Mails entschlüsseln bzw. eigene ausgehende E-Mails signieren möchte. Der persönliche Schlüssel wird niemals mitgeteilt und in der Regel durch eine Passphrase gegen unbefugten Zugriff geschützt.

Öffentlicher Schlüssel
Auch: public key. Der Schlüssel eines Schlüsselpaares, mit dem Absendende eine Nachricht verschlüsseln und Empfangende eine Signatur überprüfen können. Dieser Schlüssel wird von der Person erzeugt, an die man verschlüsselte E-Mails verschicken bzw. deren eingegangene signierte E-Mails man überprüfen möchte. Öffentliche Schlüssel werden in der Regel über einen Schlüsselserver bereitgestellt, können aber auch als Datei oder Reintext veröffentlicht werden.

Fingerabdruck
Auch: fingerprint. Ob der öffentliche Schlüssel auch wirklich der angenommenen Person zugeordnet werden kann, wird in der Regel durch Überprüfung des Fingerabdrucks des Schlüssels überprüft (der Schlüsselinhaber teilt seinem Kommunikationspartner den Fingerabdruck persönlich auf Papier oder mündlich mit). Der Fingerabdruck eines öffentlichen Schlüssels ist eine einmalige 40stellige hexadezimale Zahl, die aus dem Schlüssel generiert wurde, diesem daher eindeutig zugeordnet werden kann und zu dessen Überprüfung verwendet wird. Siehe auch Kryptographische Hashfunktion.
Beispiel: 6A38 CA0C 80E1 DCAE 93AF 9B2A 70C5 D981 35D0 1768

Schlüssel-ID
Auch: Schlüsselkennung, key ID. Eine eindeutige hexadezimale Kennzahl eines Schlüssels. Sie besteht üblicherweise aus den letzten sechzehn (früher acht) Stellen des Fingerabdrucks und dient der eindeutigen Identifikation eines Schlüssels in Schlüsselverzeichnissen wie beispielsweise einem Schlüsselserver oder einem lokalen Schlüsselbund.
Beispiel: 70C5D98135D01768 bzw. 0x70C5D98135D01768

Benutzerkennung
Auch: Benutzer-ID, user ID, UID. Sie besteht aus dem Namen des Schlüsselbesitzers, einem optionalen Kommentar und der E-Mail-Adresse, für den der Schlüssel gilt.
Beispiel: Paula Meier (Hauptschlüssel) <paula@example.com>

Passphrase
Ein vom Benutzer festgelegtes Passwort, mit dem der private Schlüssel vor unbefugtem Zugriff geschützt wird.

Ablaufdatum/Gültigkeit
Wurde bei der Erzeugung eines öffentlichen Schlüssels ein Ablaufdatum festgelegt und ist dieses erreicht, kann der Schlüssel vom Absender nicht mehr zum Verschlüsseln verwendet werden. Ein solcher Schlüssel wird auf den Schlüsselservern erkennbar als abgelaufen markiert. Sollte man seinen privaten Schlüssel verloren haben, so kann man auf diese Weise verhindern, dass weiterhin neue Nachrichten ab diesem Datum mit dem abgelaufenen Schlüssel verschlüsselt werden. Die Gültigkeit abgelaufener Schlüssel lässt sich nachträglich durch Festlegung eines neuen Ablaufdatums wieder herstellen. Dazu müssen Nutzer dieses öffentlichen Schlüssels diesen allerdings ebenfalls aktualisieren. Ist ein privater Schlüssel bekannt und damit unsicher geworden, so schützt das Ablaufdatum nicht vor Missbrauch, da dieses Datum von jeder Person verlängert werden kann, die Zugriff auf den privaten Schlüssel hat.

Schlüsselgröße
Auch: Schlüssellänge, Schlüsselstärke. Die Schlüssellänge ist ein wichtiges Maß für die Komplexität und damit die Sicherheit eines Schlüssels. Je größer die Schlüssellänge gewählt wird, umso sicherer ist dieser, aber umso länger dauert auch die Erzeugung eines Schlüssels und die Ver- bzw. Entschlüsselung einer Nachricht mit diesem Schlüssel.

Verschlüsselungsalgorithmus
Auch: Verschlüsselungsverfahren, Kryptosystem. Das mathematische Verfahren, mit dem die Verschlüsselung realisiert wird. Beispiele: RSA, DSA, Blowfish, Twofish

Signatur/signieren
Auch: Unterschrift/unterschreiben. Beim Signieren wird der Nachricht beim Absenden eine digitale Signatur angehängt, die mit Hilfe des privaten Schlüssels aus der Nachricht selbst generiert wurde und durch die der Empfänger so überprüfen kann, ob die Nachricht während der Übermittlung beispielsweise durch einen Man-in-the-Middle-Angriff manipuliert wurde. Dazu muss der für die Signatur verwendete Schlüssel vom Empfänger allerdings zunächst über einen Vergleich des Fingerabdrucks verifiziert werden. Auch unverschlüsselte Nachrichten lassen sich signieren.

Schlüsselserver
Auch: key server. Auf einem Schlüsselserver können öffentliche Schlüssel zugänglich gemacht, aktualisiert und abgerufen werden.

Zertifikat
Ein Zertifikat ist in diesem Zusammenhang ein öffentlicher Schlüssel, der um Metadaten erweitert ist. Siehe auch hier.

Widerrufszertifikat
Mit Hilfe eines Widerrufszertifikates kann die Gültigkeit eines öffentlichen Schlüssels beendet werden, um zu verhindern, dass dieser weiter verwendet wird. Dazu wird das Widerrufszertifikat auf einem Schlüsselserver veröffentlicht. Dies ist zum Beispiel in dem Fall von Bedeutung, wenn der eigene private Schlüssel verloren gegangen oder unbeabsichtigt öffentlich und damit unsicher geworden ist. Siehe auch Widerruf von Schlüsseln.

Ein neues Schlüsselpaar erzeugen

Um ein neues Schlüsselpaar (persönlicher und öffentlicher Schlüssel) zu erzeugen, öffnet man über das Menü von Thunderbird zunächst die Schlüsselverwaltung: ► Werkzeuge ► OpenPGP-Schlüssel verwalten und wählt dann Erzeugen ► Neues Schlüsselpaar. Unter ›Identität‹ wird die E-Mail-Adresse gewählt, für die das zu erzeugende Schlüsselpaar gelten soll.

Unter ›Ablaufdatum‹ kann die Gültigkeit des Schlüssels zeitlich begrenzt werden, z. B. auf ein Jahr. In diesem Fall muss man seinen Schlüssel nach Ablauf dieser Zeit aktualisieren, wenn er weiter verwendet werden soll. Um die Gültigkeit eines Schlüssels nachträglich zu verlängern, doppelklickt man in der Schlüsselverwaltung auf den entsprechenden Eintrag in der Schlüsselliste und wählt dann Ablaufdatum ändern.

Unter ›Erweiterte Einstellungen‹ kann der Verschlüsselungsalgorithmus (Schlüsseltyp) und die Schlüsselgröße angegeben werden. Standardmäßig verwendet Thunderbird RSA für die Verschlüsselung. Es steht aber auch die Verschlüsselung mit Elliptischen Kurven zur Verfügng. Als Schlüsselgröße kann zwischen 3072 (empfohlen) und 4096 Bit gewählt werden.

Durch Klick auf Schlüssel erzeugen wird dieser Vorgang gestartet, was eine Weile dauern kann. Dieser Vorgang kann allerdings durch Aktivitäten am Rechner – wie z. B. Texteingaben oder Surfen im Netz – beschleunigt werden, da so mehr Entropie akkumuliert wird. Anschließend ist der neue Schlüssel in der Liste verfügbar. Unter Umständen muss er noch unter ► Konten-Einstellungen ► Ende-zu-Ende-Verschlüsselung ► OpenPGP für das entsprechende Konto aktiviert werden. Es wird sehr empfohlen, den persönlichen Schlüssel über Datei ► Sicherheitskopie für geheime(n) Schlüssel erstellen in eine Datei zu exportieren und diese an einem sicheren Ort aufzubewahren, da man sonst unter Umständen den Zugriff auf seinen Schlüssel verlieren kann, falls Thunderbird defekt sein sollte. Außerdem lässt er sich so auf anderen Rechnern oder beispielsweise in Seahorse nutzen. Bei Erstellen der Sicherheitskopie muss ein Passwort für diesen Schlüssel vergeben werden, mit dem dieser vor unbefugter Verwendung geschützt werden kann. Dieses Passwort ist ebenfalls unbedingt sicher zu verwahren, da man bei Verlust auch den Zugriff auf die Sicherheitskopie verliert.

Schlüssel, die mit Thunderbird erzeugt oder hier importiert wurden, sind nicht automatisch auch in der Schlüsselverwaltung von Linux Mint Seahorse verfügbar und umgekehrt.

Der geheime private Schlüssel schützt nur, so lange er auch privat bleibt. Daher sollte man dem Schutz des Schlüssels (und einer ggf. dazugehörigen Passphrase) vor unbefugtem Zugriff große Sorgfalt schenken. Diese Daten sollte man beispielsweise niemals über ein öffentliches Netzwerk verschicken oder auf einem unsicheren Rechner bzw. Speichermedium speichern. Unsicher heißt, dass unbefugter Zugriff durch andere Personen möglich ist. Wie man den privaten Schlüssel schützt, liegt vollständig in der eigenen Verantwortung.

Schlüssel importieren

Hatte man bereits in der Vergangenheit ein Schlüsselpaar erzeugt, benötigt man kein neues, sondern kann dieses in der Schlüsselverwaltung als Datei über Datei ► Geheime(n) bzw. Öffentliche(n) Schlüssel aus Datei importieren importieren.

Den öffentlichen Schlüssel verfügbar machen

Um nun anderen Menschen den eigenen öffentlichen Schlüssel zur Verfügung zu stellen, damit diese eine Nachricht an dich damit verschlüsseln können, gibt es verschiedene Wege.

Entweder man exportiert den öffentlichen Schlüssel über Datei ► Öffentlichen Schlüssel in Datei exportieren in eine Datei, die man dann beispielsweise als E-Mail-Anhang verschicken kann, wobei dies auch direkt über Datei ► Öffentliche Schlüssel per E-Mail senden durchgeführt werden kann.

Oder man lädt den Schlüssel auf einen Schlüsselserver, von dem sich andere Menschen diesen dann herunterladen können. Beispielsweise über die Menüoption Schlüsselserver ► Veröffentlichen bei keys.openpgp.org.

Oder man veröffentlicht den Schlüssel zum Beispiel auf einer eigenen Website, wo dieser als Textdatei kopiert werden kann. Dabei sollte aber unbedingt HTTPS zum Einsatz kommen, da die Inhalte der Website und damit auch der Schlüssel auf dem Weg zum Benutzer sonst manipuliert werden können.

Verschlüsselte E-Mails empfangen

Hat man eine verschlüsselte E-Mail erhalten, benötigt man wie gesagt den eigenen persönlichen Schlüssel, um die Nachricht zu entschlüsseln. Ist dieser vorhanden, so wird die Mail automatisch entschlüsselt, was an dem Button OpenPGP oberhalb der Textansicht zu erkennen ist.

Fehlt dagegen der persönliche Schlüssel, erhält man die Fehlermeldung  Der zum Entschlüsseln dieser Nachricht benötigte geheime Schlüssel ist nicht vorhanden.  und die Nachricht bleibt verschlüsselt. Sollte man in Wirklichkeit aber doch über den geheimen Schlüssel verfügen und dennoch diese Meldung angezeigt bekommen, dann könnte das ein Hinweis darauf sein, dass der Absender eine defekte, veraltete oder manipulierte Version des Schlüssels verwendet hat. In diesem Fall sollte man den Absender auffordern, den Schlüssel zu aktualisieren, oder ihm/ihr diesen gleich direkt schicken.

Verschlüsselte E-Mails verschicken

Verschlüsselte Mails lassen sich nur von Konten senden, für die selbst auch ein eigener persönlicher Schlüssel existiert, der unter ► Konten-Einstellungen ► Ende-zu-Ende-Verschlüsselung ► OpenPGP aktiviert wurde!

Um eine E-Mail verschlüsseln zu können, wird der öffentliche Schlüssel des Empfängers benötigt. Entweder der Adressat hat seinen öffentlichen Schlüssel auf einem Schlüsselserver (key server) zugänglich gemacht, dann lässt er sich in der Schlüsselverwaltung über Schlüsselserver ► Schlüssel online finden importieren. Oder man hat den Schlüssel als Datei erhalten, dann kann er über Datei ► Öffentliche(n) Schlüssel aus Datei importieren importiert werden.

Es ist zu beachten, dass ein öffentlicher Schlüssel eine begrenzte Gültigkeit besitzen kann und sich daher nach Ablauf dieser Zeit nicht mehr zum Verschlüsseln verwenden lässt. Unter Umständen hat der Eigentümer des Schlüssels diesen aber inzwischen mit einer verlängerten Gültigkeit aktualisiert. In diesem Fall muss der Schlüssel erneut importiert werden, um wieder verwendet werden zu können.

Fingerabdruck abgleichen

E-Mails lassen sich prinzipiell auch dann verschlüsseln, wenn der Fingerabdruck des öffentlichen Empfängerschlüssels nicht geprüft wurde, allerdings hat man dann nur die Gewissheit, dass für irgendjemanden verschlüsselt wurde, nicht jedoch für wen. Daher sollte man immer zunächst den Fingerabdruck vergleichen, bevor man einen öffentlichen Schlüssel verwendet:

Hat man den Schlüssel auf einem Schlüsselserver gefunden und importiert, muss dieser nun noch durch Abgleich des Fingerabdrucks verifiziert werden, denn der Schlüssel wurde unsigniert übertragen, kann also während der Übertragung manipuliert worden sein. Hat man aber von dem Schlüsseleigentümer den Fingerabdruck persönlich über einen sicheren Kanal erhalten (papierschriftlich oder mündlich), kann man den so empfangenen Fingerabdruck mit dem Fingerabdruck vergleichen, der angezeigt wird, wenn man in der Schlüsselverwaltung auf den betreffenden Schlüssel doppelklickt. Der Fingerabdruck wird beim Erstellen des Schlüssels bzw. nach dem Import von einem Schlüsselserver auf dem eigenen Rechner aus den Daten des Schlüssels errechnet, wurde also nicht über ein Netzwerk gesendet und kann daher auch nicht manipuliert sein. Wurde dagegen der übertragene Schlüssel manipuliert, muss auch der Fingerabdruck vom Original abweichen. Ist der Fingerabdruck korrekt, kann der Schlüssel zum Verschlüsseln von Nachrichten bzw. zum Überprüfen von Signaturen verwendet werden. Mit diesem Verfahren bestätigt der Schlüsseleigentümer persönlich die Echtheit des Fingerabdrucks und damit die Vertrauenswürdigkeit des Schlüssels.

Nun wird die E-Mail zunächst ganz normal verfasst. Vor dem Absenden aktiviert man den Button Verschlüsselung. Das Verschlüsseln kann einen Moment dauern.

Unterschriebene E-Mails verifizieren

Erhält man eine Mail mit einer digitalen Signatur, kann diese über den Button OpenPGP oberhalb der Textansicht überprüft werden, sofern man über den öffentlichen Schlüssel des Absenders verfügt. Sollte dies nicht der Fall sein, besteht die Möglichkeit, diesen nachträglich zu importieren. Auf diese Weise lässt sich feststellen, ob die Nachricht wirklich vom angegebenen Absender stammt.

E-Mails unterschreiben

Um eine Nachricht beim Versenden mit einer digitalen Signatur zu versehen, muss ein eigener persönlicher Schlüssel vorhanden und in dem entsprechenden Konto aktiviert sein. Beim Verfassen der Nachricht wählt man im Dropdown-Menü OpenPGP ► Digital signieren. Die empfangende Person kann dann mit dem öffentlichen Schlüssel für die Absender-Adresse überprüfen, ob die Nachricht wirklich von dem angegebenen Absender stammt.

Ver- und Entschlüsselung testen

Um die Verfahren von Ver- und Entschlüsselung testen zu können, bevor man diese bei der Kommunikation mit realen Kontakten einsetzt, kann man die Adresse edward-de@fsf.org der Free Software Foundation verwenden, bei der ein Bot die Anfragen beantwortet.

1. Öffentlichen Schlüssel versenden

In der Schlüsselverwaltung die gewünschte E-Mail-Adresse, deren öffentlicher Schlüssel versendet werden soll, markieren und dann die Option Datei ► Öffentliche Schlüssel per E-Mail senden wählen. Es öffnet sich der Dialog zum Versenden von E-Mails, in dem der gewählte Schlüssel als asc-Datei bereits angehängt ist. Hier muss nur noch die Empfänger-Adresse edward-de@fsf.org, ein beliebiger Betreff und ein beliebiger Text eingetragen werden. Diese Mail wird unverschlüsselt übertragen. Dann auf Senden klicken.

2. Antwort entschlüsseln

Daraufhin erhält man nach ein paar Minuten eine Antwort, die nun mit dem soeben versendeten eigenen öffentlichen Schlüssel verschlüsselt wurde. Die Nachricht wird jetzt automatisch entschlüsselt und enthält die digitale Unterschrift/Signatur von edward-de@fsf.org. Über den Button OpenPGP oberhalb der Textansicht besteht die Möglichkeit, den öffentlichen Schlüssel für diese Adresse von einem Schlüsselserver zu importieren, um damit Nachrichten an edward-de@fsf.org zu verschlüsseln.

3. Verschlüsselte E-Mail versenden

Mit diesem Schlüssel kann nun eine E-Mail an edward-de@fsf.org verschlüsselt werden. Dazu muss man lediglich auf Antworten klicken oder eine neue E-Mail an diese Adresse verfassen und vor dem Versenden den Button Verschlüsselung aktivieren. Als Antwort erhält man dann eine Mail, die die erfolgreiche Entschlüsselung und ggf. die Gültigkeit der eigenen Signatur bestätigt, wenn die eigene letzte Mail auch signiert/unterschrieben wurde.

Wenn dieser Test erfolgreich war, kann man die verschlüsselte Kommunikation mit realen Kontakten beginnen. Herzlichen Glückwunsch!