Emails verschlüsseln mit Thunderbird, PGP und Enigmail

Gründe, unsere Emails zu verschlüsseln, gibt es viele. Doch wer tut dies wirklich? Egal ob wir unsere Privatsphäre schützen, Spionage verhindern oder einfach sicher sein wollen, dass nur der Empfänger einer Email diese lesen kann: Es ist nicht kompliziert! Einige Anleitungen online lassen es aber kompliziert aussehen, und das ist ein Problem. Hier also der einfache Weg, Emails sicher zu ver- und entschlüsseln.

Was benötige Ich?

Email mit PGP verschlüsselung

Bild: Eine Email die durch PGP verschlüsselt wurde.

Einmalig etwas Zeit zum Einrichten und ein paar Tools. Ich nutze Thunderbird als Mail-Client. Es gibt auch Verschlüsselungs-PlugIns für andere Clients oder sogar Webmail-Oberflächen, aber mit Thunderbird und dem PlugIn Enigmail ist es am einfachsten.

Als erstes sollte Thunderbird heruntergeladen, installiert und ein Email-Konto eingetragen werden. Ich gehe davon aus, dass bekannt ist, wie ein Email-Konto in Thunderbird hinzugefügt wird. Falls nicht: Euer Email-Anbieter wird sehr wahrscheinlich eine Anleitung dazu haben. Der Email-Account wird ganz normal in Thunderbird eingerichtet. Es können auch weiterhin ganz normal Emails empfangen und versandt werden.

Enigmail & PGP

Wir werden die Mails mit PGP verschlüsseln. Damit das einfach direkt in Thunderbird funktioniert, gibt es das PlugIn Enigmail. Als erstes sollte Der Gnu Privacy Guard installiert werden, welcher die PGP-Verschlüsselung und die Handhabung der Schlüssel übernimmt. Linux-Distributionen haben gpg2 schon installiert, Windows-Nutzer müssen noch gpg4win herunterladen und installieren.

Danach wird das Enigmail Add-On in Thunderbird installiert: Über Menü -> Add-Ons kann man einfach nach dem Add-On suchen und es installieren. Wurde Thunderbird neu gestartet, wird über Menü -> OpenPGP -> OpenPGP-Assistent der Einrichtungsassistent gestartet.

(Kleiner Hinweis am Rande: Wer den „neuen“ Menü-Button in Thunderbird nicht mag, kann über Ansicht -> Symbolleisten -> Menüleiste die alte Menüleiste anzeigen lassen, oder diese durch einen Druck auf die Alt-Taste anzeigen lassen)

Durch den Assistenten kann man sich einfach durchklicken, die einzelnen Schritte sind im Assistenten erklärt. Am Ende des Artikels befindet sich eine Bildergalerie die die einzelnen Schritte der Gpg4win Installation sowie die Einrichtung durch den OpenPGP-Assistenten zeigt. Ich habe die Standardeinstellungen alle übernommen (also einfach immer auf „Weiter“ geklickt), wichtig sind nur:

Passphrase: Hier sollte ein starkes Passwort angegeben werden. Das ist wichtig, da sonst jeder, der euren privaten Schlüssel kennt, für euch verschlüsselte Nachrichten entschlüsseln sowie Nachrichten in eurem Namen schreiben kann.

Widerrufszertifikat erzeugen: Habt ihr euren privaten Schlüssel verloren oder wurde er gestohlen, könnt ihr die Gültigkeit dieses Schlüssels mit diesem Zertifikat widerrufen. Also: Widerrufszertifikat erzeugen und für den Fall der Fälle sicher aufbewahren.

Emails verschlüsselt senden

Um verschlüsselte Emails zu versenden, braucht ihr den öffentlichen Schlüssel des Empfängers. Diesen kann der Empfänger entweder persönlich übergeben (auf einem USB-Stick), was am sichersten wäre, im Normalfall lädt man den Schlüssel aber von einem Server herunter. Der Empfänger braucht also auf jeden Fall auch ein Schlüsselpaar, damit verschlüsselt kommuniziert werden kann.

Schreiben wir erst einmal eine Nachricht in Thunderbird:

Betreff: Ultra Geheim
Nachricht: Super geheimer Text!!

Wichtig! Die Betreffzeile wird nicht verschlüsselt!

