Ende-zu-Ende Verschlüsselung mit Gmail

In diesem Tutorial wird am Beispiel Google Mail (Gmail) Schritt für Schritt erklärt, wie man die E-Mails mit OpenPGP („Pretty Good Privacy“) digital signiert und verschlüsselt. Grundsätzlich funktioniert das nicht nur mit Gmail, sondern auch mit jedem anderen x-beliebigem E-Mail-Konto.

Bei Google gibt es wohl die Unterstützung für verschlüsselte E-Mails mit S/MIME, allerdings nur für G Suite Enterprise, zum Preis von 23,- € pro Nutzer pro Monat.

Am Desktop PC kommen als E-Mail-Anwendung Mozilla Thunderbird und Browser wie Google Chrome und Mozilla Firefox zum Einsatz. Betriebssystem: Windows 10. Am Smartphone mit Android kommen K-9 Mail und OpenKeychain zur Anwendung.

Zum besseren Verständnis empfiehlt sich die Lektüre des Artikels E-Mails digital signieren und verschlüsseln.

Behandelt wird

  • Die Beschreibung und Installation der benötigten Programme
  • Die Konfiguration der Programme
  • Das Erzeugen der Schlüssel zum Verschlüsseln, Signieren und Widerrufen
  • Ablaufdatum des Schlüssels ändern
    Foto zum Schlüssel hinzufügen
  • Der Export und Import der Schlüssel
    Sicherung des Schlüsselbunds
  • Das Versenden der ersten verschlüsselten und digital signierten Nachricht mit Thunderbird
  • Schlüsselserver
  • Webmail und verschlüsselte E-Mails mit Gmail
  • Smartphone und verschlüsselte E-Mails mit Gmail

Benötigt wird (in dieser Reihenfolge installieren)

  • Ein Google-Konto mit Gmail
    Falls noch nicht vorhanden auf gmail.com eines erstellen
  • Google Chrome
  • Mozilla Thunderbird
    Version 52.6
  • Die Windows-Version von GnuPG
    genannt Gpg4win, Version 3.0.3
  • Das Thunderbird-Add-on Enigmail
    Version 1.9.9
  • Das Browser-Add-on Mailvelope
    Version 2.1.1
  • Android App K-9 Mail
    Version 5.403 für Android 4.03+
  • Android App OpenKeychain: Easy PGP
    Version 4.9.1 für Android 4.03+

Google Chrome

Falls noch nicht installiert, downloaden und installieren

Google Chrome ist essentiell fürs Google-Konto, da mit Chrome die Google-Anwendungen am besten funktionieren.

Thunderbird

Mozilla Thunderbird herunter laden und installieren

Google-Konto zu Thunderbird hinzufügen

Namen, E-Mailadresse und Passwort ausfüllen

Auf Weiter klicken

Einstellung so lassen wie sie sind und auf Fertig klicken.

Das E-Mail-Konto ist nun eingerichtet. Jetzt nur noch den Thunderbird-Junk-Filter ausschalten, da die Spam-Nachrichten bereits von Google in den Spam-Ordner verschoben wurden. Es wird ansonsten doppelt auf Spam geprüft, was den Computer langsamer macht.

Konto markieren | Konten-Einstellungen | Junk-Filter | deaktivieren

Mit OK speichern, fertig.

Nachdem Thunderbird nun eingerichtet und konfiguriert ist, fortfahren mit dem nächsten Schritt, der Installation von PGP für Windows.

Gpg4win

Zuerst die neueste Version von Gpg4win downloaden

Natürlich freut sich der Entwickler über eine Spende, aber Gpg4win ist grundsätzlich kostenlos.

Nach erfolgtem Download die Software installieren.

Kleopatra ist der bevorzugte Zertifikatsmanager in Gpg4win. Kleopatra ermöglicht die Verwaltung aller Zertifikate (OpenPGP und S/MIME) in einem Tool und unterstützt den Import und Export von Zertifikaten von und zu Zertifikatservern (OpenPGP und X.509).

