Aller au contenu principal

1. Introduction

Ce document définit un nouveau champ d'en-tête HTTP ([RFC9110], section 6.3) qui permet aux UA d'identifier les hôtes Web qui s'attendent à la présence d'horodatages de certificats signés (SCT) [RFC9162] dans les connexions TLS (Transport Layer Security) [RFC8446] ultérieures.

Les hôtes Web qui servent le champ d'en-tête Expect-CT sont notés par l'UA comme "hôtes Expect-CT connus". L'UA évalue chaque connexion à un hôte Expect-CT connu pour la conformité avec la politique de transparence des certificats (CT) de l'UA. Si la connexion viole la politique CT, l'UA envoie un rapport à un URI configuré par l'hôte Expect-CT et/ou échoue la connexion, selon la configuration choisie par l'hôte Expect-CT.

Si elle est mal configurée, Expect-CT peut provoquer des échecs de connexion indésirables (par exemple, si un hôte déploie Expect-CT mais passe ensuite à un certificat légitime qui n'est pas enregistré dans les journaux de transparence des certificats, ou si un opérateur d'hôte Web pense que son certificat est conforme à toutes les politiques CT des UA mais se trompe). Il est conseillé aux opérateurs d'hôtes Web de déployer Expect-CT avec des précautions en utilisant la fonctionnalité de rapport et en augmentant progressivement l'intervalle de temps pendant lequel l'UA considère l'hôte comme un hôte Expect-CT connu.

Expect-CT est un mécanisme de confiance lors de la première utilisation (TOFU). La première fois qu'un UA se connecte à un hôte, il manque les informations nécessaires pour exiger des SCT pour la connexion. Ainsi, l'UA ne pourra pas détecter et contrecarrer une attaque sur la première connexion de l'UA à l'hôte. Néanmoins, Expect-CT fournit de la valeur en 1) permettant aux UA de détecter l'utilisation de certificats non enregistrés après la communication initiale, et 2) permettant aux hôtes Web d'être confiants que les UA ne font confiance qu'aux certificats audités publiquement.

Expect-CT est similaire à HTTP Strict Transport Security (HSTS) [RFC6797] et HTTP Public Key Pinning (HPKP) [RFC7469]. HSTS permet aux sites Web de se déclarer accessibles uniquement via des connexions sécurisées, et HPKP permet aux sites Web de déclarer leurs identités cryptographiques. De même, Expect-CT permet aux sites Web de se déclarer accessibles uniquement via des connexions conformes à la politique CT.

Cette spécification Expect-CT est compatible avec [RFC6962] et [RFC9162], mais pas nécessairement avec les versions futures de la transparence des certificats.

1.1. Langage des exigences

Les mots-clés "DOIT", "NE DOIT PAS", "REQUIS", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDÉ", "NON RECOMMANDÉ", "PEUT" et "OPTIONNEL" dans ce document doivent être interprétés comme décrit dans BCP 14 [RFC2119] [RFC8174] lorsque, et seulement lorsque, ils apparaissent en majuscules, comme indiqué ici.

1.2. Terminologie

"Politique de transparence des certificats (Certificate Transparency Policy)"

Une politique définie par l'UA concernant le nombre, les sources et les mécanismes de livraison des horodatages de certificats signés associés aux connexions TLS.

"Qualifié pour la transparence des certificats (Certificate Transparency Qualified)"

Décrit une connexion TLS pour laquelle l'UA a déterminé qu'une quantité et une qualité suffisantes d'horodatages de certificats signés ont été fournies.

"Qualifié CT (CT Qualified)"

Abréviation de "Qualifié pour la transparence des certificats".

"Politique CT (CT Policy)"

Abréviation de "Politique de transparence des certificats".

"Date Expect-CT effective (Effective Expect-CT Date)"

Le moment où un UA a observé un champ d'en-tête Expect-CT valide pour un hôte donné.

"Hôte Expect-CT (Expect-CT Host)"

Un hôte conforme implémentant les aspects serveur HTTP d'Expect-CT.

"Hôte Expect-CT connu (Known Expect-CT Host)"

Un hôte Expect-CT que l'UA a noté comme tel. Voir la section 2.3.2.1 pour plus de détails.

"Agent utilisateur (User Agent, UA)"

Aux fins de cette spécification, un UA est une application client HTTP généralement manipulée activement par un utilisateur [RFC9110].

"Hôte Expect-CT inconnu (Unknown Expect-CT Host)"

Un hôte Expect-CT que l'UA n'a pas noté.