PGP: Der langsame Tod des Web of Trust
Die neue Version von GnuPG soll die Auswirkungen des Signatur-Spams einschränken. Deshalb ignoriert es ab sofort alle Signaturen der importierten Schlüssel.
Pretty Good Privacy ist angetreten, gute Verschlüsselung für jedermann verfügbar zu machen. Und die eingesetzte Krypto war auch tatsächlich revolutionär und wegweisend. Doch das größte Problem beim standardmäßigen Verschlüsseln übertragener Daten ist: Wie bekomme ich sicher den richtigen Schlüssel meines Gegenübers, das ich vielleicht gar nicht kenne?
Das dafür vorgesehene Web of Trust funktionierte immer nur in einem kleinen Biotop von PGP-Fans; das Versprechen einer "Verschlüsselung für die Massen" konnte es jedoch nie einlösen. Jetzt sorgt das inflationäre Signieren von Schlüsseln sogar für ernste Probleme und wird deshalb Schritt für Schritt beerdigt. Mit der soeben veröffentlichten Version 2.2.17 ignoriert sogar GnuPG standardmäßig alle Signaturen, die von einem Keyserver stammen.
Graswurzel-Vertrauen
Die Idee hinter dem Web of Trust ist, dass über ein paar Ecken Jede Jeden kennt. Wenn man also die Echtheit der Schlüssel seiner Bekannten beglaubigt, erreicht man irgendwann einen Zustand, in dem man den von einem zentralen Keyserver heruntergelandenen Schlüssel der Person X vertrauen kann. Schließlich hat ja der Bruder der Freundin eines Freundes bestätigt, dass der Schlüssel tatsächlich X gehört und nicht von irgendeinem Idioten dort platziert wurde.
Dazu konnte jeder einen beliebigen Schlüssel unterschreiben und die signierte Version auf den Keyserver hochladen – nachdem er sich zuvor von der Echtheit überzeugt hat, versteht sich. Und um zu verhindern, dass etwa repressive Staaten die Keyserver-Betreiber zwingen, echte Schlüssel durch gefälschte zu ersetzen, wurden die Synchronizing Key Server (SKS) so konzipiert, dass man dort keine Schlüssel und auch keine Signaturen löschen kann.
Das öffnet jedoch Tür und Tor für eine ganze Reihe von Missbrauchsszenarien. Derzeit laden etwa Unbekannte immer wieder Schlüssel auf die Keyserver, die weit über hunderttausend (unsinnige) Signaturen tragen. Wer einen solchen Schlüssel importiert – und das kann durchaus unbeabsichtigt automatisch im Hintergrund geschehen – dessen PGP-Installation ist lahmgelegt. Mehrere zentrale Figuren der PGP-Community vertreten die Ansicht, dass sich dieses Signatur-Spam-Problem gar nicht oder zumindest nicht zeitnah auf der Server-Seite fixen lässt. Also müssen andere Optionen her, um den weiteren Einsatz von PGP zu ermöglichen.
Das Aus fĂĽr SchlĂĽssel-Signaturen
Als direkte Reaktion hat jetzt Werner Koch das PGP-Allzweck-Tool GnuPG ab Version 2.2.17 mit einer neuen Option self-sigs-only
ausgestattet, die standardmäßig aktiv ist. Sie sorgt dafür, dass beim Import eines Schlüssels vom Keyserver nur dessen Eigensignaturen erhalten bleiben. Die Spam-Signaturen – aber auch die von Erwin, Katrin und der c't-Kryptokampagne werden hingegen nicht mehr in den Schlüsselbund importiert. Das betrifft übrigens nur den Import vom Keyserver; manuell importierte Schlüssel behalten ihre Signaturen.
Damit ist zumindest das Signatur-Spam-Problem für Anwender gelöst. Es bleibt jedoch das grundsätzlichere Problem, dass man keinerlei Hinweis mehr hat, ob der vom Server importierte Schlüssel echt ist oder nicht. Dieses Problem ist real; schließlich kann jeder einen Schlüssel für eine beliebige Identität auf die SKS-Keyserver hochladen. So sind fast alle angeblichen PGP-Schlüssel des Autors auf den Standard-SKS-Servern gefälscht.
Bereits vor einigen Wochen hatten Enthusiasten aus dem OpenPGP-Umfeld einen neuen Keyserver vorgestellt. Der verifiziert zumindest die im Schlüssel angegebene E-Mail-Adresse und veröffentlicht nur die Schlüssel, deren Inhaber dem auch zustimmen. Vorsorglich hatten die Autoren wegen des seit vielen Jahren bekannten Spam-Problems bereits darauf verzichtet, Signaturen auszuliefern. Beim aktuellen Stand der Dinge spricht viel dafür, den Server keys.openpgp.org überall anstelle der SKS-Server zu benutzen.
Die Zukunft der SchlĂĽssel
Langfristig stellt sich die Frage, wie man PGP-Schlüssel mit Vertrauen ausstattet. Das Web of Trust ist praktisch tot und darf als gescheitert gelten. Meine persönliche Einschätzung ist, dass man sich an funktionierenden Krypto-Systemen im Masseneinsatz orientieren sollte. So verschlüsseln Messenger wie WhatsApp und iMessage alle Nachrichten sehr solide und kommen dabei ganz ohne Benutzeraktionen und Third-Party-Signaturen aus. Da liefert der Betreiber des Dienstes eine einfache Basis-Sicherheit, dass die ausgelieferten Schlüssel echt sind. Diese Rolle könnten für PGP verifizierende Keyserver wie der von OpenPGP und Projekte wie Autocrypt übernehmen.
Doch für höhere Anforderungen sollte es dann unbedingt auch eine Möglichkeit geben, Schlüssel im direkten Kontakt einfach zu verifizieren, wie sie etwa Signal und Threema bieten. Das geht zwar bei PGP grundsätzlich schon immer; in Sachen Komfort gibt es da aber noch einigen Nachholbedarf.
Das SchlĂĽssel-Problem betrifft ĂĽbrigens zum GlĂĽck nicht das Haupteinsatzgebiet von PGP: Das Verifizieren von Software-Paketen und insbesondere -Updates. Da hat die Software bereits einen echten SchlĂĽssel installiert beziehungsweise das Betriebssystem kann diese Aufgabe ĂĽbernehmen. Trotzdem stellt sich auch da die Frage, ob nicht speziellere Werkzeuge wie OpenBSDs signify, das schlanke Tool minisign oder The Update Framework (TUF) besser geeignet sind. (ju)