Heartbleed-BUG und StartSSL – einfach ein neues Zertifikat erstellen?

Der Heartbleed-SSL-BUG hat viele Nutzer von SSL-Zertifikaten verunsichert. Während einige der CAs anscheinend die Sicherheit des Systems als Ganzes im Blick haben und das kostenlose Widerrufen von Zertifikaten ermöglichen, beharrt StartSSL darauf dass die Sicherung des Schlüssels dem Nutzer obliegt und verlangt ~25 $ für das Widerrufen seiner Zertifikate.

In vielen Diskussionen wird vorgeschlagen, einfach durch Angabe einer anderen Subdomain (und zusätzliches Hinzufügen der eigentlichen Domain) ein neues Zertifikat kostenlos zu erstellen oder zu einem anderen Anbieter zu gehen. Das zeigt, dass zwar viel Panik gemacht aber wenig aufgeklärt wird. Das Problem ist nicht, dass ein neues Zertifikat her muss (das alte Zertifikat gilt ja noch), sondern dass das alte Zertifikat für ungültig erklärt werden muss. Dies ist ausschließlich über die kostenpflichtige Option des Anbieters möglich.

Soll ich nun das Zertifikat kostenpflichtig widerrufen?

Diese Frage muss jeder Webseitenbetreiber für sich beantworten. Dabei spielen verschiedene Faktoren eine Rolle.

Viele werden das Zertifikat von StartSSL installiert haben, weil es kostenlos ist und hätten ansonsten komplett auf SSL verzichtet. In diesem Fall würde ich einfach das Zertifikat weiterverwenden, bis es abgelaufen ist.

Auch sonst muss man sich fragen, was man mit dem Widerruf  des Zertifikates erreicht. Zunächst müsste der Schlüssel ja erst einmal entwendet worden sein. Zwar kann man das nicht mit Sicherheit ausschließen (der Angriff hinterlässt keine Spuren). Theoretisch könnte also jemand, der den Bug schon länger kennt, 2 Jahre lang SSL-Zertifikate „abgefischt“ haben. Wenn dies aber im großen Stil geschehen wäre, wäre aber das Risiko der Entdeckung sehr hoch gewesen. Daher ist anzunehmen, dass der Bug (wenn überhaupt) eher gegen die bekannten großen Seiten als massenhaft gegen kleine Webseiten ausgenutzt wurde. Die Wahrscheinlichkeit, dass jemand die privaten Schlüssel eine x-beliebigen kleinen Webseite erbeutet hat, ist daher als eher gering einzuschätzen. Um mit dem geheimen Schlüssel etwas anfangen zu können, muss ein Angreifer den SSL-Traffic der Webseite gezielt zu sich umleiten. Dies ist mit nicht unerheblichen Aufwand verbunden – auch hier stellt sich die Frage, wer diesen für eine kleine Webseite treiben sollte.

Wird das Zertifikat nun widerrufen, ist letztendlich fraglich, ob dies tatsächlich vor dem Ausnutzen eines gestohlenen Schlüssels schützt. Viele Programme prüfen die Widerrufs-Listen der Anbieter fehlerhaft oder gar nicht (http://news.netcraft.com/archives/2013/05/13/how-certificate-revocation-doesnt-work-in-practice.html). Daher hat der Widerruf im Zweifel nur einen minimalen Effekt.

Wichtig: Bestehende Schlüssel nicht mehr verwenden!

Unabhängig davon, ob man sich dazu entschließt, sein Zertifikat zu widerrufen – der private Schlüssel sollte nicht erneut verwendet werden. Dies gilt auch für alle Zertifikat-Unterschriftsanfragen (CSR), die mit diesem Schlüssel erstellt wurden.

Traffic sollte mit Forward Secrecy geschützt werden

Ein gestohlener Schlüssel erlaubt nicht nur Man-In-The-Middle Angriffe, sondern auch das nachträgliche Entschlüsseln von aufgezeichnetem SSL-Traffic. Generell sollte man durch aktivieren von Forward Secrecy den Traffic vor solchen  Angriffen schützen. Ein guter Artikel dazu ist unter http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html zu finden.

Veröffentlicht unter Linux