florian berger

Bitte hört auf, für PGP zu werben

PGP ist kaputt und veraltet und sollte verschwinden. Aber wir nutzen es weiter wie einen alten energiefressenden Kühlschrank, und wir preisen es an wie einen praktischen Kleintransporter mit TÜV von 1991. Wir müssen damit aufhören.

TL;DR

Ja, das ist eine Menge Text. Hier gehts zur Zusammenfassung. ;-)

PGP und ich

Ich kann nicht mehr exakt nachvollziehen, wann ich mit PGP-Verschlüsselung angefangen habe. Mein ältester Schlüssel an meinem Bund ist von 2011. Eine kleine Weile zumindest bin ich also schon dabei.

Nach eher beiläufiger Nutzung hatte ich mir in entschlossenem Ernst vor einiger Zeit ein perfektes Schlüssel-Paar erzeugt, mit getrennt aufbewahrtem Hauptschlüssel, sichereren Hashes und Unterschlüsseln für den Tagesbedarf, je einen zum Signieren und zum Verschlüsseln, mit jährlicher Ablauf-Erneuerung.

Ich habe für PGP geworben, habe bei Installationen beraten, habe PGP auf meinem Telefon installiert, um nicht der "Das kann ich aber mobil nicht lesen"-Buhmann zu sein. Ich habe jede ausgehende Mail signiert, ob die anderen damit was anfangen konnten oder nicht; auch und vor allem, damit sie mich vielleicht fragen "was ist denn das für ein Anhang?", und ich sie mit PGP bekannt machen konnte. Ich habe mir über verschlüsselte Mailinglisten Gedanken gemacht. Und wie viele andere von uns habe ich versucht, zögerliche Menschen zu gewinnen, die sich nicht mit Mailprogramm-Plugins und Keyservern auseinandersetzen wollten. Ich habe mich in Congress-Vorträge von Pretty Easy Privacy gesetzt und gehofft, dass die endlich endlich die eklatanten Handhabungsprobleme lösen.

Und dann habe ich mit der an einer Hand abzählbaren Menge Menschen verschlüsselte Mails ausgetauscht. So wie wir das alle tun. Und auf mein umfangreiches Adressbuch gestarrt und mich gefragt, wann sich das Verhältnis umkehrt. Und warum die alle ihre Papierbriefe eintüten, ihre Mails aber als frei lesbare Postkarte durch die Weltgeschichte schicken, und wie sie diesen Widerspruch eigentlich Tag für Tag aushalten. Und wann sie endlich in Scharen zu mir kommen und gerne beim Verschlüsseln mitmachen wollen. So wie wir uns das alle fragen.

Der Fuß in der Tür

Sicherheitswarnungen für PGP waren vergleichsweise selten. Deshalb war es für mich ziemlich erschreckend, als im Mai 2018 die Efail-Schwachstelle bekannt wurde, die Angreifenden erlaubte, verschlüsselten Inhalt zu lesen. Und das nicht mal mit großem Aufwand.

Das liest sich so schnell runter, daher hier nochmal deutlich: es gibt Tricks und Techniken, um ein Mailprogramm dazu zu bringen, mir den Klartext einer an dich verschlüsselten E-Mail zuzusenden. Das klappt nicht für alle Einstellungen, aber ich bin sicher, dass ich heute, über ein Jahr später, immer noch einigen meiner Kontakte so eine Mail präparieren könnte und es klappen würde. Die Verschlüsselungsverfahren sind zwar sehr sicher, aber die handhabenden Programme nicht.

Noch erschreckender waren die ersten empfohlenen Fixes:

"Don't use HTML mails."

https://lists.gnupg.org/pipermail/gnupg-users/2018-May/060315.html

Natürlich schreibe ich keine HTML-Mails. Aber eine ganze Menge Leute, die ich perspektivisch gerne mal von PGP hätte überzeugen wollen, tun das. Hier dämmerte mir zum ersten Mal: Verschlüsselung muss mensch mit den Leuten machen, nicht gegen sie. Einrichtung und Handhabung sind für nicht versierte Menschen schon unbequem genug. Aber dann noch HTML-Mails verbieten? Damit komme ich nicht durch.

