6 Proxy Certificates and OCSP Proxy Responders

GWD-I
Category: Informational
CAOPS-WG
Olle Mulmo, KTH
Michael Helm, ESnet/LBL
Jesus Luna, UPC
Oscar Manso, CertiVer
Milan Sova, CESNET
March 2016
1
2
OCSP Requirements for Grids
3
Edit: OCSP_Requirements_for_Grids-06-08
4
Status of This Memo
5
6
7
This memo provides information to the Grid community on the use and applicability of using the
Online Certificate Status Protocol (OCSP) for X.509 public-key and attribute certificates. It does
not define any standards or technical recommendations. Distribution is unlimited.
8
Copyright Notice
9
Copyright © Global Grid Forum (2016). All Rights Reserved.
10
Abstract
11
12
13
14
15
16
17
18
19
20
21
22
23
Grids use X.509 certificates for authentication and authorization. While certificates have built-in
lifetimes, this is insufficient: lists of revoked certificates are required by many relying parties, and
should be used by every relying party, in order to eliminate lost, compromised, or otherwiseinvalid certificates from use. Commercial credit and debit cards are managed in an analogous
fashion. The Online Certificate Status Protocol (OCSP) is a protocol that can be used to provide
this service for Grid stakeholders. OCSP is a simple query protocol, relieving its clients of the
burden of managing lists of revoked certificates. The OCSP protocol is flexible and extensible,
allowing certificate validation services beyond the simple reporting of contents of certificate
revocation lists (CRLs). The Grid presents considerable challenges for such a service, however.
To be suitable for Grid use, OCSP services must be discoverable, fault tolerant and low latency.
Grid administrators need to develop interoperability methods, “chaining” methods from one OCSP
responder to another, authorized OCSP responder mechanisms for multiple CAs, and replication
techniques.
24
helm@es.net
1
GWD-I
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
March 2016
Table of Contents
Abstract ............................................................................................................................................ 1
Table of Contents ............................................................................................................................ 2
1 Introduction ............................................................................................................................... 4
2 Practical Considerations and Expectations .............................................................................. 4
3 Protocol Overview .................................................................................................................... 5
3.1
OCSP Characteristics ....................................................................................................... 5
3.2
Certificate Revocation Lists............................................................................................... 6
3.3
OCSP Latency and Cautionary Period ............................................................................. 7
4 OCSP Relying Party Requirements ......................................................................................... 8
4.1
Network Requirements...................................................................................................... 8
4.2
Revocation Source Requirements .................................................................................... 8
4.3
Caching OCSP Responses ............................................................................................... 8
4.4
Responder Discovery ........................................................................................................ 9
4.5
Nonce ................................................................................................................................ 9
4.6
AuthorityInfoAccess Extension........................................................................................ 10
4.7
Error Handling and the Unknown Status Code ............................................................... 10
4.8
OCSP Request Signing. .................................................................................................. 10
5 OCSP Responder Requirements ........................................................................................... 10
5.1
Performance, Key Protection .......................................................................................... 10
5.2
Responder Certificate ..................................................................................................... 11
5.3
Revocation Information Sources ..................................................................................... 11
5.4
Transponder Mode .......................................................................................................... 11
6 Proxy Certificates and OCSP Proxy Responders .................................................................. 12
6.1
Proxy Certificate Characteristics ..................................................................................... 12
6.2
Proxy Certificate Revocation ........................................................................................... 12
6.3
Requirements for Proxy Certificate Revocation Services ............................................... 13
6.3.1
OCSP Authorized Proxy Cert Responder ................................................................ 14
6.3.2
OCSP Trusted Proxy Cert Responder ..................................................................... 14
6.4
MyProxy Certificate Store ............................................................................................... 14
7 Certificate Authority Requirements ........................................................................................ 14
7.1
Certificates ...................................................................................................................... 14
7.1.1
End Entity Certificates.............................................................................................. 14
7.1.2
Certifying Authorized Responders ........................................................................... 14
7.2
Certificate Revocation Lists............................................................................................. 15
7.2.1
Delta CRLs ............................................................................................................... 15
7.2.2
CRL Latency ............................................................................................................ 16
8 OCSP Service Architecture .................................................................................................... 16
8.1
Service Organization ....................................................................................................... 16
8.1.1
OCSP Client ............................................................................................................. 16
8.1.2
Caching Responder ................................................................................................. 16
8.1.3
Site or Organizational Responders .......................................................................... 16
8.1.4
CA Related Responders (Authorized Responders) ................................................. 17
8.1.5
Clearinghouse – High Level Responders ................................................................ 17
8.1.6
OCSP High Level Responders ................................................................................ 17
8.2
Service Components ....................................................................................................... 17
8.2.1
Authorized Responders ........................................................................................... 19
8.2.2
Trusted Responders and Transponders .................................................................. 19
8.2.3
OCSP Clients ........................................................................................................... 19
9 Security Considerations ......................................................................................................... 19
10
Other Considerations .......................................................................................................... 19
11
Author Information .............................................................................................................. 20
12
Glossary .............................................................................................................................. 20
13
Intellectual Property Statement........................................................................................... 21
14
Full Copyright Notice .......................................................................................................... 21
15
References.......................................................................................................................... 21
16
Revision History .................................................................................................................. 23
helm@es.net
2
GWD-I
1
2
3
4
5
6
7
8
9
March 2016
17
Note for next revision .......................................................................................................... 23
17.1
06-06............................................................................................................................ 23
17.2
06-05............................................................................................................................ 24
17.3
06-04............................................................................................................................ 24
Appendix A
OCSP Responder Examples ................................................................................ 24
A.1
Simple Client – Server Example ..................................................................................... 24
A.2
Grid Application Interaction with Site OCSP Responder ................................................ 25
A.3
MyProxy Example ........................................................................................................... 25
helm@es.net
3
GWD-I
March 2016
1
2
1
Introduction
3
4
5
6
7
8
9
10
11
12
13
Grids use X.509 [X509] certificates for authentication and as a basis for authorization. A reliable,
secure Grid infrastructure depends on the integrity and validity of these certificates. While X.509
certificates have built-in lifetimes, this is not adequate to deal with every aspect of certificate life
cycle and management. Certificates can be lost by their owners, can be “compromised”, or the
justification for holding the certificate may no longer apply. These certificates need to be revoked
before the certificate expiration date is reached. Distribution of certificate revocation lists (CRLs)
supports this need. CRL distribution and maintenance in the Grid has proven difficult for practical
reasons. The Online Certificate Status Protocol (OCSP) provides a simple query protocol for
clients to perform revocation check lookups on certificates, without the need to maintain up-todate sets of CRLs from a number of different certification authorities, at each and every computer
that is part of the Grid.
14
15
OCSP is a product of the IETF PKIX working group, and the current version is described in
[RFC2560].
16
2
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
The evolution of security concerns in Grids provides a number of scenarios for OCSP usage.
The increasingly large number of Grid CAs, and the attendant need for every end point in every
Grid PKI to manage a relationship with each CA in order to obtain revocation information,
presents a scaling problem for designers and an implementation problem for security and system
administrators. A comprehensive design with careful use of OCSP responders can address this
problem.
Various security-related “blacklisting” use cases might employ OCSP (or a combination of OCSP
and other techniques). For instance, an OCSP responder, providing status information to relying
parties for a given site, could return a REVOKED status for a single unwanted user, or all
certificates with a given quality or characteristic. This might be useful in controlling access during
an on-going security incident. Or, the OCSP responder could apply policy rules such as tests
against key size, key usage, or other qualities, and prevent inappropriate use of certificates.
These tests are difficult to deploy in current clients.
Grids make extensive use of proxy certificates (see section 6). While intended originally to be
non-revocable, their usage scenarios have evolved considerably over the years, and some
revocation capability might be useful. Selective proxy certificates might be revoked as part of a
security response. Proxy revocation may be part of a more general authorization certificate
management service. Completed jobs might revoke still valid but unneeded proxy certificates.
35
36
37
While OCSP has been around as a standard for several years, support for it in open source
software stacks is emerging only now. While the list below is in no way meant to be complete, it
highlights issues to consider before deploying OCSP services in a Grid.
Practical Considerations and Expectations
38
39
40
41
42
43

Generators/processors for creating and validating OCSP messages can be found in
recent versions of OpenSSL [OPENSSL] and BouncyCastle [BCASTLE], both commonly
used crypto providers in the open-source market. In both cases, however, a couple of
lines of code is necessary to enable OCSP as part of the certificate validation (registering
the necessary callbacks). Sun’s Java 2 Platform Standard Edition (J2SE) 5.0 [J2SE5]
also supports OCSP.
44
45

Built-in support for OCSP can be found in the Mozilla-based series of browsers
[MOZILLA], e.g. Netscape and Firefox.
46
47
48
49

