Keyserver: Chaos mit doppelten PGP-Key-IDs
Auf den PGP-Keyservern sind massenhaft Kopien von existierenden PGP-Keys mit der identischen Key-ID aufgetaucht. Die stammen von einem Experiment von vor zwei Jahren. Key-IDs dürften damit ausgedient haben, als Ersatz sollte man den gesamten Fingerprint nutzen.

"Fake-Keys von Linus Torvalds in freier Wildbahn gefunden" heißt es jüngst in einer Mail an die Linux-Kernel-Mailingliste. Darin wird erklärt, dass sich auf den öffentlichen PGP-Keyservern zwei Keys von Linus Torvalds mit derselben Key-ID - 00411886 - befinden. Doch Torvalds ist nicht der einzige Betroffene, offenbar wurden von unzähligen Keys Duplikate hochgeladen.
Key-IDs zu kurz
Bei den Key-IDs handelt es sich um eine 32 Bit lange Sequenz, die als Hexadezimalzahl dargestellt wird. Es handelt sich dabei um die letzten Stellen des für jeden Key eindeutigen Fingerprints. Das Problem dabei: Es ist nicht garantiert, dass diese Key-IDs eindeutig sind. Dafür sind sie schlicht zu kurz. Alleine durch Zufall kann es zu doppelten Key-IDs kommen. Ein Angreifer kann jedoch auch gezielt einen Key erzeugen, der dieselbe Key-ID wie ein bestehender Key hat. Dieser Key sieht dann für den Nutzer genauso aus wie das Original, solange der Fingerprint nicht geprüft wird.
Bekannt ist dieses Problem schon lange, auf einer GnuPG-Nutzerliste wurde das Problem beispielsweise bereits ausführlich im Jahr 2002 diskutiert. Vor zwei Jahren wurden auf der Def Con die Webseite Evil32.com und das dazugehörige Tool Scallion präsentiert, mit dem sich innerhalb von Sekunden derartige Schlüsselduplikate erzeugen lassen. Golem.de hatte damals auch darüber berichtet.
Die Autoren von Evil32.com, Eric Swanson und Richard Klafter, hatten damals auch für sämtliche Keys des sogenannten Strong-Set Duplikate erstellt und zum Download bereitgestellt. Offenbar hat nun eine unbekannte Person genau diese Keys auf die öffentlichen PGP-Keyserver hochgeladen.
Zu welchen Verwirrungen solch eine Aktion führen kann, musste auch der Autor dieses Artikels erfahren. Eine an ihn gerichtete Mail ließ sich nicht entschlüsseln. Offenbar hatte der Absender dieser Mail den Schlüssel anhand der kurzen Key-ID auf einem Keyserver gesucht und ist dabei auf die falsche Kopie gestoßen.
Keys wurden zurückgezogen
Inzwischen wurden die Key-Duplikate mit einer sogenannten Revocation-Signatur versehen und sind somit ungültig. Eric Swanson besaß noch eine Kopie der zugehörigen privaten Schlüssel und hat nun für alle diese Keys Revocation-Signaturen erzeugt. Die Keys befinden sich also weiterhin auf den Keyservern, sind jedoch als ungültig markiert.
Das dürfte zwar dafür sorgen, dass die Auswirkungen dieser Aktion begrenzt bleiben, allerdings kann jederzeit jemand anderes erneut Key-Duplikate erzeugen. Swanson und Klafter hatten keine bösen Absichten, sie wollten in erster Linie auf eine Schwäche der Key-IDs hinweisen und versuchten, durch die Revocations den Schaden zu begrenzen. Doch ein bösartiger Angreifer könnte natürlich die privaten Schlüssel dazu nutzen, um unbefugt die Mails anderer mitzulesen.
Generell dürfte damit klar sein, dass die Nutzung der kurzen Key-IDs nicht zu empfehlen ist. Auch die Nutzung von längeren 64-Bit-Key-IDs bietet keinen echten Schutz. Zwar ist es aufwendiger, hier Kollisionen zu erzeugen, möglich ist es aber nach wie vor.
Fingerprints statt kurzer Key-IDs
Statt der Key-ID sollte man den Key immer anhand des gesamten Fingerprints identifizieren. Dieser ist 160 Bit lang und identifiziert Schlüssel eindeutig. Der Fingerprint ist ein SHA-1-Hash. Obwohl SHA-1 als nicht mehr sicher gilt, lassen sich keine Duplikate mit demselben Fingerprint von existierenden Keys erstellen. Dafür wäre ein sogenannter Preimage-Angriff nötig, die Schwächen von SHA-1 beziehen sich jedoch nur auf Kollisionsangriffe.
Die jüngsten Versionen von GnuPG haben bereits auf die Probleme mit Key-IDs reagiert. Standardmäßig wird die Key-ID überhaupt nicht mehr angezeigt, stattdessen wird der Fingerprint verwendet.
Grundsätzlich zeigen sich hier die Probleme des gesamten Konzepts der PGP-Keyserver. Jeder kann dort nach Belieben Keys hochladen, sie werden überhaupt nicht geprüft. Das führt auch sonst gelegentlich zu Verwirrungen, so findet man auf den Keyservern eine ganze Reihe von defekten Keys mit Bitfehlern, die wegen ungültiger Signaturen nicht nutzbar sind. Es gab bereits mehrfach Falschmeldungen, weil diese Keys scheinbar unsicher sind und sich leicht faktorisieren lassen. Das Konzept der Keyserver sieht generell vor, dass ein Nutzer selbst die Echtheit eines Keys prüfen muss, etwa indem der Fingerprint abgeglichen wird. Sonderlich praktikabel ist das natürlich nicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Da du schon freundlicherweise auf die openPGP.conf und Werner Koch's Vortrag verwiesen...
Web of Trust ist immer nur so gut wie die Personen die es nutzen. Das WoT löst letztlich...
Ja, es gibt leider noch viele Programme, z.B. ältere Versionen von GnuPG, die an vielen...
Sollte also jeder Mensch auf der Erde nur einen einzigen öffentlichen PGP-Schlüssel...