Ja, ich kann mir denken, was vielleicht in dir zuckt. "Eine gute Gelegenheit, den Leuten gleich ihre unsäglichen HTML-Mails auszutreiben!" Stimmts? Wo das doch eh eine der unverständlichen Katastrophen ist, die endlich ausgemerzt gehören? Genau das klappt aber nicht. Das ist genau die Ich-kenne-die-magische-Lösung-aber-lasse-dich-gnädig-Teilhaben-Attitüde, die auch gerne immer mal wieder mit der Verbreitung von PGP einhergeht.

Hermine aus Harry Potter schwingt mit überheblichem Blick ihren Zauberstab.

Und mit der man Menschen sich bestenfalls klein fühlen lässt, und sie schlimmstenfalls abstößt. "Woher du meinen Public Key bekommst? Hast du keinen Keyserver eingerichtet?" "Dein Schlüssel hat aber ein spätes Ablaufdatum." "Hast du den Fingerprint vorm Import geprüft?" Ihr wisst was ich meine.

Spätestens mit Efail ist PGP für die meisten Menschen für geheime E-Mails kaputt. Hier hätten wir 2018 bereits weiterziehen sollen.

Das offene Kellerfenster

Ein reichliches Jahr später wurde dann ein wesentlicher Teil der PGP-Infrastruktur unbrauchbar: die Schlüssel-Server. Sie sind nicht zwingend notwendig für die Nutzung von PGP – aber sie waren immer ein feines Argument, wenn einem jemand den unbequemen Austausch und Aktualisierung von Schlüsseln bei PGP vorhielt. Jede*r konnte öffentliche Schlüssel auf einen Server hochladen oder sich von dort holen. Und da der öffentliche ja nur mit dem entsprechenden privaten Schlüssel funktioniert, sollte das sowohl bequem als auch sicher sein.

Wie aber Jahrzehnte zuvor bei E-Mail funktioniert so ein System nur, so lange alle freundlich und guten Willens sind. Schlüsselserver hindern aber niemanden daran, Schlüssel für E-Mail-Adressen hochzuladen, die nicht die eigenn sind. Oder das "Web of Trust" – für die gegenseitige Beglaubigung von Schlüsseln gedacht – zu missbrauchen, und Schlüssel mit so viel unsinnigen Signaturen zu versehen, dass empfangende Programme abstürzen und unbrauchbar werden.

Im Juli 2019 wurde eine solche, über Keyserver geführte Schlüssel-Attacke perfiderweise gegen zentrale Akteure des OpenPGP-Projektes eingesetzt. "Angriff auf PGP-Keyserver demonstriert hoffnungslose Situation", titelte heise, und die drastische Wortwahl war nicht übertrieben: der Grundgedanke dieser Schlüsselserver und die entsprechende Software erwiesen sich als unrettbar kaputt. Das wurde auch darin deutlich, dass die angegriffenen Entwickler sich nicht nur pessimistisch zur Lösung des Problems äußerten, sondern Menschen in sicherheitskritischen Umgebungen rieten, damit aufzuhören, Schlüsselserver zu nutzen. Und zwar sofort.

Ein Fenster der Carnegie Public Library im Gegenlicht.
CC-BY-SA StirlingLibsAndArchives

Die zugrunde liegenden Probleme lesen sich wie eine Vorahnung dessen, was sich für PGP insgesamt bewahrheiten sollte: Design-Schwächen, lange bekannt, aber nie behoben, gebaut als als ein kompliziertes System, das schwer zu warten und zu aktualisieren ist – im Fall der Keyserver geht das so weit, dass der originale Autor die Software schon lange nicht mehr pflegt und sie niemand anders versteht. heise beleuchtete die Situation noch einmal in einem Nachfolge-Artikel.