OCSP is supported in Windows by way of third-party revocation provider plug-ins to the
Windows CryptoAPI, which offers cryptographic operations for most Microsoft products
(including browsers and email clients). Several such plug-ins exist in the commercial
marketplace.
helm@es.net
4
GWD-I
March 2016
1
2

Grid PKIs distribute their revocation information in several ways, usually in CRLs
accessible via HTTP, some provide LDAP access to CRLs and/or even OCSP.
3
4

Due to the distributed nature of Grids, any supporting OCSP service should be fault
tolerant, efficient, and resilient under load.
5
3
Protocol Overview
6
In this section, we provide an overview of the OCSP protocol and its different modes of operation.
7
3.1
OCSP Characteristics
8
9
10
11
12
13
14
OCSP is a simple query protocol based on a client-server model. A “client” can be any
application, service, or device needing to validate X.509 certificates; we prefer to use the term
“relying party” for clarity, but both “relying party” and “OCSP client” are used below
interchangeably. The “server” is the OCSP responder. The relying party packages up one or
more X.509 certificates, and sends them to the OCSP responder. The OCSP responder
evaluates the status of the certificates, and for each one returns to the relying party one of three
values: Good, Revoked, or Unknown.
15
The “issuer” is the certification authority that signed the issued X.509 certificate.
16
17
In OCSP, a relying party (the client) identifies the location of an OCSP responder (the server) in
one of two ways:
18
19
1. Local configuration: a table associating issuers (distinguished name, or hash of the public
key) with one or many URLs of OCSP responders to contact.
20
21
22
2. Self-described: the URL(s) of the OCSP responder(s) knowing the status of a
subscriber’s certificate is specified in the certificate itself, as an AuthorityInfoAccess (AIA)
certificate extension.
23
24
25
26
27
28
We note that RFC2560 is underspecified in the case that multiple responder URLs are specified
in an AIA extension; The relying party could query one responder at a time from the list, and stop
after a Good or Revoked status has been returned; it could query several of the responders and
verify that all or a majority of them report Good; it could contact the responders in the same
sequence as specified in the AIA extension (primary/secondary/…), or simply query one of them
at random.
29
30
31
32
33
34
35
36
37
38
39
The relying party sends an OCSP request message to the identified OCSP responder, normally
carried over HTTP or HTTPS using HTTP POST1 operations. The request identifies one or
several certificates, identified by issuer name (hashed), issuer key (hashed), certificate serial
number, and possible AIA information. The request may be signed (mainly intended for
authorization and billing purposes), in which case the signing certificate is attached. In addition,
the request may also contain a “nonce”, a random sequence of bytes that renders the request
unique. While OCSP supports packaging of multiple certificates in a single query request, it is
rarely used in practice or even supported in common off-the-shelf implementations. A multiple
certificate query may be a useful technique for dealing with End Entity and Proxy Certificate path
validation, where more than one certificate status must be retrieved from the same OCSP
responder.
40
41
42
43
The OCSP responder in turn provides a signed response that contains the timestamp of the
signature and current status of the certificate(s) identified in the request. Any nonce is copied ad
verbatim to the request. The responder typically also includes its signing certificate, and
certification path.
1
HTTP GET is supported as well but not as common and only suitable for trivial use of OCSP
due to the message size limitation.
helm@es.net
5
GWD-I
March 2016
1
2
3
4
5
6
The possible certificate status codes returned by the OCSP responder are Good, Revoked, and
Unknown. The precise semantics of these status codes are important: Good indicates that as far
as the responder can tell, the certificate is not revoked or suspended. The Unknown state
indicates that the responder is unable to answer the request for some reason: it might not know of
the CA that issued the certificate, a local copy of the revocation information database is not up-todate, and so on.
7
8
In case of an error, OCSP defines a set of common error codes, which are sent back to the
relying party unsigned.
9
The OCSP RFC specifies three cases for when a relying party may accept an OCSP response:
10
11
1. The response is signed by the CA that issued the subscriber certificate(s). This is
specified by the RFC, but is rarely used in practice.
12
13
14
2. The response is signed by an Authorized responder, with a direct delegated authority
from the CA. This delegation of authority is identified by inclusion of OCSPSigning in the
extendedKeyUsage extension of the responder’s signing certificate.
15
16
17
3. The response is signed by a Trusted responder, i.e. a responder explicitly trusted by the
relying party through local configuration. Relying parties must know about potential
Trusted responders ahead of time.
18
19
20
21
22
23
The Authorized responder, type two above, is the most typical OCSP configuration, and arguably
the most scalable and maintainable. The CA delegating this authority is directly responsible for
providing timely updates to the Authorized responder. The Trusted responder, type three above,
is one that may be particularly useful in scenarios requiring additional controls and capabilities, as
described in Section 8 below. Combinations of Authorized and Trusted responders will be
deployed in Grids.
24
25
26
27
28
The Authorized responder creates a circular dependency problem in that relying parties may wish
to know whether the responder certificate itself has been revoked or not, before accepting the
signature of the OCSP response2. To address this and other similar problems, a certificate can be
marked with the ocsp-nocheck extension, indicating to relying parties not to attempt to verify the
revocation status of the certificate (at least not using OCSP).
29
30
31
32
33
34
35
The ocsp-nocheck extension is typically combined with relatively short-lived certificates and close
supervision of the issuer. The use of hardware key protection can mitigate some, but not all, of
the concerns with the responder key-pair, since the fundamental question of its revocation is
being side-stepped. Ocsp-nocheck can also be used to mitigate anticipated load problems: for
instance, the TLS certificate of a popular (but low-risk) server may be stamped with the ocspnocheck extension (and necessary operational security improvements to mitigate the associated
risks) to eliminate OCSP queries otherwise triggered by all clients connecting to that server.
36
3.2
37
38
39
40
41
42
43
44
45
Certificate Revocation Lists (CRLs) are an essential component in the model of OCSP operation
we are describing; we need to explain some essential CRL features and terminology that will be
used throughout this document. CRLs are defined by the [X509] and [RFC3280] standards.
CRLs are usually associated with a particular CA (sometimes a subset of its certificates, and
sometimes a family of CAs). CRLs consist of lists of certificate serial numbers, revocation times,
and optional revocation reason codes, time and date information describing when the CRL was
issued, and when the next one will be issued, other parameters, and a digital signature from the
authorized CRL issuer. The authorized CRL issuer is usually the Certification Authority and
usually the CAs signing key signs the CRL.
Certificate Revocation Lists
2
Or, in the case of OCSP over HTTPS, the client wants to validate the TLS certificate of the
server hosting the OCSP responder, and whose revocation status can only be obtained by
connecting to the OCSP responder using TLS…
helm@es.net
6
GWD-I
1
2
3
4
5
6
7
8
9
March 2016
There are several kinds of CRLs. The Base, or Full, CRL, contains all the serial numbers of all
the revoked certificates in the CAs domain of operation. This is the only kind of CRL directly
usable in Grids today. Delta CRLs are incremental CRLs from a given Base CRL. A Delta CRL
is smaller than the base CRL and can be published, transmitted, and installed faster than a reissue of a large full CRL. An Indirect CRL is a variant in signer strategy (somewhat like Trusted
responder) applied to other types of CRL; it is a CRL produced by an authorized certificate other
than the CAs (see [RFC3280] 5.3.4 for a complete discussion of the technical details). Neither
Delta or Indirect CRLs are usable in current Grid software, but both may be used by OCSP
responders serving Grid customers.
10
11
12
13
14
15
16
17
18
19
Reason codes and their usage are largely outside the scope of this document. (Presumably, they
are described in certification practices documents, or other policy documents provided by CAs.)
However, one code needs to be discussed: certificateHold. certificateHold was provided in the
X.509 and RFC3280 with little guidance in how it was to be used. Grid applicability has been
suggested in a couple of use cases where temporary blacklisting is needed. We suggest, on an
experimental basis, the use of certificateHold to suspend a given certificate for a time; the
manager of the CRL may later decide to remove the certificateHold status, or change the
revocation status to another recognized revoked status. This constitutes a Grid-only usage. The
policies that govern how certificateHold status is applied or how its status is changed are outside
of the scope of this document.
20
21
22
23
24
25
26
27
28
Of all the reason codes, certificateHold appears to have the unique property of impermanence. It
can be applied to a certificate, and then withdrawn, unlike the other reason codes
(keyCompromise, &c), for which no such behavior could be considered reasonable. As a result,
on removal of certificateHold status, the prior CRLs become invalid. While CRL policy is outside
the scope of this document, it seems desirable to limit the certificateHold reason code to OCSP
usage, or limit its appearance to Delta CRLs if possible (see the Delta CRL usage strategy
below). This may not be possible in a scenario that requires blacklisting a certificate for use with
a legacy service unable to use OCSP, but such scenarios should take into account the possibility
of stale CRLs.
29
We will address other complications that result from certificateHold in later sections.
30
3.3
31
32
33
Latency is inherent in network transactions, and revocation has a built in quality of uncertainty:
Given an answer of Good, the client knows the certificate was Good the last time somebody
created a CRL. But will the certificate still be good the next time the CRL is updated?
34
35
36
37
38
39
For trust evaluation purposes, the responder may want to quantify an upper bound and/or
approximation of the current latency, and convey that to the relying party. To date, there is no
well-defined technical means of augmenting an OCSP response with such “cautionary period”
information, to borrow language from Appendix B in [RFC3125]. Specifying such an OCSP
response extension is out of scope for this document. It may be necessary to characterize this
problem further in a local policy document.
40
41
OCSP currently can provide three timestamps characterizing the revocation response. (See
[RFC2560], section 2.4.) These are:
42
43
44
45
46
47
48
49
50
51
52
OCSP Latency and Cautionary Period


