Software Development

OpenPGP im Berufsalltag – Teil 5: Thunderbird + Enigmail

Im fünften Teil dieser Serie wird es Zeit, brauchbare E-Mail-Clients einzurichten, um die schönen, neuen Schlüssel, die wir in Teil 4 generiert haben, auch für den täglichen E-Mail-Verkehr nutzen zu können.

Es gibt viele Clients für die verschiedenen Plattformen, und deren Qualität hängt oft vom eigenen Geschmack ab. Ich werde mich in diesem Artikel auf die weit verbreitete Kombination Thunderbird + Enigmail für den Desktop beschränken. Android werde ich in einem späteren Teil der Serie behandeln. Also: Auf geht's!


Warum kein Webmailer?

Nahezu alle Anbieter von E-Mail-Diensten bieten ein über den Browser nutzbares Postfach, das als sogenannter Webmailer bekannt ist. Das Problem hier ist: Die Browser bieten weder OpenPGP-Support noch eine Schnittstelle zum Dateisystem des Computers, die für die Nutzung des Schlüsselrings aber notwendig wäre.

Daher bieten die meisten Webmailer eine OpenPGP-Unterstützung gar nicht erst an, weshalb sie für diese Nutzung natürlich ausscheiden. Eine Alternative ist die Nutzung der Browser-Erweiterung Mailvelope. In manche Webmailer ist Mailvelope gut integriert, in andere weniger.

Ich persönlich war bei meinem letzten Test von der Usability und Sicherheit nicht überzeugt. Wer Mailvelope trotzdem ausprobieren möchte: Eine gute Anleitung zur Einrichtung gibt es bei Posteo.

Mail-Sicherheit-Verschlüselung

Thunderbird installieren

Weil Webmailer also für den Gebrauch mit OpenPGP ausscheiden, benötigt man einen eigenständigen E-Mail-Client.

Meine Wahl fiel schon vor einigen Jahren auf Thunderbird. Der Funktionsumfang ist okay, es ist ausgereift, auf Linux, Mac und Windows verfügbar und tut, was es soll.

Mit der populären Erweiterung Enigmail bekommt Thunderbird eine komplette OpenPGP-Unterstützung. Enigmail greift intern auf die GPG-Installation des Betriebssystems zu und nutzt sowohl deren Konfiguration als auch deren Schlüsselring. Damit bleibt man flexibel und kann OpenPGP und seine Schlüssel auch ohne Enigmail nutzen.

Zunächst installiert man Thunderbird. Das ist ganz einfach:

  • Installer herunterladen und ausführen.
  • Thunderbird starten und die E-Mail-Adresse eingeben. Das Programm wird durch die weiteren Schritte führen.

Ich empfehle, das Passwort aus Sicherheitsgründen nicht einzugeben, weil es sonst im Thunderbird-eigenen Passwortspeicher landen könnte, wo es angreifbar sein kann. Thunderbird kennt fast alle gängigen E-Mail-Anbieter und richtet den Account anhand der E-Mail-Adresse automatisch ein, unabhängig davon, ob ein Passwort angegeben wurde, oder nicht. Wurde keines angegeben, wird dieses beim ersten Mailabruf abgefragt. Jetzt kann man über diesen Account bereits E-Mails senden und empfangen.

Man sollte noch einen kurzen Blick in die Thunderbird-Einstellungen unter Extras → Einstellungen, sowie in die Account-Einstellungen unter Extras → Konteneinstellungen werfen, um sicherzustellen, dass die Standardeinstellungen korrekt sind und den eigenen Ansprüchen genügen.

Thunderbird-Menü und -Titelleiste wiederherstellen

Was die Computerei angeht, bin ich ein wenig altmodisch. Ich mag die Thunderbird-Idee nicht, keine Titelleiste (und keine Menüs) mehr zu haben. Glücklicherweise kann das jeder nach Wunsch einstellen.

Mit Ansicht → Symbolleisten → Menüleiste lässt sich die Menüleiste permanent anzeigen. Andernfalls kann man unter Windows die linke Alt-Taste drücken, sodass die Menüleiste temporär hervorgezaubert wird.

Die Titelleiste lässt sich mit einem Eingriff in die Konfiguration wiederherstellen:

  • Extras → Einstellungen → Erweitert → Konfiguration bearbeiten
  • Suche nach mail.tabs.drawInTitlebar
  • Dieser Wert muss auf false gesetzt werden

Enigmail installieren

Nachdem man Thunderbird erfolgreich installiert hat, muss die OpenPGP-Unterstützung hinzugefügt werden. Diese wird durch die Erweiterung Enigmail bereitgestellt. Enigmail kann man direkt aus Thunderbird heraus installieren und zwar so:

  • Auf das Burger-Menü oben rechts und dann auf Add-ons klicken.  burger_addon
  • Jetzt links auf Erweiterungen (Extensions) gehen, oben rechts „Enigmail“ in die Suchbox eingeben und mit Enter bestätigen. Man bekommet folgendes Ergebnis:enigmail_addon

    enigmail_addon

  • Mit Klick auf „Install“ wird die Installation abgeschlossen.
  • Anschließend sollte man im selben Bild auf den neu hinzugekommenen Knopf „Optionen“ klicken, um die Einstellungen zu prüfen.

