Einfach erklärt: E-Mail-Verschlüsselung mit PGP
Per PGP lassen sich E-Mails zwischen zwei Personen verschlüsseln - und sind sowohl auf dem Server des Anbieters, als auch auf der Reise durchs Internet vor fremden Blicken sicher.
Sicherheitsexperten vergleichen E-Mails gerne mit Postkarten: Sobald sie vom Rechner oder dem Handy aus auf die Reise zum Empfänger gehen, kann sie dazwischen jeder lesen. Das stimmt heutzutage nicht mehr ganz, denn viele Mail-Provider sorgen mittlerweile dafür, dass der Transportweg mit SSL-Verschlüsselung gegen Lauschangriffe gesichert ist. Doch verlassen sollte man sich darauf nicht, und in jedem Fall können der sendende und der empfangende Provider mitlesen. Großen Anbietern wie Google und Microsoft wurde mehrfach nachgewiesen, dass sie das auch tun.
Firmen und Bürgern bleibt es folglich selbst überlassen, ob und wie sie für die Sicherheit ihrer E-Mail-Kommunikation sorgen. Große Unternehmen stellen ihren Mitarbeitern dafür oft eigene, teure Lösungen bereit. Deshalb müssen alle anderen aber nicht auf echte "Ende-zu-Ende-Verschlüsselung" verzichten: Sichere Verschlüsselung kann jeder – zumindest auf dem heimischen Desktop – ohne großen Komfortverlust in seinen Mail-Alltag integrieren.
Was PGP leistet
Das Verschlüsselungskonzept Pretty Good Privacy (PGP) erlebt seit den Enthüllungen um die Lauschangriffe US-amerikanischer Geheimdienste eine Renaissance. Vertrauenswürdigkeit von Kommunikation wird hier nicht von übergeordneten Instanzen beglaubigt, die kompromittiert sein könnten, sondern von allen Teilnehmern untereinander. Den nötigen Unterbau liefert seit Jahren das deutsche Open-Source-Projekt GnuPG mit der gleichnamigen Software.
PGP beruht auf einer sogenannten Public-Key-Infrastruktur (PKI). Weil in dieser Infrastruktur sowohl jedermann zugängliche (public) als auch geheime (private) Schlüssel eine Rolle spielen, heißt sie auch asymmetrisches Kryptosystem. Jeder Teilnehmer besitzt in diesem System ein Paar mit einem geheimen und einem öffentlichen Schlüssel, die zusammengehören. Das klingt komplizierter als es ist.
Stellen Sie sich vor, Bob will verhindern, dass die böse Eve den Inhalt seiner Nachricht an Alice lesen kann. Bob nimmt Alices öffentlichen PGP-Schlüssel, den sie an alle verteilt hat, und verschlüsselt damit seine Nachricht. Nur Alice kann die Nachricht mithilfe ihres geheimen Schlüssels entziffern. Eve, die auch in den Besitz der Nachricht gelangt ist, kann damit nichts anfangen. Würde Bob den Inhalt dagegen mit seinem eigenen geheimen Schlüssel verschlüsseln, könnte jeder, der im Besitz seines öffentlichen Schlüssels ist, die Nachricht wieder entschlüsseln.
Und PGP kann noch mehr, nämlich auch die Integrität von E-Mails mit Signaturen sicherstellen: Bob will Alice eine wichtige Nachricht schicken. Alice soll sich sicher sein, dass die Nachricht wirklich von ihm stammt und nicht von der arglistigen Eve verändert wurde. Deshalb signiert Bob die Nachricht mit seinem geheimen Schlüssel. Das kann nur er persönlich, denn außer ihm ist niemand im Besitz dieses Schlüssels. Jeder andere, also auch Alice, kann anschließend mit Bobs öffentlichem Schlüssel nachprüfen, ob die Nachricht wirklich von Bob stammt und unterwegs nicht von Eve verändert wurde.
Schlüsselpaar erzeugen
Um PGP-Schlüssel zu erzeugen und zu verwalten, benötigen Sie GnuPG. Diese kostenlose Software ist sowohl für Windows als auch für macOS, Linux und Android verfügbar. Bei manchen Linux-Distributionen, beispielsweise Debian, ist sie sogar bereits vorinstalliert. Eine Reihe von Tools bieten grafische Oberflächen für GnuPG, erläutern die Optionen und erleichtern damit im Alltag den Umgang mit PGP enorm. Zum Einstieg sollten Sie eine Variante wählen, die GnuPG gleich mit installiert. Für Windows empfiehlt sich Gpg4win, für macOS GPGTools. Beide sind kostenlos und besitzen einen komfortablen Installer. Das Mail-Verschlüsselungs-Tool Enigmail für Thunderbird (siehe weitere unten) installiert GnuPG gleich automatisch mit, sodass Sie hier auf eine grafische Oberfläche verzichten können.
Sofern Sie noch keine Schlüssel besitzen, sollten Sie sich als Erstes welche generieren. Bei Gpg4win etwa wählen Sie im Programmteil Kleopatra die Option "Schlüsselpaar erstellen". Bevor Sie ein Paar aus privatem und öffentlichem Schlüssel erzeugen, müssen Sie Angaben zu den damit verbundenen Mail-Adressen machen. Verlassen Sie sich bei der Schlüssellänge nicht auf die Vorgaben, sondern wählen Sie mindestens eine Länge von 2048 Bit, besser 4096: Je länger der Schlüssel ist, desto schwerer lässt er sich knacken. Zurzeit gilt 2048 Bit als sicher, aber angesichts der weiter steigenden Rechenleistung könnte sich das ändern.
Besonderes Augenmerk sollten Sie auf die Wahl des Passworts – bei PGP auch "Passphrase" oder "Mantra" genannt – legen. Nur die Passphrase schützt den geheimen Schlüssel vor Missbrauch. Umgekehrt: Ohne Kenntnis der Passphrase ist der Schlüssel unbrauchbar. Gerät dieser in fremde Hände, kann der Dieb aber zumindest eine unlimitierte BruteForce-Attacke starten. Bedenken Sie dabei aber auch, dass Sie die Passprase oft nutzen werden – eventuell auch auf Smartphone-Touch-Tastaturen eingeben wollen. Eine 30-stellige Passphrase ist zwar nicht zu knacken, dafür aber praxisuntauglich. Keine Sorge: Die Passphrase lässt sich später noch ändern.
Sind die Schlüssel erzeugt, lassen sie sich exportieren (in Gpg4win unter "Datei / Geheimes Zertifikat exportieren"). Die beiden generierten Schlüssel stellen sich nach dem Export als Textdateien in Blockformatierung dar, in denen scheinbar nur Wirrwarr steht. Eine Kopie des geheimen Schlüssels sollten Sie auf ein sicheres Medium – etwa einen USB-Stick exportieren und den Datenträger für Fremde unzugänglich aufbewahren.
Schlüssel verteilen
Nachdem die Schlüsselerzeugung abgeschlossen ist, wird der öffentliche Schlüssel digital unterschrieben (signiert) und damit seine Echtheit für Fremde bestätigt. In Gpg4win etwa wählen Sie dazu "Zertifikat beglaubigen" im Kontextmenü zum eigenen Schlüssel. Dort werden Sie feststellen, dass Sie die Zugehörigkeit für jede angegebene E-Mail-Adresse zum Schlüssel einzeln bestätigen müssen. Das hat seinen Grund: Nicht nur Sie, sondern auch jeder andere PGP-Nutzer darf Ihren öffentlichen Schlüssel mit seiner digitalen Unterschrift beglaubigen und ihm damit mehr Glaubwürdigkeit verleihen. Er sollte aber nur jene Zugehörigkeiten bestätigen, deren er sich auch sicher ist. Kennt er eine Mail-Adresse von Ihnen nicht, kann er sie bewusst ausklammern.
Ist der öffentliche Schlüssel beglaubigt, können Sie beginnen, ihn unter die Leute zu bringen. Eine Möglichkeit ist natürlich, den kompletten Public-Key-Textblock als Footer unter die Mails zu hängen. Besser aber, Sie veröffentlichen den Key irgendwo im Web, etwa auf Ihrer Homepage, und hängen in Mails nur die URL dorthin sowie den Fingerprint an. Die gängigste Methode, den Schlüssel zu veröffentlichen ist aber, ihn auf einen Keyserver hochzuladen.
Keyserver speichern und publizieren öffentliche Schlüssel sowie zugehörige Beglaubigungen. Die meisten gängigen Keyserver laufen unter der Software "Synchronizing Key Server" (SKS), sind auf dieser Basis miteinander vernetzt und tauschen über ein eigenes Protokoll ihre Daten aus. Für den PGP-Nutzer bedeutet das: Wenn er seinen öffentlichen Schlüssel oder die Beglaubigung eines fremden Schlüssels zu einem SKS-Server überträgt, spiegelt dieser die Daten an alle anderen Server weiter. Oft dauert es allerdings bis zu einem Tag, bis Änderungen alle Server im Verbund erreicht haben.
Alle gängigen PGP-Frontends – etwa das weit verbreitete Enigmail – bieten Schnittstellen zum SKS-Verbund (sks-keyservers.net), dessen Server Sie bevorzugen sollten. Gpg4win etwa schlägt automatisch vor, den neu generierten Schlüssel zum voreingestellten SKS-Server hochzuladen. Liegt der öffentliche Schlüssel eines fremden Empfängers nicht vor, hilft meist eine Suche auf dem Keyserver. Wichtig ist, dass Sie öfter einmal ihre Sammlung von öffentlichen Schlüsseln (public keyring) mit dem Keyserver synchronisieren (in Gpg4win: "Aktualisieren"). Auf diesem Weg erhalten Sie neue Beglaubigungen genauso wie Schlüsselwiderrufe.
Das PGP-Vertrauensnetz
Zuverlässige Sicherheit beruht bei PGP auf gegenseitigen Vertrauens- oder Misstrauensbekundungen der Nutzer untereinander. Vertrauen bekunden PGP-Nutzer, indem sie mit einer PGP-Signatur am öffentlichen Schlüssel versichern, dass der Schlüssel zum darin angegebenen Besitzer gehört. Dabei können sie in die Signatur einfließen lassen, wie die Prüfung erfolgt ist. Zur Wahl steht "gar nicht", "nur einfach", oder "sehr genau". Diese Grade sind recht unpräzise, und genau darin liegt eine Schwäche des PGP-Konzepts: Der eine Nutzer versteht unter "nur einfach", dass er sich telefonisch den Fingerabdruck vorlesen ließ, der andere wählt dieselbe Stufe, verlangt aber eine Ausweiskopie des Schlüsselbesitzers. Doch auf diesen Angaben beruht eben auch das abgeleitete Vertrauen Dritter.
Wenn man den Schlüssel selbst geprüft hat, heißt das hergestellte Vertrauen in der PGP-Welt "direct trust". Außerdem lässt sie die Vertrauenswürdigkeit von Personen (owner trust) auf einer Skala von 0 (Vertrauen unbekannt) bis 5 (absolutes Vertrauen) festlegen und im Schlüsselbund abspeichern. Die höchste Stufe sollten Sie nur dem eigenen Schlüssel zuweisen. Das Besitzervertrauen können Sie meist in der Schlüsselverwaltung des GnuPG-Frontends im Kontextmenü für die einzelnen Schlüssel einstellen.
Wozu nun das Ganze? Aus den gegenseitigen Bekundungen entsteht nach dem PGP-Konzept ein Netzwerk des gegenseitigen Vertrauens, das sogenannte "Web of Trust" (WoT). Wenn ein PGP-Nutzer einen Schlüssel selbst nicht einschätzen kann, hilft ihm dieses Netz bei der Bewertung, ohne dass es einer zentralen Instanz bedarf. Dazu überprüft er, wie andere, für ihn vertrauenswürdige Nutzer den Schlüssel und den Besitzer bewerten.
Diese Einschätzung kann manuell erfolgen, wird aber im Normalfall von GnuPG im Hintergrund erledigt. Die Software ermittelt einen "Key-Legitimacy"-Wert. Ist beispielsweise ein öffentlicher Schlüssel von mindestens zwei PGP-Nutzern signiert, denen "gering" vertraut wird, gilt er per GnuPG-Voreinstellung als vertrauenswürdig. Bei "vollem Vertrauen" genügt bereits eine Beglaubigung. Frontends wie Enigmail singalisieren das Prüfungsergebnis in Ampelfarben.
Wenige Instanzen sind angetreten, um PGP-Schlüssel mit ihrem guten Namen zu stärken. Dazu gehört CAcert (cacert.org), vor allem aber die Zeitschrift c't und heise online. Weil wir die Verschlüsselung mit PGP fördern wollten, haben wir 1997 die c’t-CA aus der Taufe gehoben (www.ct.de/pgp). Seitdem beglaubigen wir öffentliche Schlüssel, nachdem wir den Ausweis des Besitzers vor Ort geprüft haben. Der Clou dabei: Unsere Signatur lässt sich leicht überprüfen, weil der Fingerprint unseres Signierschlüssels in jedem c’t-Impressum unveränderbar veröffentlicht ist. Die Möglichkeit, kostenlos diesen Service zu nutzen, besteht jeden Mittwoch von 16:30 bis 17:30 Uhr im Hannoverschen Verlagshaus (Karl-Wiechert-Allee 10, 30625 Hannover) oder oft auch auf Messen und Tagungen.
Thunderbird und Enigmail
Oft wird gesagt, die Software-Unterstützung für PGP sei mangelhaft. Das gilt aber längst nicht mehr. Wer PGP-verschlüsseln will, hat zumindest auf dem Desktop viele Möglichkeiten. Alles, was Sie dazu benötigen, ist einen E-Mail-Account, der mit den Mail-Protokollen POP3/IMAP und SMTP ansprechbar ist, sowie eine Kombination aus GnuPG, Frontend und Mail-Programm. Bewährt hat sich der Mozilla-Mailer Thunderbird in Verbindung mit dem Verschlüsselungs-Add-on Enigmail, das vor kurzem in Version 2 erschienen ist. Diese Kombination lässt sich auf allen Desktop-Plattformen nutzen, weil Thunderbird sowohl für Windows als auch für macOS und Linux verfügbar ist.
Während der Installation erkennt Enigmail, ob GnuPG installiert ist und greift automatisch darauf zu. Ansonsten bietet es an, GnuPG zu installieren. Das Add-on bietet außer der Signier- und Verschlüsselungslogik eine ausgereifte Schlüsselverwaltung und kann auch Schlüssel generieren. Damit macht es unter Windows das Verwaltungswerkzeug Gpg4win prinzipiell überflüssig. Enigmail ist nahezu selbsterklärend und mittlerweile intuitiv zu bedienen.
Global gültige Einstellungen sowie die Schlüsselverwaltung finden Sie im Thunderbird-Menü "Enigmail". Hier lässt sich beispielsweise regeln, unter welchen Bedingungen das Add-on automatisch signieren und/oder verschlüsseln soll. In der Voreinstellung verschlüsselt Enigmail jede Mail automatisch, wenn es den Key des Empfängers im lokalen Schlüsselspeicher findet. Ansonsten verschlüsselt es nur auf Aufforderung. Wichtig ist der Passwort-Cache: Unter "Passphrasen-Einstellungen" können Sie bestimmen, wie lange sich Enigmail das Passwort zum geheimen Schlüssel merken soll, bevor Sie es neu eingeben müssen.
In der Schlüsselverwaltung finden Sie eine Liste aller lokal in GnuPG gespeicherten Schlüssel. Ausgegraute Exemplare sind ungültig, weil sie entweder abgelaufen oder vom Besitzer widerrufen worden sind. Detaillierte Infos und Bearbeitungsmöglichkeiten erreichen Sie über einen Rechtsklick auf den Schlüssel. Hier können sie auch Ihren eigenen Schlüssel in eine Textdatei exportieren. Möchten Sie dies tun, um ihn etwa weiterzugeben, wählen Sie auf jeden Fall explizit die Option "Nur öffentliche Schlüssel exportieren". Viele unerfahrene Anwender verbreiten versehentlich ihren geheimen Schlüssel und verbrennen ihn damit für immer.
Das Suchfeld in der Schlüsselverwaltung bezieht sich nur auf den lokalen Schlüsselbund. Möchten Sie nach einem noch unbekannten Schlüssel suchen, klappt das über den Reiter "Schlüsselserver". Hier synchronisieren Sie auch die lokal gespeicherten Schlüsselinfos mit denen im Keyserver-Netz.
Nachdem Sie Ihr Schlüsselpaar erzeugt oder importiert haben, können Sie verschlüsseln und signieren. Möchten Sie von den Voreinstellungen abweichen und beispielsweise einmal nicht verschlüsseln, nutzen Sie die Enigmail-Statusleiste im "Verfassen"-Fenster zur Mail. Weitere Infos zur Vertrauenswürdigkeit von Absenderschlüsseln erhalten Sie per Klick auf "Details" in der Mail-Ansicht.
Andere Clients für den PC und für Android
Es gibt einige weniger verbreitete E-Mail-Programme, die bereits PGP-Unterstützung an Bord haben. Dazu gehören beispielsweise eM Client und The Bat – allerdings sind diese Clients nicht kostenlos. Dem wohl am häfigsten genutzten Programm Outlook von Microsoft lässt sich PGP immerhin rudimentär beibringen. GnuPG muss hier selbst vorinstalliert werden, etwa mit dem erwähnten GPG4win. Das kostenlose Tool Outlook Privacy Plugin erledigt dann die Integration in Outlook.
Für Android-Smartphones existieren gleich mehrere brauchbare und sichere PGP-Implementierungen auf Open-Source-Basis, die Sie in Verbindung mit Mail-Apps (via OpenPGP-API) nutzen können. die Gängigsten sind Android Privacy Guard (APG) und dessen Fork OpenKeychain. Mit großem Abstand wird K9-Mail am meisten zum PGP-gesicherten Mailen mit Android genutzt.
PGP mit iPhone und iPad
Apple unterstützt in seinem mobilen Betriebssystem iOS für die Ende-zu-Ende-Verschlüsselung lediglich den S/MIME-Standard. PGP funktioniert nicht nativ auf iPhones und iPads. Das wäre nicht tragisch, wenn Entwickler Erweiterungen für Apples Mail-App bereitstellen dürften oder besser noch: wenn iOS alternative Mail-Clients als Default-Programme zulassen würde. Weil beides nicht der Fall ist, müssen PGP-willige iOS-Nutzer auf Behelfs-Apps zugreifen, die – unverschuldet – sehr unkomfortabel sind.
Über die Jahre haben sich zwei kostenpflichtige Apps durchgesetzt, die ähnlich funktionieren: iPGMail (2,29 Euro) und oPenGP (5,49 Euro). Das Beispiel iPGMail zeigt, wie es geht. Die App kann selbst Schlüsselpaare generieren, aber auch vorhandene importieren. Dazu sollten Sie unbedingt den lokalen Datentausch via iTunes nutzen und darauf verzichten, die Schlüssel via E-Mail oder Cloud-Speicher zum iPhone oder iPad zu schicken. Weil sich iPGMail nicht in Apples Mail-App einfügen darf, läuft die Ver- und Entschlüsselung umständlich in einer eigenen App – richtig Freude kommt da nicht auf.
Zu guter Letzt noch ein Hinweis: Denken Sie daran, dass PGP lediglich die Kommunikationsinhalte wie Texte und Bilder verschlüsselt. Die Kopfzeilen der Mails bleiben für jedermann lesbar. Es lässt sich also trotz Verschlüsselung nachvollziehen, wann Sie mit wem kommuniziert haben – und wenn es im Betreff steht auch worüber. Gerade diese Metadaten sind für Ermittlungsbehörden oft interessanter als die Inhalte selbst. Möchten Sie auch diese Informationen geheimhalten, sollten Sie einen anderen Kommunikationskanal wählen.
(hob)