GpgOL ist das Microsoft Outlook-Plugin und GpgEX installiert sich im Windows Explorer-Kontextmenü. Wer kein Outlook hat/braucht, kann GpgOL weglassen.

Also die vorgeschlagenen Optionen so lassen wie sie sind und auf Weiter klicken.

PGP für Windows ist nun installiert. Im Windows-Explorer erscheinen die neuen Menüpunkte im Kontextmenü bei GpgEX (rechte Maustaste)

Jetzt kann mit der Installation von Enigmail fortgesetzt werden.

Enigmail

Dieses Add-on ist die Schnittstelle zwischen PGP für Windows und Thunderbird. Damit Enigmail funktioniert, sollte Gpg4win bereits installiert sein.

In Mozilla Thunderbird aus dem Menü Extras die Option Add-ons wählen, in der Suchmaske nach Enigmail suchen und installieren

Nach der Installation Thunderbird neu starten

Es spricht nichts dagegen, den Enigmail-Installations-Assistent jetzt auszuführen. Sollte aber der Streß im Moment zu groß sein, kann man den Assistenten auch später ausführen. Er erscheint im neu hinzugekommenen Menüpunkt Enigmail in Thunderbird.

Enigmail-Einrichtung

Am besten die für Anfänger empfohlene Standard-Konfiguration ausführen. Der Einrichtungs-Assistent wird ein Paar von zwei OpenPGP-Schlüsselpaaren erstellen, eines  zum Signieren (Unterschreiben) und eines zum Verschlüsseln.

Das richtige E-Mailkonto auswählen, falls mehrere vorhanden sind und eine Passphrase (das „Mantra“) eingeben. Die Passphrase soll natürlich möglichst kompliziert und möglichst lang sein. 8 Zeichen sind zu wenig, mindestens 12, besser 15 Zeichen nehmen. Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen mischen und das Ganze strengstens geheim halten und auf keinen Fall vergessen.

Nachdem der Schlüssel erzeugt ist, unbedingt noch das Widerrufszertifikat erzeugen. Damit kann der öffentliche Schlüssel für ungültig erklärt werden („revoked“), falls der private Schlüssel in falsche Hände gelangt.

Also ist dieses Widerrufszertifikat als ganz besonders geheim und wichtig anzusehen! Am besten es auf einem USB-Stick abspeichern und den Stick gut verstecken.

Bild © http://www.funnyusbsticks.ch

Beim Klick auf Widerrufszertifikat erzeugen fragt Enigmail nach der Passphrase, die zuvor eingegeben wurde:

Wie man sieht, ist ein 4096-Bit RSA-Schlüssel erzeugt worden. Es gibt also 24096 = 1,044 × 101233verschiedene Möglichkeiten für einen 4096-Bit Schlüssel.

Will man mittels Brute-Force alle Möglichkeiten durchprobieren, reicht mit den heutigen Computern ein Menschenleben nicht aus um den Schlüssel zu knacken. Mit den neuartigen Quantencomputern sieht die Sache ganz anders aus. Grund genug für die Geheimdienste darauf gierig wie die Geier zu sein.

Quantencomputer D-Wave 2000Q © dwavesys.com

Eigentlich nur noch eine Zeitfrage, bis heutige Art der Verschlüsselung obsolet wird. Die Zukunft ist Quantenverschlüsselung. Die ist nämlich dank Heisenbergscher Unschärferelation unknackbar. Aber bis dahin rinnt noch viel nicht mehr viel Wasser die Donau runter…

Im nächsten Dialog will Enigmail wissen, wo das Zertifikat gespeichert werden soll.

Abschließend kommt noch eine Warnung, welche die Wichtigkeit des Zertifikats unterstreicht.

Das Zertifikat ist nichts anderes als eine Textdatei mit einem Haufen (scheinbar) sinnloser Zeichen.

Enigmail ist nun fertig eingerichtet.

Mit Fertigstellen den Assistent beenden.

In den Konteneinstellungen von Thunderbird ist nun der Punkt OpenPGP-Sicherheithinzugekommen.