Haben wir die Nachricht fertig verfasst, kann sie durch Enigmail verschlüsselt und danach versandt werden. Dazu wird im „Verfassen“-Fenster das OpenPGP-Menü geöffnet und „Nachricht verschlüsseln“ gewählt. Noch geschieht nichts, die Nachricht kann noch weiter verändert werden. Sobald auf „Senden“ gedrückt wird, versucht Enigmail den öffentlichen Schlüssel des Empfängers zu finden. Wurde er gefunden, wird die Nachricht verschlüsselt und zum Mailserver hochgeladen.

OpenPGP vor dem Speichern verschlüsseln

OpenPGP Fragt standardmäßig, ob die aktuell verfasste Nachricht vor dem Speichern verschlüsselt werden soll. Dies ist sinnvoll, da die Nachricht unter Umständen unverschlüsselt zum Mailserver gesandt wird.

Wichtig! Thunderbird legt regelmäßig Sicherheitskopien der gerade verfassten Nachricht ab. Diese werden unter Umständen auf den Mailserver kopiert, in den Ordner „Entwürfe“. EnigMail warnt standardmäßig davor und fragt daher in einem Dialog, ob die Nachricht zuvor verschlüsselt werden soll. Wird die Nachricht vorher nicht verschlüsselt, landet sich eventuell im Klartext auf dem Mailserver. Alternativ kann in den Einstellungen unter Verfassen das automatische Speichern deaktiviert werden.

Emails verschlüsselt empfangen

Als Empfänger verschlüsselter Nachrichten hat man nicht viel zu tun. Die Nachricht muss nur noch mit dem eigenen privaten Schlüssel entschlüsselt werden. Enigmail erkennt verschlüsselte Mails automatisch. Mit dem Button „Entschlüsseln“ über der Nachricht lässt sich diese einfach entschlüsseln, dazu muss die Passphrase des privaten Schlüssels eingegeben werden.

Nachrichten unterschreiben und verifizieren

Durch das Unterschreiben (Signieren) einer Nachricht kann sichergestellt werden, dass diese auch wirklich vom richtigen Empfänger geschrieben wurde. Zum Unterschreiben wird die Option „Nachricht unterschreiben“ im OpenPGP Menü genutzt. Das verifizieren übernimmt EnigMail ebenfalls automatisch und zeigt an, ob die Signatur zum Absender passt.

Zum signieren ist der private Schlüssel erforderlich. Hierbei wird die Prüfsumme der Nachricht mit dem privaten Schlüssel unterschrieben. Jeder, der den öffentlichen Schlüssel besitzt kann dies nun entschlüsseln. Das Verifizieren besteht aus 2 Schritten:

Die verschlüsselte Prüfsumme wird mit dem öffentlichen Schlüssel wieder entschlüsselt. Gelingt dies, wurde die Prüfsumme wirklich mit dem privaten Schlüssel des Absenders verschlüsselt. (Mit dem öffentlichen Schlüssel können nur Nachrichten entschlüsselt werden, die mit dem privaten Schlüssel verschlüsselt wurden).

Der Empfänger errechnet ebenfalls die Prüfsumme der erhaltenen Nachricht und gleicht diese mit der entschlüsselten Prüfsumme ab. Stimmen sie überein, wurde die Nachricht nicht verändert und mit dem privaten Schlüssel des Absenders verschlüsselt, es ist also sichergestellt, dass dies die Nachricht ist, die der Absender gesendet hat.

PGP

Das PGP-System (Pretty Good Privacy) beruht auf Vertrauen. Ich habe bereits über das Web of Trust geschrieben, das Prinzip ist hier das selbe: Ich bekomme von anderen Personen einen öffentlichen Schlüssel. Diesen benutze ich nur, so lange ich ihm vertraue. Das heißt ich sollte sicher sein, dass die entsprechende Person diesen Schlüssel erstellt hat, und dass der Schlüssel nicht manipuliert wurde. Außerdem sollte ich der Person selbst trauen, da diese Person alles entschlüsseln kann, was ich mit dem öffentlichen Schlüssel verschlüsselt habe.

Am sichersten ist es natürlich, wenn ich den öffentlichen Schlüssel (und Fingerprint) direkt von der Person bekomme, die ihn erzeugt hat. Zum Beispiel auf einem USB-Stick. Aber das ist nicht immer möglich und/oder praktisch, daher können die öffentlichen Schlüssel auf einen Keyserver hochgeladen werden. Durch einen zentralen Keyserver ist es einfach die öffentlichen Schlüssel anderer herunterzuladen und den eigenen öffentlichen Schlüssel bereitzustellen.

