E-Mails mit PGP signieren in Gmail

Einige Worte zu PGP

Das Programm PGP (“Pretty Good Privacy”) erlaubt das Erstellen von verschlüsselten Inhalten, die nur von einer bestimmten Zielperson gelesen werden kann. Dazu wird ein asymmetrisches Verfahren verwendet. In der Praxis heißt das, dass man immer ein paar von Schlüsseln braucht: einen öffentlichen und einen privaten Schlüssel.

  • Der öffentliche Schlüssel kann bedenkenlos geteilt werden (z.B. über einen Schlüsselserver).
  • Der private Schlüssel darf niemals weitergegeben werden. Dieser ist zusätzlich durch ein Passwort geschützt.

Wie funktioniert nun die Verschlüsselung? Der Sender benutzt den öffentlichen Schlüssel des Empfängers, um die Nachricht zu verschlüsseln. Diese Nachricht kann anschließend nur durch den passenden privaten Schlüssel entschlüsselt werden (asymmetrisch).

Was funktioniert eine Signatur mit PGP?

PGP kann nicht nur zu Verschlüsselung verwendet werden, sondern auch um Nachrichten zu signieren. Diese Signatur funktioniert wie eine analoge Unterschrift. Es ist davon auszugehen, dass die Signatur nur von einer Person erzeugt werden kann, und damit sichergestellt ist, dass die Nachricht auch wirklich von dieser Person kommt.

Technisch wird dazu eine Prüfsumme der gesendeten Nachricht erstellt, sodass sichergestellt ist, dass der Inhalt nach der Signatur nicht mehr geändert werden kann. Mit dieser Prüfsumme und dem privaten Schlüssel des Senders wird eine Signatur errechnet und der Nachricht angehängt.

Der Empfänger der Nachricht kann nun mit Hilfe der öffentlichen Schlüssels prüfen, ob die Nachricht unverändert von erwarteten Sender geschickt wurde.

Integration in Gmail (Web-Mailer)

Die Nutzung eines Webmailers, also eine Web-Applikation, und die Verwendung eines privaten Schlüssels widerspricht sich. Um das Problem zu lösen, benötigt man ein Browser-Plugin, welches Zugriff auf die zu sendende Nachricht als auch auf lokale Dateien hat. Beispiele für solch ein Plugin sind FlowCrypt oder Mailvelope. Die hier gezeigten Scrennshots beziehen sich auch FlowCrypt in Chrome, lassen sich aber analog auf andere Plugins anwenden.

Initial Setup

Auf der verlinkten Webseite einfach den großen “Get Extension”-Button verwenden. Nach dem Hinzufügen gibt es ein kleines Icon , mit dessen Hilfe man auf die Einrichtungsseite des Plugins gelangt.

Jetzt versucht das Plugin sich mit einem Google-Account zu verbinden und erfragt die Zugriffsrecht auf die E-Mails. Wir ober erwähnt, muss man diesen Zugriff erlauben.

Auf der nun folgenden Startseite kann man nun einen eigenen PGP-Schlüssel hochladen, oder einen neuen Schlüssel erstellen.

Um einen neuen Schlüssel zu erstellen muss man lediglich ein Passwort vergeben. Das Plugin erstellt anschließend das Schlüsselpaar mit den empfohlenen Sicherheitseinstellungen.

Möchte man diesen Schlüssel auch in anderen Anwendungen verwenden (z.B. Thunderbird), kann man in den erweiterten Einstellungen (umschalten um unteren Bildschirmrand) den Schlüssel exportieren – sowohl den öffentlichen als auch den privaten Schlüssel.

Benutzung in Gmail

Hat man das Plugin eingerichtet, erscheint über dem “Schreiben”-Button von Gmail ein zusätzliche Button “Secure Compose”. Dieser öffnet den Mail-Editor des Plugin anstatt den Standard-Editor.

Dieser Editor verhält sich ähnlich, aber nicht identisch wie der Standard-Editor. Um unteren Rand kann man nun entscheiden, ob die Nachricht verschlüsselt, signiert oder mit beiden Optionen versendet werden soll. Da es in diesem Beitrag um die Signatur gehen soll, wird auch nur diese Option ausgewählt.

Die Empfänger-Seite

Beim Senden der Nachricht wird nun der eigentliche Inhalt in eine Signatur eingebettet. Damit die Darstellung korrekt ist, sollte die Gegenseite also auch eine Tool besitzen, welches die Darstellung von signierten Mails beherrscht. Benutzt man das Besprochene Plugin, wird die Signatur automatisch mit Hilfe eines Schlüsselservers geprüft und die Darstellung entsprechend angepasst.

Mobile Apps mit dieser Fähigkeit sind z.B. K9-Mail. Wenn die Software die Darstellung nicht unterstützt, dann kann man den Inhalt der Mail trotzdem lesen (weil ja nicht verschlüsselt), aber die Anzeige ist “gewöhnungsbedürftig”.

PGP/inline vs. PGP/MIME

Um das eben gezeigt merkwürdige Verhalten zu beheben, kann man statt der standardmäßigen PGP/inline-Methode umstellen auf PGP/MIME. Bei PGP/inline wird lediglich der Textinhalt der E-Mail angepasst, sodass die Signatur (wie oben gezeigt) einfach als Text dargestellt wird. Verwendet man hingegen die PGP/MIME-Methode, werden auch die nicht sichtbaren Teile der E-Mail angepasst. Das Ergebnis ist, dass die Signatur lediglich als Anhang dargestellt wird.

In FlowCrypt wird diese Option aktuell nur im Firefox-Plugin unterstützt. Möchte man PGP/MIME verwenden, kann man dieses Feature in der Auswahlliste des Mail-Editors auswählen.

Zusätzliche Anmerkungen

Wir wird die Identität geprüft?

Erstellt man einen Schlüssel, so kann man prinzipiell irgendeinen Namen zu diesem Schlüssel hinterlegen. Um nun zu prüfen, ob der Schlüssel auch wirklich dem Absender gehört, setzt PGP auf ein dezentrales Vertrauensmodell. Einfach gesagt, zeigt man seinen Schlüssel einer anderen Person, die dann nach Prüfung der Identität (z.B. mittels Personalausweis) den eigenen Schlüssel wiederum mit ihren Schlüssel signiert. Es entsteht dabei ein Vertrauensnetzwerk, wobei ein Schlüssel mit mehr Signaturen vertrauenswürdiger ist (auch mehrstufig).

Ich habe meinen privaten Schlüssel versendet. Was nun?

Ist mein privater Schlüssel in andere Hände gefallen, muss man diesen Schlüssel widerrufen. Dazu wird ein Widerrufs-Zertifikat dem Schlüssel angehängt und über die Schlüsselserver verteilt. Solchen Schlüsseln wird nicht mehr getraut.

Einschränkungen

Durch die Verschlüsselung wird die Suche nach Mails im Web-Mailer eingeschränkt, da verschlüsselte Mails nicht gefunden werden. Auch die Benutzung von Gmail an anderen Rechnern und – ohne zusätzliche Werkzeuge – am Handy wird erschwert, da verschlüsselte E-Mails nicht lesbar sind. Bis zur komplett verschlüsselten E-Mail als Standard ist also noch ein weiter Weg zu gehen.