So sieht das Menü „OpenPGP-Sicherheit“ beim erstmaligen Aufruf aus

Ausgehende Nachrichten sollen standardmäßig signiert werden, damit der Empfänger die Identität überprüfen kann. Dabei ist es irrelevant, ob der Empfänger PGP installiert hat oder nicht, digital signierte Nachrichten können immer gelesen werden.

Wichtig ist die Option PGP/MIME standardmäßig verwenden. Diese Option bewirkt, daß E-Mails im HTML-Format verschlüsselt werden und daß auch die Attachments verschlüsselt werden.

Links neben der Schaltfläche Enigmail-Einstellungen befindet sich erst nach erfolgter Erstkonfiguration die Schaltfläche Erweitert.

Beim Verfassen von Nachrichten ist eine neue Menüleiste – die Enigmail-Toolbar –  hinzugekommen

Falls die neue Menüleiste nicht zu sehen ist, mit Rechtsklick einblenden.

Die Installation und Konfiguration ist nun abgeschlossen und Thunderbird ist bereit, um E-Mails digital signiert und verschlüsselt zu senden. Man könnte jetzt noch ein Feintuning des öffentlichen Schlüssels machen, ist aber nicht unbedingt notwendig.

Ablaufdatum des Schlüssels ändern

Der öffentliche Schlüssel hat in der Standardvoreinstellung eine Gültigkeit von 5 Jahren. Das ist etwas zu hoch, besser ist eine Lebensdauer von 1 Jahr. Wenn nämlich unvorhergesehene Dinge mit dem Schlüssel passieren, lebt er nur 1 Jahr und wird danach automatisch ungültig. Außerdem kann man die Gültigkeit des Schlüssels jederzeit verlängern.

Enigmail | Schlüssel verwalten

Schlüssel doppelklicken | Ablaufdatum | Ändern

Schlüssel wird ungültig in 1 Jahr

Alles mit OK bestätigen, Schließen, fertig.

Foto zum Schlüssel hinzufügen

Ein Foto im öffentlichen Schlüssel unterstreicht dessen Authentizität. Das Foto wird beim Empfänger angezeigt.

Enigmail | Schlüssel verwalten

Schlüssel doppelklicken | Aktion wählen

Foto hinzufügen

Eine JPG-Datei auswählen

mit OK bestätigen und Passphrase eingeben, fertig.

Die JPG-Datei sollte nicht größer als 25 kB sein, da sonst der Schlüssel zu groß wird. Als günstig erwiesen hat sich eine Dateigröße mit 256×256 Pixel, die mit Gimp mit ca. 90% Qualität gespeichert wurde.

Jetzt ist es an der Zeit, die Schlüssel zu sichern.

Einstellungen und Schlüssel sichern

Die wichtigsten Schüssel sind der private Schlüssel („private key“) und der Widerrufungsschlüssel („revoke key“). Beide sind streng geheim, so wie auch die Passphrase.

Mit der Zeit wird der Schlüsselbund immer größer werden, da man immer mehr öffentliche Schlüssel von Kontakten importiert, um verschlüsselt kommunizieren zu können. Es bildet sich ein „Web of Trust“. Damit man diesen Vorgang nicht dauernd wiederholen muß, wenn man den Rechner neu installiert, gibt es die Funktion Einstellungen und Schlüssel exportieren bzw. importieren.

Enigmail | Einstellungen

Sichern/Wiederherstellen

Einstellungen und Schlüssel exportieren

Dateinamen angeben und auf Weiter klicken

Passphrase eingeben und mit OK abschließen.

Mit dem ZIP-Archiv kann man die Schlüssel und Einstellungen auf einem anderen Rechner wiederherstellen.

In der ZIP-Datei gibt es die Datei keyring.asc (den Schlüsselbund), die die öffentlichen und privaten Schlüssel enthält.

Öffentlichen und privaten Schlüssel sichern

Enigmail | Schlüssel verwalten

Konto markieren, Datei | Exportieren

Geheime Schlüssel exportieren

Speichern, Passphrase eingeben, fertig.