Einer der Angegriffenen war Robert Hansen, aktuell verantwortlich für die GnuPG-FAQ und inoffizieller Sprecher des Projektes. Als intim mit der Software und dem Umfeld Vertrauter veröffentlichte er eine Stellungnahme, die in ihrer Verzweiflung tief blicken lässt:

"This attack cannot be mitigated by the SKS keyserver network in any reasonable time period. It is unlikely to be mitigated by the OpenPGP Working Group in any reasonable time period. Future releases of OpenPGP software will likely have some sort of mitigation, but there is no time frame. The best mitigation that can be applied at present is simple: stop retrieving data from the SKS keyserver network.

To which I'd like to add: I have never in my adult life wished violence on any human being. I have witnessed too much of it and its barbaric effects, stood by the graves of too many people cut down too young. I do not hate you and I do not wish any harm to befall you.

But if you get hit by a bus while crossing the street, I'll tell the driver everyone deserves a mulligan once in a while.

You fool. You absolute, unmitigated, unadulterated, complete and utter, fool.

Peace to everyone — including you, you son of a bitch."

https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f

Der Einbruch

Einige Tage später berichtete heise über eine provozierende Analyse: die Autor*innen argumentieren darin, dass PGP als gesamtes System schlecht sei und keine Verwendung mehr finden solle. Das zu lesen drehte mein Verhältnis zu PGP schließlich komplett.

Ihr Text unter der Überschrift "The PGP Problem" erläutert die aus Sicht der Verfasser*innen fundamentalen Probleme von PGP und insbesondere der Implementierung in GnuPG:

  • absurde Komplexität
  • Design als eierlegende Wollmilchsau
  • Verstrickung in Rückwärts-Kompatibilität
  • grauenhafte Benutzer*innen-Schnittstelle
  • Langzeit-Geheimnisse als tragende Säule (dazu später mehr)
  • kaputte Authentifizierung
  • uneinheitliche Identitäten
  • Preisgabe von Metadaten
  • keine Forward Secrecy (die vergangene Kommunikation schützen würde, wenn jemand den Schlüssel der aktuellen Kommunikation erbeutet)
  • unhandliche Schlüssel
  • Aushandeln verwendeter Verfahren (womit sich gegebenenfalls auch schwächere Verfahren erzwingen lassen)
  • chaotischer Programmcode
Schrottplatz der Zeche Zollern 2/4 in Dortmund.
CC-BY-SA Frank Vincentz

Neben Analysen der einzelnen Kritikpunkte verweist der Text auf andere, teils erheblich ältere Artikel, von denen ich zwei herausgreifen möchte, die mich besonders beeindruckt haben.

So war in einem Blogpost bereits im August 2014 zu lesen:

"The problem with this is that, for all the good PGP has done in the past, it’s a model of email encryption that’s fundamentally broken.

It’s time for PGP to die."

https://blog.cryptographyengineering.com/2014/08/13/whats-matter-with-pgp/

Der Post erläutert dann kenntnisreich Probleme in der Schlüsselverwaltung, die fehlende Forward Secrecy, und die allgemein minderwertige Implementierung in GnuPG. Und das ohne Häme oder Schuldzuweisung: man habe damals – PGP entstand in den 1990ern – mangels praktischer Erfahrung einfach noch nicht gewusst, wie gute, stabile Kryptographie zu bauen sei. Die Konsequenz aber sei klar: PGP sei nicht mehr zu verwenden.

Das hätten wir also wissen können. 2014.

Der zweite Text befasste sich mit der Schlüsselverwaltung in PGP. Der Autor erläutert zuerst, wie er – so wie viele von uns – versuchte, alles richtig zu machen:

"All in all, I should be the perfect user for PGP. Competent, enthusiast, embedded in a similar community.

But it just didn't work."

https://blog.filippo.io/giving-up-on-long-term-pgp/

