view Side-By-Side changes
draft-ietf-pkix-dpv&dpd-req-01.txtNovember 2001Russ Housley, RSA Laboratories Target Category: INFORMATIONAL January 2002 Expires in six months Delegated Path Validation and Delegated Path Discovery Protocol Requirements (DPV&DPD-REQ)<draft-ietf-pkix-dpv-dpd-req-00.txt><draft-ietf-pkix-dpv-dpd-req-01.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.1.Abstract This document specifies requirements for two main request/response pairs. The first one, called Delegated Path Validation (DPV), can be used to fully delegate a path validation processing to an DPV server, according to a set of rules, called a validation policy. The second one, called Delegated Path Discovery (DPD), can be used to obtain from a DPD server all the information needed(e.g. leaf certificates,(e.g., the end- entity certificate, the CA certificates, full CRLs, delta-CRLs, OCSP responses) to locally validate acertificate according tocertificate. The DPD server uses a set of rules, called a path discoverypolicy. Itpolicy, to determine which information to return. A third request/response pair can be used to allow clients to obtain the references for the policies supported by a server. This document also defines the requirements for two optional request/responsepairs, either for allowing to indicatepairs. The first one is used to establish a validationserverpolicy with avalidation policy, orDPV server. The second one is used to establish apathdiscoveryserverpolicy with a DPD server. Either request/response pair provide apath discovery policy; or giving thereference ofaan existing policy togetobtaindetails of an already defined policy.policy details. Pinkas [Page 1] Internet Draft DPV&DPD-REQNovember 2001January 2002 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].2. Rational1. Rationale and benefits These delegated processing provides two primary services: delegatedsignature validation, delegatedpath validation and delegated path discovery.Not all clients require both services in all scenarios.Some clientshave requirements for offloadedrequire a server to perform path validation and have no need for data acquisition, while some other clients require only delegated path discoveryto help them perform their ownin support of local path validation.3. Rational2. Rationale and benefits for DPV (Delegated Path Validation) DPV allows a server to perform a real time certificate validation for a time T, where T may be the current time or a time in the recent past, for anykind ofcertificateand any kindin support of any security service. 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 executionenvironmentsenvironments, 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, andverify the signature onauthenticate the response, can be considerably less than the time requiredbyfor the client to perform certification path discovery and validation. Even if a certification path were readily available to the client, thedelayprocessing time associated withprocessing the signaturessignature verification for each certificate in the path might(under some circumstances such as(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.Even clientsClients that are able to do their own path validation may rely on a trusted server to do path validation ifclients are in an environment wherecentralized management of validation policies isneeded for some applications.needed, or the clients rely on a trusted server to leave centralized traces of such activities. Pinkas [Page 2] Internet Draft DPV&DPD-REQNovember 2001January 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).ServersClients canalso take directions from the client about how path validation SHALL be done (such as which validation policy SHALL be used). In all these cases,direct theclient will delegateserver to perform path validationtoin accordance with afully-trusted server. 4. Rationalparticular 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 serverneedis trusted to return the most current information that is available to it (which may notevenbetrusted, becausethe 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 usingLDAP, HTTP, and so on.LDAP [LDAP], HTTP [HTTP], FTP [FTP] or another repository access protocol. Since these data items are digitally signed, the client need not trust the serverto return the "right" dataany more than the client wouldhave totrust the repositories. There are several benefits to this approach; for example, a single query to a server can replace multiple queries to one or moredirectoriesrepositories, 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.In these cases, the client will delegate path discovery to an untrusted server. 5.4. Validation policy and path discovery policy Policies MAY be a priori known by theserverserver, or policies MAY be specified bythea client to the server. Because validation software is controlled by many parameters which, if incorrectly set, may result in insecure behavior, it isoften importantuseful tobe ablerely on pre-defined policies that are already known by the servers, where system security administratorscancarefully manage them. Both services (delegated path validation and delegated path discovery) can be potentially used bythean enterprise for enforcing various aspects of centralizedpolicy. Pinkas [Page 3] Internet Draft DPV&DPD-REQ November 2001policies. Alternatively,clientssystem security administrators MAY also define policies. However, such policy definition may be quite complex and onlysimplesome forms of policiesSHOULDcan be defined in this way, otherwise testing all the possible variations would lead to non-interoperable implementations or woulddelayincrease the time necessary tomake sureensure that two implementations arereallyinteroperable. Pinkas [Page 3] Internet Draft DPV&DPD-REQ January 2002 Since policy definitions can be quite long and complex, all the parameters SHOULDnotNOT be passed with each individualrequest butrequest; rather, they SHOULD be defined using areferenceseparate policy definition request/response pair. In response toeither anapriori known policy (e.g. an OID) or an already pre-definedsuccessful policy(e.g.definition request, the server SHALL return a policy referencereturned by the server) SHOULD be used. Some(e.g. an OID). However, some forms of path discovery policy can besimple enough, e.g. a set of self-signed certificates.simple. In that case it MAY be acceptable to passallthe parameters from the path discovery policy with each individualrequest. Policies allows to support security services, such as an entity authentication service, a data origin authentication service, an integrity service orrequest, i.e. aconfidentiality service or some combinationset ofthese services. This can betrust anchors and separate revocation status conditions forimmediate use, e.g. to use athe end-entity certificatein orderand for the other certificates (see section 9.2). The protocol SHALL allow clients tosupport a confidentiality service by using a certificate that containsobtain, at any time, thekey exchange bit set orreferences for all of thekey agreement bit set orpolicies supported by thedigital signature bit set whenserver by using anephemeral-ephemeral Diffie-Hellman key exchange is being used. Thisadditional request/response pair. The response canbe for a time T in the past, e.g.include references touse a certificate in orderpreviously defined policies or toverify data protected byadata origin authentication service in combination with an integrity service, usingpriori known policies. 4.1. Validation Policy A validation policy is acertificate that contains the digital signature bit set. There is an inevitable delay between a compromiseset ofkey being noticed by the end-entity, andrules against which thereportvalidation ofrevocation being made bythe certificate is performed. A validation policy MAY include several trust anchors. A trust anchor is defined as one public key, a CA(or on behalfname, a validity time interval, and optionally additional constrains. The use of a self-signed certificate is one way to specify together: theCA)public key to be used, therelying parties. This delay exists in any case, even when an OCSP service is being used. So queryingCA name, and therevocation statusvalidity period ofa certificatethe public key. Additional constrains for each trust anchor MAY be defined. These constraints might include atime T never proves that the private key corresponding to that certificate was not revoked at that time T. Ideally,set of Certification Policy constraints or acautionary period SHOULDset of naming constraints. These constrains MAY also bedefinedincluded in self-signed certificates. Additional conditions that apply to thepolicy,certificates inorder to allow some time for 1)theend-entity to realize that a private key has beenpath MAY also be specified in the validation policy. For example, specific values for user-initial-policy-set, initial-policy-mapping-inhibit, initial-explicit-policy, or initial-any-policy-inhibit couldpossiblybecompromised, and for 2) the revocation Authorityprovided. Additional conditions that apply tomake availabletherevocation status information, e.g. by providingend-entity certificate MAY also be specified in the validation policy. For example, a specific name form, like anOCSP service, CRLs or delta-CRLse-mail address either incombination with full CRLs. Pinkas [Page 4] Internet Draft DPV&DPD-REQ November 2001 Whenthekey includedrfc822 subject alternative name or in thecertificate is for immediate use, it is not possible to apply a cautionary period and thus it should be realized that some risk is taken, sinceemailAddress naming attribute in thecorresponding private keysubject name, mightindeedbecompromised at the timerequired. In order to succeed, one valid certification path (i.e., none ofuse. Whenthekey includedcertificates in the path are expired or revoked) MUST be found between an end-entity certificateis forand a trust anchor and all constraints that apply to theverification of some usagecertification path MUST be verified. Validation policies support security services inthe past, then it is possibletwo time contexts: - for immediate use (e.g., toapply a cautionary period. In such a case,use thepolicy SHOULD indicatepublic key within a certificate for symmetric key management), or Pinkas [Page 4] Internet Draft DPV&DPD-REQ January 2002 - for aminimum delay to be observed between thetime T in thepast, i.e. when therecent past (e.g., to useoftheprivatepublic keytook was supposedwithin a certificate totake place,verify data origin authentication andthe time of the current verification. 5.1. Validation Policy A validation policyintegrity). There is an inevitable delay between asetcompromise ofrules against whichkey being noticed by thevalidationend-entity and the report of revocation being made by thecertificate is performed. A validation policy MAY include several trust anchors. A trust anchor is defined as one public key value (root key) for a givenCAname, valid during some time interval. The use(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 aself-signedcertificateallows to specifyat a time T never proves that thesame time: the publicprivate key corresponding tobe used, the CA name and the validity period of the root key. Additional constrains for each trust anchorthat certificate was not compromised at that time T. A validation policy MAYbe defined, such as a set of Certification Policy constraints andsupport aset of naming constraints. In some cases, these constrains MAY also be includedcautionary period inself-signed certificates. Additional conditions that applyorder to allow time for: 1) thecertificates from the chain, (e.g. user-initial-policy-set, initial-policy-mapping-inhibit, initial- explicit-policy, or initial-any-policy-inhibit) orend-entity tothe end- certificate (e.g. a name formrealize thatmust be present in the end- certificate, like an e-mail address either in the rfc822 subject alt nameone of its private keys has been orincould possibly be compromised, 2) theemailAddress attribute inend-entity to report thesubject name) MAY also be specified inkey compromise, 3) thevalidation policy. In orderrevocation authority tosucceed, one valid path (i.e. none ofprocess thecertificatesrevocation request from thepath must be revoked) must be found between a leaf certificate and a trust anchorend-entity, andall constraints that apply4) the revocation authority to make available the revocation status information, e.g. by providing an OCSP service, CRLs, or delta-CRLs in combination with full CRLs. When the public key within the certificatechain must be verified. 5.2. Path discovery policy A path discovery policyisa set of rules against which the discovery of a certification pathused immediately, it isperformed. A path discovery policy MAY either be a referencenot possible to apply avalidation policy or contain onlycautionary period, and thus, somemajor elements from a validation policy, e.g.risk is taken, since theroot keys tocorresponding private key might beused to constructcompromised at thepath. Pinkas [Page 5] Internet Draft DPV&DPD-REQ November 2001 Sincetime of use. When theclient MUST be "PKI aware",public key within the certificate is used to verify some usage from the recent past, itSHALL be ableis possible tolocallyapplyadditional constraints ona cautionary period to further reduce thecertification paths thatrisk. In such a case, the policy MAYbe returned. Thus "crude" (i.e. simpler) criteria can be defined and used in that case. The client needsindicate a minimum delay to beable to limitobserved between thenumbertime T in the past, i.e. when the use ofpathsthe private key took was supposed tobe returned so thattake place, and theserver does not loosetimeto find out more paths than requested. While making that limitation,of thereturned paths MAY notcurrent verification. When the end-entity certificate expires before the cautionary period terminates, then the end-entity certificate MUST beappropriateconsidered as invalid. According to section 3.3. Revocation from [PKIX-1] "An entry may be removed from theclient when it then locally applies additional tests. Instead of asking one byCRL after appearing on one regularly scheduled CRL issued beyond thepaths (which would mandate to manage staterevoked certificate's validity period", so in that case the revocation status information is not guaranteed to be available at theserver), the client will specify with every request the maximum numberend ofpaths that MAY be returned. If that number cannot be reached bytheserver, an indication SHOULD be returned bycautionary period. If certificates are not used close to theserver showing that an additional queryend of their validity period, then this situation will notreturn more paths. When that number is reached, and when more paths are needed,happen. This means thatnumber can be increased. Previously found paths will likelynew certificates should bereturned, butissued before theclient can easily discard them. This avoids to mandateend of themanagementvalidity period ofstate information attheserver, but does not preventcurrent certificate and with aserver to maintaintime interval greater than the cautionary period. Pinkas [Page 5] Internet Draft DPV&DPD-REQ January 2002 4.2. Path discovery policy A path discovery policy is acacheset ofprevious responses. 6.rules against which the discovery of a certification path is performed. A path discovery policy is a subset of a 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, such as the trust anchors. Since the client must be "PKI aware", it can locally apply additional constraints to the certification paths returned by the server. Thus, a "crude" (i.e. simpler) criteria can be defined and used for DPD. 5. Delegated Path Validation Protocol Requirements The Delegated Path Validation (DPV) protocol allows a server to validate one or morecertificate for the current time andcertificates according to asingle set of rules, called avalidation policy. A time other than the current time may be used to determine the validity. The validation policy SHALL be known by the DPV server.When it isn't, itThe validation policy MAY be defined using an additionalprotocolrequest/ response pair (see section10).10) prior to the DPV request. In this way clients only need to be aware of the reference of the validation policy to be used by a given application. The certificate to be validatedMAYMUST either be directly provided in the request oralternativelyan unambiguous referenceMAYMUST be provided,e.g.such as the CAname anddistinguished name, certificate serialnumber together withnumber, and the hash of thecertificatecertificate, like ESSCertID as defined inRFC 2634. In order to help the server, the[ESS] or OtherSigningCertificate as defined in [ES-F]. The clientMAYMUST be able to provide to the validationserverserver, associated with each certificate to be validated, "useful certificates", as well as "useful revocationinformation" that MAY be used by the validation server (e.g. ofinformation". Revocation information includes OCSPrequests, CRLs or delta-CRLs).responses, CRLs, and delta-CRLs. As an example, an S/MIME messagemaymight include suchinformationinformation, and the client can simplyprovidecopy thatinformation.information into the DPV request. In order to obtain the revocation status information of any certificate from the certification path, the DPV serverMAYmight use, in accordance with the validation policy, different sources of revocation information, e.g. a combination of OCSPrequests, CRLsresponses, CRLs, or delta-CRLs. If theclientDPV request does not specifyin its request thea validationpolicy to be used,policy, the server response MUST indicatein the responsethe one thathas beenwas used. In such a case, the clientMUSTmust verify that the onethat has beenselected by the server isappropriate for its use. Pinkas [Page 6] Internet Draft DPV&DPD-REQ November 2001appropriate. Thestatus of theDPV responseMAY beMUST indicate oneoutofthree types:four status alternatives: 1) the certificate is valid according to the validationpolicy,policy. 2) the certificate is definitively invalid according to the validationpolicy,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 validity of thecertificate (e.g.certificate. This condition will occur when a certification path cannot beconstructed).constructed or some revocation information is unavailable. The DPV request MUST allow the client to request the response to include the certification path and revocation status information used by the server to process the request. When requested, the server MUST include the certification path and revocation status information in the response when the certificate is valid according to the validation policy. However, the server MAY omit the certification path and revocation status information when the certificate is invalid or when it cannot determine the validity. In order to be able to be confident that the validation of the certificate has correctlybebeen done, the clientwillonlyrequirerequires an authenticated response.7. Delegated Path Discovery Protocol Requirements The Delegated Path Discovery (DPD) protocol allowsIn order for the client touse a single protocol towards a single serverprove tocollect at one time allanother party that trusts thedata elementssame DPV server thatmight be collected using different protocols (e.g. LDAP, DAP, OCSP) or by querying multiple servers. Then this information can locally be used to validate one or more certificates forthecurrent timecertificate validation was correct, the client requires a signed response. All the parameters needed to prove that the response conforms to the request SHALL be copied from the request into the response, so that a response is self-sufficient proof. The server may require client authentication. The authentication method to be used may be dependant upon the transport used, and thus the client authentication mechanism need not be an integral part of the DPV request. 6. Delegated Path Discovery Protocol Requirements The Delegated Path Discovery (DPD) protocol allows the client to use a single protocol towards a single server to collect at one time all the data elements that might be collected using different protocols (e.g. LDAP, DAP, OCSP) or by querying multiple servers, according to a single path discovery policy. Then returned information can be used to locally validate one or more certificates for the current time. Clients MUST be able to specify whether they want, in addition to the certification path, the revocation information associated with the path, for the end-entity certificate only, for the CA certificates only or for both. The path discovery policyMAYMUST be knowna prioriby the DPD server.When it isn't, itThe path discovery policy MAY defined using an additionalprotocolrequest/response pair (see section8). None, one7) prior to the DPD request. Pinkas [Page 7] Internet Draft DPV&DPD-REQ January 2002 The server response MUST include zero, one, or several certificationpaths MAY be returned.paths. Each path consists of a sequence of certificates, startingafterwith the certificate tovalidatebe validated and ending with one issued by a trust anchor. The trust anchor self-signedcertificate.certificate, if issued, is not included. In addition, the revocation information associated with each certificate in the pathMAYMUST also bereturned.returned, if it has been requested. Thepaths that are returned MAY needclient needs tomatch some additional local controls done bybe able to limit the number of paths returned. Therefore theclient, e.g. verifying some certificate extensions. TheclientMAYMUST be able to indicate the maximum number of certification paths thatMUSTSHOULD be returned (provided that theymaycan be found). If the number is not specified, that numberis defaulteddefaults to one. The paths that are returned may need to match some additional local controls done by the client, e.g. verifying some certificate extensions. The returned paths may not be appropriate to the client when it locally applies additional tests. Instead of asking one by one the paths (which would require state information at the server), the client specifies with every request the maximum number of paths to be returned. If that number cannot be reached by the server, an indication SHOULD be returned by the server showing that an additional query will not return more paths. If the paths that are returned do not match the local conditions, then the number of number of certification paths to be returned can be extended, by augmenting this value.The server may use a local cache to avoid to search again the same elements,Previously found paths will likely be returned, butis not mandated to maintain any localthe client can easily discard them. This avoids requirements for state information at the server, but does not prevent a server fromanymaintaining a cache of previousrequest.responses. The goal is to avoidto maintainthe maintenance of state informationonfor previous requests: if this is done, itoptimizes the response time.minimizes potential denial of service attacks or other problems associated with server crashes. Path discoveryisMUST be performed according to the path discovery policy.Pinkas [Page 7] Internet Draft DPV&DPD-REQ November 2001Thestatus of theDPD responseMAY beMUST indicate oneoutofthree types:four status alternatives: 1) one or more certification pathscould bewas found according to the path discovery policy, withpartial or fullall of the requested revocation information present. 2) one or more certification pathscould bewas found according to the path discovery policy, withnoa subset of the requested revocation information present. 3) one or more certification paths was found according to the path discovery policy, with none of the requested revocation information present. 4) no certification pathcould bewas found according to the pathvalidation criteria,discovery criteria. Pinkas [Page 8] Internet Draft DPV&DPD-REQ January 2002 The information that is returned consists of one or more certification paths and optionally its associated revocation status information for each element from the path.In order to be able to be confidentTo provide confidence that thevalues returned are comingresponse originates from theDPVDPD server, theclientserver MAYrequireprovide an authenticated response.8. Components for a validation policy A validation policy is build from four components: 1. Certificate chain requirements, 2. Revocation requirements, 3. End-certificate specific requirements, 4. optionally, a cautionary period requirements. 8.1. Certificate chainFor example, the server might sign the response. 7. Policy definition protocol (PDP) requirements Thecertificate requirements identifies a sequencesupport oftrust anchors usedthese 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 tostart (or end) certificationdefine a policy, i.e. a validation policy and/or a pathprocessingdiscovery policy, andinitial conditionsto receive back a reference forcertification path validation asthat policy. The server may provide a reference to a previously definedin [PKIX-1]. 8.2. Revocation Requirements Revocation information MAYpolicy, if it fulfills the request requirements. The policies locally defined at the server may beobtained through CRLs, delta-CRLs or OCSP responses. Certificate revocation requirements are specified both in termsmore 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 ofchecks required onpolicy. So, in practice, these request/response pairs will be restricted to theend-certificate (i.e.definition of relatively simple policies. Usually, these request/response pairs will be used by managers to register thecertificatepolicies to be used by ordinary clients, such as those within an organization forwhich a path is required) and on checks required on CA certificates. Ituse with various applications. Policy definition requests SHALL be able to be authenticated so that only authorized clients canthen specifiedregister policies. Policy definition response, if: - full CRLs (or full Authority revocation lists) have tosuccessful, SHALL return a policy reference. The policy reference MAY becollected, - OCSP responses, using RFC 2560, havespecific to the request, or it MAY becollected, - delta-CRLsa reference to a policy that has already been established and fulfills therelevant associated full CRLs (or full Authority revocation lists) arerequest requirements. It is up to server to decide how long a temporary defined policy will becollected. None, one or more ofmaintained. When a obtaining a policy reference from theabove conditions MAY apply. Pinkas [Page 8] Internet Draft DPV&DPD-REQ November 2001 8.3. End-certificate specific requirements There MAYserver, it would berequirements that apply onlyinteresting to consider providing natural language information about theend-certificate (i.e.purpose of thecertificate that ispolicy, rather than theobjecttechnical description of thequery). For example, the end-certificate must contain specific extensions with specific types or values (it does not matter whether theypolicy. When using DPV, there arecritical or non critical). As an example, the end-certificate must containtwo possibilities: a) The client is aname form like an e-mail address eitherlittle bit PKI-aware, in therfc822 subject alt name or insense that it is only able to parse theemailAddress attribute inend-entity certificate to check some properties of a certificate, and delegates thesubject name. 8.4. Cautionary period requirements When applicable,validation of thecautionary period will define a minimum delayrest of the path tobe observed between a time T inthepast, whereserver. It appears easier to remotely define such "partial policies" since some tests on the end- entity certificate are left to theuse ofclient. Pinkas [Page 9] Internet Draft DPV&DPD-REQ January 2002 b) The client is fully PKI-unaware, and thus fully delegates theprivate key orvalidation to thepublic key is supposedserver. It appears more difficult totake took place, andremotely define such "complete policies" since thetime oftests on thecurrent validation. 9.end- certificate are made by the server and may be quite complex. When using DPD, simpler validation policies may be defined since all DPD clients are fully PKI-aware. 8. Components for apath discoveryvalidation policy A validation policy is build from four components: 1. Certification pathdiscovery must include certificate chainrequirements,and MAY include revocation2. Revocation requirements,and end-certificate3. End-entity certificate specific requirements, 4. optionally, cautionary period requirements.10. Policy definition protocol (PDP) requirements The support of these request/response pairs is OPTIONAL. These request/response pairs allow either to define a policy, i.e. a validation policy and/or a path discovery policy, and to receive back a reference forNote: [ES-P] defines ASN.1 data elements thatpolicy or to provide a reference to a previously defined policy and to receive backmay be useful while defining thedefinitioncomponents ofthata validation policy.Policies locally predefined at the server may be more precise than policies defined using this optional protocol. Thus this OPTIONAL8.1. Certificate chain requirements The PDP protocolexchanges will never have allMUST allow theflexibilityclient todescribe any kindspecify certification path requirements. The path requirements identify a sequence ofpolicy. So in practice it will be restrictedtrust anchors used todefine relatively simple policies. Usually, thesestart certification path processing and initial conditions for certification path validation as defined in [PKIX-1]. 8.2. Revocation Requirements The PDP protocolexchanges will be used by managers to registerMUST allow thepoliciesclient to specify revocation checking requirements. Revocation information may beused, e.g. within an organization for various applications. As a resultobtained through CRLs, delta-CRLs or OCSP responses. Certificate revocation requirements are specified both in terms of checks required on theregistration, managers will receive a reference ofend-entity certificate (i.e. thepolicy. These requests SHALL be able to be authenticated so that only authorized clients can register policies (and thus avoid denial of service attacks by registering useless policies). The reference ofcertificate for which a path is required) and on checks required on CA certificates. Revocation requirements for thepolicy MAYend-entity certificate may not bespecific totherequest or MAY be a reference that has already been providedsame as theresult of a previous request withrequirements for the CA certificates. For example, anidentical definition. Pinkas [Page 9] Internet Draft DPV&DPD-REQ November 2001 It is up to server to decide how long a temporary defined policy willOCSP response may bekept. In case the policy is locally defined atneeded for theserver, when querying a policy reference, it wouldend-entity certificate while CRLs may beinterestingsufficient for the CA certificates. Therefore, the PDP protocol MUST allow the client toconsiderspecify separate requirements for the end-entity certificate and for the CA certificates. The PDP protocol MUST allow the client toprovide back information aboutspecify thepurposesource ofthe policyrevocation information, ina natural language. Whenparticular if : - full CRLs (or full Authority revocation lists) have to be collected, - OCSP responses, usingDPV, there[OCSP], have to be collected, - delta-CRLs and the relevant associated full CRLs (or full Authority revocation lists) aretwo possibilities: a)to be collected. Pinkas [Page 10] Internet Draft DPV&DPD-REQ January 2002 - any available revocation information has to be collected. 8.3. End-entity certificate specific requirements The PDP protocol MUST allow the clientis a little bit PKI-aware, in the senseto specify requirements thatit isapply onlyabletoparsetheend-certificate to check some properties inend-entity certificate (i.e. the certificate thatcertificate, and delegatesis thevalidationobject of therest ofquery). The client might require thepathend-entity certificate to contain specific extensions with specific types or values (it does not matter whether they are critical or non-critical). For example, theserver. It appears easier to remotely define such "partial policies" sinceclient might need an end-entity certificate that contains an electronic mail address (either in thetests onrfc822 subject alt name or in theend-certificate are left toemailAddress naming attribute in theclient. b)subject name). 8.4. Cautionary period requirements The PDP protocol SHALL allow the clientis fully PKI-unaware, and thus fully delegates theto specify a cautionary period for a validation policy. The cautionary period specifies a minimum delay to be observed between a time T in theserver. It appears more difficult to remotely define such "complete policies" sincerecent past, where thetests onuse of theend- certificate are made byprivate key or theserver and may be quite complex. When using DPD, simpler validation policies may be defined since anyway clients needpublic key is supposed to take place, and the time of the current validation. 9. Components for a path discovery policy The PDP protocol SHALL befully PKI-awareable todo other tests. 11.support certification path requirements and revocation requirements. It MAY support end-entity certificate specific requirements. These requirements are specified in sections 8.1, 8.2, and 8.3, respectively. 10. DPV versus DSV DPV performs the validation of a certificate against a policy, but does notreturnnecessarily provide all the informationallowingneeded to prove to someoneelse,else that is not trusting the same DPVserver,server that a digital signature from a signer was produced while the signer's certificate was valid.Another document [DSV-REQ] specifies requirements for aA Delegated Signature Validation (DSV) servicethat allows to fully delegate the validation of a digital signaturecould be specified toa DSV (Delegated Signature Validation) server. In particular, DSV allowsallow to prove later on to someone else, not trusting the same DSV server, thatthea digital signature was applied while the certificate was valid.12.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. Security considerations A clientmaymust trust a DPV server to provide therightcorrect answer. However, this does not mean that all clients will trust the same servers.Thus whileWhile a positive answerMAYmight be sufficient foraone client, that positive answer will not necessarilybe able toconvince another client.That otherPinkas [Page 11] Internet Draft DPV&DPD-REQ January 2002 Other clientswillmay trust their ownservers and will query them. Queries relative toservers, or they might perform certification path validation themselves. Clients operating under an organizational policy must ensure that each of thecurrent time can easily be done to another server. 13.servers they trust is operating under that organizational policy. 12. Acknowledgments These requirements have been refined after some valuable inputs from AmbarishMalpani, Russ HousleyMalpani and Paul Hoffman.Pinkas [Page 10] Internet Draft DPV&DPD-REQ November 2001 14.13. References[DSV-REQ] Delegated Signature Validation Protocol Requirements <draft-ietf-pkix-dsv-req-00.txt>[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.[TSP] Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). RFC 3161 C. Adams, P. Cain, D. Pinkas, R. Zuccherato. August 2001.[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. [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 [Page11]12] Internet Draft DPV&DPD-REQNovember 2001January 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. Authors'addressaddresses Denis Pinkas Integris, 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.com 15. Full Copyright Statement Copyright (C) The Internet Society (2001). 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 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 2002 This 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. Pinkas [Page12]14] ----