Ein möglicher Schlüsselserver ist etwa pgp.mit.edu, hier stelle ich auch meine öffentlichen Schlüssel bereit. Das ganze kann in Enigmail konfiguriert werden. Das Add-On sucht damit automatisch nach dem öffentlichen Schlüssel eines Empfängers auf dem Keyserver. Die Einstellung dazu findet sich unter:

Menü -> OpenPGP -> Einstellungen -> Experten-Optionen anzeigen -> Schlüssel-Server

Hier können die Keyserver eingetragen werden, die Enigmail durchsuchen soll. Den eigenen öffentlichen Schlüssel kann man über den Schlüssel-Manager von EnigMail auf einem Keyserver hochladen.

Schlüssel verwalten

PGP Schlüssel Eigenschaften

Dies sind die Eigenschaften meines Schlüsselpaars.

Unter OpenPGP -> Schlüssel verwalten lässt sich der Schlüssel-Manager öffnen. Durch die Option „Standardmäßig alle Schlüssel anzeigen“ werden alle Schlüssel angezeigt, die sich im Keyring befinden. Der Keyring ist einfach ausgedrückt eine Ansammlung von Schlüsseln. Eben genau so wie ein normaler Schlüsselring.

Wurde ein Schlüssel in der Liste markiert, kann dieser unter Schlüssel-Server -> Schlüssel hochladen auf einen (oder mehrere) Keyserver hochgeladen werden.

Da potentiell jeder einen Schlüssel mit meiner Email-Adresse als ID erstellen kann, kann man sich nicht immer sicher sein, dass die Schlüssel auf dem Server auf wirklich der richtigen Person gehören. Um sicherzustellen, dass der Schlüssel auch der richtigen Person gehört, kann man sich den Fingerprint des Schlüssels geben lassen. Dieser wird z.B. unter den Schlüsseleigenschaften im Schlüssel-Manager angezeigt, oder kann mit gpg angezeigt werden: gpg –fingerprint keyID

Zusätzlich dazu kann ein öffentlicher Schlüssel unterschrieben werden. Wurde ein Schlüsselpaar mit Enigmail erstellt und hochgeladen, wurde der öffentliche Schlüssel bereits mit dem eigenen privaten Schlüssel unterschrieben. Das dient dazu sicherzustellen, dass der Schlüssel auf dem Keyserver nicht manipuliert wurde. Dann gibt es da noch Vertrauensstufen die in der TrustDB eingetragen sind und und und…

Fazit

Wie man sieht, kann PGP für Anfänger etwas komplex wirken. Daher hier noch einmal eine Zusammenfassung:

  1. Sender und Empfänger brauchen jeweils ein Schlüsselpaar aus öffentlichem und privatem Schlüssel, um Nachrichten füreinander zu verschlüsseln.
  2. Der öffentliche Schlüssel kann frei verteilt werden.
  3. Der private Schlüssel muss geheim gehalten werden, und wird daher mit einer Passphrase geschützt.
  4. Was mit einem öffentlichen Schlüssel verschlüsselt wurde, kann nur mit dem passenden privaten Schlüssel wieder entschlüsselt werden. (Anwendung bei Verschlüsselung)
  5. Was mit einem privaten Schlüssel verschlüsselt wurde, kann mit diesem oder dem passenden öffentlichen Schlüssel wieder entschlüsselt werden (Anwendung bei Signierung)

Wer mehr tun will als nur einige Emails zu verschlüsseln, sollte etwas nach PKI (Public Key Infrastructure) recherchieren. Sonst reicht es die oben genannten Punkte zu wissen. Einfach public Keys tauschen und es kann los gehen. Den eigenen öffentlichen Schlüssel kann man durch Enigmail auch an jede Email automatisch anhängen.

Emails zu verschlüsseln ist nicht schwer. Nach der einmaligen Installation (Client + GPG + Schlüsselpaar erzeugen und Hochladen) funktioniert alles weiter wie bisher, nur verschlüsselt. Es gibt also keine Ausrede, warum wir nicht alle Emails mit sensiblen Daten verschlüsseln.

