Certificate Transparency Logs Monitoring liefert den Schlüssel zu mehr Sicherheit

Beim Ausstellen digitaler Zertifikate (digital certificates) durch eine Zertifizierungsstelle (certificate authority, kurz: CA), basiert alles auf dem Vertrauen in die CA, dass Zertifikate korrekt ausgestellt werden. Die Vergangenheit hat jedoch gezeigt, dass dies nicht immer der Fall war. So kam es beispielsweise zum Ausstellen von Zertifikaten mit falschen Informationen, Fehlern beim grundsätzlichen Ausstellen von Zertifikaten, oder dass eine CA unbemerkt von Angreifern verwendet wurde, um gefälschte Zertifikate auszustellen. Um die vertrauliche Kommunikation im Internet weiterhin aufrecht zu erhalten und oben genannte Fehlerquellen zu beseitigen, wurde der Certificate Transparency Standard ins Leben gerufen.

Certificate Transparency Standard liefert Transparenz

Durch die Certificate Transparency (CT) soll eine Echtzeitüberwachung der von CAs ausgestellten Zertifikate (certificates issued) ermöglicht und öffentlich zugänglich gemacht werden. Somit können falsch ausgestellte Zertifikate oder sich falsch verhaltende CAs schneller erkannt werden, wodurch auch schneller Gegenmaßnahmen eingeleitet werden können.

Die Certificate Transparency sieht dabei drei Komponenten vor.

Komponente 1 – CT Logs

Der CT Standard sieht vor, dass bei der Ausstellung von Zertifikaten (submit certificates) durch eine CA, immer ein Eintrag in ein CT Log erfolgt. CT Logs sind Netzwerkservices, die kryptographisch gesicherte und öffentlich zugängliche Verzeichnisse (public logs) ausgestellter Zertifikate zur Verfügung stellen. Alle Einträge können lediglich hinzugefügt und nicht gelöscht oder bearbeitet werden (append only). Jedes Transparency Log besitzt eine Schnittstelle, über die Einträge hinzugefügt, abgefragt und kryptographische Beweise durchgeführt werden können. Die CT Logs werden typischerweise von CAs, Internet Service Providern (ISP) oder anderen Interessenparteien betrieben, aktuell gibt es 40 CT Log Server.

Dies ist der erste Schritt zu mehr Sicherheit durch erhöhte Transparenz beim Ausstellen von Zertifikaten (submit certificates) durch die CAs. Eine Fälschung von Zertifikaten kann jedoch nur dann erkannt werden, wenn eine Prüfung der CT Logs stattfindet (certificate transparency monitoring).

Komponente 2 – Monitor

Die Prüfung ob ein falsches Zertifikat ausgestellt wurde wird von einem Monitor übernommen (ct monitoring). Dieser ruft in gewissen Zeitabständen neue Einträge der existierenden CT Logs ab (log monitoring) und prüft die darin enthaltenen Informationen. Üblicherweise wird der Monitor in Form eines Subscription-Service angeboten, bei dem Besitzer der Domain (domain owner) ihren Domainnamen und ihre Kontaktadresse hinterlegen und vom Monitor benachrichtigt werden, wenn ein Zertifikat für Ihre Domain ausgestellt wurde.

Komponente 3 – Auditor

Damit die CT Logs einen Mehrwert für die Sicherheit bieten können, muss deren korrektes Verhalten geprüft werden. Diese Aufgabe wird vom Auditor übernommen. Grundsätzlich stehen dem Auditor zwei Arten kryptographischer Beweisführung zur Verfügung:

Consistency Proof dient der Konsistenzprüfung eines CT Logs. Hiermit wird überprüft, dass kein Eintrag in der verwendeten Baumstruktur (hash tree) gelöscht, verändert oder unbemerkt eingefügt wurde und somit die Append Only Eigenschaft erfüllt wird. Es wird bewiesen, dass der neue Hash Tree nach Hinzufügen neuer Einträge aus der Vereinigung des alten Hash Tree mit den neuen Einträgen entstanden ist.