thisUpdate: The time at which the status being indicated is known to be correct
nextUpdate: The time at or before which newer information will be available about the
status of the certificate. If nextUpdate is not set, the responder is indicating that newer
revocation information is available all the time. Whenever such field is set, it is an
indicator that the revocation information has been retrieved from a CRL being released
only at certain intervals of time. In certain cases, such interval may be quite large - even
in the order of days These two are from the underlying CRL timestamps. The bigger the difference between both of
them, the longer the maximum cautionary period of the OCSP Response may become.
A third timestamp from the OCSP Response could be useful for relying parties to determine a
“cautionary period”:
helm@es.net
7
GWD-I
March 2016
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 producedAt: The time at which the OCSP responder signed this response.
It should be noted that an OCSP server producing pre-signed responses (which fixes a
producedAt date for that response) has the potential to make client interpretation of the
cautionary period particularly difficult, and this is exacerbated the management of Delta CRL
updates. To solve this problem relying parties would like to take into account the time at which
the OCSP Response is being received (receivedAt); in such cases, the cautionary period should
be computed as the interval:
[thisUpdate, receivedAt]
The longer such cautionary period interval is, the less precision resulted in the OCSP response
being provided. Such precision factor is an indicator of the level of risk that the relying party is
willing to take when accepting the result status coming from an OCSP Response as is. The
relying party's policy SHOULD take into account such precision factor before accepting or
rejecting the response.
Finally, it is also interesting to note the interval:
[receivedAt, nextUpdate]
which may be very so short that the relying party may decide to i) discard the response and ii)
contact again the OCSP Responder as soon as the new revocation information has been
generated.
A good certificate may have a pre-signed OCSP response that is very old, and not meet client
freshness expectations. It is not yet clear how this should be interpreted, what requirements
Grids have in this area, and it may yet be clarified by additional work in the IETF.
22
4
23
24
For OCSP to be used in multi-organizational Grid environments, support for it MUST be
integrated in any path validation software used according to the following recommendations.
25
4.1
26
27
OCSP clients MUST be able to send OCSP requests over HTTP or HTTPS. This may affect the
network and firewall policies of a site.
28
4.2
29
30
31
32
33
34
35
36
In some scenarios, CRLs provide better a better means of processing revocation than OCSP; for
instance, in offline environments, or in the case of a server validating many different client
certificates, it is better from a performance point of view to have all revocation information cached
locally. In other scenarios, CRLs may be used as a backup source of revocation information in
case the OCSP service fails, e. g. due to temporary network outage. As OCSP is deployed, and
becomes a production service in Grids, not all CAs will be capable of providing Authorized
responder service immediately. Relying parties and security managers will see a gradual
transition from CRL to OCSP as the primary source of revocation information.
37
38
39
In light of the issues listed above, clients MUST be capable of handling both CRLs and OCSP,
and it MUST be a configurable option which source of revocation to prefer and which to use as a
backup, on a per-issuer basis.
40
4.3
41
42
43
44
45
46
47
It is often the case that an application interacts with some other system component on a frequent
basis. Instead of each interaction triggering a new OCSP request, causing unnecessary load and
system latency, caching of responses SHOULD be allowed and MAY be supported by the client
software. Client-side caching is recommended to reduce the number of queries made to the
OCSP infrastructure, thus optimizing available resources (also consider that some OCSP
providers sell their service on a per-request basis). In general we note that while OCSP
responses reporting a permanently revoked certificate status 3 can be cached indefinitely, it MUST
OCSP Relying Party Requirements
Network Requirements
Revocation Source Requirements
Caching OCSP Responses
3
The OCSP Revoked status does not necessarily mean a permanently revoked certificate. It may
also be on hold (suspended) – known as certificateHold in [X509], section 8.5.2.2.
helm@es.net
8
GWD-I
March 2016
1
2
3
4
be possible to configure the maximum size and lifetime/freshness of the entries in an OCSP
response cache (for a client-side cache it is advisable to use the Cautionary Period parameter as
defined in 3.3); this is especially important when dealing with suspended certificates
(“certificateHold”)
5
6
It may be more useful in general to provide a busy application a local caching-only OCSP
responder as described in Section 8 below.
7
4.4
Responder Discovery
8
9
10
11
At a minimum, the OCSP MUST be able to locate the OCSP responder using the methods
specified in Section 3. Local configuration MUST have precedence over any service locator
information located in the certificate’s AIA extension. A default responder for “all other” issuers
SHOULD be configurable as well.
12
13
14
15
To allow for high-availability and load balancing, it SHOULD be possible to associate each issuer
name with more than one responder URL. When the OCSP client is provided with more than one
responder URL, it SHOULD try querying one responder at a time from the list until a Good or
Revoked status is retrieved, or until the list of available responders is exhausted.
16
17
18
19
20
21
22
23
24
DNS SRV [RFC2782] might provide an attractive low-level “configuration free” method for an
OCSP client application to discover a local Trusted responder. However, OCSP and DNS SRV
are poorly suited to one another at this time. OCSP responders use HTTP and HTTPS as
transport protocol, and might be confused with other HTTP resources in DNS SRV. Therefore, in
order to use DNS SRV, the following would be needed: (1) Define _ocsp as the symbolic service
name (problematic because of http); (2) Define a URL naming convention for OCSP responders
in clients. This convention might be “append the string /ocsp to the host:port construct”, so that
the client builds a string http://somehost.example.com:8080/ocsp from an _ocsp lookup in the
example.com domain, that returns the above A record and port.
25
26
27
28
More practical discovery methods are available in more recent Globus middleware incorporating
Web services, such as WS-Resources [WSREF]. We RECOMMEND a standardized OCSP
discovery interface be developed and provided in Grid middleware distributions (we are not aware
of any interface yet available in Web services).
29
4.5
30
31
32
A nonce is used to bind a specific query to a specific response, preventing replay attacks (see
[RFC2560], section 4.4.1). In practice it has been used to force an OCSP responder to issue a
fresh response.
33
34
Large-scale OCSP responder implementations, such as the ones deployed by VeriSign,
continuously pre-produce OCSP responses in the background, for maximum throughput.
35
36
37
38
39
Pre-produced OCSP responses cannot be used to service nonced requests. Nonced requests
require a signed answer from the responder, including the transaction-unique nonce. Therefore,
for efficiency reasons, OCSP clients MAY decide not to make use of nonce in the requests. This
decision should balance efficiency, availability of dynamic information and replay attacks
prevention.
40
41
42
43
44
45
Forcing a fresh response at first glance seems like a good way for a relying party to insure an upto-date, real-time validation check. However, OCSP does not specify responder behavior in
sufficient detail to guarantee this behavior; the nonce requires it to do additional work, including
an expensive digital signing that adds to the latency of the response. Nonce SHOULD NOT be
used in Grid configurations, except where circumstances and replay vulnerability are a particular
concern.
Nonce
helm@es.net
9
GWD-I
March 2016
1
4.6
AuthorityInfoAccess Extension
2
3
4
OCSP clients SHOULD include any information about an Authorized responder location (as
indicated by OCSP service locator URLs in the AIA extension of the subscriber certificate) in its
OCSP request.
5
4.7
Error Handling and the Unknown Status Code
6
7
8
9
10
11
12
13
14
15
16
17
18
OCSP clients will occasionally encounter errors from the client network stack, errors returned
from the OCSP responder, or the Unknown status code: in most cases, such a failure means “try
somewhere else” or “try later”, indicating to the client to probe other possible sources (including
other OCSP responders) for revocation information, possibly a bit later in time. In case the
resulting status after an exhausted search is still an error or status Unknown, the client SHOULD
interpret that as Revoked with revocationReason certificateHold (that is, a non-definite revocation
state), unless otherwise configured. If, after an exhaustive search of all available sources of
revocation information, the status of a certificate is still Unknown, the client will have to choose
between three unpalatable alternatives: interpret “network error or Unknown” as either Good, or
Revoked, or wait and start the whole search process over again. Revoked is the choice of most
security experts. In practice, this policy leads to unnecessary denial-of-service. Interpretation as
Good leads to worry and conflict with security policy. Proxy certificates can be expected to have
Unknown status in most cases (see Section 6, below).
19
20
21
22
In light of these issues, clients MUST be provided with a configuration option to allow local rules
and security policies to be applied in circumstances where revocation status is undetermined. An
example of such rules is provided in Appendix XX, which is taken from the Grid Validation Policy
implemented by the Open GRid Ocsp API [OGRO].
23
24
Clients MUST NOT interpret Unknown as Revoked when evaluating proxy certificates, unless
their OCSP Responder implements a Proxy Certificate Revocation mechanism.
25
26
27
28
29
30
The relying party SHOULD perform additional checks before accepting an OCSP response; these
include: verifying the nonce returned against the nonce sent (if a nonce was used), validating the
response signature (notice the use of the ocsp-nocheck extension – see Section 3 above) and
verifying the freshness of the OCSP response (checking that OCSP response’s producedAt
timestamp is within the allowed lifetime or cautionary period – this is especially important in the
case of cached or preproduced responses)..
31
4.8
32
33
34
35
The relying party MAY choose to sign the OCSP Request, in which case performance and
security implications must be considered. In Section 10 we recommend using an OCSP
configuration file that may include rules relating to OCSP Request signatures (see also Appendix
XXX for a related example).
36
5
37
38
39
40
Our experience with OCSP servers has been with commercial products with considerable
capabilities (and in some cases, considerable limitations). A server based on open-source
software such as OpenSSL or a Java implementation is being developed in tandem with this
requirements definition, to better understand the issues at hand.
41
5.1
42
43
44
Most OCSP responder implementations easily handle up to ~100 requests per second on a
commodity desktop workstation4. Use of cryptographic hardware may accelerate that further, and
also provide additional protection of the signature keys.
4
OCSP Request Signing.
OCSP Responder Requirements
Performance, Key Protection
Personal communication between the authors – based on experiment
helm@es.net
10
GWD-I
March 2016
1
2
3
4
The OCSP signing key is the second-most important key in a PKI (some consider it to be the
most important), since it is used to assert the current status of an issued certificate. Moreover, by
its very nature, OCSP responders are exposed to network connectivity, while the corresponding
CA issuing keys often are not.
5
6
While we do not require the use of hardware protection, we RECOMMEND that the security of the
OCSP responder key be in parity with the CA issuing key.
7
5.2
Responder Certificate
8
9
10
11
An OCSP responder implementation MUST support live updates of the responder signature key
material. (Use case: short-lived certificates signed with the ocsp-nocheck extension – see Section
3 above). Because of the sensitivity of relying parties to network errors, service outages and
disruptions to responses MUST be avoided.
12
13
14
15
Authorized Responder scenarios MAY be implemented by enabling the responder to employ
multiple signing certificates simultaneously, but with the same key pair: one for each issuer for
which the responder provides revocation information. (Use case: an Authorized responder
servicing more than one CA.) This configuration is expected in Grids.
16
5.3
17
18
19
20
21
22
23
24
An OCSP responder must consider several sources and formats of revocation information. These
include CRLs, databases, revoked proxy certificate records, and simple files (blacklisted users or
Grid services); it may also include several retrieving protocols (i.e. LDAP, HTTP, HTTPS, FTP,
etc.). The sources must be secure and trustable sources of information. Disclosure of access
controls and roles for such services is expected as part of the policy disclosure for OCSP
services. It is expected that revocation or blacklisting events in such services will be
authenticated, authorized, and logged with the same care and detail expected in CRL update
operations in Certification Authorities.
25
26
27
28
29
Information on revocation from CRL and non-CRL information sources must be made available to
the OCSP responder in a timely and reliable way. Errors from external services must be avoided,
and when this is not possible, they must be carefully logged, and in some cases they may need to
trigger alarms. A suppressed error from a failed local blacklist service might inadvertently permit
a security breach.
30
31
32
33
34
35
Non-CRL databases such as blacklists MUST provide revocation information in accordance with
OCSP [RFC2560] expectations and requirements. In particular, these databases MUST include
a thisUpdate attribute value assertion; SHOULD include a nextUpdate assertion (except for proxy
certificates, see section 6.3 below); and SHOULD provide the equivalent to CRL Entry
Extensions (also known as CRL reason codes) as defined in [RFC3280]. This is necessary in
order to provide a uniform presentation to the relying party.
36
37
38
OCSP Responders SHOULD support Delta CRLs (particularly when operated in one of the
Trusted Responder configurations). If for any reason a Delta CRL does not arrive on time, then
the last good known CRL update should be considered.
39
5.4
40
41
42
43
44
45
46
47
48
While not part of the OCSP standard, it is common in real-world deployments that an OCSP
responder act in Transponder mode, that is it will act as a proxy/gateway, and forward any client
requests as-is to other, more authoritative, responders, and likewise transparently forward the
response back without re-signing the response with its own key. Transponder mode is useful for
organizations that want to control the outbound OCSP traffic originating from within their own
administrative domain(s). When combined with an OCSP response cache, a local responder in
Transponder mode can be useful to cut response latencies, reduce network traffic, and minimize
load on external responders. In addition, responder in Transponder mode can be used for load
balancing, to route the OCSP request according to specified parameters (i.e. OCSP load, network
Revocation Information Sources
Transponder Mode
helm@es.net
11
GWD-I
March 2016
1
2
traffic, availability, etc.), or as a central “redirector”, thus consolidating configuration and
management issues.
3
6
4
5
Grids make extensive use of proxy certificates, both in format based on the IETF PKIX standard
[RFC3820], and in various formats predating this RFC.
6
6.1
7
8
9
10
Proxy Certificates and OCSP Proxy Responders
Proxy Certificate Characteristics
Proxy certificates are used by Grid users (and sometimes by services) to delegate rights from the
user (or service) to another service, so that service can effectively act with the rights or identity of
that user. Other important features of Proxy certificates are explained next (see [RFC3820] for a
more complete discussion):
11
12
13