enigmail_prefs_01

Wichtig ist, dass der korrekte GPG-Client gefunden wurde. Mit Hilfe der Experteneinstellungen könnte man noch das ein oder andere Detail einstellen, allen voran die Keyserver, aber die Standardeinstellungen sind meiner Meinung nach gut genug.

Enigmail aktivieren

Standardmäßig ist Enigmail für alle in Thunderbird konfigurierten Accounts deaktivert. So kann man es aktivieren:

  • Öffnen der Konten-Einstellungen durch Rechtsklick auf den gewünschten Account → Einstellungen.
  • Unter „OpenPGP-Sicherheit“ auf „Aktiviere OpenPGP-Unterstützung (Enigmail) für diese Identität“ klicken. 

    account_openpgp_settings


Die Standardeinstellungen hier sind an sich in Ordnung. Aufpassen muss man bei der Schlüsselauswahl. Enigmail identifiziert den eigenen Schlüssel entweder über einen E-Mail-Adressenvergleich oder über die Schlüssel-ID.

Wer beim Schlüsselgenerieren die im Account konfigurierte E-Mail-Adresse genutzt hat, kann alles so lassen, wie es ist. Handelt es sich um einen anonymen Schlüssel oder wurde eine andere Adresse benutzt, muss man hier die Schlüssel-ID angeben.

Enigmail aktualisieren

Manchmal ist es notwendig, Updates so früh wie möglich einzuspielen, um kritische Fehler zu beheben – wie zuletzt bei #Efail

Normalerweise sucht Thunderbird regelmäßig nach Aktualisierungen für die installierten Erweiterungen und spielt diese ein. Man kann Updates aber auch erzwingen:

  • Im Burger-Menü → Add-ons → Extensions aufrufen.
  • Klick auf das Zahnrad → Auf Updates überprüfen.

    automatic_extension_updates-1
Hier kann man auch automatische Updates deaktivieren.

Mails senden

Möchte man nun Mails versenden, klickt man wie gehabt auf „Verfassen“ und schreibt die Mail. Zu achten ist auf die beiden neuen Knöpfe im oberen Bereich. Ein Schloss und ein Stift, die sich beide ein- und ausschalten lassen.

Das Schloss steht für „Verschlüsselung an / aus“ und der Stift für „Signieren an / aus“. Ich persönlich habe das Signieren immer aktiviert. Die Überprüfung ist für den Empfänger optional und die Lesbarkeit der Mail wird nicht beeinträchtigt. 

Aber Vorsicht: Unverschlüsselte Mails können auf ihrem Weg zum Empfänger manipuliert werden. Manipulationen fallen aber auf, weil die Signatur dann nicht mehr zum manipulierten Inhalt passt. Das bedeutet aber auch, dass der signierte Originalinhalt nicht mehr glaubhaft abgestritten werden kann. Die Signatur bestätigt schließlich, dass dieser vom Inhaber des privaten Schlüssels stammt.

Ob man die Verschlüsselung standardmäßig aktiviert, hängt von den regelmäßigen Kommunikationspartnern ab. Wie in Teil 1 erklärt, braucht es zum Verschlüsseln den öffentlichen Schlüssel des Empfängers. Weil leider nicht jeder Empfänger einen hat, kann man auch nicht immer verschlüsseln.

Hinzu kommt, dass einige Menschen ihre Mails hauptsächlich über einen Webmailer oder ein Zweitgerät abrufen. Bei beiden Varianten hat der Empfänger den für die Entschlüsselung notwendigen privaten Schlüssel oft nicht verfügbar und kann die Mail nicht lesen. Andererseits kann das selektive Verschlüsseln von wichtigen Mails einem Angreifer Hinweise geben, auf welche Mails sich ein Angriff lohnt.

Beim Klick auf „Senden“ wird ein Bestätigungsdialog angezeigt. Nach einem Klick auf „Nachricht senden“ wird die Mail verschlüsselt und versandt. Hatte man das Signieren aktiviert, fragt Enigmail noch die Passphrase des eigenen Schlüssels ab, damit es die Mail signieren kann (siehe Teil 4).

Öffentliche Schlüssel finden

Wie kommt man nun an die öffentlichen Schlüssel der Empfänger? Entweder lädt man sie altmodisch über den Kommandozeilen-Client gpg herunter (siehe Teil 2) oder man benutzt auch für diesen Schritt Enigmail. Über Enigmail → Schlüssel verwalten kommt man zur Enigmail-Schlüsselverwaltung, die ein grafisches Frontend für den lokalen OpenPGP-Schlüsselbund bietet.

Über Schlüsselserver → Schlüssel suchen gelangt man nun zur Suche nach öffentlichen Schlüsseln. Für eine exakte Suche einfach „Vorname + Nachname“ eingeben, gefundene Schlüssel selektieren und mit Klick auf „OK“ bestätigen. Die Schlüssel werden dann importiert und können genutzt werden.

