Vor längerer Zeit hatte ich erklärt, warum wir Mails verschlüsseln sollten und wie das mit PGP in der Theorie geht. Wie man seine Postfächer bei Web.DE, GMX, GMail & Co um Kryptographie erweitern kann erkläre ich heute.
PGP bietet eine End-to-End-Verschlüsselung von Nachrichten. End-to-End bedeutet, dass die Nachricht den PC (oder das Handy oder das Tablet) des Absenders verschlüsselt verlässt und nur der Empfänger sie wieder lesbar machen kann.
Selbst der proprietäre inländische Maildienst DE-Mail bietet von sich aus diese Form der Sicherheit nicht an. Die Verschlüsselung dort erfolgt nur etappenweise: Vom PC des Anwenders wird eine verschlüsselte HTTPS-Verbindung zum Web-Mailer aufgebaut, dort wird die Nachricht aber erst wieder lesbar gemacht, um sie auf Viren zu scannen.
Dann wird sie per verschlüsselter Leitung zum Zielsystem geleitet, wieder entschlüsselt auf Viren gecheckt etc.
Dass diese Verschlüsselung genau dem entspricht, was bei allen Mailprovidern Standard sein sollte, ist nur ein Zeichen dafür, dass DE-Mail als Tiger springt und als Bettvorleger landet.
In den letzten Monaten gingen dann aber Pressemeldungen herum, dass DE-Mail nun auch PGP unterstützen würde. Schaut man genauer hin, so findet man nicht nur keinen Haken daran, sondern man trifft auch einen „alten Bekannten“ wieder.
Ein Haken an der Sache wäre beispielsweise, wenn DE-Mail den Private Key eines jeden Nutzers auf den eigenen Systemen speichern würde. Das wäre suboptimal, da man den Private Key nicht aus der Hand geben sollte. Daher der Name Private Key.
Tatsächlich nutzt DE-Mail (und inzwischen auch GMX und Web.DE) ein Browser-Plugin namens Mailvelope in einer angepassten Version.
Mailvelope erkennt die Webseiten der Webmailer und ergänzt sie um PGP-Funktionen, wobei sämtliche Schlüssel lokal auf dem PC des Anwenders gespeichert sind und bleiben.
Wie man am Beispiel GMail mit Mailvelope arbeitet, will ich hier erklären.
Als erstes findet man auf der Website von Mailvelope die Bezugsmöglichkeiten des Plugins für Chrome und Firefox.
Nach der Installation erscheint ein neuer Button im Bereich der Browser-Plugins:
Mich erinnert er immer an eine Gießkanne, es sind aber ein Schlüssel und ein Schloss abgebildet.
Drückt man den Button, so gelangt man in die Verwaltung des Plugins.
Hier sieht man unter anderem die letzten Aktionen (derzeit noch keine) und kann etwas hinzufügen: Schlüssel.
Wir erinnern uns: PGP arbeitet mit asymmetrischen Schlüsseln. Der private Schlüssel (Private Key) bleibt schön zu Hause, wird mit einem komplexen Passwort geschützt und ein Backup davon im Garten unter einer Eiche vergraben.
Vom Private Key wird ein öffentlicher Schlüssel abgeleitet, der auf die Visitenkarte gedruckt wird (wenn sie groß genug ist), im Impressum der Website stehen kann oder am besten in öffentlichen Schlüsselverzeichnissen,
Zuerst klicken wir auf Optionen. Was hier angezeigt wird ist im Großen und Ganzen schon gut. Einmal eingegebene Passworte werden 30 Minuten gemerkt. Wenn man auf seinen Private Key zugreift um eine Mail zu entschlüsseln, muss man das Passwort in den nächsten 30 Minuten nicht nochmal eingeben.
Mailvelope legt sich über das Layout der Webmailer. Damit man weiß, welcher Fensterinhalt von Mailvelope stammt und welcher von GMX oder GMail, kann man ein individuelles Hintergrundbild für Mailvelope bestimmen. Dazu kann man das Schloss-Symbol drehen und farblich ändern.
Klicken wir nun im Menü auf „Hinzufügen“. Sind noch keine Schlüssel gespeichert, bietet Mailvelope an, einen Private Key zu erzeugen.
Den Private Key erzeugt das Plugin dann nach Ausfüllen eines Formulars:
Der Schlüssel erhält einen Namen, damit er in der Liste nachher leichter erkennbar ist. PGP-Keys beziehen sich immer auf eine Mailadresse, unter der sie abgespeichert werden. Das PAsswort wird nach dem Erzeugen des Schlüssels genutzt, um den Schlüssel selber verschlüsselt abzuspeichern. Vergisst man es, so ist der Schlüssel wertlos, da das Knacken des Passwortes de facto unmöglich ist.
Hinter dem Button „Erweitert“ kann man die Schlüssellänge und die genaue Schlüsselmethode wählen, aber da sind schon die stärksten Werte eingestellt.
Wir drücken auf „Senden“ und warten.
Nach einigen Minuten sind Private Key und der passende Public Key erzeugt. Nun können wir uns darum kümmern, den Public Key zu veröffentlichen.
Wir erinnern uns: Wer eine Mail mit PGP verschlüssel will, benötigt dazu den Public Key des Empfängers.
Es gibt eine Reihe von unkomplizierten Verzeichnissen, um Schlüssel abzulegen. Schauen wir uns erstmal den Key an, den Mailvelope erzeugt hat:
Die zwei Schlüssel links zeigen, dass ein Schlüsselpaar aus Public und Private Key vorhanden ist. Der Schlüssel selber hat eine hexadezimale ID und gehört zu einer spezifischen Mailadresse. Dieser ist zugleich automatisch als Hauptschlüssel definiert.
Sieht man sich die Details zum Schlüssel an, sieht man mehr Informationen:
Der Schlüsselalgorithmus und die Länge sind Qualitätsmerkmale. Die Länge 4096 bezieht sich auf die Anzahl der Bits im Schlüssel, 4096 Bits sind ein Schlüssel aus 512 Bytes. Es gibt weltweit bei 4096 Bits insgesamt 1,044 * 101233 verschiedene mögliche Keys.
Um den Public Key zu veröffentlichen müssen wir ihn erstmal in eine für das menschliche Auge lesbare Form bringen, was in diesem Dialog im Reiter „Exportieren“ geschieht.
Man kann nun wahlweise den Buchstabensalat aus dem Fenster komplett in die Zwischenablage kopieren (praktisch beim Verbreiten, Cut&Paste geht ja fast immer) oder als Datei herunterladen. Ich empfehle, den Private Key herunter zu laden und auf wenigstens einem USB-Stick zu hinterlegen, den man sicher verstaut und regelmäßig auf Funktion prüft.
In unserem Fall reicht ein Kopieren des Public Key in die Zwischenablage.
Danach rufen wir in einem Browsertab das Verzeichnes des MIT auf. Das Eintragen des Public Keys ist einfach:
Ins Eingabefeld kopieren, Submit klicken, fertig. Alle erforderlichen Angaben (Mailadresse, Key-ID etc) sind im Public Key bereits enthalten.
Nun kann uns jeder Internet-Nutzer eine mit PGP verschlüsselte Nachricht schicken. Bloß wir können das noch nicht selber, weil wir zum Verschicken die Public Keys der Korrespondenzpartner brauchen.
Direkt oben auf der Website können wir anhand der Mailadresse nach Public Keys suchen
Klickt man auf den Link erhält man den Public Key (den ich schon markiert habe, um ihn kopieren zu können):
Wir klicken uns wieder durch das Mailvelope-Menü zum Punkt Hinzufügen und können den Schlüssel aus der Zwischenablage ins Eingabefenster kopieren.
Klickt man auf „Importieren“ wird er gespeichert und man bekommt eine Bestätigung.
Diesen Vorgang der Suche nach dem Public Key zur Mailadresse und des Imports des Keys muss man leider pro Korrespondenzpartner einmal machen. Plugins für gängige Mailprogramme wie Enigmail für Thunderbird oder APG für das Android-Mailprogramm K-9 sind schon besser an die Schlüsselverzeichnisse angebunden und erledigen das zwar noch nicht im Hintergrund, aber schon bequemer.
Nun schreiben wir unsere erste verschlüsselte Mail.
GMail sieht auf den ersten Blick unverändert aus. Erst, wenn wir eine neue Mail schreiben, sehen wir einen Unterschied: Das Eingabefenster für den Text einer neuen Nachricht hat ein Symbol mit einem stilisierten Blatt mit Bleistift erhalten.
Nach dem Klicken öffnet sich ein unter der Kontrolle von Mailvelope stehendes Fenster und nimmt den Mailtext entgegen.
Sobald man auf „Verschlüsseln“ klickt, kann man die hierzu zu verwendenden Keys auswählen.
Die Auswahl mehrerer Keys ist aus mehreren Gründen möglich: Zum einen kann die Mail so an mehrere Empfänger geschickt werden und jeder hat im codierten Block eine mit seinem Public Key verschlüsselte Version. Zum anderen wird die Mail von GMail exakt so verschlüsselt in der Liste verschickter Mails gespeichert, wie sie versandt wurde.
Um sie selber wieder lesen zu können, ist der eigene Schlüssel per Default mit ausgewählt. Man verschlüsselt also jede Mail einmal an sich selber, um sie wieder lesen zu können. Klickt man auf OK wird aus dem Lorem Ipsum ein verschlüsseltes Lorem Ipsum. Nun klickt man auf „Übertragen“ und findet den Text prompt im eigentlichen Eingabefenster von GMail wieder.
Nun trägt man die Mailempfänger ein, wählt einen Betreff und verschickt die Mail.
Als letztes (für heute) wollen wir eine verschlüsselte Mail, die an uns versandt wurde, lesen. Wir wir an der Anzeige in der Mailliste unschwer erkennen können (einfachauf das Bild rechts klicken) sind die Mailempfänger und derBetreff unverschlüsselt. Sie sollten keine Gemeimnisse enthalten.
Klickt man auf die Mail, fängt Mailvelope wieder die Ausgabe ab und macht den Text als verschlüsselt kenntlich.
Beim Klick auf den Briefumschlag schaut das Plugin, welche Public Keys zum Verschlüsseln benutzt wurden und ob ein dazu gehörender Private Key hier gespeichert ist. Ist das der Fall, beginnt die Entschlüsselung:
Nachdem man das Passwort korrekt eingegeben hat kann die Mail entschlüsselt werden:
Da Mailvelope sich verschiedenen Webmailern überstülpt ist es etwas unhandlicher als ein zeitgemäßes Plugin für ein Mailprogramm, aber es erfüllt seinen Zweck, was man nicht zuletzt daran erkennt, dass DE-Mail, GMX und andere mit dem Programmierer kooperieren.
Guter Artikel mit vielen interessanten Details. Danke.
Ein wenig komplex die Geschichte; und die Gegenseite muss mitspielen.
Ich werde via http://www.plus3trainings.eu mal was zu DKIM, SPF und dmarc schreiben und zu diesem Artikel verlinken, wenn es um Verschlüsselung geht… für das Signieren kann man bei Gmail mit Boardmitteln schon viel machen.