Proxy certificates were designed to eliminate the need to make insecure and unprotected
copies of a user’s personal credentials for use by autonomous processes, across
different domain boundaries.
14
15
16
17

They are typically created “on the spot” by a Grid user in order to prevent movement of a
private key across domain boundaries; a key pair is generated by a remote site or
different application, and the Grid user uses his personal certificate (an X.509 end entity
certificate) to sign the proxy public key.
18

Can also create subordinate proxies in the same fashion.
19
20
21

Proxy certificates are typically stored in local file-based “softwarecrypto stores”, with file
security protection based on local user file system rights, and unsecured private keys (no
password protection).
22
23
24

Are usually intended to be used in a particular place, for a particular action, but they are
file-based and are very similar to the user’s end entity certificate – they are also portable,
whether intended to be or not.
25
26

Often carry attributes, access control information, and other delegated rights payload, but
enforcement of these restrictions is typically the responsibility of the receiving application.
27
28
29
30
31
32

Proxy certificates were designed to be “short term” certificates, with validity times
measured in a few minutes or hours, but deployments vary and many long running jobs
need either very long-lived proxies or the right to continually renew proxies as needed.
In general, however, once an application uses a proxy, the application can run forever,
there is little operating system or Grid job management support for the idea of rechecking
the lifetime validity of a proxy certificate once a job is underway.
33
6.2
34
35
36
Proxy certificates were intended to be short term certificates, and for the most part that has
remained true. But as noted there are use cases where proxy certificates can have long lifetimes,
or where proxy certificates can be created for future use in batch queues.
37
38
Security and system administrators have discussed a number of scenarios where revocation of
proxy certificates might be useful:
39
40
41
42
43
44
Proxy Certificate Revocation

A long-running job, that in turn creates many jobs on other domains (perhaps a file fetchanalysis-report process, gathering data from many sources), needs to be cancelled. Its
results are not good, it exceeds resource limits, or other problems identified by the job
owner or the resource manager warrant termination. Part of job clean-up and recovery
would include revoking proxy certificates in use to prevent orphaned processes from
running across domain boundaries.
helm@es.net
12
GWD-I
March 2016
1
2
3

A system that is used as one component of a complex job is compromised. Instead of
aborting the whole job, and losing all the results, only the components affected by the
compromised system are stopped.
4
5
6

A resource owner does not want a particular process to be run by a particular right now.
Rather than blacklisting the user or damaging the application, the resource owner can
blacklist the proxy certificate.
7
8