Das erste erläuterte Problem ist die rare Nutzung von PGP, die ich oben schon beschrieb: wir richten mit großer Konzentration und Aufwand ein Kryptosystem ein, das dann am Ende fast niemand mit uns benutzt.

Das zweite beschriebene Problem geht tiefer: der Autor fühlte sich massiv unwohl mit der Anforderung, dass er seine Schlüssel über Jahre, Jahrzehnte nutzen soll. Speichermedien, die in Hotelzimmern oder tausende Kilometer entfernten Schubladen liegen; Software-Schwachstellen, über die man in den Rechner kommt; Viren und Schadsoftware; all das ist, wenn es wirklich sicher zugehen soll, eine Bedrohung für den unbedingt auf lange Zeit geheim zu haltenden privaten Schlüssel. Er ist die Sollbruchstelle des gesamten Systems. Dieses Design verhindere vernünftige Handhabung:

"Worse, long term keys patterns like collecting signatures and printing fingerprints on business cards discourage practices that would otherwise be obvious hygiene: rotating keys often, having different keys for different devices, compartmentalization. It actually encourages expanding the attack surface by making backups of the key.

If I suspect I'm compromised I want to be able to toss the laptop and rebootstrap with minimum overhead. The worst outcome possible for a scheme is making the user stick with a key that has a suspicion of compromise because the cost of rotating would be too high."

https://blog.filippo.io/giving-up-on-long-term-pgp/

Niemand würde einen Hausschlüssel auf diese Weise behandeln.

Schließlich setzt der Autor noch diesen Seitenhieb: seiner Einschätzung nach wäre jeder seiner PGP-Kontakte bereit gewesen, einfach den nächstbesten passend aussehenden Schlüssel von einem Keyserver zu ziehen, ohne Überprüfung, und wahrscheinlich noch nicht einmal über eine sichere Verbindung; oder dazu, ohne Rücksprache einen mit den Worten "hier, mein neuer Schlüssel" zugesandten Schlüssel zu importieren und zu nutzen; oder eine E-Mail noch einmal unverschlüsselt zu senden, wenn als Antwort auf die verschlüsselte eine Entschuldigung wie "bin gerade unterwegs" kommt.

Na? Erwischt?

Das ist alles vollkommen unvereinbar mit PGP-Nutzung, das ist wie "kannst du bitte mal mein Sicherungsseil aushaken?" beim Bergsteigen.

Fazit des Autors: er nutzt PGP-Schlüssel nur noch fallbezogen und löscht sie dann. Und bricht damit mit der von ihm als unrealistisch und gefährlich verworfenen Grundidee von lebenslanger PGP-Identität und dem Aufbau von Vertrauen.

Die in diesen beiden und noch einigen anderen Artikeln erläuterten Schwächen waren den Entwickler*innen lange bekannt, und vermutlich auch vielen Anwender*innen. Aber über Jahre ist nichts passiert. Auf den Text von 2019, der diese Probleme aufgreift und noch viele weitere beschreibt, gab es dann einige Reaktionen. Auf der gnupg-users-Mailingliste erschien diese hier:

"Although I largely share in the criticisms, I think the author made a couple of serious mistakes.

(Es folgt Kritik an einigen Details der Analyse.)

Cleaner delineation would've made the criticisms better, I think.

But all in all? It's a good criticism."

Robert J. Hansen, https://lists.gnupg.org/pipermail/gnupg-users/2019-July/062384.html

Ja, das ist der Robert Hansen von oben, der inoffizielle Sprecher des GnuPG-Projektes. Kein scharfer Widerspruch in der Sache, kein Abstreiten: damit beleuchten die Kritikpunkte die Situation offenbar korrekt.

Auf ycombinator, einer Diskussionsseite zu IT-Nachrichten, gab es eine lange Kommentarliste zu dem Text. Einige davon:

"I was an engineer at PGP from 2004-2011 and ended up running the server team as lead engineer. I wouldn't disagree with most of the points brought up by the author, both the code base and standard has accreted over time and it's incredibly complex. There were only a couple of people on the team that really understood all the facets of either the OpenPGP or SMIME/x509 standards. It's made worse in that it was a hack on top of another system that had accreted over time (email) and that system was never intended to be secure."

