RFC 6960 - X
RFC 6960 - X
RFC 6960 - X
Santesson
Request for Comments: 6960 3xA Security
Obsoletes: 2560, 6277 M. Myers
Updates: 5912 TraceRoute Security
Category: Standards Track R. Ankney
ISSN: 2070-1721
A. Malpani
CA Technologies
S. Galperin
A9
C. Adams
University of Ottawa
June 2013
Abstract
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
Table of Contents
1. Introduction ....................................................4
1.1. Requirements Language ......................................5
2. Protocol Overview ...............................................5
2.1. Request ....................................................5
2.2. Response ...................................................6
2.3. Exception Cases ............................................8
2.4. Semantics of thisUpdate, nextUpdate, and producedAt ........9
2.5. Response Pre-Production ....................................9
2.6. OCSP Signature Authority Delegation .......................10
2.7. CA Key Compromise .........................................10
3. Functional Requirements ........................................10
3.1. Certificate Content .......................................10
3.2. Signed Response Acceptance Requirements ...................10
4. Details of the Protocol ........................................11
4.1. Request Syntax ............................................11
4.1.1. ASN.1 Specification of the OCSP Request ............11
4.1.2. Notes on OCSP Requests .............................13
4.2. Response Syntax ...........................................14
4.2.1. ASN.1 Specification of the OCSP Response ...........14
4.2.2. Notes on OCSP Responses ............................16
4.2.2.1. Time ......................................16
4.2.2.2. Authorized Responders .....................16
4.2.2.2.1. Revocation Checking of
an Authorized Responder ........17
4.2.2.3. Basic Response ............................18
4.3. Mandatory and Optional Cryptographic Algorithms ...........19
1. Introduction
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. Protocol Overview
2.1. Request
- protocol version
- service request
2.2. Response
- optional extensions
- optional extensions
- good
- revoked
- unknown
The "revoked" state indicates that the certificate has been revoked,
either temporarily (the revocation reason is certificateHold) or
permanently. This state MAY also be returned if the associated CA
has no record of ever having issued a certificate with the
certificate serial number in the request, using any current or
previous issuing key (referred to as a "non-issued" certificate in
this document).
The "unknown" state indicates that the responder doesn't know about
the certificate being requested, usually because the request
indicates an unrecognized issuer that is not served by this
responder.
- malformedRequest
- internalError
- tryLater
- sigRequired
- unauthorized
The key that signs a certificate's status information need not be the
same key that signed the certificate. A certificate's issuer
explicitly delegates OCSP signing authority by issuing a certificate
containing a unique value for the extended key usage extension
(defined in [RFC5280], Section4.2.1.12) in the OCSP signer's
certificate. This certificate MUST be issued directly to the
responder by the cognizant CA. See Section 4.2.2.2 for details.
3. Functional Requirements
The primary reason to use the hash of the CA's public key in addition
to the hash of the CA's name to identify the issuer is that it is
possible that two CAs may choose to use the same Name (uniqueness in
the Name is a recommendation that cannot be enforced). Two CAs will
never, however, have the same public key unless the CAs either
explicitly decided to share their private key or the key of one of
the CAs was compromised.
The requestor MAY choose to sign the OCSP request. In that case, the
signature is computed over the tbsRequest structure. If the request
is signed, the requestor SHALL specify its name in the requestorName
field. Also, for signed requests, the requestor MAY include
certificates that help the OCSP responder verify the requestor's
signature in the certs field of Signature.
The value for signature SHALL be computed on the hash of the DER
encoding of ResponseData. The responder MAY include certificates in
the certs field of BasicOCSPResponse that help the OCSP client verify
the responder's signature. If no certificates are included, then
certs SHOULD be absent.
4.2.2.1. Time
The key that signs a certificate's status information need not be the
same key that signed the certificate. It is necessary, however, to
ensure that the entity signing this information is authorized to do
so. Therefore, a certificate's issuer MUST do one of the following:
- A CA may specify that an OCSP client can trust a responder for the
lifetime of the responder's certificate. The CA does so by
including the extension id-pkix-ocsp-nocheck. This SHOULD be a
non-critical extension. The value of the extension SHALL be NULL.
CAs issuing such a certificate should realize that a compromise of
the responder's key is as serious as the compromise of a CA key
o optional extensions;
o optional extensions.
4.4. Extensions
4.4.1. Nonce
For the choice crlUrl, the IA5String will specify the URL at which
the CRL is available. For crlNum, the INTEGER will specify the value
of the CRL number extension of the relevant CRL. For crlTime, the
GeneralizedTime will indicate the time at which the relevant CRL was
issued.
Values for these fields are obtained from the corresponding fields in
the subject certificate.
o The algorithm used to sign the CRLs and certificates may not be
consistent with the key pair being used by the OCSP responder to
sign responses.
RFC 2560 [RFC2560] did not specify a mechanism for deciding the
signature algorithm to be used in an OCSP response. This does not
provide a sufficient degree of certainty as to the algorithm selected
to facilitate interoperability.
The value of the extension SHALL be NULL. This extension MUST NOT be
marked critical.
5. Security Considerations
Requests do not contain the responder they are directed to. This
allows an attacker to replay a request to any number of OCSP
responders.
6. IANA Considerations
7. References
[RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C.
Adams, "X.509 Internet Public Key Infrastructure Online
Certificate Status Protocol - OCSP", RFC 2560, June 1999.
[RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet
Denial-of-Service Considerations", RFC 4732,
December 2006.
8. Acknowledgements
A.1. Request
HTTP-based OCSP requests can use either the GET or the POST method to
submit their requests. To enable HTTP caching, small requests (that
after encoding are less than 255 bytes) MAY be submitted using GET.
If HTTP caching is not important or if the request is greater than
255 bytes, the request SHOULD be submitted using POST. Where privacy
is a requirement, OCSP transactions exchanged using HTTP MAY be
protected using either Transport Layer Security/Secure Socket Layer
(TLS/SSL) or some other lower-layer protocol.
A.2. Response
This appendix includes the ASN.1 modules for OCSP. Appendix B.1
includes an ASN.1 module that conforms to the 1998 version of ASN.1
for all syntax elements of OCSP, including the preferred signature
algorithms extension that was defined in [RFC6277]. This module
replaces the modules in AppendixB of [RFC2560] and AppendixA.2 of
[RFC6277]. Appendix B.2 includes an ASN.1 module, corresponding to
the module present in B.1, that conforms to the 2008 version of
OCSP-2013-88
{iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-ocsp-2013-88(81)}
BEGIN
IMPORTS
-- Object Identifiers
END
OCSP-2013-08
{iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-ocsp-2013-08(82)}
BEGIN
IMPORTS
-- Certificate Extensions
-- Request Extensions
-- Response Extensions
-- Object Identifiers
END
C.1. application/ocsp-request
To: ietf-types@iana.org
Subject: Registration of MIME media type application/ocsp-request
Additional information:
C.2. application/ocsp-response
To: ietf-types@iana.org
Subject: Registration of MIME media type application/ocsp-response
Additional information:
Authors' Addresses
Stefan Santesson
3xA Security AB
Scheelev. 17
223 70 Lund
Sweden
EMail: sts@aaa-sec.com
Michael Myers
TraceRoute Security
EMail: mmyers@fastq.com
Rich Ankney
Ambarish Malpani
CA Technologies
455 West Maude Ave. Suite 210
Sunnyvale, CA 94085
United States
EMail: ambarish@gmail.com
Slava Galperin
A9.com Inc.
130 Lytton Ave. Suite 300
Palo Alto, CA 94301
United States
EMail: slava.galperin@gmail.com
Carlisle Adams
University of Ottawa
800 King Edward Avenue
Ottawa ON K1N 6N5
Canada
EMail: cadams@eecs.uottawa.ca