A busy system is compromised, and large numbers of proxy certificates that could have
been captured by the hacker for use here or elsewhere need to be revoked.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
From the point of view of local management of proxy revocation, a local or VO-based OCSP
responder (see below) is ideal for management of proxy revocation. The proxy certificate, if
known, MAY be registered in the local responder’s database, with appropriate revocation status
(based on X.509 CRL Revocation reason codes). Local administrators and users MUST have
permission to make these revocations. In particular, the user’s end entity certificate SHOULD
always have permission to revoke any and all of his own proxy certificates. In this way a local
fine-grained blacklist service, based on proxy certificate revocation, can be built on top of a local
OCSP Trusted Responder. Resource owners may be able to revoke authorization attributes, and
identity providers (or other stakeholders) may be able to revoke authentication credentials (the
proxy certificate itself). The end entity certificate holder (or a sub task) can manage submitted
jobs by revoking subordinate proxy certificates. The more general problem involves
communication of proxy revocation information to other domains. Since proxies are typically
used to cross domain boundaries – including boundaries into other resource domains, or other
VO’s – these other domains will either need access to local revocation information, or will miss
out on important revocation information. Direct communication across domain boundaries is
likely to be impractical.
25
26
27
28
29
30
31
32
33
34
In order to make proxy revocation generally useful across the Grid, we recommend that
conforming CAs add a proxy revocation registry capability to their CA-associated OCSP
responder. This would allow even a minimally-configured OCSP client, reading and using the
locator information in the end entity certificate, to find a proxy revocation. A similar registry
capability could be added to “clearinghouse” or well-known OCSP responders. In addition to
authorizing the end entity certificate holder to register proxy revocations, OCSP responders MAY
also provide the capability for other authorized parties to register revoked proxy certificates. The
possibility of abuse or unnecessary denial of service raised by such a capability must be carefully
addressed. The ability to control proxy use more directly may help address security needs and
reduce affects of the typical security incident response.
35
36
37
38
39
40
41
42
43
44
45
In addition, consideration should be given to careful logging any notification associated with proxy
revocation, whether the revocation occurs locally, or is published to a CA-related responder or
clearinghouse. The end-entity certificate holder should be notified as rapidly as possible. This in
turn indirectly supports the suggestion that proxy revocations be published to the end-entity’s CArelated responder, which should have complete contact information for the end user. In addition,
it suggests that CAs should provide some direct contact information in end-entity certificates.
Many, but not all, provide email addresses in the form of RFC822names in certificate
subjectaltname extensions. Revocation decisions performed by the relying party system
administrator must be logged with time, reason, and revoker identity information. All proxy
revocation registrations MUST be completely logged with the same attention and security
accorded to revocations managed by a certification authority.
46
6.3
47
48
49
OCSP clients MUST be able to submit the entire chain of certificates, including all proxies, to
OCSP responders for evaluation. We recommend that full chain validation be used; if not, the
OCSP responder may become overloaded with the proxy path validation process.
50
51
We can expect most proxy certificates will never be registered anywhere. OCSP responders
could be expected to return “Unknown” for the status of most such proxies. Thus
Requirements for Proxy Certificate Revocation Services
helm@es.net
13
GWD-I
March 2016
1
2
recommendations stated in section 4.7 for managing such status MUST be followed by relying
parties.
3
4
5
6
The nextUpdate field has no real meaning for proxy certificate revocation. It is possible that
some services or configurations (such as MyProxy or a delegation service) may be capable of
doing this, but there is no evident requirement. We recommend nextUpdate be set to 0 for
queries about proxy certificates.
7
We RECOMMEND the development of two alternative approaches to OCSP Proxy responders:
8
6.3.1
9
[David – Olle’s proposal about delegated responder cert to ocsp resp – need text]
OCSP Authorized Proxy Cert Responder
10
6.3.2
OCSP Trusted Proxy Cert Responder
11
12
13
14
15
16
17
18
19
20
21
Conforming CAs MUST [?] stamp end entity certificates with OCSP locator information (AIA
reference above). We propose that this be the basis of a proxy revocation registry. OCSP
provides no standard support for submission of data, so this service requires its own secure
protocol. Conforming CAs SHOULD provide this interface, and a database similar to that in use
in local OCSP responders for user and proxy blacklisting. If this proxy revocation interface is
provided, users MUST be allowed to register revoked proxies. CAs SHOULD allow
authenticated access by authorized VO administrators to register proxy revocations. We
recognize the inherent difficulties in these recommendations; the details of such an experimental
protocol are outside the scope of this document. We RECOMMEND that subordinate proxy
certificates inherit the locator information of their issuer, in order to maintain a tie to the CA of
origin. Note that also an OCSP configuration file for the relying party could specify such rules.
22
6.4
23
24
25
26
The MyProxy certificate store [GFD54, MYPROXY] has emerged as an important alternative
crypto store and certificate management tool in Grids. Evolving from a personal service to aid
access to web-based Grid portals, to a departmental solution, MyProxy is now deployed as an
enterprise and virtual organization Grid credential management system.
27
28
29
30
31
32
A typical usage scenario for MyProxy has a Grid user delegating a proxy certificate to the
MyProxy server, authenticating once with his long-term Grid credential. Access to applications
and other delegations in Grid jobs then take place with the MyProxy credential store serving as
intermediary. This may include the capability to create additional proxy delegations, renew proxy
certificates for some period, and other capabilities. Another scenario requires MyProxy and a
certification authority to cooperate in management of the user’s long-term credential.
33
34
35
36
37
38
We RECOMMEND that conforming MyProxy servers stand up an OCSP responder associated
with the credential store. If such a responder is available, the MyProxy store MUST stamp proxy
certificates created with this store with this responder. The responder database MUST conform
to local database requirements expressed [somewhere], and MUST be capable of dealing with
multi-certificate queries. Both the user and the authorized OCSP administrator MUST have
permission to register proxy revocations.
39
7
40
41
7.1
Certificates
7.1.1 End Entity Certificates
42
43
44
45
46
The service locator (URL) of the appropiate OCSP responder MUST be included in all certificates
issued by all CAs. The service locator is encoded in an AuthorityInfoAccess certificate extension,
as specified in [RFC2560]. Note however that the proof of authority is indicated by information in
the responder’s signing certificate: no such conclusions can be drawn from the fact that a
responder’s URL is encoded in a certificate.
47
7.1.2
48
49
A CAs Authorized responder SHOULD be issued a certificate with the ocsp-nocheck extension as
well as OCSPSigning in the extendedKeyUsage extension, as described in [RFC2560]. Direct
MyProxy Certificate Store
Certificate Authority Requirements
Certifying Authorized Responders
helm@es.net
14
GWD-I
March 2016
1
2
3
4
5
use of the CAs private key for OCSP response signing is not recommended. As a result, the
Authorized responder certificate is not subject to revocation check through OCSP. In order to
reduce the risk associated with the responder certificate, it is suggested that the Authorized
responder certificate have a very short lifetime. (It is expected that policy documents will address
the specific validity lifetime limits.)
6
7
8
9
10
11
12
13
14
15
Current CA practice in Grid PKIs suggests that Authorized responders will be difficult for many
CA providers to operate. Many Grid CAs are offline services, run on an as-needed basis
(perhaps once a day to produce a CRL). Very short lived certificates, with lifetimes in minutes,
and an always-available OCSP server, may be quite difficult for some CA providers to deploy. In
the case of an infrequently-operated offline CA, we recommend that the CA produce a large
number of signed OCSP certificates, whose key pairs are securely managed, in order to cover
the gap in time between CA operation. This is an ideal scenario for secure key storage devices.
CA providers who cannot easily operate an OCSP responder service with practically zero
downtime can sign an OCSP responder certificate for another OCSP responder, with the
desirable reliability characteristics.
16
7.2
17
18
19
It is recommended that CRLs be type CRLv2, in order that revocation reason codes can be made
available for use in OCSP responses. The use and management of these reason codes is
outside the scope of this document.
20
21
22
If a CA provides or supports OCSP services (such as providing an OCSP locator reference in end
entity certificates), the CA MUST continue to provide at least a full CRL at regular intervals, in
order to provide OCSP clients a reasonable fallback strategy.
23
7.2.1
24
25
26
CAs SHOULD provide Delta CRLs (see [RFC3280], section 5, for a full discussion of CRL
issues). Delta CRLs provide two benefits that can greatly enhance the quality of an OCSP
service.
27
28
29
30
The smaller size of a delta CRL reduces the network load, and the amount of processing time
required by the OCSP responder to integrate the new revocation information into an existing
database. Both of these features, while relatively unimportant in current Grid PKIs, will improve
the responsiveness and minimize latency in Grid deployed OCSP responders.
31
32
33
34
Delta CRLs can also greatly enhance the timeliness of revocation information based on CRLs.
Delta CRLs come with their own nextUpdate field. OCSP responders capable of managing Delta
CRLs will be able to assemble a new effective CRL, and report a new effective nextUpdate from
information provided in the Delta CRL.
Certificate Revocation Lists
Delta CRLs
Base CRL
t0
All
consumers
Δ CRL
t1
OCSP
Responder
Δ CRL
t2
OCSP
Responder
Δ CRL
t3
OCSP
Responder
Δ CRL
t4
OCSP
Responder
Δ CRL
t5
OCSP
Responder
Base CRL
t6
All
consumers
Table 1 Full and Base CRL Issuance
35
36
37
38
39
40
41
42
43
A CA capable of producing Delta CRLs can adopt a strategy similar to that shown in Table 1.
1. Issue a Full CRL at time t0, with nextUpdate time t6.
2. Post the Full CRL to all relying parties (including non-OCSP capable services).
3. The Full CRL becomes a Base CRL when used with Delta CRLs. Issue a Delta CRL at
time t1 with a nextUpdate time t2. Time t1 should be immediately after t0, to minimize large
swings in the clients’ view of the confidence window. The OCSP responder will now be
able to report t2 as the nextUpdate time in query responses.
4. Issue new Delta CRLs as shown.
5. At time t6, reissue a Base/Full CRL and restart the sequence.
44
45
The number of intervals shown is purely illustrative; given Grid CRL intervals it is expected the
frequency and number of Delta CRLs could be very large. In Grid PKIs today, CRLs are issued
helm@es.net
15
GWD-I
March 2016
1
2
3
4
5
6
7
with fairly large nextUpdate periods – 15 – 30 days are not uncommon. This is extraordinary, but
the client “pull” CRL distribution model in use in Grids is subject to various failure modes and
errors. If a new CRL does not appear before the old one’s nextUpdate time is exceeded, openssl
invalidates all certificates related to this CA. A nextUpdate field set far in the future allows
sufficient time for most temporary network or host problems to be resolved before Grid end users
are affected. This resolution of the problem does not meet current security requirements very
well (see also the recommendation for defining a cautionary period in section 3.2)
8
9
Delta CRL-like mechanisms using this client “push” model could be easily implemented even on
CA software not supporting [RFC3280].
10
11
12
Careful production of delta CRLs and base CRLs will provide better quality, lower latency
revocation information to OCSP responders (and sophisticated clients), while shielding legacy
CRL users and lightweight clients from the additional complexity.
13
7.2.2
14
15
16
17
18
19
In order to minimize latency affects and provide the most current information possible to OCSP
clients, it is recommended that CAs push (publish) CRL information immediately to clients as
soon as a revocation takes place. CAs of course will not know about the existence of every
responder in the world. OCSP Responders acting as Authorized responders for the CA should
be updated in this fashion. The CA should also develop a relationship with one or more
clearinghouse or large VO Trusted Responders, where possible.
20
8
21
22
23
24
OCSP responder deployments suitable for Grids can be viewed from client expectations about
the OCSP service, or from the OCSP RFC viewpoint. Let us consider common client viewpoints,
and how they might be interpreted in OCSP responder capabilities. This viewpoint is similar in
some respects to DNS.
25
26
8.1
Service Organization
8.1.1 OCSP Client
27
28
29
30
31
32
33
A client may keep a list of trusted OCSP Responders, provided to it through a configuration file, a
discovery service, or by other means. The client may cache responses for a given period,
perhaps to cover periods of offline operation or network outages. The client may discover OCSP
responders through AIA extensions in the certificate, and may also keep CRLs as a fallback.
The client SHOULD have a configuration capability sufficiently rich to enable it to take advantage
of the diversity of revocation information sources available, as well as implement appropriate Grid
and site policies. However, the client may have built-in patterns or search algorithms.
34
Caching Responder
35
36
37
38
39
40
An OCSP client might query a local, fast responding OCSP responder; this responder manages a
database of cached responses from previous queries; responses are cached based on lifetimes
supplied in those queries, perhaps with a pre-set time-to-live (i.e. computed from a cautionary
period). The expectation is that this responder is acting in Trusted mode. This responder MUST
be configured with a default service locator (superior responder). This responder may poll CAs
for CRL information, but this is not recommended.
41
OCSP responders that cache responses may pre-sign those responses for future use.
42
8.1.2
43
44
45
46
47
48
Local responders, or clients, may contact a site or Virtual Organization responder. This
responder will contain a full range of policy rules, path validation rules, and certificate validation
rules appropriate to the site or organization. This responder MAY be configured with one or more
default service locators. This responder SHOULD be acting in Trusted mode, but MAY act in
Transponder mode (see below). VO and Site responders SHOULD poll and retrieve CRL
information from CAs, if the CAs do not directly publish CRLs to these responders.
CRL Latency
OCSP Service Architecture
Site or Organizational Responders
helm@es.net
16
GWD-I
March 2016
1
8.1.3
CA Related Responders (Authorized Responders)
2
3
Clients or VO responders may contact CA-related responders. The expectation is that these are
CA Authorized responders (but see discussion below).
4
8.1.4
Clearinghouse – High Level Responders
5
6
7
8
9
10
11
12
13
14
Based on current operations, we RECOMMEND the emerging regional Grid PMAs and the IGTF
[IGTF] consider creating several well-known OCSP “clearing house” responders. Middleware
discovery software SHOULD look for these well-known responders when no other discovery
methods succeed. Since the operational and financial issues of such services are considerable,
the details must be determined elsewhere; but without such services the viability of revocation
services in Grids is in doubt. These clearing house responders will operate in Trusted mode. It is
expected that these clearinghouse responders will gather CRL information from every known CA
in use in Grid PKIs, and perhaps other PKIs. In order for such a service to be trustable by Grid
clients, signer certificates may have to be publicly and securely distributed in a fashion similar to
that provided for Grid CAs; or some other secure means might be used, such as Secure DNS.
15
8.1.5
16
17
18
19
20
21
22
23
OCSP responders must provide the best quality revocation information to their clients.
Responders, above the level of a local caching service, will have access to a variety of sources of
revocation information about each certificate. Responders acting as intermediaries must adjust
their search strategies on a case-by-case basis to provide the best quality information. For
example, some CAs may provide up-to-date information from their associated Authorized
responder, but only issue CRLs on a daily or weekly basis. Other sources may produce regular
CRLs and Delta CRL updates, but the associated responder provides old pre-signed responses
or doesn’t take into account Delta CRL updates.
24
8.2
OCSP High Level Responders
Service Components
25
helm@es.net
17
GWD-I
March 2016
1
2
3
4
Figure 1. An Overall OCSP Service Architecture
An overall OCSP service architecture suitable for Grids is depicted in Figure 1. It consists of four
classes of components:




5
6
7
8
Authorized OCSP responders
Trusted OCSP responders
OCSP Transponders
OCSP clients
9
10
All of the components may appear in multiple instances and should be configurable according to
the needs of their operators.
11
12
13
14
15
16
17
A typical site5 configuration includes at least two (for fault tolerance) Trusted responders,
configured to serve certificate status information for every CA accepted by the site, either by
downloading the appropriate CRLs, or by OCSP requests to an external responder whenever
such exists (indicated by local configuration or presence of a service locator URL in the incoming
OCSP request, in turn copied by the OCSP client from the subscriber certificate that is currently
being validated). In the latter case, the Trusted responders may act in transponder mode, and
CRL information may be used as a fallback source of revocation information (as indicated by #1).
18
19
20
21
22
As indicated by #2 in the figure, we foresee that “related CAs”, for instance subordinate CAs or
CAs that are part of a PMA, may join efforts and set up a shared Trusted responder that serves
requests on behalf of all of the CAs. (Note: That responder can be Authorized only if every
member of the PMA provides the responder with an OCSP signing certificate.) To alleviate the
need for complex configuration at each site, or allow for load balancing, an OCSP Transponder
5
With “site” we mean an organization or other administrative domain.
helm@es.net
18
GWD-I
March 2016
1
2
may act as a redirector for some CAs as indicated by #3. (Note that an OCSP Transponder does
not re-sign the response.)
3
8.2.1
4
5
6
Conforming CAs make use of Authorized responders to provide a primary source of certificate
status information. The CA is responsible for keeping the Authorized responder’s revocation
information updated at all times, as described in section 3.1.
7
8
9
The operator of an Authorized responder SHOULD ensure high availability of the OCSP service,
for instance by operating several responder independent instances6 or make use of fault-tolerant
or mirrored systems.
Authorized Responders
10
8.2.2
Trusted Responders and Transponders
11
12
13
Trusted responders are usually operated by sites or at an organizational level, to provide OCSP
service to local OCSP clients, thus centralizing the complexity of the OCSP/CRL configuration,
and minimizing the need for / providing means to control outgoing network connectivity.
14
15
Trusted responders SHOULD enable caching of OCSP responses, to reduce the load on the
Authorized responders (and themselves).
16
17
18
19
Trusted responders MAY operate in transponder mode, as described in Section 5.4. However,
this requires that the OCSP clients are configured to trust the responders whose OCSP
responses are forwarded to the client. (Rule of thumb: only act as transponder when contacting
an Authorized responder.)
20
8.2.3
21
22
23
24
25
26
27
28
29
30
31
32
It is RECOMMENDED that OCSP clients are configured to use the local Trusted responder(s) as
the primary source of certificate status information. In case the Trusted responders are
unavailable, an external responder may be requested directly, or a CRL may be obtained and
consulted, unless such actions would conflict with local site policy (outbound network
connectivity). OCSP Clients SHOULD NOT make use of nonce in their requests. Clients must be
provided with configuration capability (like in [OGRO]) sufficient to take advantage of the detail of
responder locator information available, and meet local security and reliability requirements. It
can be expected that some security software may impose some behavior or preclude others; for
instance, [JRSE5] provides a built-in CRL fallback strategy. Deployers and developers of
software for end users and for non-security applications need to be aware of these issues. It is
expected that deployers of security applications, acting as OCSP clients, will require flexible
access and complete control over revocation information.
33
9
34
Security considerations and OCSP threat model can be found in [RFC2560].
35
36
37
38
39
40
41
The use of OCSP must not degrade any current level of security enforced by way of operations
and policy. Rather, it is meant as a complement to the current authentication infrastructure,
primarily solving the deployment problem of CRL distribution. The services mentioned in this
document will be critical, and therefore utmost care needs to be taken before a wide-scale
deployment is to take place. For instance, use of publicly available, well-known, and scrutinized
source code, is recommended. Operations guidelines for CAs, OCSP responder administrators,
and the incident response teams, need to be carefully evaluated and (re-)written.
42
10
43
44
45
While OCSP as a technology has been around for several years, its existence and operational
implications if used is not reflected in many of the current existing CA certificate practice
statements or other operational policy documents of interest to a Grid. Special policies related to
OCSP Clients
Security Considerations
Other Considerations
6
Note: An high availability solution is ideally also network independent, i.e. the independent
responders should not be connected to the same network segment or network provider.
helm@es.net
19
GWD-I
March 2016
1
2
3
4
OCSP behavior as explained in this document may need to be written. Such policies may include
rules for dealing with OCSP requests and responses (i.e. required signatures, required
extensions, preferred OCSP responders, validation of OCSP response freshness, response
caching lifetimes, etc.).
5
6
7
Finally, service providers implementing OCSP architectures based on Grid Services features
such as discovery and notification should also be considered, as they may bring interesting
advantages to this field.
8
11
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Author Information
Olle Mulmo
NADA/KTH
SE-100 44 Stockholm
Sweden
email: mulmo@pdc.kth.se
Michael Helm
M/S 50A-3111
Lawrence Berkeley National Laboratory
1 Cyclotron Rd, Berkeley, CA 94720
USA
Email: helm@es.net
Jesus Luna
UPC/DAC
Jordi Girona 1-3
Barcelona 08065
Spain
Email: jluna@ac.upc.edu
Oscar Manso
CertiVeR S.L.
Diputación 238
Barcelona 08007
Spain
Email: o.manso@certiver.com
Milan Sova
ADDRESS TO BE FILLED IN
38
39
12
Glossary
40
41
42
43
44
45
46
47
48
49
50
AIA
Authorized responder
CA
CRL
Issuer
OCSP
PMA
Relying party
Responder
RFC
Trusted responder
helm@es.net
AuthorityInfoAccess (X.509 certificate extension)
A CA designated (“authorized”) OCSP responder
Certification Authority
Certificate Revocation List
Certification Authority (typically)
Online Certificate Status Protocol
Policy Management Authority
The “client” in an OCSP scenario
The “server” in an OCSP scenario
Request For Comment (IETF standards-track document)
An OCSP responder explicitly trusted by the relying party
20
GWD-I
March 2016
1
13
Intellectual Property Statement
2
3
4
5
6
7
8
9
The GGF takes no position regarding the validity or scope of any intellectual property or other
rights that might be claimed to pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights might or might not be
available; neither does it represent that it has made any effort to identify any such rights. Copies
of claims of rights made available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this specification can be obtained from the
GGF Secretariat.
10
11
12
The GGF invites any interested party to bring to its attention any copyrights, patents or patent
applications, or other proprietary rights which may cover technology that may be required to
practice this recommendation. Please address the information to the GGF Executive Director.
13
14
14
Copyright (C) Global Grid Forum (2016). All Rights Reserved.
15
16
17
18
19
20
21
22
23
This document and translations of it may be copied and furnished to others, and derivative works
that comment on or otherwise explain it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of any kind, provided that the
above copyright notice and this paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way, such as by removing the copyright
notice or references to the GGF or other organizations, except as needed for the purpose of
developing Grid Recommendations in which case the procedures for copyrights defined in the
GGF Document process must be followed, or as required to translate it into languages other than
English.
24
25
The limited permissions granted above are perpetual and will not be revoked by the GGF or its
successors or assigns.
26
27
28
29
30
This document and the information contained herein is provided on an "AS IS" basis and THE
GLOBAL GRID FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE."
31
15
32
[BCASTLE] “The Legion of the Bouncy Castle”, http://www.bouncycastle.org/.
33
34
[GFD54] J. Basney. MyProxy Protocol. Global Grid Forum Experimental Document GFD-E.54,
November 26, 2005.
35
36
[J2SE5] Java 2 Platform Standard Edition (J2SE),
http://java.sun.com/j2se/1.5.0/docs/guide/security/pki-tiger.html
37
[MYPROXY] “MyProxy Credential Management Service”. http://grid.ncsa.uiuc.edu/myproxy/.
38
[MOZILLA] “Mozilla Project”, http://www.mozilla.org/.
39
[OPENSSL] “OpenSSL Project”, http://www.openssl.org/.
40
41
[RFC2560] Myers et al, X.509 Internet Public Key Infrastructure Online Certificate Status
Protocol – OCSP. RFC2560, IETF, June 1999.
42
43
[RFC2782] Gulbrandsen et al, X. A DNS RR for specifying the location of services
(DNS SRV), RFC2782, IETF, February 2000.
Full Copyright Notice
References
helm@es.net
21
GWD-I
March 2016
1
[RFC3125] Ross et al, Electronic Signature Policies. RFC3125, IETF, September 2001.
2
3
[RFC3280] Housley et al, Internet X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile. RFC3280, IETF, April 2002.
4
5
[RFC3820] Tuecke et al, Internet X.509 Public Key Infrastructure Proxy Certificate Profile.
RFC3820, IETF, June 2004.
6
7
[X509] ITU-T Recommendation X.509 | ISE/IET 9594-8 Information Technology – Open Systems
Interconnections – The Directory Public-Key and Attribute Certificate Frameworks, ITU, 2003
8
9
[WSREF] “OASIS Web Services Resource Framework (WSRF) TC”, http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=wsrf
10
[OGRO] “The Open GRid Ocsp API”. http://globus-grid.certiver.com/info/ogro/
11
helm@es.net
22
GWD-I
March 2016
1
16
Revision History
2
[These sections following to be removed at final edit]
Date
Version
Who
Summary
2006-02-03
06-01
mwh
Readability; X509; ss 3 – OCSP core; Interpretation of Unknown status;
about delta CRLs; discovery methods; responder types
2006-02-04
06-02
mwh
Formatting uglies; notes for next readability pass
2006-02-04
06-03
Mike
Proxy
New Proxy handling section; authors
2006-02-07
06-04
mwh
Mostly: Clean up formatting, delete old proxy section, add refs openssl,
bouncycastle, myproxy, &c
2006-02-10
06-05
mwh
Title file name; CRL info; certificatehold; ocsp client discussion; disperse
other sections; added most of pros-cons paper, tried to address other iss
corrections from O & J; trying to address Chadwick;s objection about non
revocation of proxies; see section 17 06-05 below
2006-02-11
06-06
mwh
Table of delta CRLs; clearinghouse discovery (8.5); see section 17 06-06
2006-02-11
06-07
mwh
Accept all changes in 06 (for GGF / CAOPS re-posting)
2006-02-12
06-08
mwh
Formatting; note on cached responses in 8.1.1; Appendix example
3
4
17
5
Proxy sections – rewrite for clarity; pros-cons format? Also some missing text
6
Note: wait until more proxy feedback occurs
7
17.1 06-06
8
9
10
11
12
13
14
15
16
17
18
19
Notes for next revision