key_search


Empfängerschlüssel auswählen

Beim Versenden der Mail wird Enigmail höchstwahrscheinlich den Dialog „Enigmail Schlüsselauswahl“ anzeigen. Das liegt daran, dass der Schlüssel des Empfängers zwar bekannt, aber nicht vertrauenswürdig ist. Enigmail möchte sicherstellen, dass mit dem richtigen Schlüssel verschlüsselt wird. Nun gibt es mehrere Möglichkeiten:

  • Man benutzt den angezeigten Dialog zum Selektieren des passenden, vertrauenswürdigen Schlüssels.
  • Man beglaubigt den passenden Schlüssel mit dem eigenen privaten Schlüssel und spricht somit sein Vertrauen aus. Der Dialog wird für diesen Empfänger dann nicht wieder angezeigt. Hat man vorher seinen Hauptschlüssel aus dem Schlüsselbund entfernt, muss dieser zum Beglaubigen importiert und später aus Sicherheitsgründen wieder entfernt werden. Das kann gegebenenfalls lästig werden
  • Man fügt sogenannte Empfängerregeln zu Enigmail hinzu. Damit wird die Auswahl automatisiert. Dies ist über Enigmail → Empfängerregeln bearbeiten möglich.
  • Welche der unterschiedlichen Möglichkeiten zur Schlüsselauswahl Enigmail nutzen soll und welche nicht, kann man via Enigmail → Einstellungen → Experten-Optionen und -Menüs anzeigen → Schlüsselauswahl einstellen.

key_selection

 

Vom Standpunkt der Sicherheit aus gibt es zum Beglaubigen von Empfängerschlüsseln übrigens keine Alternative. Ein über Empfängerregeln ausgewählter unsicherer (d. h. unvertrauter) Schlüssel bleibt potenziell unsicher, weil der Empfänger ein andere sein könnte. Wenn klar ist, dass der Schlüssel der richtigen Person gehört und man die Möglichkeit hat, sollte man signieren.

Öffentlichen Schlüssel mitsenden

Falls der eigene Schlüssel nicht über einen Keyserver abrufbar ist, der Empfänger aber dennoch Signaturen einfach überprüfen können soll, kann man den Schlüssel als Anhang mit jeder Mail mitsenden. Dies lässt sich über Enigmail → Meinen öffentlichen Schlüssel anhängen (im Fenster „Verfassen“) aktivieren. Dabei handelt es sich um eine reine Bequemlichkeitsfunktion. Die Sicherheit wird dadurch nicht erhöht.

Mails empfangen

Beim Empfang verschlüsselter oder signierter Mails gibt es nun zwei Dinge zu beachten:

  • Zum Entschlüsseln benötigt man seinen privaten Schlüssel und die dazugehörige Passphrase.
  • Zur Überprüfung der Signatur benötigt man den öffentlichen Schlüssel des Absenders.

Ist dieser Schlüssel noch nicht vorhanden, bietet Enigmail eine praktische Funktion zum Herunterladen der eingestellten Schlüsselserver an:

signature_key_download

signature_key_download_success


Danach wird die Mail neu geladen und das Ergebnis der Prüfung angezeigt:

good_signature


Mit einem Klick auf das Schlosssymbol erhält man detaillierte Informationen:

secinfo


Das Herunterladen funktioniert jedoch nur für die Schlüssel, die vorher auf die eingestellten Schlüsselserver hochgeladen wurden. Manche Absender machen das nicht. In diesem Fall muss man den Absender bitten, den Schlüssel beispielsweise als Anhang mitzusenden:

attachement-1


Nach dem Import eines Schüssels kann es vorkommen, dass Enigmail die Signatur nicht erneut prüft. In diesem Fall muss man die Mail manuell erneut laden via Enigmail → Nachricht neu laden.

Falls der Schlüsselimport mal klemmt

Die Windows-Implementierung von gpg bzw. dessen Komponente dirmngr scheint noch den ein oder anderen Fehler zu haben. Ab und an bleibt der Import von Schlüsseln hängen. In diesem Fall empfielt sich ein Neustart der Agents:

gpgconf --kill dirmngr
gpgconf --kill gpg-agent
gpg-connect-agent reloadagent /bye

Ausblick

Damit haben wir nun eine voll funktionierende OpenPGP-Installation, sowie einen E-Mail-Client mit kompletter OpenPGP-Unterstützung und annehmbarer Usability. Ab jetzt gibt es keine Ausreden mehr, wenn es um das Senden und Empfangen verschlüsselter oder signierter Inhalte geht.

Im nächsten Teil wird es um die Einrichtung auf Android-Geräten mit K9-Mail und OpenKeychain gehen.

    
Über Jan Mosig

Jan Mosig arbeitet für die itemis AG am Standort Leipzig. Er beschäftigt sich mit Problemen im Projektalltag und setzt zu deren Lösung auf technische Softwarequalität, Agile und Mut zur Veränderung.