Pour toute question concernant ce règlement, veuillez contacter le forum sur les règles concernant la confidentialité : ct-policy@chromium.org.
Lorsque le certificat TLS (Transport Layer Security) d'une connexion est validé dans une application qui active la transparence des certificats, il est évalué pour vérifier sa conformité avec le règlement Android sur la transparence des certificats (CT). Les certificats accompagnés de codes temporels de certificat signés (SCT, Signed Certificate Timestamp) qui respectent ce règlement sont considérés comme conformes aux CT.
La conformité avec la certification CT est obtenue par un certificat et un ensemble de SCT associés qui répondent à un ensemble d'exigences techniques appliquées par les bibliothèques TLS populaires (y compris Conscrypt intégré à Android) lors de la validation du certificat, qui sont définies dans ce règlement.
États des journaux CT
La conformité aux contraintes de temps dans Android est déterminée en évaluant les SCT à partir des journaux de contraintes de temps et en s'assurant que ces journaux sont dans l'état approprié au moment de la vérification. L'ensemble des états possibles d'un journal de contrôle des transactions est le suivant:
Pending
Qualified
Usable
ReadOnly
Retired
Rejected
Pour vous aider à comprendre les exigences de conformité CT dans Android, la définition de ces états, les exigences des journaux dans chaque état, ainsi que l'impact de ces états sur le comportement d'Android sont décrits en détail dans la section Présentation du cycle de vie des journaux CT de la documentation Chrome.
Certificats conformes aux normes CT
Un certificat TLS est conforme à la certification CT s'il est accompagné d'un ensemble de SCT qui répond à au moins l'un des critères définis plus loin, en fonction de la manière dont les SCT sont transmis à Android. Dans les applications Android qui appliquent la certification CT, tous les certificats TLS approuvés publiquement doivent être conformes à la certification CT pour être validés. Toutefois, les certificats qui ne sont pas enregistrés dans la certification CT ou qui ne disposent pas de SCT suffisants ne sont pas considérés comme émis de manière incorrecte.
Lors de l'évaluation de la conformité d'un certificat avec la transparence des certificats, Android prend en compte plusieurs facteurs, y compris le nombre de SCT présents, l'opérateur du journal de transparence des certificats qui a émis le SCT et l'état du journal de transparence des certificats qui a émis le SCT, à la fois au moment de la validation du certificat et au moment de la création du SCT par le journal de transparence des certificats.
Selon la façon dont les SCT sont présentés à Android, la conformité aux CT peut être obtenue en remplissant l'un des critères suivants:
SCT intégrés :
- Au moins un SCT intégré provenant d'un journal du projet de transparence des certificats qui était
Qualified
,Usable
ouReadOnly
au moment de la vérification ; et - Il existe des SCT intégrés provenant d'au moins N journaux CT distincts qui étaient
Qualified
,Usable
,ReadOnly
ouRetired
au moment de la vérification, où N est défini dans le tableau suivant ; et - Parmi les SCT répondant à l'exigence 2, au moins deux doivent être émis par des opérateurs de journaux du projet de transparence des certificats distincts, comme reconnu par Android.
- Parmi les SCT répondant à l'exigence 2, au moins un doit être émis à partir d'un journal reconnu par Android comme étant conforme à la RFC 6962.
Durée de vie du certificat | Nombre de SCT issus de journaux CT distincts |
---|---|
<= 180 jours | 2 |
> 180 jours | 3 |
SCT envoyés via OCSP ou TLS :
- Au moins deux SCT d'un journal du projet de transparence des certificats qui était
Qualified
,Usable
ouReadOnly
au moment de la vérification ; - Parmi les SCT répondant à l'exigence 1, au moins deux doivent être émis par des opérateurs de journaux du projet de transparence des certificats distincts, comme reconnu par Android.
- Parmi les SCT répondant à l'exigence 1, au moins un doit être émis à partir d'un journal de chaîne de confiance reconnu par Android comme conforme à la RFC 6962.
Pour les SCT intégrés et ceux distribués à l'aide d'OCSP ou de TLS, l'unicité de l'opérateur de journal est définie comme comportant des entrées distinctes dans la section des opérateurs de log_list.json.
Dans les rares cas où un journal de CT change d'opérateur au cours de son existence, les journaux de CT peuvent contenir une liste de previous_operators
, accompagnée du code temporel final auquel ce journal a été géré par l'opérateur précédent.
Pour éviter que les modifications de l'opérateur de journal ne cassent les certificats existants, l'opérateur de journal de chaque SCT est déterminé comme étant l'opérateur au moment de l'émission du SCT, en comparant le code temporel du SCT aux codes temporels previous_operators
, le cas échéant.
Remarques importantes
Tant qu'un des critères de conformité CT précédents est rempli par une combinaison de SCT présentés dans le handshake, les SCT supplémentaires, quel que soit leur état, n'ont aucune incidence sur l'état de conformité CT d'un certificat.
Pour contribuer à la conformité CT d'un certificat, un SCT doit avoir été émis avant l'horodatage Retired
du journal, le cas échéant.
Android utilise le code temporel de sécurité le plus ancien parmi tous les codes temporels de sécurité présentés pour évaluer la conformité de la conformité de la CT par rapport aux codes temporels Retired
du journal de la CT.
Cela tient compte des cas particuliers où un journal CT devient "Retired" (Désactivé) lors de l'envoi de demandes de journalisation de certificats.
"SCT intégré" désigne un SCT fourni à l'aide de l'extension X.509v3 SignedCertificateTimestampList
dans le certificat lui-même. De nombreux serveurs TLS ne sont pas compatibles avec l'épinglage OCSP ni avec l'extension TLS. Par conséquent, les autorités de certification doivent être prêtes à intégrer des SCT dans les certificats émis pour garantir la validation ou le traitement EV dans Android.
Comment les journaux CT sont-ils ajoutés à Android ?
Les critères permettant aux journaux CT de devenir Qualified
, ainsi que les circonstances dans lesquelles ils peuvent devenir Retired
, sont disponibles dans la règle de journalisation Chrome CT.
Délai d'expiration de l'application des contraintes de temps
Chaque jour, Google publie une nouvelle liste de journaux CT contenant une log_list_timestamp
actualisée. Une fois par jour, les appareils Android tentent de télécharger la dernière version de cette liste à des fins de validation. À tout moment, si aucune liste de journaux n'est disponible sur l'appareil ou si le code temporel de la liste de journaux date de plus de 70 jours, l'application du CT est désactivée.
Ce délai avant expiration garantit à l'écosystème CT que les nouveaux journaux CT peuvent passer en état "Utilisable" de manière sécurisée dans un délai fixe après être devenus Qualified
.