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 (kostenpflichtig).
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.
Update 08.10.2019: Ab Thunderbird Version 78 wird der OpenPGP-Standard native unterstützt werden, sodaß Enigmail nicht mehr funktionieren wird: https://blog.mozilla.org/thunderbird/2019/10/thunderbird-enigmail-and-openpgp. Dies ist geplant für Sommer 2020.
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.
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 × 101233 verschiedene 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.
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.
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.
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.
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.
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
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“):
Der Empfänger erhält von Ihnen ab jetzt digital signierte, verschlüsselte Nachrichten
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
- keyserver.ubuntu.com (wird auch von der Android-App OpenKeychain benutzt)
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.
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.
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
- K-9 Mail
https://play.google.com/store/apps/details?id=com.fsck.k9&hl=de - OpenKeychain
https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain&hl=de
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
- 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.