"I did some 'OpenPGP Best Practices' work for a client recently. They don't have a choice, because a third party requires it. The goal was to make sure it was as safe as possible. One thing that struck me is that I have a simplified mental model for the PGP crypto, and reality is way weirder than that. The blog post says it's CFB, and in a sense that's right, but it's the weirdest bizarro variant of CFB you've ever seen. [...] This isn't the only case where OpenPGP isn't just old, it's old and bizarre."

So. An diesem Punkt dachte ich mir: okay, es ist vorbei. Und ich erwartete, dass meine PGP-Kontakte, dass mein verschlüsselungsbewusstes Umfeld jetzt bald reagieren würde. Dass wir diskutieren würden, wie wir jetzt weiter machen. Ich meine, diese Nachrichten, die in kurzer Zeit auf den einschlägigen Kanälen reinknallten, waren klar, deutlich und niederschmetternd.

Und es passierte: nichts.

Einen Monat. Zwei. Drei, vier, fünf Monate: nichts.

Schrägerweise fühlte es sich ein bisschen an wie damals das Warten darauf, dass immer mehr Kontakte auf Verschlüsselung umsteigen, nur dass ich auf den Ausstieg wartete. Das Resultat aber war gleich.

Ich begann an mir zu zweifeln. Hatte ich an dieser unmissverständlich vorgetragenen Kritik doch irgendwas falsch verstanden? Aber es war doch auf heise! Ich begann quer zu gucken. Nachzulesen. Mit den richtigen Fragen fanden sich dann schnell weitere derartige beunruhigende Analysen. Eine der ins Gesicht schlagendsten stammt vom – zugegeben nicht ganz neutralen – Secushare-Projekt. Das listet ganze 15 reasons not to start using PGP auf – also: noch nicht mal damit anzufangen – darunter viele der in den anderen Texten angesprochenen.

Womit die mich aber bekamen, war die Moralkeule am Schluss: Wer das kaputte PGP wider besseren Wissens verwende, weil die eigenen Geheimnisse dann doch nicht soo geheim seien und unsicheres PGP daher kein echtes Problem, könne sie auch gleich in Klartext schreiben, anstatt bei weniger Wissenden den Eindruck eines sicheren Systems zu verfestigen. Die Entscheidung für ein unsicheres System sei wie die Entscheidung, beim Überwachungskapitalismus mitzuspielen: eben keine private, sondern sie füge der Gesellschaft insgesamt Schaden zu. Bäm.

Aufräumen

Die Situation wurde dann schließlich vollkommen absurd, als mir klar wurde, dass die Menschen, mit denen ich E-Mails gerne verschlüsselt ausgetauscht hätte, Familie, Freund*innen, Kolleg*innen, inzwischen längst und fast ausnahmslos zu moderner, Ende-zu-Ende-verschlüsselter Kommunikation gewechselt hatten. Und zwar in Kurznachrichtendiensten: Threema, Signal, sogar Telegram und (das trotzdem abzulehnende) WhatsApp.

Während ich darauf wartete, ob mir jemand auf einem zweiten Kanal mal seinen PGP-Fingerprint zur Überprüfung schickt, oder gespannt war, mit welchem Abstand sie dann ihre Unterschlüssel erneuern würden, hatten sie bewusst oder unbewusst begonnen, Dienste zu nutzen, die ihnen neben solider Kryptographie eine angenehme Bedienung erlauben. Ich bin sicher, dass die meisten von ihnen nicht erklären könnten, was ein privater Schlüssel ist, oder wo ihrer gespeichert wird. Ihnen ist vermutlich noch nicht einmal richtig bewusst, dass sie einen verschlüsselten Dienst benutzen. Sie machen es einfach. Und samt und sonders verwenden sie modernere und sicherere Systeme als PGP. Sie haben mich überholt, in jeder Hinsicht. Ausgerechnet.