Anhand des Dateinames, der mit pub-sec.asc endet, ist erkennbar, daß der öffentliche Schlüssel („public key“) und der private Schlüssel („secret key“) in der ASCII-Datei gespeichert ist.

Würde man den Menüpunkt Nur öffentlichen Schlüssel exportieren wählen, endet die ASCI-Datei mit pub.asc.

Widerrufungsschlüssel exportieren

Diesen erzeugt man neu.

Enigmail | Schlüssel verwalten | Konto markieren | Erzeugen | Widerrufszertifikat

Speichern, Passphrase eingeben, fertig.

Die ASCII-Datei mit dem Widerrufszertifikat („revoke“) endet mit rev.asc. Man findet es auch im Ordner %appdata%\gnupg\openpgp-revocs.d. Immer gut, wenn dieser Ordner auf einer verschlüsselten Partition liegt.

Privaten Schlüssel exportieren

Start | Kleopatra

Schlüssel markieren

Datei | Geheime Schlüssel exportieren

Ausgabedatei angeben und ASCII-Mantel ankreuzen

Passphrase eingeben

Mit OK bestätigen

Fertig. Der private Schlüssel ist jetzt in der ASC-Datei gespeichert.

Das Ganze funktioniert natürlich auch mit Enigmail – dieses Beispiel soll darauf hinweisen, daß es Kleopatra auch gibt 😉

Die erste verschlüsselte E-Mail senden

Das Versenden von verschlüsselten Nachrichten macht nur Sinn, wenn beide Partner das Ver- und Entschlüsseln beherrschen, sprich PGP installiert haben. Damit der Vorgang funktioniert, müssen zunächst die öffentlichen Schlüssel ausgetauscht werden. Jeder Teilnehmer muß den öffentlichen Schlüssel des Empfängers importiert haben.

Jetzt folgt ein anschauliches Beispiel, um zu verstehen wie die Verschlüsselung funktioniert. In der Praxis läuft dieser Vorgang mit weniger Schritten ab.

Verfassen Sie eine ganz normale, unverschlüsselte Nachricht an den Empfänger und klicken in der Enigmail-Toolbar auf Meinen öffentlichen Schlüssel anhängen.

Erste Nachricht des Senders (unverschlüsselt)

Senden Sie dann die Nachricht mit einem Klick auf Senden. In Ihrem Gesendet-Ordner sehen Sie, daß an Ihre Nachricht ein Attachment angehängt wurde, nämlich der öffentliche Key.

Erste Nachricht des Senders in dessen Gesendet-Ordner

Da der Empfänger PGP installiert hat, braucht er nichts weiter zu tun, als auf Ihre Nachricht zu antworten. Enigmail hat den angehängten Key automatisch importiert und ist jetzt in der Lage, damit verschlüsselte Nachrichten zu senden.

Der Empfänger beantwortet die Nachricht, diese ist bereits verschlüsselt

Da der Empfänger die Antwort auf Ihre Nachricht bereits verschlüsselt zurückschickt, muß mit Ihrer Passphrase entschlüsselt werden.

Danach haben Sie die entschlüsselte Antwort in Ihrem Posteingang

Die entschlüsselte Antwort auf Ihre Nachricht

Da jetzt die Schlüssel ausgetauscht sind, können Sie ab jetzt Ihre Nachrichten zu diesem Empfänger digital signiert und verschlüsselt senden und empfangen. Beantworten Sie ganz einfach diese E-Mail, diesmal mit einer digitalen Signatur („Nachricht wird unterschrieben“):

Antworten Sie diesmal mit digitaler Signatur

Der Empfänger erhält von Ihnen ab jetzt digital signierte, verschlüsselte Nachrichten

So sieht die digital signierte, verschlüsselte Nachricht beim Empfänger aus

Der Empfänger antwortet ebenfalls digital signiert und verschlüsselt, indem er die Schaltflächen Verschlüsselung: EIN und Unterschreiben: EIN anklickt

Jetzt haben Sie die korrekt signierte, entschlüsselte Antwort in Ihrem Posteingang

