5. HSTS Mechanism Overview (Überblick über den HSTS-Mechanismus)
Dieser Abschnitt bietet einen Überblick über den Mechanismus, durch den HSTS-Hosts ihre HSTS-Richtlinie an UAs kommunizieren und wie UAs HSTS-Richtlinien verarbeiten, die von HSTS-Hosts empfangen werden. Die Details des Mechanismus sind in den Abschnitten 6 bis 15 spezifiziert.
5.1. HSTS Host Declaration (HSTS-Host-Deklaration)
Ein HTTP-Host deklariert sich als HSTS-Host, indem er eine HSTS-Richtlinie an UAs ausgibt, die durch das HTTP-Antwort-Header-Feld Strict-Transport-Security dargestellt und über einen sicheren Transport (z. B. TLS) kommuniziert wird. Nachdem ein konformer UA dieses Header-Feld fehlerfrei empfangen und verarbeitet hat, behandelt der UA den Host als bekannten HSTS-Host (Known HSTS Host).
5.2. HSTS Policy (HSTS-Richtlinie)
Eine HSTS-Richtlinie weist UAs an, nur über einen sicheren Transport mit einem bekannten HSTS-Host zu kommunizieren und gibt die Aufbewahrungsdauer der Richtlinie an.
Eine HSTS-Richtlinie überschreibt explizit die Verarbeitung von URI-Referenzen, Benutzereingaben (z. B. über die "Adressleiste") oder anderen Informationen durch den UA, die in Abwesenheit einer HSTS-Richtlinie dazu führen könnten, dass UAs unsicher mit einem bekannten HSTS-Host kommunizieren.
Eine HSTS-Richtlinie kann eine optionale Direktive -- includeSubDomains -- enthalten, die angibt, dass diese HSTS-Richtlinie auch für alle Hosts gilt, deren Domainnamen Subdomains des Domainnamens des bekannten HSTS-Hosts sind.
5.3. HSTS Policy Storage and Maintenance by User Agents (Speicherung und Wartung der HSTS-Richtlinie durch Benutzeragenten)
UAs speichern und indizieren HSTS-Richtlinien ausschließlich auf Basis des Domainnamens des ausgebenden HSTS-Hosts.
Dies bedeutet, dass UAs die HSTS-Richtlinie eines bestimmten HSTS-Hosts getrennt von jeder HSTS-Richtlinie verwalten, die von einem anderen HSTS-Host ausgegeben wurde, dessen Domainname ein übergeordneter Domain oder eine Subdomain des Domainnamens des bestimmten HSTS-Hosts ist. Nur der bestimmte HSTS-Host kann seine ausgegebene HSTS-Richtlinie aktualisieren oder deren Löschung veranlassen. Dies geschieht durch Senden eines HTTP-Antwort-Header-Felds Strict-Transport-Security mit neuen Werten für die Zeitdauer der Richtlinie und die Anwendbarkeit auf Subdomains an UAs. Somit cachen UAs die "aktuellsten" HSTS-Richtlinieninformationen im Namen des HSTS-Hosts. Die Angabe einer Zeitdauer von Null signalisiert dem UA, die HSTS-Richtlinie für diesen HSTS-Host (einschließlich jeder behaupteten includeSubDomains-Direktive) zu löschen. Siehe Abschnitt 8.1 ("Strict-Transport-Security Response Header Field Processing") für weitere Details. Darüber hinaus präsentiert Abschnitt 6.2 Beispiele des HTTP-Antwort-Header-Felds Strict-Transport-Security.
5.4. User Agent HSTS Policy Enforcement (Durchsetzung der HSTS-Richtlinie durch den Benutzeragenten)
Wenn eine HTTP-Verbindung zu einem bestimmten Host hergestellt wird, unabhängig davon, wie sie ausgelöst wird, prüft der UA seinen Cache bekannter HSTS-Hosts, um zu sehen, ob es Hosts gibt, deren Domainnamen übergeordnete Domains des Domainnamens des bestimmten Hosts sind. Wenn welche gefunden werden und einer von ihnen die includeSubDomains-Direktive behauptet, gilt die HSTS-Richtlinie für den bestimmten Host. Andernfalls gilt die HSTS-Richtlinie nur dann für den bestimmten Host, wenn der bestimmte Host selbst dem UA als HSTS-Host bekannt ist. Siehe Abschnitt 8.3 ("URI Loading and Port Mapping") für weitere Details.