Zwei schwarze kantige Felsen auf einem verschneiten Hang.
CC-BY SteveMi

Ein vergleichender Blick etwa auf eine an sich sehr gute Anleitung zur sicheren Handhabung von OpenPGP offenbart, warum es einfach vorbei ist mit E-Mail-Verschlüsselung: da steht eine Liste mit 24 (vierundzwanzig) zu beachtenden Punkten, viele davon technisch komplex und ein tieferes Verständnis von Kryptographie voraussetzend, wenn es nicht bei einer blinden, unverständigen Abarbeitung bleiben soll. Das lässt sich keinem Menschen mehr vermitteln, der mit ein paar mal aufs Telefon Tippen einen asymmetrisch Ende-zu-Ende-verschlüsselten Kurznachrichtendienst installiert hat. Ende, aus.

Zusammenfassung

Der OpenPGP-Standard bietet schon seit vielen Jahren keine moderne Verschlüsselungsumgebung mehr. Das gilt auch und besonders für seine Umsetzungen in der Software GnuPG oder Enigmail/Thunderbird. Durch verschiedene Lücken ist die Software inzwischen sogar gefährlich unsicher.

Das ist nicht nur die Meinung informierter Kritiker*innen, sondern im Wesentlichen auch der Entwickler*innen selber.

Wenn wir PGP weiter empfehlen, oder sogar als Goldstandard der E-Mail-Verschlüsselung darstellen, schaden wir Menschen, die sich auf unsere Einschätzung verlassen. Und wir setzen Menschen, deren Wohlergehen von Verschlüsselung abhängt, unverantwortlich großer Gefahr aus.

OpenPGP ist kaputt und nicht reparierbar.

Wir müssen akzeptieren, dass es sicher verschlüsselte E-Mail nicht gibt. E-Mails sind und bleiben Postkarten. Wenn du etwas eintüten und versiegeln möchtest: nutze eine andere Technik.

Wir müssen dieses Wissen mit anderen teilen. Du weißt es jetzt. Unwissen zählt jetzt nicht mehr als Entschuldigung.

Wir müssen weiterziehen auf aktuelle, moderne Systeme. Von denen heutige Krpyto-Forscher*innen einschätzen, dass sie auf absehbare Zeit mindestens ausreichenden Schutz bieten. Dazu gehören aktuelle Kurznachrichtendienste, moderne TLS/SSL-Protokolle zur Datenübermittlung, TrueCrpyt/VeraCrypt oder die im Betriebssystem eingebauten Dienste zur Festplattenverschlüsselung.

Also los, Leute. Lasst uns aufräumen.

Meine Konsequenzen

Es folgen meine persönlichen Konsequenzen. Das sind ausdrücklich keine allgemeinen Empfehlungen – was für mich passt, muss nicht für dich passen. Du kannst bei mir abgucken, aber du musst dir trotzdem selber Gedanken machen. Frag mich. Frag Dritte. Belies dich.

Ich werde mit Jahresbeginn 2020 meinen PGP-Hauptschlüssel widerrufen und meine Kontakte auf mehreren Kanälen darüber informieren. Ab diesem Zeitpunkt kann ich PGP-verschlüsselte E-Mail nur noch nach Absprache empfangen.

Für sichere Kommunikation bin ich in den Kurznachrichtendiensten Threema über die ID NDKWHPRU und in Signal mit meiner dir bekannten Mobiltelefonnummer erreichbar.

Nur wenn verschlüsselte E-Mail die sinnvollste Möglichkeit ist, werde ich fallweise und nach Absprache PGP-Schlüssel mit kurzer Laufzeit anlegen, maximal für ein paar Monate am Stück.

Ich mache keine Werbung mehr für PGP. Ganz im Gegenteil werde ich die Informationen dieses Textes so offensiv verbreiten wie möglich.

Für Signaturen, vor allem für Dateien, werde ich mir Minisign anschauen.