datatracker.ietf.org
Sign in
Version 5.3.1, 2014-04-16
Report a bug

Certificate Transparency
RFC 6962

Document type: RFC - Experimental (June 2013; Errata)
Was draft-laurie-pki-sunlight (individual)
Document stream: IETF
Last updated: 2013-07-26
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Yes
Document shepherd: No shepherd assigned

IESG State: RFC 6962 (Experimental)
IANA Review State: IANA - Review Needed
IANA Action State: RFC-Ed-Ack
Responsible AD: Stephen Farrell
Send notices to: benl@google.com, agl@google.com, ekasper@google.com, draft-laurie-pki-sunlight@tools.ietf.org

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

[include full document text]