view Side-By-Side changes
draft-ietf-pkix-dpv&dpd-req-01.txt Bull draft-ietf-pkix-dpv-dpd-req-02.txt Russ Housley, RSA Laboratories Target Category: INFORMATIONALJanuaryFebruary 2002 Expires in six months Delegated Path Validation and Delegated Path Discovery Protocol Requirements (DPV&DPD-REQ)<draft-ietf-pkix-dpv-dpd-req-01.txt><draft-ietf-pkix-dpv-dpd-req-02.txt> Status of this memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document specifies the requirements for Delegated Path Validation (DPV) and Delegated Path Discovery (DPD). It also specifies the requirements for DPV and DPD policy management. 1. Introduction This document specifies the requirements for Delegated Path Validation (DPV) and Delegated Path Discovery (DPD), using two main request/response pairs. These delegated processing provides two primary services: DPV and DPD. Some clients require a server to perform path validation and have no need for data acquisition, while some other clients require only DPD in support of local path validation. Thefirst one, called Delegated Path Validation (DPV),DPV request/response pair, can be used to fully delegate a path validation processing to an DPV server, according to a set of rules, called a validation policy. Thesecond one, called Delegated Path Discovery (DPD),DPD request/response pair can be used to obtain from a DPD server all the information needed (e.g., theend- entityend-entity certificate, the CA certificates, full CRLs, delta-CRLs, OCSP responses) to locally validate a certificate. The DPD server uses a set of rules, called a path discovery policy, to determine which information to return. Pinkas, Housley [Page 1] Internet Draft DPV&DPD-REQ January 2002 A third request/response pair can be used to allow clients to obtain the references for the policies supported by a DPV or DPD server. This document also defines the requirements for two optionalrequest/responserequest/ response pairs. The first one is used to establish a validation policy with a DPV server. The second one is used to establish a discovery policy with a DPD server. Either request/response pair provide a reference of an existing policy to obtain policy details.Pinkas [Page 1] Internet Draft DPV&DPD-REQ January 20021.1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase, as shown) are to be interpreted as described in [RFC2119].1. Rationale and benefits These delegated processing provides two primary services: delegated path validation and delegated path discovery. Some clients require a server to perform path validation and have no need for data acquisition, while some other clients require only delegated path discovery in support of local path validation.2. Rationale and benefits for DPV (Delegated Path Validation) DPV allows a server to perform a real time certificate validation for a validation time T, where T may be the current time or a time in the recentpast, for any certificate in support of any security service.past. In order to validate a certificate, a chain of multiple certificates, called a certification path, may be needed, comprising a certificate of the public key owner (the end entity) signed by one CA, and zero or more additional certificates of CAs signed by other CAs. Offloading path validation to a server may be required by a client that lacks the processing, and/or communication capabilities to perform path construction first and then a local path validation. In constrained execution environments, such as telephones and PDAs, memory and processing limitations may preclude local implementation of complete, PKIX-compliant path validation. In applications where minimum latency is critical, delegating validation to a trusted server can offer significant advantages. The time required to send the target certificate to the validation server, receive the response, and authenticate the response, can be considerably less than the time required for the client to perform certification path discovery and validation. Even if a certification path were readily available to the client, the processing time associated with signature verification for each certificate in the path might (especially when validating very long paths or using very limited processor speed) be greater than the delay associated with use of a validation server. Another motivation for offloading path validation is that it allows validation against validation policies defined by the management in a consistent fashion across an enterprise. Clients that are able to do their own path validation may rely on a trusted server to do path validation if centralized management of validation policies is needed, or the clients rely on a trusted server to leave centralized traces of such activities.PinkasPinkas, Housley [Page 2] Internet Draft DPV&DPD-REQ January 2002 When a client uses this service, it inherently trusts the server as much as it would its own path validation software (if it contained such software). Clients can direct the server to perform path validation in accordance with a particular validation policy. 3. Rationale and benefits for DPD (Delegated Path Discovery) DPD is valuable for clients that do much of the PKI processing themselves and simply want a server to collect information for them. The server is trusted to return the most current information that is available to it (which may not be the most current information that has been issued). The client will ultimately perform certification path validation. A client that performs path validation for itself may get benefit in several ways from using a server to acquire certificates, CRLs, and OCSP responses to aid in the validation process. In this context, the client is relying on the server to interact with repositories to acquire the data that the client would otherwise have to acquire using LDAP [LDAP], HTTP [HTTP], FTP [FTP] or another repository access protocol. Since these data items are digitally signed, the client need not trust the server any more than the client would trust the repositories. There are several benefits to this approach; for example, a single query to a server can replace multiple queries to one or more repositories, and caching by the server can reduce latency. Another benefit to the client system is that it need not incorporate a diverse set of software to interact with various forms of repositories, perhaps via different protocols, nor to perform the graph processing necessary to discover certification paths, separate from making the queries to acquire path validation data. 4. Delegated Path Validationpolicy and path discovery policy Policies MAY beProtocol Requirements The Delegated Path Validation (DPV) protocol allows apriori known by the server,server to validate one orpolicies MAY be specified by a clientmore certificates according tothe server. Becausea validationsoftware is controlled by many parameters which, if incorrectly set, may result in insecure behavior, it is useful to rely on pre-defined policies that are already known bypolicy. If theservers, where system security administrators carefully manage them. Both services (delegated pathDPV server does not support the client requested validationand delegated path discovery) can be potentially used bypolicy, then the DPV server MUST return anenterprise for enforcing various aspects of centralized policies. Alternatively, system security administrators MAY also define policies. However, sucherror. The client can request that the server determine the certificate validity at a time other than the current time. Depending upon the validation policydefinitionbeing used, the validation time may either bequite complex and only some forms of policies can be defined in this way, otherwise testing allthepossible variations would leadtime for which the revocation status information has tonon-interoperable implementationsbe obtained, orwould increasethe timenecessary to ensure that two implementations are interoperable. Pinkas [Page 3] Internet Draft DPV&DPD-REQ January 2002for which the event for which the validity is tested took place. Since policy definitions can be quite long and complex, all the parameters SHOULD NOT be passed with each individual request; rather, they SHOULD be defined using a separate policy definitionrequest/response pair. Inrequest/ response pair (see section 9). In this way clients only need toa successful policy definition request,be aware of theserver SHALL return a policyreference(e.g. an OID). However, some formsofpath discoverythe validation policycan be simple. In that case it MAYto beacceptableused by a given application. Pinkas, Housley [Page 3] Internet Draft DPV&DPD-REQ January 2002 The certificate topass the parameters frombe validated MUST either be directly provided in thepath discovery policy with each individual request, i.e. a set of trust anchors and separate revocation status conditions forrequest or an unambiguous reference MUST be provided, such as theend-entityCA distinguished name, certificate serial number, andfor the other certificates (see section 9.2). The protocol SHALL allow clients to obtain, at any time,thereferences for allhash of thepolicies supported by the server by using an additional request/response pair. The response can include references to previouslycertificate, like ESSCertID as definedpoliciesin [ESS] orto a priori known policies. 4.1. Validation Policy A validation policy is a set of rules against which the validation of the certificate is performed. A validation policy MAY include several trust anchors. A trust anchor is definedOtherSigningCertificate asone public key, a CA name, a validity time interval, and optionally additional constrains.defined in [ES-F]. Theuse of a self-signed certificate is one wayclient MUST be able tospecify together: the public keyprovide tobe used, the CA name, and the validity period ofthepublic key. Additional constrains forvalidation server, associated with eachtrust anchor MAYcertificate to bedefined. These constraintsvalidated, "useful certificates", as well as "useful revocation information". Revocation information includes OCSP responses, CRLs, and delta-CRLs. As an example, an S/MIME message might includea set of Certification Policy constraints or a set of naming constraints. These constrains MAY also be included in self-signed certificates. Additional conditions that apply to the certificates in the path MAY also be specified insuch information, and thevalidation policy. For example, specific values for user-initial-policy-set, initial-policy-mapping-inhibit, initial-explicit-policy, or initial-any-policy-inhibit could be provided. Additional conditionsclient can simply copy thatapply toinformation into theend-entity certificate MAY also be specified inDPV request. The server MUST get thevalidation policy. For example, a specific name form, like an e-mail address eitherfull certificate. If not provided in therfc822 subject alternative name or inrequest, theemailAddress naming attribute inserver MUST use thesubject name, might be required.unambiguous reference provided by the client to obtain it. In order tosucceed, one valid certification path (i.e., none of the certificates inobtain thepath are expired or revoked) MUST be found between an end-entityrevocation status information of any certificateand a trust anchor and all constraints that apply tofrom the certificationpath MUST be verified. Validation policies support security servicespath, the DPV server might use, intwo time contexts: - for immediate use (e.g., to useaccordance with thepublic key withinvalidation policy, different sources of revocation information, e.g. acertificate for symmetric key management),combination of OCSP responses, CRLs, orPinkas [Page 4] Internet Draft DPV&DPD-REQ January 2002 - fordelta-CRLs. If the DPV request does not specify atime T invalidation policy, therecent past (e.g., to useserver response MUST indicate thepublic key within a certificate to verify data origin authentication and integrity). There is an inevitable delay betweenone that was used. In such acompromise of key being noticed bycase, theend-entity andclient MUST verify that thereport of revocation being madeone selected by theCA (or on behalfserver is appropriate. The DPV response MUST indicate one of four status alternatives: 1) theCA)certificate is valid according to therelying parties. This delay exists even when an OCSP servicevalidation policy. 2) the certificate isused. So, queryingdefinitively invalid according to the validation policy. 3) therevocation status of acertificate is not yet valid ata time T never proves thatthis time. If another request could made later on, theprivate key corresponding to thatcertificatewas not compromisedcould possibly be determined as valid. This condition will occur before a certificate validity period has begun, while a certificate is suspended, or when, atthatthe timeT. Athe server generated the response, all conditions of the validation policyMAY supportcould not be met. 4) the server cannot determine the validity of the certificate. This condition will occur when acautionary period in order tocertification path cannot be constructed or some revocation information is unavailable. The DPV request MUST allowtime for: 1)theend-entityclient torealize that one of its private keys has been or could possibly be compromised, 2)request theend-entityresponse toreport the key compromise, 3)include the certification path and revocationauthoritystatus information used by the server to process therevocation request from the end-entity, and 4)request. When requested, therevocation authority to make availableserver MUST include the certification path and revocation statusinformation, e.g. by providing an OCSP service, CRLs, or delta-CRLsinformation incombination with full CRLs. Whenthepublic key withinresponse when the certificate isused immediately, it is not possiblevalid according toapply a cautionary period,the validation policy. However, the server MAY omit the certification path andthus, some riskrevocation status information when the certificate istaken, sinceinvalid, not yet valid or when it cannot determine thecorresponding private key mightvalidity. Pinkas, Housley [Page 4] Internet Draft DPV&DPD-REQ January 2002 In order to becompromised atable to be confident that thetimevalidation ofuse. When the public key withinthe certificateis used to verify some usage fromhas correctly been done, therecent past, it is possibleclient only requires an authenticated response. In order for the client toapply a cautionary periodprove tofurther reduceanother party that trusts therisk. In suchsame DPV server that the certificate validation was correct, the client requires acase,signed response. All thepolicy MAY indicateparameters needed to prove that the response conforms to the request SHALL be copied from the request into the response, so that aminimum delayresponse is self-sufficient proof. The server may require client authentication. The authentication method to beobserved between the time T in the past, i.e. when the use ofused may be dependant upon theprivate key took was supposed to take place,transport used, and thus thetimeclient authentication mechanism need not be an integral part of thecurrent verification. WhenDPV request. 5. Delegated Path Discovery Protocol Requirements The Delegated Path Discovery (DPD) protocol allows theend-entity certificate expires beforeclient to use a single protocol towards a single server to collect at one time thecautionary period terminates, thendata elements available at theend-entity certificate MUSTcurrent time that might beconsidered as invalid. Accordingcollected using different protocols (e.g. LDAP, DAP, OCSP) or by querying multiple servers, according tosection 3.3. Revocation from [PKIX-1] "An entry maya single path discovery policy. Then returned information can beremoved from the CRL after appearing onused to locally validate oneregularly scheduled CRL issued beyondor more certificates for therevoked certificate's validity period", socurrent time. Clients MUST be able to specify whether they want, inthat caseaddition to the certification path, the revocationstatusinformationis not guaranteed to be available atassociated with theend ofpath, for thecautionary period. Ifend-entity certificate only, for the CA certificatesare not used close toonly or for both. If theend of their validity period, then this situation willDPD server does nothappen. This means that new certificates should be issued beforesupport theend ofclient requested path discovery policy, thevalidity periodDPD server MUST return an error. Some forms of path discovery policy can be simple. In that case it is acceptable to pass thecurrent certificate and with a time interval greater thanparameters from thecautionary period. Pinkas [Page 5] Internet Draft DPV&DPD-REQ January 2002 4.2. Path discovery policy Apath discovery policyiswith each individual request, i.e. a set ofrules against whichtrust anchors and separate revocation status conditions for thediscovery of a certification path is performed. Aend-entity certificate and for the other certificates. More elaborated path discoverypolicy ispolicies SHOULD be defined using asubsetseparate policy definition request/response pair (see section 9). Most ofa validation policy. Athe time, clients only need to be aware of the reference of the path discovery policyMAY either be a referenceto be used by avalidation policygiven application. The server response includes zero, one, orcontain only some major elements fromseveral certification paths. Each path consists of avalidation policy, such assequence of certificates, starting with the certificate to be validated and ending with one issued by a trustanchors. Sinceanchor. The trust anchor self-signed certificate, if issued, is not included. In addition, if requested, the revocation information associated with each certificate in the path MUST also be returned. The client needs to be able to limit the number of paths returned. Therefore the clientmustMUST be"PKI aware", it can locally apply additional constraintsable to indicate the maximum number of certification paths that SHOULD be returnedby the server. Thus, a "crude" (i.e. simpler) criteria(provided that they can bedefined and used for DPD. 5. Delegated Path Validation Protocol Requirements The Delegated Path Validation (DPV) protocol allows a server to validate one or more certificates according to a validation policy. A time other thanfound). If thecurrent timenumber is not specified, that number defaults to one. Pinkas, Housley [Page 5] Internet Draft DPV&DPD-REQ January 2002 The paths that are returned maybe usedneed todetermine the validity. The validation policy SHALL be knownmatch some additional local controls done by theDPV server.client, e.g. verifying some certificate extensions. Thevalidation policy MAYreturned paths may not bedefined using an additional request/ response pair (see section 10) priorappropriate to theDPV request. In this way clients only need to be awareclient when it locally applies additional tests. Instead of asking one by one thereference ofpaths (which would require state information at thevalidation policy to be used by a given application. The certificate to be validated MUST either be directly provided inserver), the client specifies with every requestor an unambiguous reference MUST be provided, such as the CA distinguished name, certificate serial number, andthehashmaximum number ofthe certificate, like ESSCertID as defined in [ESS] or OtherSigningCertificate as defined in [ES-F]. The client MUST be able to providepaths to be returned. If that number cannot be reached by thevalidationserver,associated with each certificate to be validated, "useful certificates", as well as "useful revocation information". Revocation information includes OCSP responses, CRLs, and delta-CRLs. Asanexample,indication SHOULD be returned by the server showing that anS/MIME message might include such information, andadditional query will not return more paths. If theclient can simply copypaths thatinformation intoare returned do not match theDPV request. In order to obtainlocal conditions, then therevocation status informationnumber ofany certificate fromnumber of certification paths to be returned can be extended, by augmenting this value. Previously found paths will likely be returned, but thecertification path,client can easily discard them. This avoids requirements for state information at theDPVserver, but does not prevent a servermight use, in accordance withfrom maintaining a cache of previous responses. Avoiding thevalidation policy, different sourcesmaintenance ofrevocation information, e.g. a combinationstate information for previous requests minimizes potential denial ofOCSP responses, CRLs,service attacks ordelta-CRLs. If the DPV request does not specify a validation policy, theother problems associated with serverresponsecrashes. Path discovery MUSTindicate the one that was used. In such a case, the client must verify that the one selected bybe performed according to theserver is appropriate.path discovery policy. TheDPVDPD response MUST indicate one of four status alternatives: 1)the certificate is valid according to the validation policy. 2) the certificate is definitively invalidone or more certification paths was found according to thevalidation policy. Pinkas [Page 6] Internet Draft DPV&DPD-REQ January 2002 3) the certificate is not yet valid at this time. If another request could made later on, the certificate could possibly be determined as valid. This condition will occur before a certificate validity period has begun, while a certificate is suspended, or when the validation is made at a time where the cautionary period has not yet ended. 4) the server cannot determine the validitypath discovery policy, with all of thecertificate. This condition will occur when a certification path cannot be constructed or somerequested revocation informationis unavailable. The DPV request MUST allow the clientpresent. 2) one or more certification paths was found according torequesttheresponse to includepath discovery policy, with a subset of thecertification path andrequested revocationstatusinformationused by the serverpresent. 3) one or more certification paths was found according toprocess the request. When requested,theserver MUST includepath discovery policy, with none of the requested revocation information present. 4) no certification path was found according to the path discovery criteria. The information that is returned consists of one or more certification paths and optionally its associated revocation status informationinfor each element from theresponse whenpath. To provide confidence that thecertificate is valid according toresponse originates from thevalidation policy. However,DPD server, the server MAYomitprovide an authenticated response. For example, thecertification pathserver might sign the response. Pinkas, Housley [Page 6] Internet Draft DPV&DPD-REQ January 2002 6. Requirements common both to DPV andrevocation status information whenDPD The protocol SHALL allow clients to obtain thecertificate is invalidreferences for all of the policies supported by the server by using an additional request/response pair. The response can include references to previously defined policies orwhento a priori known policies. 7. Rationale and benefits for PDP (Policy Definition Protocol) Policies can be a priori known by the server, or policies can be specified by a client to the server. Because policies are controlled by many parameters which, if incorrectly set, can result in insecure behavior, itcannot determineis useful to rely on pre-defined policies that are already known by thevalidity. In orderclients and the servers, Such policies are likely to beable todefined by system security administrators who carefully manage them. However, policy definitions may beconfident thatquite complex and only some forms of policies can be defined using the request/response pair. 7.1. Validation Policy A validation policy is a set of rules against which thecertificate has correctly been done, the client only requires an authenticated response. In order for the client to prove to another party that trusts the same DPV server thatvalidation of the certificate is performed. A validationwas correct, the client requirespolicy MAY include several trust anchors. A trust anchor is defined as one public key, asigned response. All the parameters needed to prove that the response conforms to the request SHALL be copied from the request into the response, so thatCA name, aresponse is self-sufficient proof. The server may require client authentication.validity time interval, and optionally additional constrains. Theauthentication methoduse of a self-signed certificate is one way tobe used may be dependant uponspecify together: thetransportpublic key to be used, the CA name, andthustheclient authentication mechanism need not be an integral partvalidity period of theDPV request. 6. Delegated Path Discovery Protocol Requirements The Delegated Path Discovery (DPD) protocol allows the client to usepublic key. Additional constrains for each trust anchor MAY be defined. These constraints might include asingle protocol towardsset of Certification Policy constraints or asingle server to collect at one time all the data elements that mightset of naming constraints. These constrains MAY also becollected using different protocols (e.g. LDAP, DAP, OCSP) or by querying multiple servers, accordingincluded in self-signed certificates. Additional conditions that apply toa singlethe certificates in the pathdiscoveryMAY also be specified in the validation policy.Then returned information canFor example, specific values for user-initial-policy-set, initial-policy-mapping-inhibit, initial-explicit-policy, or initial-any-policy-inhibit could beusedprovided. Additional conditions that apply tolocally validate one or more certificates forthecurrent time. Clients MUSTend-entity certificate MAY also beable to specify whether they want,specified inaddition tothecertification path,validation policy. For example, a specific name form, like an e-mail address either in therevocation information associated withrfc822 subject alternative name or in thepath, foremailAddress naming attribute in theend-entity certificate only, forsubject name, might be required. In order to succeed, one valid certification path (i.e., none of theCAcertificatesonly or for both. Thein the pathdiscovery policyare expired or revoked) MUST beknown by the DPD server. The path discovery policy MAY defined usingfound between anadditional request/response pair (see section 7) priorend-entity certificate and a trust anchor and all constraints that apply to theDPD request. Pinkascertification path MUST be verified. Pinkas, Housley [Page 7] Internet Draft DPV&DPD-REQ January 2002The server response MUST include zero, one, or several certification paths. Each path consists ofThere is an inevitable delay between asequencecompromise ofcertificates, starting withkey being noticed by thecertificate to be validatedend-entity andending with one issuedthe report of revocation being made bya trust anchor. The trust anchor self-signed certificate, if issued,the CA (or on behalf of the CA) to the relying parties. This delay exists even when an OCSP service is used. So, querying the revocation status of a certificate at a time T does notincluded.prove that the private key corresponding to that certificate was not already compromised at an earlier time T' where the private key has been used. Inaddition,case of a key compromise, the absolute difference between the time where a private key (corresponding to a given end-entity certificate) has been used and the time for which the revocation status informationassociated with eachof that end-entity certificateinis available for thepath MUST also be returned, if ittime of use is composed of the sum of several time intervals: 1) the end-entity realizes that its private key has beenrequested. The client needs toor could possibly beable to limitcompromised, 2) thenumber of paths returned. Thereforeend-entity reports theclient MUST be able to indicatekey compromise, 3) themaximum numberrevocation authority processes the revocation request from the end-entity, and 4) the revocation authority makes available the revocation status information, e.g. by providing an OCSP service, CRLs, or delta-CRLs in combination with full CRLs. The sum ofcertification paths that SHOULD be returned (provided that they can be found). Ifall these time intervals is called a cautionary period. When thenumberpublic key within the certificate isnot specified, that number defaults to one. The paths that are returned may needused tomatchverify someadditional local controls done byusage from theclient, e.g. verifying some certificate extensions. The returned pathsrecent past, it is possible to apply a cautionary period. This cautionary period maynotbeappropriate toapplied either by the clientwhenor by the server. When itlocally applies additional tests. Instead of asking oneis applied byonethepaths (which would require state information atclient, theserver),policy will consider theclient specifies with every requesttime at which themaximum number of pathsvalidity has to be determined as being directly the time for which the revocation status information has tobe returned. If that number cannot be reachedobtained. When it is applied by the server,an indication SHOULD be returned bytheserver showing that an additional querypolicy willnot return more paths. If the paths that are returned do not matchconsider thelocal conditions, thentime at which thenumber of number of certification pathsvalidity has to bereturned can be extended, by augmenting this value. Previously found paths will likelydetermined as being time when the private key (corresponding to the given end-entity certificate) was supposed to bereturned, butused, i.e. theclient can easily discard them. This avoids requirementstime forstate information atwhich theserver, but does not prevent a server from maintaining a cache of previous responses. The goalevent for which the validity is toavoidbe tested took place. In such a case, themaintenance of state information for previous requests: if this is done, it minimizes potential denialpolicy includes the definition ofservice attacks or other problems associated with server crashes.a cautionary period. 7.2. Path discoveryMUST be performed according to thepolicy A path discoverypolicy. The DPD response MUST indicate onepolicy is a set offour status alternatives: 1) one or more certification paths was found according torules against which thepathdiscoverypolicy, with allofthe requested revocation information present. 2) one or morea certificationpaths was found according to thepath is performed. A path discoverypolicy, withpolicy is a subset ofthe requested revocation information present. 3) one or more certification paths was found according to thea validation policy. A path discovery policy MAY either be a reference to a validation policy or contain only some major elements from a validation policy,with none ofsuch as therequested revocation information present. 4) no certification path was found accordingtrust anchors. Since the DPD client is "PKI aware", it can locally apply additional constraints to thepath discovery criteria. Pinkascertification paths returned by the server. Thus, a simpler criteria can be defined and used for DPD. Pinkas, Housley [Page 8] Internet Draft DPV&DPD-REQ January 2002The information that is returned consists of one or more certification paths and optionally its associated revocation status information for each element from the path. To provide confidence that the response originates from the DPD server, the server MAY provide an authenticated response. For example, the server might sign the response. 7.8. Policydefinition protocolDefinition Protocol (PDP) requirementsThe support of these request/response pairs is OPTIONAL, or they might be implemented in a separate protocol from DPD or DPV.These request/response pairs allow the client to define a policy, i.e. a validation policy and/or a path discovery policy, and to receive back a reference for that policy. The server may provide a reference to a previously defined policy, if it fulfills the request requirements. The support of these request/response pairs is OPTIONAL, or they might be implemented in a separate protocol from DPD or DPV. The policies locally defined at the servermaycan be more precise than the policies defined using these request/response pairs, since such an exchange will not have all the flexibility necessary to describe any kind of policy. So, in practice, these request/response pairs will be restricted to the definition of relatively simple policies. Usually, these request/response pairs will be used by security managers to register the policies to be used by ordinary clients, such as those within an organization for use with various applications. Policy definition requestsSHALLMUST be able to be authenticated so that only authorized clients can register policies. Policy definition response, if successful,SHALLMUST return a policy reference. The policy reference MAY be specific to the request, or it MAY be a reference to a policy that has already been established and fulfills the request requirements. It is up to server to decide how long atemporary definedpolicy defined through this protocol will be maintained. When a obtaining a policy reference from the server, it would be interesting to consider providing natural language information about the purpose of the policy, rather than the technical description of the policy. When using DPV, there are two possibilities: a) The client is PKI-unaware, and thus fully delegates the validation to the server. It appears more difficult to remotely define such "complete policies" since the tests on the end-entity certificate are made by the server and may be quite complex. b) The client is alittle bitslightly PKI-aware, in the sense that it is only able to parse the end-entity certificate to check some properties of a certificate, and delegates the validation of the rest of the path to the server. It appears easier to remotely define such "partial policies" sincesome tests on the end- entity certificate are left to the client. Pinkas [Page 9] Internet Draft DPV&DPD-REQ January 2002 b) The client is fully PKI-unaware, and thus fully delegates the validation to the server. It appears more difficult to remotely define such "complete policies" since thesome tests on the end- entity certificate aremade byleft to theserver and may be quite complex. When using DPD, simpler validation policies may be defined since all DPD clients are fully PKI-aware. 8.client. Pinkas, Housley [Page 9] Internet Draft DPV&DPD-REQ January 2002 8.1 Components for a validation policy A validation policy is build from four components: 1. Certification path requirements, 2. Revocation requirements, 3. End-entity certificate specific requirements, 4. optionally, cautionary period requirements. Note: [ES-P] defines ASN.1 data elements that may be useful while defining the components of a validation policy.8.1.8.1.1. Certificate chain requirements The PDP protocol MUST allow the client to specify certification path requirements. The path requirements identify a sequence of trust anchors used to start certification path processing and initial conditions for certification path validation as defined in [PKIX-1].8.2.8.1.2. Revocation Requirements The PDP protocol MUST allow the client to specify revocation checking requirements. Revocation information may be obtained through CRLs, delta-CRLs or OCSP responses. Certificate revocation requirements are specified both in terms of checks required on the end-entity certificate (i.e. the certificate for which a path is required) and on checks required on CA certificates. Revocation requirements for the end-entity certificate may not be the same as the requirements for the CA certificates. For example, an OCSP response may be needed for the end-entity certificate while CRLs may be sufficient for the CA certificates. Therefore, the PDP protocol MUST allow the client to specify separate requirements for the end-entity certificate and for the CA certificates. The PDP protocol MUST allow the client to specify the source of revocation information, in particular if : - full CRLs (or full Authority revocation lists) have to be collected, - OCSP responses, using [OCSP], have to be collected, - delta-CRLs and the relevant associated full CRLs (or full Authority revocation lists) are to be collected.Pinkas [Page 10] Internet Draft DPV&DPD-REQ January 2002- any available revocation information has to be collected.8.3.8.1.3. End-entity certificate specific requirements The PDP protocol MUST allow the client to specify requirements that apply only to the end-entity certificate (i.e. the certificate that is the object of the query). Pinkas, Housley [Page 10] Internet Draft DPV&DPD-REQ January 2002 The client might require the end-entity certificate to contain specific extensions with specific types or values (it does not matter whether they are critical or non-critical). For example, the client might need an end-entity certificate that contains an electronic mail address (either in the rfc822 subject alt name or in the emailAddress naming attribute in the subject name).8.4.8.1.4. Cautionary period requirements The PDP protocol SHALL allow the client to specify a cautionary period for a validation policy. The cautionary period specifies a minimum delay to be observed between a time T in the recent past, where the use of the private key or the public key is supposed to take place, and the time ofthe current validation. 9.production of revocation status information. 8.2. Components for a path discovery policy The PDP protocol SHALL be able to support certification path requirements and revocation requirements. It MAY support end-entity certificate specific requirements. These requirements are specified in sections8.1, 8.2,8.1.1, 8.1.2, and8.3,8.1.3, respectively.10.9. DPV versus DSV DPV performs the validation of a certificate against a policy, but does not necessarily provide all the information needed to prove to someone else that is not trusting the same DPV server that a digital signature from a signer was produced while the signer's certificate was valid. A Delegated Signature Validation (DSV) service could be specified to allow to prove later on to someone else, not trusting the same DSV server, that a digital signature was applied while the certificate was valid. Requirements for a Delegated Signature Validation (DSV) service that allows to fully delegate the validation of a digital signature to a DSV server might be addressed in a separate document at a future time.11.10. Security considerations A client must trust a DPV server to provide the correct answer. However, this does not mean that all clients will trust the same servers. While a positive answer might be sufficient for one client, that positive answer will not necessarily convince another client.Pinkas [Page 11] Internet Draft DPV&DPD-REQ January 2002Other clients may trust their own servers, or they might perform certification path validation themselves. Clients operating under an organizational policy must ensure that each of the servers they trust is operating under that organizational policy.12.According to section 3.3 of [PKIX-1]: "An entry may be removed from the CRL after appearing on one regularly scheduled CRL issued beyond the revoked certificate's validity period". When the difference Pinkas, Housley [Page 11] Internet Draft DPV&DPD-REQ January 2002 between the end of the validity period of the end-entity certificate and the time of the event for which the validity is to be tested is smaller than the cautionary period, then the end-entity certificate must be considered as invalid, since it is not guaranteed to be able to get the revocation status information of that certificate. If certificates are not used close to the end of their validity period, then this situation will not happen. This means that new certificates should be issued and used before the end of the validity period of the current certificate and with a time interval greater than the cautionary period. 11. Acknowledgments These requirements have been refined after some valuable inputs from Ambarish Malpani and Paul Hoffman.13.12. References [PKIX-1] Internet X.509 Public Key Infrastructure. Certificate and CRL Profile. RFC 2459 R. Housley, W. Ford, W. Polk, D. Solo. or its successor as soon as it can be referenced. [OCSP] X.509 Internet Public Key Infrastructure. Online Certificate Status Protocol - OCSP. RFC 2560 M. Myers, R. Ankney, A. Malpani, S. Galperin, C. Adams. [ES-F] Electronic Signature Formats for long term electronic signatures RFC 3126. D. Pinkas, J. Ross, N. Pope. September 2001. [ES-P] Electronic Signature Policies. RFC 3125. D. Pinkas, J. Ross, N. Pope. September 2001. [CMS] Cryptographic Message Syntax. RFC 2630. R. Housley June 1999. or its successor as soon as it can be referenced. [ESS] Enhanced Security Services for S/MIME. RFC 2634. P. Hoffman. RFC 2634, June 1999. Pinkas, Housley [Page 12] Internet Draft DPV&DPD-REQ January 2002 [ISO-X509] ISO/IEC 9594-8/ITU-T Recommendation X.509, "Information Technology - Open Systems Interconnection: The Directory: Authentication Framework," 1997 edition. (Pending publication of 1997 edition, use 1993 edition with the following amendment applied: Final Text of Draft Amendment DAM 1 to ISO/IEC 9594-8 on Certificate Extensions, June 1996.)Pinkas [Page 12] Internet Draft DPV&DPD-REQ January 2002[FTP] Internet X.509 Public Key Infrastructure. Operational Protocols: FTP and HTTP. RFC 2585. R. Housley, P. Hoffman. May 1999. [HTTP] Internet X.509 Public Key Infrastructure. Operational Protocols: FTP and HTTP. RFC 2585. R. Housley, P. Hoffman. May 1999. [LDAP] Internet X.509 Public Key Infrastructure Operational Protocols LDAPv2. RFC 2559. S. Boeyen, T. Howes, P. Richard. April 1999.14.13. Authors' addresses Denis PinkasIntegris,Bull. 68, Route de Versailles 78434 Louveciennes CEDEX FRANCE e-mail: Denis.Pinkas@bull.net Russell Housley RSA Laboratories 918 Spring Knoll Drive Herndon, VA 20170 USA rhousley@rsasecurity.com15.Full Copyright Statement Copyright (C) The Internet Society(2001).(2002). All Rights Reserved. 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 Internet Society or other Pinkas, Housley [Page 13] Internet Draft DPV&DPD-REQ January 2002 Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.Pinkas [Page 13] Internet Draft DPV&DPD-REQ January 2002This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE 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.PinkasPinkas, Housley [Page 14] ----