Certificate transparency - neue Sicherheitsfunktion von Google

26.05.2016 | Petra Alm

Certificate Transparency (nachfolgend nur CT oder CT-Projekt) stellt eine Sicherheitsfunktion dar, welche die Vertrauenswürdigkeit der Internetseiten steigern kann. Heute möchten wir ihre Funktion und Verhalten im Google Chrome Browser näher beschreiben.

Was ist Certificate Transparency und wozu dient es?

Certificate transparency ist ein offenes Framework für das Überprüfen von Zertifikatsausstellungen. Das Ziel ist, gefälschte Zertifikatsausstellungen einer CA zu erkennen. Die Transparenz wird dadurch erreicht, dass Zertifikate der CAs auf öffentlich zugänglichen qualifizierten CT-Logs registriert werden. Certificate transparency funktioniert zur Zeit nur in Chrome, die Funktion wird von anderen Browsern nicht unterstützt.

Certificate Transparency soll vor dem sog. Man-in-the-Middle-Angriff (MITM-Angriff, auch Mittelsmannangriff) schützen.

Momentan gelten die neuen Anforderungen nur für Extended Validation SSL Zertifikate (EV SSL). Domain- und organisationvalidierte SSL-Zertifikate werden in naher Zukunft aber ebenfalls geloggt werden.

Es ist wichtig zu wissen, dass EV-Zertifikate, die nach dem 1. Januar 2015 ohne Certificate Transparency Log vom Zertifikatsanbieter ausgestellt werden, im Chrome Browser nicht mehr mit einem grünen Balken angezeigt werden. Die früher ausgestellten EV-Zertifikate von Symantec, GeoTrust und Thawte wurden bereits im Dezember 2014 automatisch geloggt und sind automatisch CT-fähig.

Chrome prüft öffentliche Einträge im SSL-Zertifikat

Google Chrome hat damit begonnen, verschiedene Fehlermeldungen über öffentliche Einträge im SSL-Zertifikat darzustellen. Hier folgen ein paar Beispiele (deutsche Chrome-Version, für einige Fehlermeldungen gibt es noch keine offizielle Übersetzung):

Die Identität der Website/ der Organisation XY wurde von [Name der Zertifizierungsstelle] überprüft, ...

  • und ist öffentlich überprüfbar (The identity of this website has been verified by ISSUER and is publicly auditable.) - alles ist in Ordnung und CT läuft korrekt (Timestamp wurde validiert).
  • es liegt jedoch kein öffentlicher Eintrag der Organisation vor - wahrscheinlich wurde das Zertifikat noch nicht geloggt, siehe Bild unten
  • ein öffentlicher Eintrag liegt jedoch nicht vor (The identity of this website has been verified by ISSUER but does not have public audit records) - CT funktioniert nicht korrekt (es gibt kein korrekt signiertes Timestamp).
  • die Website scheint öffentliche Einträge zu haben, diese können aber nicht überprüft werden (eigene Übersetzung) - Timestamp wurde signiert, aber es befindet sich nicht im CT-Log und man kann es nicht prüfen.
  • und ist öffentlich überprüfbar, die Überprüfung ist aber fehlgeschlagen (eigene Übersetzung) - Timestamp befindet sich im CT-Log, aber man kann es nicht prüfen.

chrome certificate transparency

Fehlermeldung von Certificate transparency in Google Chrome. 

Die Fehlermeldungen beziehen sich auf öffentliche Einträge (audit records) von Certificate Transparency. Leider hat Chrome bisher keine weiteren Informationen zu den Fehlermeldungen veröffentlicht und selbst die Zertifizierungsstellen wissen bisher nichts Genaues. Den Link zum Timestamp gibt es nur bei positiver Überprüfung des CT-Logs, bei negativer Überprüfung gibt es nur die kurze Fehlermeldung.

Was kann der Webbetreiber tun?

Es ist wichtig, eine bekannte und vertrauenswürdige Zertifizierungsstelle auszuwählen, die die ausgestellten EV-Zertifikate im CT-Log registriert: Symantec, Thawte oder GeoTrust.

SSLmarket hat seine Systeme zeitgerecht angepasst und erweitert und mit der „CT Whitelist“ sichergestellt, dass alle  EV-Zertifikate in unserem Angebot weiterhin ab dem 1. Januar 2015 im Chrome Browser vertrauenswürdig sind und mit der grünen Adressleiste angezeigt werden.

Was passiert, wenn Certificate transparency nicht richtig funktioniert?

Falls die CT-Funktion nicht richtig funktioniert, wird der Browser keine grüne Adressleiste darstellen. Man weiss aber noch nicht genau, welche Fehlermeldung angezeigt werden wird. Es wird vorausgesetzt, dass die Sicherheitsmeldung dargestellt wird. Zur Zeit wird auch die Darstellung der domain- und organisationvalidierten SSL-Zertifikate von CT beeinflusst (HTTPS-Symbol, das Schlösschen wird verschwinden). Google sorgt damit nur für Verwirrung und es ist nicht bekannt, was man gegen die Fehlermeldung unternehmen kann.

Nicht alles, was von Google kommt, ist perfekt

Certificate transparency wurde eingeführt, um Benutzer davor zu schützen, mit Zertifikaten, die irrtümlich oder mit böswilliger Absicht ausgestellt wurden, hinters Licht geführt zu werden. Die Funktion weist aber große Mängel auf.

Der erste Mangel ist, dass die Funktion nur in Chrome verfügbar ist; das CT- Projekt wird von anderen Browsern leider nicht unterstützt. Der zweite Mangel ist Google selbst, und dessen Aggressivität, was die Sicherheitsfragen betrifft. Chrome kann jetzt sinnlose Fehlermeldungen darstellen, welche niemand beeinflussen kann, und darüber hinaus auf verschiedenen Plattformen unterschiedlich dargestellt werden (unter Linux sieht man Fehlermeldungen, welche es in Windows nicht gibt usw.).

Der Betreiber des CT-Logs, also Google, achtet nicht auf die CT-Logs und lässt sie von den Benutzern selbst (!) prüfen. Die Logs können auch von anderen Leuten geprüft werden, aber es ist nicht bekannt, wie man verfahren soll, wenn ein gefälschtes Log gefunden wird.

Der nächste Mangel ist, dass die CT-Funktion automatisch ist, und man sie nicht ausschalten kann. Der Inhaber des SSL-Zertifikats kann das leider nicht beeinflussen, und wenn er die Funktion nicht mag, kann er nichts dagegen tun.

Primärquelle:

  1. The Trouble with Certificate Transparency. Kritik an Certificate transparency.
  2. Certificate Transparency. Offizielle Website zu Certificate transparency.
  3. A Comparison of HTTPS Reforms. Nachdenken über das SSL/TLS-Protokoll, Vergleich von Funktionalitäten.

Petra Alm
Spezialistin für TLS-Zertifikate
DigiCert TLS/SSL Professional
e-mail: info(at)sslmarket.de