Beginning sections – reframe, add material relating to new directions/material
Added some to practical considerations. Abstract & Intro MAY need updating – need another
opinion on this.

Databases &c characteristics in local OCSP Responder, blacklist &c
Added text to 5.3
 Paradoxical behavior – may want midlevel responders (VO espec) to use CRL’s from
CAs 1st, because of above behavior, then or also OCP, because true Auth responders
rare as above
8.1.6
 Client reqs – add config & discovery requirements? Move?
Sort of – see 8.1.1
20

21
This was really certificate hold & CRL as well
Certificatehold and nextupdate
22
23

Proxy certs and nextupdate
helm@es.net
23
GWD-I
1
2
3
March 2016
In proxy rev requirements, 6.3
17.2 06-05
4
5
6
7

In practice Auth responders nearly useless because of offline CAs, small, not used much
in Grids; probably Trusted responders, even for CAs, more likely? Express this paradox
somewhere (CA rqmts?) . Also what issues w/ trusted responder cert – discuss,
investigate – 7.2
8

Explain certificatehold in same place, why it causes probs, what to do
9

Summarize responder deployments from client pt of view
10
11

Should mention indirect CRLs – this is usable with OCSP as an intermediary (what about
lifetime stamping)?
12

Or delta-crls – what lifetime stamping do deltas have?
13
14

