GnuPG-Schlüssel mit WKD sicher und zuverlässig veröffentlichen
E-Mail-Verschlüsselung ist eine komplexe Aufgabe. Da passiert sogar Experten schnell einmal ein Fehler. So versendete kürzlich das BSI den privaten statt den öffentlichen GnuPG-Schlüssel an einen Kommunikationspartner. Mit WKD steht ein Verfahren der Schlüsselverteilung zur Verfügung, das solche Fehler zukünftig ausschließt.
Die herkömmliche Kommunikation über E-Mail entspricht weitgehend den Sicherheitsstandards von Postkarten: der Postbote kann jederzeit die Grüße lesen, wenn er auf die Karte schaut. Mittlerweile kommunizieren wenigstens die Mail-Server über verschlüsselte Kanäle miteinander, und auch der Versand und Abruf der E-Mails über den E-Mail-Client oder den Web-Browser geschieht fast immer über verschlüsselte Kanäle. Dennoch werden die meisten E-Mails immer noch nicht mit Ende-zu-Ende Verschlüsselung verschickt, obwohl es dafür die Lösungen GnuPG/OpenPGP und S/MIME gibt, die von vielen E-Mail-Clients unterstützt werden. Die meisten E-Mails sind also immer noch von Dritten einsehbar, wenn sie Zugriff auf den Computer der Kommunikationspartner oder den Server des E-Mail-Providers haben, wo die E-Mails im IMAP-Postfach gespeichert sind.
Ein Grund für diese Vernachlässigung der Sicherheit besteht darin, dass die Arbeit mit den Verschlüsselungs-Zertifikaten nicht trivial ist. Bei S/MIME muss man sich – meist sogar kostenpflichtig – ein Zertifikat ausstellen lassen, und bei GnuPG/OpenPGP ist der Umgang mit einem Schlüsselpaar, bestehend aus einem öffentlichen und einem privaten Schlüssel, gewöhnungsbedürftig.
Öffentliche und private Schlüssel
Die Verschlüsselung über ein Schlüsselpaar nennt man asymmetrische Verschlüsselung.1 Sie funktioniert im Wesentlichen so, dass man mit Hilfe des öffentlichen Schlüssels eine Nachricht verschlüsselt, die nur von demjenigen entschlüsselt werden kann, der den passenden geheimen oder privaten Schlüssel besitzt. Umgekehrt kann man eine Nachricht vor dem Versenden mit seinem privaten Schlüssel signieren. Alle Personen, die den öffentlichen Schlüssel besitzen, können die Unterschrift überprüfen. Daraus folgt, dass man den öffentlichen Schlüssel an seine Kommunikationspartner weitergeben muss, den privaten Schlüssel aber niemals aus der Hand geben darf. Geschieht dies aus Versehen trotzdem, ist der Schlüssel kompromittiert und damit wertlos.
Leider war es bisher schwierig, an den momentan gültigen, öffentlichen Schlüssel eines neuen Kommunikationspartners zu kommen. Es gibt zwar öffentliche Verzeichnisse, wo öffentliche Schlüssel hochgeladen werden können, aber dort konnten ungültige oder veraltete Schlüssel nicht gelöscht werden. So fand man dort nicht selten mehrere Schlüssel für ein und dieselbe Person, ohne genau zu wissen, welcher Schlüssel der gültige ist.
»Bitte senden Sie mir Ihren PGP-Schlüssel.«
So entstand die Unsitte, von einem Kommunikationspartner zuerst den aktuellen öffentlichen Schlüssel zu erfragen, bevor man ihm die eigentliche Nachricht in einer verschlüsselten E-Mail zusendete. Dies wurde laut Golem2 dem Bundesamt für Sicherheit in der Informationstechnik (BSI) im Jahr 2021 zum Verhängnis. Eine Person erbat sich vom BSI den aktuell gültigen, öffentlichen PGP-Schlüssel. Ein Mitarbeiter des BSI versendete daraufhin aus Versehen den privaten anstatt den öffentlichen Schlüssel. Der private Schlüssel war zwar durch ein Passwort geschützt, musste aber trotzdem als kompromittiert betrachtet werden.
WKD FTW
Dabei gibt es mit dem Web Key Directory (WKD) mittlerweile eine gute Lösung, um das Problem mit der Verteilung von öffentlichen Schlüsseln zu lösen. WKD ermöglicht es auf einfache Weise, den aktuell gültigen, öffentlichen Schlüssel über HTTPS bereitzustellen und abzurufen. Die Arbeiten an WKD begannen bereits im Jahr 2016 im Rahmen von EasyGPG20163, das vom BSI in Auftrag gegeben wurde.4 Die aktuellen E-Mail-Programme5 unterstützen bereits WKD und können daher automatisiert auf sicherem Weg immer den aktuellen Schlüssel des Empfängers einer E-Mail abrufen.
Bei Hostsharing können die Mitglieder ihre Domains selber verwalten, und damit steht auch der Einrichtung von WKD nichts im Weg. Unser Mitglied Timotheus Pokorra hat ein kleines Skript geschrieben, das die Einrichtung vereinfacht. Die Handhabung des Skripts ist im Hostsharing-Wiki dokumentiert.
Über einen Web Service6 von metacode.biz lässt sich die korrekte Einrichtung prüfen. Weitere Erklärungen zu WKD finden sich im Blog von Mike Kuketz7 aus dem Jahr 2019.