DigiNotar, Schurkenstaaten und ein kaputtes Vertrauensmodell – aber eigentlich eine Leseempfehlung

Nicht mehr ganz aktuell und auch etwas technisch. Aber doch einen Hinweis wert:

Im Sommer 2011 wurden im Iran verschlüsselte https-Verbindungen in einer grossangelegten Man-in-the-Middle-Attacke abgehört. Ca. 300’000 User waren davon betroffen. Und die niederländische Certification Authority DigiNotar.

Angreifern war es gelungen, die Zertifizierungsstelle soweit unter Kontrolle zu bringen, um für beliebige Hostnamen, wie *.google.com, gültige SSL-Zertifikate ausstellen zu können. Da die Root-Zertifikate von DigiNotar in den gängigen Webbrowsern als vertrauenswürdige Stellen hinterlegt waren, konnten die verschlüsselten Datenverbindungen abgefangen, entschlüsselt und mit den dazugehörigen Private Keys neu verschlüsselt werden, ohne dass die Benutzerin es merken konnte.

Im letzten Herbst wurde der von der niederländischen Regierung in Auftrag gegebene Bericht über den Einbruch veröffentlicht. Der spannende Report zeigt nicht nur, was bei DigiNotar vorgefallen ist, sondern verrät auch, wie eine CA aufgebaut ist, wie eine forensische Untersuchung vonstatten geht und was im Iran passiert ist. Eine empfehlenswerte Lektüre.

Die grundsätzliche Frage bleibt jedoch im Raum stehen. Verschiedene andere CAs waren in der Vergangenheit ebenfalls betroffen – und falsche Zertifikate im Umlauf. Ein aktueller Firefox vertraut über 80 Instanzen. Darunter Türktrust, Comodo, DigiCert (alle bereits betroffen). Aber auch dem China Internet Network Information Center CNNIC, dem Staat Taiwan, Japan, Frankreich. Und auch zweier Bundesbetrieben: Swisscom und SwissSign/Post. Diese CAs dürfen (und auch alle deren SubCAs – bspw. die Migros – können) Zertifikate für sämtliche Hostnamen ausstellen. Es ist nur eine Frage der Zeit, bis der nächste Missbrauch bekannt wird. Oder auch bei uns eine Strafverfolgungsbehörde oder ein Staatsschützer auf die Idee kommt, durch eine MITM-Attacke an die gewünschte Information zu kommen.

Verschiedene Browser Add-ons helfen, solches zu verhindern. Bspw. durch eine automatische Prüfung, ob sich das Zertifikat eines Servers seit dem letzten Besuch verändert hat1. Oder durch eine Nachfrage bei einer unabhängigen Instanz, ob diese das selbe Zertifikat vom Server präsentiert bekommt, wie der eigene Client2. Leider werden gerade grosse Sites, wie google.com, von hunderttausenden von Servern mit verschiedenen Zertifikaten betrieben, so dass es zu vielen falschen Warnmeldungen kommt. Eine Nachfrage bei einer Drittinstanz wirft zudem auch Fragen aus der Datenschutz-Perspektive auf.

Der DigiNotar-Einbruch ist aufgefallen, weil in Google Chrome fest hinterlegt ist, welche Zertifikate für Google-Sites verwendet werden. Und dies scheint der einzig wirklich praktikable Ausweg aus der Misere: Wer einen Server betreibt, muss signalisieren können, welche Zertifikate zu seinen Servern gehören resp. welche Root-CAs sie ausstellen dürfen. Deren Namen und Fingerprints müssen vertrauenswürdig (Bspw. per DNSSEC) hinterlegt werden können. Ideen und einen Standard dazu gibt es bereits.