Gratulation! Sie sind jetzt in der Lage, digital signierte und verschlüsselte Nachrichten zu übermitteln.

Schlüsselserver

Man kann den eigenen öffentlichen Schlüssel auf einem Zertifikatserver (Keyserver) hochladen. Dies trägt zur schnelleren Auffindbarkeit des Schlüssels bei. Andererseits gibt man damit die eigene E-Mailadresse und Foto (falls im Key vorhanden) der Öffentlichkeit preis.

Die Zertifikatserver synchronisieren die Schlüssel weltweit untereinander. Einmal hochgeladen ist er nicht mehr löschbar. Einzige Möglichkeit ist ihn zu „revoken“ (zu widerrufen, also für ungültig zu erklären), mit dem Widerrufungsschlüssel.

Ein guter Ausgangspunkt zum Hochladen und zum Herunterladen des Schlüssels sind

Ein Keyserver benötigt Port 11371 TCP. Also diesen Port in Firewall öffnen, sollten Probleme auftauchen.

Enigmail | Einstellungen | Experten-Optionen und -Menüpunkte anzeigen

Reiter Schlüsselserver

Schlüsselkennung senden

Man kann den Vorgang des Schlüsselaustauschs erleichtern, wenn man mit jeder Mail im Mailheader die Schlüsselkennung und den URL zum Abrufen des Schlüssels versendet. Der URL kann entweder auf den Schlüsselserver linken oder auf einen beliebigen, öffentlich erreichbaren Webspace.

Konten-Einstellungen bearbeiten | OpenPGP-Sicherheit | Erweitert

In der erweiterten Enigmail-Identitäten-Einstellung die Optionen

  • OpenGPG-Schlüsselkennung senden
  • URL zum Abrufen des Schlüssels versenden

ankreuzen

Der URL wir folgt

http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3567AE7FD7AE9CED

oder

http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3567AE7FD7AE9CED

Wobei 0x3567AE7FD7AE9CED natürlich mit der eigenen Schlüssel-ID zu ersetzen ist. (Tatsächlich ist es die ID des Serverbetreibers von sks-keyservers.net)

Wird nun eine Nachricht mit Thunderbird gesendet, fügt Enigmail im Header der Nachricht den Link zum Download des öffentlichen Schlüssels ein.

Sicherheit

Ein Zertifikatserver stellt eine unsichere Quelle für einen Schlüssel dar. Jeder x-beliebige User kann dort willkürliche Keys hochladen, mit beliebig erstellten E-Mailadressen und so einen falschen Key unterjubeln. Woher soll man nun wissen, ob der heruntergeladene Key wirklich der echte ist?

Fingerprint

Die sicherste Methode einen Key zu verifizieren ist die Überprüfung des Fingerprints. Dies kann schriftlich per Brief, mündlich per Telefon, per QR-Code oder ähnlich geschehen. Ein Fälscher kann einen Key ganz leicht fälschen aber den Fingerprint nicht.

Webmail

Möchte man mit Webmail auf die E-Mails zugreifen, sieht man bei den verschlüsselten Nachrichten nur mehr einen Buchstabensalat mit Ziffernwürze. Klar, weil der Browser weiß ja nichts von PGP! Oder anders gesagt, der Mailprovider (in diesem Tutorial Google Mail) kann die Mails nicht mehr lesen. Einzig die Mailheader (z. B. der Betreff), die bleiben unverschlüsselt.

Mailvelope

Abhilfe schafft das Browser-Add-on Mailvelope. Zum Unterschied zu anderen Browser-Add-ons trennt Mailvelope die privaten Daten strikt vom Mailserver. Das bedeutet, daß die Schlüssel auf dem eigenen Rechner verbleiben und nicht zum Provider hochgeladen werden. Selbstredend, daß man auf öffentlichen Computern nicht mit Mailvelope arbeitet.

Mailvelope ist vorkonfiguriert für Gmail, GMX, WEB.DE, 1&1, GMX, T-Systems, Outlook.com, Yahoo! und viele andere Webmailprovider. Mailvelope gibt es für Chrome und Firefox.