Discuss Blacklisting use case eg as expounded orig by Steve Lau & Genovese –
probably in section justifying – explaining local database usage and management more.
15

CA –requirements – really CRL requirements instead
16

Pull together all the delta CRL discussion
17

Add J & O’s pro-cons discussion
18
Partly – some still thinking about, some couldn’t fit, some lost context

19
20
21
May want CAs to provide 2 kinds of CRLs, recent, or “Grid Long” – 30 day; and short
lifetime, for OCSP – use terminology Olle picked up from rfc3125 for assurance.
Addressed this with delta CRLs
22
23
24
17.3 06-04

25
Make table of authors
26
Appendix A OCSP Responder Examples
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
A.1
Simple Client – Server Example
1. Application receives certificate from an end user.
2. (Optional) The application checks its OCSP responses cache for a recent evaluation of
this certificate.
3. Application applies revocation policy for the issuer of this certificate: in this case, the
policy is to use OCSP service locator information in a certificate, if available.
4. The application queries the OCSP responder found in the certificate service locator,
sending in the certificate.
5. The OCSP responder returns a signed response.
6. The application evaluates the signing certificate. For this issuer’s OCSP responder, the
application has a policy of implicit trust and no CRL checking, because the signing
certificate has a lifetime of 5 minutes.
7. (Optional) The application logs the response.
8. (Optional) The application caches the response.
9. The application acts on the “Good” or “Revoked” status received in the response.
helm@es.net
24
GWD-I
March 2016
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
A.2
Grid Application Interaction with Site OCSP Responder
1. The site OCSP responder checks its response cache. It has a cached “GOOD” response
for the End-Entity certificate, but nothing for the proxy certificate.
2. Site policy is evaluate revocation for proxy certificates where possible. For this issuer,
the responder policy is to submit proxy certificates to the responder found at the endentity certificate service locator. The responder assembles a complete certificate chain
from Issuer information in its local cache.
3. The site responder queries the Issuer’s OCSP responder
4. The Issuer OCSP Responder returns a signed response.
5. The site responder checks the Issuer Responder’s certificate against the Issuer’s CRL,
which the site responder keeps as a backup.
6. The site responder caches the response.
7. The site responder signs and returns the response to the application.
8. The application evaluates the signing certificate. For this site’s OCSP responder, the
application checks it against the issuer’s CRL, which in this case is the site’s own CA.
9. (Optional) The application logs the response.
10. (Optional) The application caches the response.
11. The application acts on the status received in the response. In this case, the proxy
certificate has status “Unknown” and the superior certificates all have status “Good”.
Local policy is to ignore “Unknown” status from proxy certificates.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
A.3
MyProxy Example
In this case, an End-Entity has created and delegated a proxy certificate to a MyProxy service.
The user has used this proxy certificate as the founding authenticator for a complex job. This job
has created another proxy certificate to use a resource in another domain, and has delegated the
right to renew this proxy certificate to the remote resource. The remote resource in turn needs to
use this proxy certificate as the basis for access to a set of files it needs to retrieve.
1. The file storage application receives a chain of proxy certificates and end-entity certificate
from another application.
2. (Optional) The application checks its OCSP responses cache for a recent evaluation of
any of these certificates. If any are revoked, the interaction is rejected.
3. The application passes the certificate chain it received to a local OCSP responder for
evaluation.
4. The local responder searches up the chain of certificates received, attempting to retrieve
a service locator for an OCSP responder. It finds one in the first proxy certificate.
5. The local responder assembles a complete certificate chain from Issuer information in its
cache.
6. The local responder passes the complete chain to the discovered responder. In this
case, it is a responder associated with a MyProxy service.
7. The MyProxy OCSP responder only returns OCSP responses for its managed proxy
certificates. But this case, the end entity has terminated the job and deleted the head
proxy certificate from the MyProxy store. The result is that MyProxy OCSP responder
marks this proxy certificate as revoked.
8. The local responder checks the OCSP responder certificate, and assembles a partial
response.
9. The local responder continues up the chain of certificates, trying to find additional AIA
extensions. There are none.
10. The local responder checks each certificate in the chain against its issuer’s cached CRL
information, completing the set of responses.
11. (Optional, recommended) The local responder caches responses.
12. The local responder returns a signed response to the file storage application. .
helm@es.net
25
GWD-I
March 2016
1
Appendix B OCSP Client Configuration Examples
2
3
4
5
6
B.1
The Open GRid Ocsp API (OGRO)
The Open GRid Ocsp –OGRO- is a Java API that implements OCSP validation for Grid environments.
It is configured through a set of rules -written in XML- called the Grid Validation Policy, which customizes
relying parties’ certificate validation behavior. Figure 1 shows the DTD of such policy.
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!ELEMENT ocsppolicy ( issuerdn+ ) >
3 <!ELEMENT issuerdn ( source?,unknownstatus?,
errorhandler?,request?,proxycert? ) >
4 <!ATTLIST issuerdn dn CDATA #REQUIRED>
5 <!ATTLIST issuerdn name CDATA #REQUIRED >
6 <!ATTLIST issuerdn hash CDATA #REQUIRED >
7 <!ELEMENT revsources ( source+ ) >
8 <!ELEMENT source EMPTY >
9 <!ATTLIST source order CDATA #REQUIRED >
10 <!ATTLIST source signingcert CDATA #IMPLIED >
11 <!ATTLIST source location CDATA #REQUIRED >
12 <!ATTLIST source type (trusted|authorized) "trusted" >
13 <!ATTLIST source timeout CDATA #IMPLIED >
14 <!ELEMENT unknownstatus EMPTY >
15 <!ATTLIST unknownstatus action (good|revoked) "revoked">
16 <!ELEMENT errorhandler ( action+ ) >
17 <!ELEMENT action EMPTY >
18 <!ATTLIST action order CDATA #REQUIRED >
19 <!ATTLIST action type
(tryLater|setFinalResp)"setFinalResp">
20 <!ATTLIST action value (good|revoked) "revoked" >
21 <!ATTLIST action maxRetries CDATA #IMPLIED >
22 <!ELEMENT request ( signreq?, usenonce?, prot?, ext* ) >
23 <!ELEMENT signreq EMPTY >
24 <!ATTLIST signreq value (true|false) "false" >
25 <!ELEMENT usenonce EMPTY >
26 <!ATTLIST usenonce value (true|false) "true" >
27 <!ELEMENT prot EMPTY >
28 <!ATTLIST prot value (http|https) "http" >
29 <!ELEMENT ext EMPTY >
30 <!ATTLIST ext order CDATA #REQUIRED >
31 <!ATTLIST ext oid CDATA #REQUIRED >
32 <!ATTLIST ext value CDATA #REQUIRED >
33 <!ELEMENT proxycert ( unknownstatus ) >
Figure 0-1
Fig. 1. DTD of OGRO’s Grid Validation Policy.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
From previous figure we can observe at line 2 that the OGRO’s policy allows per issuer validation rules
customization or even the option to configure a default issuer, that is, rules applying to any user whose
issuer is not referenced anywhere else in the policy.
A set of revocation sources (lines 8-13) can be also defined as an ordered list, which means that the relying
party may be able to consult more than one OCSP Responder thus providing fault tolerance and high
availability.
To support Proxy revocation features, a customizable meaning of the “Unknown” OCSP status –line 15can be defined for any certificate on the path (Proxy or even non-Proxy).
At lines 16-19, error handling mechanisms may be declared to take a certain action if for example an OCSP
Responder could not be contacted. The current set of error handlers can be extended to fulfill special
requirements of VOs. Customization of OCSP Requests (i.e. use of signatures and nonces) is provided also
by OGRO –lines 22 to 32- .
More than being a set of configuration directives, OGRO’s Grid Validation Policy represents a mechanism
to tailor validation process’ security level. For example a VO may decide to use only a defined set of
helm@es.net
26
GWD-I
1
2
3
4
5
6
March 2016
internal OCSP Trusted Responders benefiting performance (i.e. not using digital signatures, nonces nor
HTTPS), while other VO may use external OCSP Authorized Responders but compelling its clients to use
strong OCSP Requests (i.e. digitally signed, using a nonce and HTTPS).
Future extensions to OGRO’s Grid Validation Policy may support different types of revocation
sources (i.e. CRLs) and OCSP Response’s related options (i.e. caching).
7
8
helm@es.net
27