Surfen über https, das sichere Hypertext Transfer Protocol, funktioniert so: Eine Website verschlüsselt ihre Antwort mit einem geheimen Schlüssel. Und der anfragende Browser entschlüsselt sie mit dem zugehörigen öffentlichen. Klappt das, dann weiß der Surfer, mit wem er es zu tun hat, eben dem Besitzer dieses geheimen Schlüssels. Und wer das ist, das beurkundet eine CA, eine Certification Authority, mit einem ebenfalls verschlüsselten Zertifikat, erläutert Dirk Kollberg vom IT-Sicherheitsunternehmen Kaspersky Labs:
"Das heißt, ich vertraue einer gewissen Zertifizierungsstelle, einer CA, die wiederum bestätigt, dass es sich dabei auch wirklich um die Person handelt, für die das Zertifikat ausgestellt ist."
Allerdings sind Certification Authorities nicht per se vertrauenswürdig. Der Name klingt amtlich. Aber es sind Hunderte von Firmen, die Zertifikate für https ausstellen. Darunter rechte Klitschen, die Antragsteller schlampig oder gar nicht überprüfen oder ihren geheimen Schlüssel, quasi ihren Prüfstempel, nicht sicher verwahren. Deswegen sind unzählige Zertifikate im Umlauf, die dubiosen Gestalten bestätigen, seriöse Netzbürger zu sein.
"SSL-Zertifikate werden von Unternehmen herausgegeben. Das ist deren Geschäft. Und wenn man ein Geschäft betreibt, optimiert man dessen Ertrag. Folglich konkurrieren Unternehmen darum, wer Zertifikate am billigsten verkauft. Deshalb müssen sie ihren Betrieb optimieren. Wenn man den Betrieb einer Prüfungsgesellschaft optimiert, muss man etwas dafür aufgeben. Das ist der Hauptgrund dafür, weshalb es überraschend einfach ist, Zertifikate zu bekommen, die nicht ordentlich geprüft worden sind",
so Mikko Hypponen, Cheftechnologe des IT-Sicherheitsunternehmens F-Secure. Der Firefox-Entwickler Mozilla-Foundation fragt deshalb bei großen Website-Betreibern nach, welchen Zertifikaten sie trauen soll.
"Public-Key-Pinning ermöglicht es der Website, anzugeben, von wem Sie sich Ihr Zertifikat haben ausstellen lassen. Wenn also Ihr Browser es mit einer Website zu tun hat, die ein Zertifikat von einer anderen Stelle präsentiert, wissen wir, dass das eine unsichere Verbindung ist. Und wir erlauben sie nicht", so Sid Stamm von Mozilla zum Public-Key-Pinning, das der Firefox seit kurzem verwendet.
Nicht mehr als ein unzulänglicher Reparatur-Versuch
Ein umständliches Verfahren. Ursprünglich war das mit dem sicheren Surfen ja anders gedacht. Wenige Root Certification Authorities sollten nachgeordnete Stellen zertifizieren, die ihrerseits dann die Inhaber von Krypto-Schlüsseln streng überprüfen lassen sollten. Eine zuverlässige Public-Key-Infrastructure sollte so entstehen. Die Public-Key-Infrastructure gibt es. Aber sie ist vielfach kompromittiert. Und Public-Key-Pinning ist nicht viel mehr als ein unzulänglicher Reparatur-Versuch, sagt Mikko Hypponen:
"Das Problem ist, dass es nicht skaliert. Man kann das mit einer Handvoll Sites machen, aber nicht mit Tausenden. Das würde ja die gesamte Public-Key-Infrastruktur neu schaffen. Pinning ist eine gute Idee. Und es ist gut, dass Browser das können. Aber es kuriert nur an den Symptomen eines gewaltigen Problems herum."