Expect-CT

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Der Expect-CT Response-Header ermöglicht es Websites, die Berichterstattung und/oder Durchsetzung der Certificate Transparency Anforderungen zu aktivieren. Certificate Transparency (CT) zielt darauf ab, die unbemerkte Verwendung von falsch ausgestellten Zertifikaten für diese Website zu verhindern.

Nur Google Chrome und andere auf Chromium basierende Browser implementierten Expect-CT, und Chromium hat den Header ab Version 107 veraltet, da Chromium jetzt CT standardmäßig durchsetzt. Siehe das Chrome Platform Status Update.

CT-Anforderungen können über einen der folgenden Mechanismen erfüllt werden:

  • X.509v3-Zertifikaterweiterung, um das Einbetten von signierten Zertifikatstimestamps zu ermöglichen, die von einzelnen Logs ausgestellt wurden. Die meisten TLS-Zertifikate, die von öffentlich vertrauenswürdigen CAs ausgestellt und online verwendet werden, enthalten eingebettetes CT.
  • Eine TLS-Erweiterung vom Typ signed_certificate_timestamp, die während des Handshakes gesendet wird
  • Unterstützung von OCSP-Stapling (das heißt, die status_request TLS-Erweiterung) und Bereitstellung einer SignedCertificateTimestampList

Hinweis: Wenn eine Website den Expect-CT Header aktiviert, verlangt sie, dass der Browser überprüft, ob jedes Zertifikat für diese Website in öffentlichen CT-Logs enthalten ist.

Hinweis: Browser ignorieren den Expect-CT Header über HTTP; der Header wirkt sich nur auf HTTPS-Verbindungen aus.

Hinweis: Der Expect-CT ist seit Juni 2021 größtenteils veraltet. Seit Mai 2018 wird erwartet, dass alle neuen TLS-Zertifikate SCTs standardmäßig unterstützen. Zertifikate, die vor März 2018 ausgestellt wurden, durften eine Laufzeit von 39 Monaten haben, sodass sie im Juni 2021 abgelaufen waren. Chromium plant, den Expect-CT Header zu veraltet zu erklären und ihn schließlich zu entfernen.

Header-Typ Response-Header
Verbotener Anfrage-Header Ja

Syntax

http
Expect-CT: report-uri="<uri>",
           enforce,
           max-age=<age>

Direktiven

max-age

Die Anzahl der Sekunden nach Erhalt des Expect-CT Header-Feldes, während derer der Benutzeragent den Host der empfangenen Nachricht als bekannten Expect-CT Host betrachten soll.

Wenn ein Cache einen Wert erhält, der größer ist, als er darstellen kann, oder wenn eine seiner nachfolgenden Berechnungen einen Überlauf verursacht, wird der Cache diesen Wert entweder als 2.147.483.648 (2^31) oder als größte positive ganze Zahl, die er darstellen kann, betrachten.

report-uri="<uri>" Optional

Die URI, an die der Benutzeragent Expect-CT-Fehler melden soll.

Wenn in Verbindung mit der enforce Direktive vorhanden, wird die Konfiguration als "enforce-and-report" bezeichnet und signalisiert dem Benutzeragenten sowohl, dass die Einhaltung der Certificate Transparency-Richtlinie durchgesetzt werden sollte, als auch, dass Verstöße gemeldet werden sollen.

enforce Optional

Signalisiert dem Benutzeragenten, dass die Einhaltung der Certificate Transparency-Richtlinie durchgesetzt werden sollte (anstatt nur die Einhaltung zu melden) und dass der Benutzeragent zukünftige Verbindungen, die gegen seine Certificate Transparency-Richtlinie verstoßen, ablehnen sollte.

Wenn sowohl die enforce Direktive als auch die report-uri Direktive vorhanden sind, wird die Konfiguration als "enforce-and-report" bezeichnet und signalisiert dem Benutzeragenten sowohl, dass die Einhaltung der Certificate Transparency-Richtlinie durchgesetzt werden sollte, als auch, dass Verstöße gemeldet werden sollen.

Beispiel

Das folgende Beispiel spezifiziert die Durchsetzung von Certificate Transparency für 24 Stunden und meldet Verstöße an foo.example.com.

http
Expect-CT: max-age=86400, enforce, report-uri="https://foo.example.com/report"

Anmerkungen

Manuell dem Trust Store hinzugefügte Root-CAs überschreiben und unterdrücken Expect-CT-Berichte/-Durchsetzung.

Browser werden sich eine Expect-CT-Richtlinie nicht merken, es sei denn, die Website hat 'bewiesen', dass sie ein Zertifikat bereitstellen kann, das die Anforderungen an die Zertifikattransparenz erfüllt. Browser implementieren ihr eigenes Vertrauensmodell hinsichtlich der CT-Logs, die als vertrauenswürdig angesehen werden, damit das Zertifikat dort geloggt wurde.

Chrome-Versionen sind darauf ausgelegt, die Durchsetzung der Expect-CT-Richtlinie 10 Wochen nach dem Erstellungsdatum der Installation einzustellen.

Spezifikationen

Specification
Expect-CT Extension for HTTP
# section-2.1

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch