Certificate Transparency
RFC 6962
Document | Type |
RFC - Experimental
(June 2013; Errata)
Was draft-laurie-pki-sunlight (individual)
|
|
---|---|---|---|
Authors | Ben Laurie , Adam Langley , Emilia Kasper | ||
Last updated | 2020-01-21 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 6962 (Experimental) | |
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Stephen Farrell | ||
Send notices to | (None) | ||
IANA | IANA review state | IANA - Review Needed | |
IANA action state | RFC-Ed-Ack |
Internet Engineering Task Force (IETF) B. Laurie Request for Comments: 6962 A. Langley Category: Experimental E. Kasper ISSN: 2070-1721 Google June 2013 Certificate Transparency Abstract This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs. Logs are network services that implement the protocol operations for submissions and queries that are defined in this document. Status of This Memo This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation. This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6962. Laurie, et al. Experimental [Page 1] RFC 6962 Certificate Transparency June 2013 Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Informal Introduction ...........................................3 1.1. Requirements Language ......................................4 1.2. Data Structures ............................................4 2. Cryptographic Components ........................................4 2.1. Merkle Hash Trees ..........................................4 2.1.1. Merkle Audit Paths ..................................5 2.1.2. Merkle Consistency Proofs ...........................6 2.1.3. Example .............................................7 2.1.4. Signatures ..........................................8 3. Log Format and Operation ........................................9 3.1. Log Entries ................................................9 3.2. Structure of the Signed Certificate Timestamp .............12 3.3. Including the Signed Certificate Timestamp in the TLS Handshake .............................................13 3.3.1. TLS Extension ......................................15 3.4. Merkle Tree ...............................................15 3.5. Signed Tree Head ..........................................16 4. Log Client Messages ............................................17 4.1. Add Chain to Log ..........................................17 4.2. Add PreCertChain to Log ...................................18 4.3. Retrieve Latest Signed Tree Head ..........................18 4.4. Retrieve Merkle Consistency Proof between Two Signed Tree Heads .........................................19 4.5. Retrieve Merkle Audit Proof from Log by Leaf Hash .........19 4.6. Retrieve Entries from Log .................................20 4.7. Retrieve Accepted Root Certificates .......................21 4.8. Retrieve Entry+Merkle Audit Proof from Log ................21 5. Clients ........................................................21 5.1. Submitters ................................................22 5.2. TLS Client ................................................22 5.3. Monitor ...................................................22Show full document text