Einfach das Browser-Add-on wie jedes andere installieren und Ihr Schlüsselpaar importieren, also die Datei mit Endung  pub-sec.asc, die zuvor mit Enigmail exportiert wurde.

Google arbeitet mit Mailvelope nicht so intensiv zusammen wie GMX, Web.de oder 1&1, daher kann man die öffentlichen Schlüssel der Empfänger nicht automatisch importiern so wie in Thunderbird mit Enigmail.

Der Empfänger ist rot – der öffentliche Schlüssel des Empfängers wurde noch nicht importiert

Damit die Verschlüsselung funktioniert, muß der öffentliche Schlüssel des Empfängers zuerst in Mailvelope importiert werden. Mailvelope nennt diesen Vorgang „Einladung“. Erst dann funktioniert alles wie gehabt.

Der Empfänger ist grün – der öffentliche Schlüssel des Empfängers wurde bereits in Mailvelope importiert

Smartphone

Zur Zeit ist die Sicherheitsproblematik auf mobilen Geräten besonders hoch. Schwerwiegende Sicherheitslücken im WLAN-Protokoll, Bluetooth-Protokoll und Sicherheitslücken in den Prozessoren. Die Sicherheitslücken betreffen nicht nur Smartphones und Tabletts, sonder alle Computer, aber für Microsoft Windows gibt es wenigsten Sicherheitsupdates.

Zum heutigen Tag gibt es für 99% der mobilen Geräte keine Sicherheitsupdates und es werden auch keine mehr geliefert. Man kann also nur warten, bis neue Hardware zur Verfügung steht, sprich das Handy küblieren. Oder verkaufen, so lange es noch was wert ist. Alles vor iOS 11 lebt gefährlich!

Aus diesen Gründen wird zur Zeit nicht empfohlen, sicherheitsrelevante Programme auf mobilen Geräten auszuführen, speziell Banking-Apps oder Bitcoin-Wallets oder ähnlich.

Android

Gehören Sie zu den glücklichen 1% können Sie bedenkenlos sicherheitsrelevante Apps am Handy installieren.

Die Gmail-App von Google unterstützt keine verschlüsselten Mails. Aber es gibt Alternativen, man muß nur darauf achten, daß der Standard PGP/MIME unterstützt wird. In den Gmail-Einstellung muß IMAP aktiviert sein bzw. bei G Suite die „wenig sicheren Apps“ zugelassen.

Admin Konsole | Sicherheit | Grundlegende Einstellungen | Wenig sichere Apps

Bewährt hat sich die App K-9 Mail in Verbindung mit OpenKeychain.

Beides aus dem Google Play Store downloaden und installieren

Gmail-Konto zu K-9 Mail hinzufügen

E-Mail-Adresse und Passwort eingeben| Manuelle Einrichtung | IMAP-Konto

  • Posteingangsserver
    IMAP-Server = imap.gmail.com
    Sicherheitstyp = SSL/TLS
    Port = 993
    Benutzername = E-Mail-Adresse
    Authentifizierungstyp = Passwort, normal
    Restlichen Einstellungen so lassen wie sie sind und mit Weiter zur Überprüfung des Empfangsservers
Ein typischer Fehler: die „wenig sicheren Apps“ sind in G Suite nicht zugelassen
  • Postausgangsserver
    SMTP-Server = smtp.gmail.com
    Sicherheitstyp = SSL/TLS
    Port = 465
    Anmeldung erforderlich
    Benutzername = E-Mail-Adresse
    Authentifizierungsmethode = Passwort, normal
    Mit Weiter zur Überprüfung der Einstellungen des Postausgangsservers

Restlichen Einstellunge so lassen wie sie sind, fertig!

OpenKeychain

Die von Enigmail exportierten Schlüssel in OpenKeychain importieren, fertig.

Conclusio

Nun sind Sie bestens gerüstet für verschlüsselte Kommunikation mit Google Mail. Niemand außer Ihnen kann Ihre verschlüsselten Nachrichten lesen, auch nicht Google.