Public Notary Transparency K. Seo
Internet Draft D. Mandelberg
Intended status: Standards Track S. Kent
Expires: November 2016 BBN Technologies
May 24, 2016
Certificate Transparency (CT) Certification Authority and Subject
Requirements
draft-kseo-trans-ca-subject-01.txt
Abstract
This document describes the requirements for Certification
Authorities (CAs) and Subjects that elect to participate as elements
of the Certificate Transparency (CT) system, focusing on the Web PKI
context.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on November 24, 2016.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
Seo, et al. Expires November 24, 2016 [Page 1]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
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.
Table of Contents
1. Introduction...................................................2
1.1. Requirements Language.....................................3
2. Requirements for a CT-aware Certification Authority (CA).......3
2.1. Interaction with a Log....................................4
2.1.1. Logging a (pre-)certificate..........................4
2.1.2. Name-redacted pre-certificates.......................4
2.1.3. Which and How Many Logs to Use.......................5
2.2. Verification of Logging...................................5
2.3. Monitoring................................................5
2.4. Remediation...............................................6
3. Requirements for CT-aware Subjects (TLS web servers)...........6
3.1. Logging a Certificate.....................................7
3.2. Verification of Logging...................................7
3.3. Monitoring................................................8
3.4. Remediation...............................................8
4. Security Considerations........................................8
5. IANA Considerations............................................9
6. References.....................................................9
6.1. Normative References......................................9
6.2. Informative References....................................9
7. Acknowledgments...............................................10
1. Introduction
Certificate Transparency (CT) is a set of mechanisms designed to
deter, detect, and facilitate remediation of certificate mis-
issuance [Architecture]. Mis-issuance of certificates by CAs
motivates the development of CT. This document describes the
requirements for Certification Authorities (CAs) and Subjects that
elect to participate as elements of the Certificate Transparency
(CT) system, focusing on the Web PKI context.
Seo, et al. Expires November 24, 2016 [Page 2]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Requirements for a CT-aware Certification Authority (CA)
A CT-aware CA logs the certificates that it issues. It may benefit
from CT since relying parties may have greater confidence in the
validity of such certificates because they are available to be
observed by Monitors [Monitor-Auditor]. CAs also are the CT elements
primarily responsible for remediation, i.e., by revoking mis-issued
certificates.
A CT-aware CA MUST submit a certificate (or a pre-certificate [6962-
bis]) to one or more logs selected by the CA. A CT-aware CA submits
a pre-certificate to a log when it issues a name redacted
certificate (see Section 4.2 of [6962-bis]), or when it wants to
embed a Signed Certificate Timestamp (SCT) (see Section 5.6 of
[6962-bis]) in a certificate that it issues. A CA operating an OCSP
server MAY elect to provide SCTs to its Subjects via an OCSP
extension (see Section 8.1.1 of [6962-bis]).
Figure 1 illustrates interactions between a CA and other elements of
the CT system.
+-----+ +----+ +---------+
| Log |<----->| CA |<***>| Monitor |
+-----+ +----+ +---------+
^
*
v
+---------+
| Subject |
+---------+
Legend:
<---> Interface defined by CT
<***> Interface out of scope for CT
Figure 1 Interactions between CA and other elements of CT system
Seo, et al. Expires November 24, 2016 [Page 3]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
2.1. Interaction with a Log
Most certificates submitted to logs are expected to be end-entity
certificates, each associated with the Subject (TLS Server) that it
represents. This includes wildcard certificates, which are EE
certificates that will match a set of Subject names. These are
attractive to a Subject because a single certificate can be used to
represent multiple servers (in subdomains of a single domain name).
CT-aware CAs MAY issue wildcard certificates, if such issuance is
consistent with the Certificate Practice Statement of the CA. In
addition to logging EE certificates, a CA that issues name-
constrained CA certificates MAY elect to log them (see Section 4.3
of [6962-bis]).
2.1.1. Logging a (pre-)certificate
A CA MAY interact with a log to submit a (pre-)certificate to create
a log entry (see Section 3 of [6962-bis]). The pre-certificate
capability is offered to facilitate rapid deployment of CT. It has
the advantage that web sites need not make any software changes to
acquire one or more SCTs, because the SCTs are embedded in the
certificate itself. There is, however, a downside of embedding SCTs
in certificates. If a log that provided an SCT is compromised or
otherwise becomes not acceptable to browsers and Monitors, the
certificate associated with that SCT will have to be re-issued with
a replacement SCT. Thus, in the long term, the options of conveying
an SCT via the TLS handshake or in an OCSP response (e.g., "stapled"
into the handshake [RFC6961]), are preferred. However, transmission
of an SCT via the TLS handshake requires changes to web site
software to acquire and insert SCTs. Transmission via an OCSP
response requires that either browsers fetch such responses (which
appears not to be the norm), or that a web site passes the OCSP data
via the TLS handshake (and that the OCSP signer be prepared to
generate this modified form of response).
2.1.2. Name-redacted pre-certificates
A CA may submit a "name-redacted" pre-certificate to a log. A name-
redacted pre-certificate includes one or more "?" labels in lieu of
DNS name components. Name-redaction is a feature of CT designed to
enable an organization to log certificates without revealing all of
the DNS name components in the certificate that will be matched to
the log entry. This is an attractive feature for organizations that
want to benefit from CT without revealing internal server names as a
side effect of logging. An end-entity certificate that is to be
treated as logged via this mechanism MUST contain a critical
Seo, et al. Expires November 24, 2016 [Page 4]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
(X.509v3) extension that indicates which labels have been redacted
in the log entry. This extension is needed to enable TLS clients and
Monitors to match a received certificate against the corresponding
log entry in an unambiguous fashion. See Section 4.2 of [6962-bis]
for a detailed description of name-redaction in the CT context.
2.1.3. Which and How Many Logs to Use
The CT architecture does not mandate a specific number of SCTs that
should be associated with a certificate. Browsers and Monitors MAY
establish requirements for the minimum number of associated SCTs in
different contexts, but such requirements are outside the scope of
the CT architecture. The implication of this is that it is up to the
CA to determine which and how many logs to use for a given
certificate. In selecting an appropriate set of logs, a CA is trying
to anticipate which logs will be acceptable to the TLS clients
(browsers) that will process SCTs. CAs MAY track the sets of logs
that browser vendors configure into their products to ensure
appropriate log coverage. A CA also may accept suggestions for logs
from the Subjects it serves. The CT architecture does not specify
interfaces or protocols for communication between CT-aware CAs and
browser vendors or Subjects to acquire this information.
2.2. Verification of Logging
A CA SHOULD verify the SCT that has been returned for a certificate
or pre-certificate. (A CA might submit certificates or pre-
certificates to multiple logs, with the intent to use only a subset
of the returned SCTs. In this case the CA need not verify SCTs that
is does not elect to use.) It is RECOMMENDED that a CA verify that a
pre-certificate or certificate that it has submitted has, in fact,
been logged. To perform this verification, the CA waits for an
interval dictated by the Maximum Merge Delay (MMD) associated with
the log, and then requests both a Signed Tree Head (STH) and an
inclusion proof (Section 6.6 of [6962-bis]). The CA SHOULD then
verify the inclusion proof returned by the log, as described in
Section 9.4.1 of [6962-bis].
2.3. Monitoring
It is RECOMMENDED that a CT-aware CA operate a Monitor on behalf of
its clients. In this context the CA has most of the reference
information needed to perform the Monitor function (see [Monitor-
Auditor]). (For Subjects who use only the one CA, the CA has all of
the information needed; for Subjects who use multiple CAs for the
same DNS names, each CA would need reference information for all of
Seo, et al. Expires November 24, 2016 [Page 5]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
the legitimate certificates issued by all of the other CAs.) When a
CA detects a log entry that conflicts with a certificate that it
issued (and that has not otherwise been authorized by the
appropriate Subject), the Monitor SHOULD alert the affected Subject,
so that the Subject can request revocation of the mis-issued
certificate. The interface used by a CT-aware CA to inform the
Subject is not specified by this document.
2.4. Remediation
When a CA is notified that the CA has mis-issued a certificate, the
CA SHOULD verify that the reporting entity is authorized to make
this request and that the certificate in question has been mis-
issued. If authorization and mis-issuance are verified, the CA
SHOULD revoke and replace the mis-issued certificate. How the CA
verifies the authorization of the reporting entity is outside the
scope of the CT architecture. (If the entity that notified the CA is
the Subject of the mis-issued certificate, the Subject should be
able to provide evidence that it is the legitimate holder of another
certificate for the name in question.)
3. Requirements for CT-aware Subjects (TLS web servers)
Certificate Subjects are major beneficiaries of CT, since legitimate
certificates issued to them are protected by CT mechanisms.
Detection of mis-issuance by a Monitor is supported if a
bogus/erroneous certificate is logged, and if the Subject has
arranged to have its (legitimate) certificates tracked by one or
more Monitors. (Ideally, the Subject or its CA logged the legitimate
certificates, but that is not strictly required for a mis-issued
certificate to be detected by a Monitor.) A Subject is responsible
for requesting revocation (to effect remediation) when it is alerted
to mis-issuance of a certificate with a Subject or Subject
Alternative names associated with the Subject. Alerting is performed
by the Monitor function, but a Subject may act as a self-Monitor.
Finally, Subjects are responsible for conveying SCTs [6962-bis] to
browsers, e.g., transmitting them using a TLS handshake extension,
via an OCSP extension, or via embedding in the certificate for the
web site. (See Section 7 of [6962-bis] for details on SCT
transmission.)
Figure 2 illustrates interactions between a Subject and other
elements of the CT system.
Seo, et al. Expires November 24, 2016 [Page 6]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
+----+
| CA |
+----+
^
*
v
+-----+ +----------+ +---------+
| Log |<--->| Subject |<****| Monitor |
+-----+ +----------+ +---------+
^ ^
* *
* *
v v
+---------+ +----------------+
| Browser | | Browser Vendor |
+---------+ +----------------+
Legend:
<---> Interface defined by CT
<***> Interface out of scope for CT
Figure 2 Interactions between Subject and other elements of CT
3.1. Logging a Certificate
A CT-aware Subject (e.g., a web site operator) MAY submit its
certificate(s) to a log, and acquire an SCT for each certificate it
submits, using the add-chain log interface (see Section 6.1 of
[6962-bis]). There are three reasons for a Subject to log its own
certificate(s): (1) its CA did not embed an SCT in the
certificate(s) it issued to the Subject, (2) the Subject wants to
acquire SCTs from additional logs, or (3) the Subject wants the
flexibility offered by conveying SCTs (from logs of its choosing) in
the TLS handshake (including via OCSP). Section 7 of [6962-bis]
describes the requirements imposed on Subjects (TLS Servers) for
delivery of SCTs to CT-enabled TLS clients.
3.2. Verification of Logging
When a Subject has acquired an SCT, it SHOULD perform the same
checks described for a CA (see Section 2.2 above), to verify that
the log has created an entry for each submitted certificate.
Seo, et al. Expires November 24, 2016 [Page 7]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
3.3. Monitoring
It is RECOMMENDED that every CT-aware Subject either perform self-
monitoring, or become a client of a third-party Monitor (see
[Monitor-Auditor] for details). In the self-monitoring context, log
entries of interest are ones that contain a Subject or Subject
Alternative Name (SAN) associated with the Subject's web site(s).
(Name-constrained CA certificates and wildcard certificates also
have to be examined to detect certificates that would match the end-
entity certificates associated with a Subject's web sites.) Whenever
a certificate of interest is detected, the Subject compares it with
the public key information associated with the Subject's
certificate(s). If there is a mismatch, this indicates that this
logged certificate was mis-issued. The means by which a Subject
determines which set of logs to watch is outside the scope of the CT
specifications. Although the CT architecture does not limit the
number of logs that may exist, it is anticipated that there will be
a small number of logs that are widely used. If this model is
adopted, the metadata for these logs will be available from browser
vendors [Browsers], and thus should be available to Subjects that
elect to act as their own Monitors.
3.4. Remediation
If certificate mis-issuance is detected by or reported to the
Subject, the Subject contacts the CA that issued the certificate
(using the Issuer name in the certificate), and requests revocation
of the mis-issued certificate, to resolve the problem. (The means by
which a Subject determines how to contact a CA based on the issuer
name is outside the scope of this specification.) The Subject may
also contact browser vendors and ask that they put the certificate
on a blacklist of mis-issued certificates or put the issuing CA's
certificate on a bad-CA-list.
4. Security Considerations
CT is a system created to improve security for X.509 public key
certificates, especially in the Web PKI context. The attack analysis
in [draft-trans-threat-analysis] examines the types of attacks that
can be mounted against CT, to effect mis-issuance, and how CT
addresses (or fails to address) each type of attack. That analysis
is based on the architecture described in [Architecture], and thus
readers of this document are referred to that one for a thorough
discussion of the security aspects of CT. Briefly, CT logs represent
a viable means of deterring semantic mis-issuance of certificates.
Monitors are an effective way to detect semantic mis-issuance of
Seo, et al. Expires November 24, 2016 [Page 8]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
logged certificates [Monitor-Auditor]. The CT architecture enables
certificate Subjects to request revocation of mis-issued
certificates, thus remedying such mis-issuance. Residual
vulnerabilities exist with regard to some forms of log and Monitor
misbehavior, because the architecture does not include normative
means of detecting such behavior. The current design also does not
ensure the ability of Monitors to detect syntactic mis-issuance of
certificates. This is because provisions for asserting the type of
certificate being issued, for inclusion in an SCT, have not been
standardized.
5. IANA Considerations
<TBD>
6. References
6.1. Normative References
[6962-bis] Laurie, B., Langley, A., Kasper, E., Messeri, E., and R.
Stradling, "Certificate Transparency," draft-ietf-trans-
rfc6962-bis-11 (work in progress), November 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6961] Pettersen, Y., "The Transport Layer Security (TLS)
Multiple Certificate Status Request Extension," RFC 6961,
June 2013.
6.2. Informative References
[Architecture] Kent, S., Mandelberg, D., and K. Seo, "Certificate
Transparency (CT) System Architecture," draft-kent-trans-
architecture-01 (work in progress), November 2015.
[draft-trans-threat-analysis] Kent, S., "Attack Model and Threat for
Certificate Transparency," draft-ietf-trans-threat-
analysis-03 (work in progress), October 2015.
[Monitor-Auditor] Kent, S., Mandelberg, D., and K. Seo, "Certificate
Transparency (CT) Requirements for Monitors and Auditors,"
draft-kent-trans-monitor-auditor-00 (work in progress),
November 2015.
Seo, et al. Expires November 24, 2016 [Page 9]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
[Browsers] Mandelberg, D. and S. Kent, "Certificate Transparency
(CT) Browser Requirements," draft-dseomn-trans-browsers-00
(work in progress), November 2015.
7. Acknowledgments
<TBD>
Seo, et al. Expires November 24, 2016 [Page 10]
Internet-DraftCT Certification Authority and Subject Requirements
May 2016
Authors' Addresses
Karen Seo
Email: kseo@alum.mit.edu
David Mandelberg
Email: david@mandelberg.org
Stephen Kent
BBN Technologies
10 Moulton St.
Cambridge, MA 02138
US
Email: kent@bbn.com
Seo, et al. Expires November 24, 2016 [Page 11]