Der Ablauf: Mit Hilfe des Consistency Proofs wird überprüft, ob alle Knoten einer früheren Version eines Hash Tree in gleicher Reihenfolge im neuen Tree vorhanden sind, bevor die neuen Einträge hinzugefügt wurden. Für die Durchführung werden zum einen Knoten des alten Tree benötigt, um dessen Hashwert des Wurzelknotens zu berechnen und zum anderen die Hashwerte der neuen Knoten, die durch das Hinzufügen neuer Einträge entstanden sind. Aus den vom CT Log erhaltenen Hashwerten der Knoten wird anschließend der Wert des Wurzelknotens der neuen Version des Tree berechnet. Stimmen der berechnete Wert und der vom Log präsentierte Hashwert des Wurzelknotens überein, ist der neue Hash Tree aus einer früheren Version und dessen Vereinigung mit dem Tree der neuen Einträge entstanden. Um die für die Berechnung nötigen Hashwerte der Knoten zu erhalten, wird dem CT Log vom Prüfer der Wurzel-Hashwert des alten und des neuen Tree übergeben.

Audit Proof kann nachweisen, dass ein Eintrag für ein bestimmtes Zertifikat in einem CT Log vorhanden ist. Es werden alle Knoten benötigt, die zwischen dem Hashwert des gesuchten Eintrags und dem Wurzelknoten fehlen. Nach Erhalt der fehlenden Knoten kann der Hashwert des Wurzelknoten berechnet werden und mit dem vom CT Log gelieferten verglichen werden. Stimmen die Werte überein, ist das gesuchte Zertifikat im CT Log enthalten.

Der Ablauf: Für die Durchführung dieses kryptographischen Beweises wird der sogenannte Audit Path verwendet. Dieser enthält die kleinste Menge an Knoten, die benötigt werden, um ausgehend vom Hashwert des gesuchten Eintrags, den Hashwert des Wurzelknotens des Tree zu berechnen. Um den Audit Path zu erhalten, übergibt der Prüfer dem CT Log Server den Hashwert des Eintrags, dessen Existenz er im Log nachweisen möchte. Ist der Hashwert im Log nicht vorhanden, erhält der Prüfer eine Fehlermeldung und keinen Audit Path. Ob nach einer Anfrage Knoten vom Log geliefert werden oder nicht, ist jedoch noch kein Beweis für die korrekte Funktionsweise eines Logs. Deshalb muss aus den im Audit Path enthaltenen Knoten der Hashwert des Wurzelknotens berechnet werden. Nur wenn der berechnete Wert mit dem vom Log präsentierten übereinstimmt, ist bewiesen, dass der Eintrag im Log existiert und kein Eintrag im Tree nachträglich verändert wurde, sodass gegen die Append Only Eigenschaft des CT Logs verstoßen wurde.

Log Monitoring mit Hilfe des essendi xc

Der essendi xc Zertifikatemanager ist ein Tool, welches den Benutzer in die Lage versetzt, sein Zertifikatemanagement vollautomatisiert durchzuführen. Diese Anwendung wurde um eine Log Monitoring Komponente erweitert. Durch die Integration einer Log Monitoring Komponente, ist es automatisch möglich gefälschte Zertifikate zeitnah zu entdecken, zu sperren und zu revozieren. Der CT Log Monitor sendet nicht nur Warnungen auf Grund fälschlich ausgestellter Zertifikate, sondern auch Infomeldungen, wenn vom eigentlichen Nutzer beantragte Zertifikate in die CT Logs eingetragen wurden. Durch Umsetzung des Certificate Transparency Standards, liefert die Anwendung somit deutlich mehr Sicherheit.

Hier essendi xc unverbindlich in einer Live Demo kennenlernen.