MfG
Damon Dransfeld

Bilder

Dieser Eintrag wurde veröffentlicht in Kryptographie
Bookmarken: Permanent-Link Schreibe einen Kommentar oder hinterlasse einen Trackback: Trackback-URL.

3 Kommentare

  1. Peter Enderlein
    Erstellt am 20. Juni 2013 um 00:03 | Permalink zum Kommentar

    Ganz super, dass Du dass mal aufgeschrieben hast. Ich rede mit seit Jahren den Mund fusselig, aber kaum .einer verschlüsselt Mails, Briefe kleben sie aber alle zu.

    Als nächstes sollte mal eine Anleitung kommen, wie man den Traffic, also sowohl Mails als auch Browser und Weiteres anonymisiert, z.B. über TOR- oder JAP-Proxies. Nur die gemeinsame Anwendung von Verschlüsselung und Anonymisierung gibt etwas mehr Sicherheit.

    Und seine Festplatten und wichtigen Datenträger sollte man auch verschlüsseln, z.B. mit Truecrypt. Da gibt es also noch viel zu überzeugen. Danke, dass Du dazu einen Beitrag gemacht hast und ich hoffe, es schlägt bei dem Einen oder der Anderen an.

    • Erstellt am 20. Juni 2013 um 00:17 | Permalink zum Kommentar

      Danke fürs Feedback!

      Eventuell schreibe ich heute oder morgen ein kleines Tutorial zu TrueCrypt und/oder anderen Möglichkeiten, Daten lokal verschlüsselt zu speichern.

      Das ganze wird Teil einer kleinen Serie, wie man sicher im #Neuland unterwegs ist. Denn oft wird gesagt „alles verschlüsseln, nur auf sicheren Seiten browsen, pipapo“, aber viel zu selten wird auch wirklich gezeigt, wie man alles das umsetzt. Deswegen gehe ich auch nicht allzusehr in die Details wie Public Key Verschlüsselung funktioniert, das interessiert den 0815 Internetnutzer nicht. Ziel ist es, dass z.B. meine Großeltern die Anleitung ausführen und danach sicher Mails verschicken könnten.

      Ich plane auch noch eine Übersicht zur Anonymisierung, VPN vs. TOR, sobald ich meinen Raspberry Pi zum Colocation-Hosting schicke und einen OpenVPN-Server aufgesetzt habe :D
      (Dazu fehlt mir noch ein Gehäuse für den Pi. Wer eins hat, immer her damit!)

      MfG
      Damon

  2. Erstellt am 11. September 2013 um 00:47 | Permalink zum Kommentar

    Ein paar Anmerkungen:

    1) IT-Sicherheit ist kompliziert. Das ist keine Frage der Anleitungen. Wichtige Aspekte bei der Erklärung wegzulassen führt eben nicht dazu, dass man am Ende wirklich Sicherheit hat (im Zweifelsfall nur deren Illusion).

    2) Durch das Unterschreiben (Signieren) einer Nachricht kann sichergestellt werden, dass diese auch wirklich vom richtigen Empfänger geschrieben wurde. – Wohl eher vom behaupteten Absender.

    3) Das PGP-System (Pretty Good Privacy) beruht auf Vertrauen. – Nein, es beruht auf der Gültigkeit von Schlüsseln, die auch indirekt mit Hilfe des Vertrauens in andere (bereits gültige) Schlüssel hergestellt werden kann. Leider verwechseln die meisten Gültigkeit mit Vertrauen. Die OpenPGP-Terminologie ist an dieser Front keine große Hilfe, um es mal freundlich zu formulieren.

    4) kann mit gpg angezeigt werden: gpg –fingerprint keyID – Da hat vermutlich irgendeine Software versuche ganz besonders clever zu sein und aus einem doppelten „-“ ein „–“ gemacht.

    5) Auf diese Weise erzeugt man zwar schnell Schlüssel, aber keine guten Schlüssel, was auch dem nötigen Verständnis der ganzen Thematik nicht förderlich ist: http://www.openpgp-schulungen.de/kurzinfo/schluesselqualitaet/

Achtung: Wordpress interpretiert bestimmte Zeichenfolgen als Markup und verändert diese. Nutzt für Programmcode lieber Gist oder PasteBin-Services und verlinkt die Code-Schnipsel.

Post a Comment

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>