5. HSTS Mechanism Overview (Aperçu du Mécanisme HSTS)
Cette section fournit un aperçu du mécanisme par lequel les hôtes HSTS communiquent leur politique HSTS aux UA et comment les UA traitent les politiques HSTS reçues des hôtes HSTS. Les détails du mécanisme sont spécifiés dans les sections 6 à 15.
5.1. HSTS Host Declaration (Déclaration d'Hôte HSTS)
Un hôte HTTP se déclare comme hôte HSTS en émettant une politique HSTS aux UA, représentée par le champ d'en-tête de réponse HTTP Strict-Transport-Security et communiquée via un transport sécurisé (par exemple, TLS). Après qu'un UA conforme ait reçu et traité ce champ d'en-tête sans erreur, le UA traite l'hôte comme un hôte HSTS connu (Known HSTS Host).
5.2. HSTS Policy (Politique HSTS)
Une politique HSTS indique aux UA de communiquer uniquement avec un hôte HSTS connu via un transport sécurisé et spécifie la durée de rétention de la politique.
Une politique HSTS remplace explicitement le traitement par le UA des références URI, des entrées utilisateur (par exemple, via la "barre d'emplacement"), ou d'autres informations qui, en l'absence d'une politique HSTS, pourraient amener les UA à communiquer de manière non sécurisée avec un hôte HSTS connu.
Une politique HSTS peut inclure une directive optionnelle -- includeSubDomains -- spécifiant que cette politique HSTS s'applique également à tous les hôtes dont les noms de domaine sont des sous-domaines du nom de domaine de l'hôte HSTS connu.
5.3. HSTS Policy Storage and Maintenance by User Agents (Stockage et Maintenance de la Politique HSTS par les Agents Utilisateurs)
Les UA stockent et indexent les politiques HSTS strictement sur la base du nom de domaine de l'hôte HSTS émetteur.
Cela signifie que les UA maintiennent la politique HSTS de tout hôte HSTS donné séparément de toute politique HSTS émise par tout autre hôte HSTS dont les noms de domaine sont des domaines parents ou des sous-domaines du nom de domaine de l'hôte HSTS donné. Seul l'hôte HSTS donné peut mettre à jour ou provoquer la suppression de sa politique HSTS émise. Il le fait en envoyant aux UA un champ d'en-tête de réponse HTTP Strict-Transport-Security avec de nouvelles valeurs pour la durée de temps de la politique et l'applicabilité des sous-domaines. Ainsi, les UA mettent en cache les informations de politique HSTS "les plus récentes" au nom de l'hôte HSTS. Spécifier une durée de temps nulle signale au UA de supprimer la politique HSTS pour cet hôte HSTS (y compris toute directive includeSubDomains affirmée). Voir la section 8.1 ("Strict-Transport-Security Response Header Field Processing") pour plus de détails. De plus, la section 6.2 présente des exemples du champ d'en-tête de réponse HTTP Strict-Transport-Security.
5.4. User Agent HSTS Policy Enforcement (Application de la Politique HSTS par l'Agent Utilisateur)
Lorsqu'une connexion HTTP à un hôte donné est établie, quelle que soit la manière dont elle est déclenchée, le UA vérifie son cache d'hôtes HSTS connus pour voir s'il existe des hôtes dont les noms de domaine sont des domaines parents du nom de domaine de l'hôte donné. Si l'un d'entre eux est trouvé et que l'un d'entre eux affirme la directive includeSubDomains, alors la politique HSTS s'applique à l'hôte donné. Sinon, la politique HSTS ne s'applique à l'hôte donné que si l'hôte donné lui-même est connu comme hôte HSTS par le UA. Voir la section 8.3 ("URI Loading and Port Mapping") pour plus de détails.