idnits 2.17.1 draft-hallambaker-ocspagility-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 15. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 260. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 271. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 278. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 284. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 1, 2007) is 6020 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2560 (Obsoleted by RFC 6960) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force P. Hallam-Baker 3 Internet-Draft VeriSign Inc 4 Intended status: Informational November 1, 2007 5 Expires: May 4, 2008 7 OCSP Algorithm Agility 8 draft-hallambaker-ocspagility-00 10 Status of this Memo 12 By submitting this Internet-Draft, each author represents that any 13 applicable patent or other IPR claims of which he or she is aware 14 have been or will be disclosed, and any of which he or she becomes 15 aware will be disclosed, in accordance with Section 6 of BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt. 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 This Internet-Draft will expire on May 4, 2008. 35 Copyright Notice 37 Copyright (C) The IETF Trust (2007). 39 Abstract 41 The behavior of an OCSP server is specified for cases in which the 42 OCSP server is capable of supporting more than one signature 43 algorithm. 45 Table of Contents 47 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 48 1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3 49 2. OCSP Algorithm Agility Requirements . . . . . . . . . . . . . . 3 50 3. Client Indication of Preferred Signature Algorithms . . . . . . 4 51 4. Responder Signature Algorithm Selection . . . . . . . . . . . . 4 52 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 53 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 54 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 55 7.1. Use of insecure algorithms . . . . . . . . . . . . . . . . 6 56 7.2. Man in the Middle Downgrade Attack . . . . . . . . . . . . 6 57 8. Normative References . . . . . . . . . . . . . . . . . . . . . 6 58 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6 59 Intellectual Property and Copyright Statements . . . . . . . . . . 7 61 1. Introduction 63 1.1. Requirements Language 65 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 66 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 67 document are to be interpreted as described in RFC 2119 [RFC2119]. 69 2. OCSP Algorithm Agility Requirements 71 OCSP RFC 2560 [RFC2560] defines a protocol for obtaining certificate 72 status information from an online service. A particular OCSP 73 protocol may or may not be provided by the CA that issued the 74 certificate whose status is being queried and may or may provide a 75 realtime indication of the certificate status or a time delayed 76 status indication. 78 RFC 2560 [RFC2560] requires the implementation but not the use of a 79 set of mandatory cryptographic algorithms. The OCSP protocol 80 provides a means for an OCSP responder to indicate the signature and 81 digest algorithms used in a response but not how that algorithm is to 82 be chosen or how the client might influence the choice of signature 83 algorithm. 85 In practice this approach has proved insufficient to ensure 86 interoperability of implementations, in particular when a transition 87 from the use of one cryptographic algorithm to another is in 88 progress. The mandatory cryptographic algorithms are the only ones 89 that a responder can expect a client to implement according to the 90 specification but this is a clearly unacceptable choice if a 91 different signing algorithm has been chosen for the certificate whose 92 status is being querried precisely because the mandatory algorithm is 93 not acceptably secure. 95 Although security concerns may lead to the use of a different signing 96 algorithm in a certificate there is little security advantage to be 97 used from using a stronger signing algorithm in an OCSP response than 98 in the certificate whose status is being reported. A possible 99 exception being in the case where a certificate issuer determines 100 that a certificate signing algorithm has become regarded as 101 unacceptably secure during the period of validity for a certificate 102 and thus requires a means of revoking the certificates that does not 103 depend on the compromised algorithm. 105 While use of a non-mandated signing algorithm is often motivated by 106 security concerns, this is not always the case: performance, key and 107 signature value sizes are also possible motivations. 109 In most cases an OCSP reponder may assume that the client is capable 110 of verifying any signature algorithm that is used in either the 111 certificate whose status is being verified or the certificate of the 112 OCSP responder. 114 There are however circumstances in which it may be desirable to use a 115 different form of signature or demonstration of authenticity for the 116 OCSP response. In a wireless application, the use of a signature 117 algorithm that provides a compact signature value such as DSA or ECC 118 might be desirable. 120 The introduction of delegated certificate path discovery and 121 validation (e.g. XKMS, SCVP) gives rise to further exceptions. A 122 certificate path discovery service may be required to establish a 123 certificate path for a public key algorithm that the discovery 124 service itself does not support. In many embedded applications a 125 relying party application may use an OCSP service to verify the 126 current status of a certificate that has previously (but not 127 necessarily contemporaneously) been subject to path validation by 128 another component in the system. 130 3. Client Indication of Preferred Signature Algorithms 132 A client MAY declare a preferred set of algorithms algorithms in a 133 request using the preferred signature algorithm extension. 135 id-pkix-ocsp-preferred-signature-algorithms OBJECT IDENTIFIER ::= { 136 id-pkix-ocsp x } PreferredSignatureAlgorithms ::= SEQUENCE { 137 Algorithms SEQUENCE OF AlgorithmIdentifier } 139 If a set of preferred signature algorithms is declared the client 140 MUST support each of the specified algorithms. 142 If a set of preferred algorithms is declared the OCSP responder 143 SHOULD use one of the specified signing algorithms. 145 4. Responder Signature Algorithm Selection 147 RFC 2560 [RFC2560] does not specify a mechanism for deciding the 148 signature algorithm to be used in an OCSP response. As previously 149 noted this does not provide a sufficient degree of certainty as to 150 the algorithm selected to guarantee interoperation. 152 A responder MAY maximize the potential for ensuring interoperability 153 by selecting the OCSP signature algorithm using the following order 154 of precedence where the first method has the highest precedence: 156 1. Using an algorithm specified as a preferred signing algorithm in 157 the client request. 159 2. Using the signing algorithm used to sign the CertID specified in 160 the query. 162 3. Using the signing algorithm used to sign a CRL issued by the 163 certificate issuer providing status information for the 164 certificate specified by CertID. 166 4. Using a signature algorithm that has been advertised as being the 167 default signature algorithm for the signing service using an out 168 of band mechanism 170 5. Using a mandatory signing algorithm specified for the version of 171 the OCSP protocol in use. 173 A responder SHOULD always apply the lowest numbered selection 174 mechanism that is known, supported and meets the responder's criteria 175 for cryptographic algorithm strength. 177 5. Acknowledgements 179 The author acknowleges the helpful comments made on earlier drafts of 180 this work by Santosh Chokhani and Stefan Santesson 182 6. IANA Considerations 184 Do we register ASN.1 OIDs with IANA? If not, why not? 186 7. Security Considerations 188 The mechanism used to choose the response signing algorithm MUST be 189 considered to be sufficiently secure against cryptanalytic attack for 190 the intended application. 192 In most applications it is sufficient for the signing algorithm to be 193 at least as secure as the signing algorithm used to sign the original 194 certificate whose status is being queried. This criteria may not 195 hold in long term archival applications however in which the status 196 of a certificate is being queried for a date in the distant past, 197 long after the signing algorithm has ceased being considered 198 trustworthy. 200 7.1. Use of insecure algorithms 202 The security of the signing algorithm used by the responder MUST take 203 precedence over all other considerations. A responder MUST NOT 204 generate a signature for a signing mechanism that is considered 205 unacceptably insecure regardless of the other circumstances. 207 In archival applications it is quite possible that an OCSP responder 208 might be asked to report the validity of a certificate on a date in 209 the distant past. Such a certificate might employ a signing method 210 that is no longer considered acceptably secure. In such 211 circumstances the responder MUST NOT generate a signature for a 212 signing mechanism that is considered unacceptably insecure. 214 A client MUST accept any signing algorithm in a response that it 215 specified as a preferred signing algorithm in the request. It 216 follows therefore that a client MUST NOT specify as a preferred 217 signing algorithm any signing algorithm that is either not supported 218 or not considered acceptably secure. 220 7.2. Man in the Middle Downgrade Attack 222 The mechanism to support client indication of preferred signature 223 algorithms is not protected against a man in the middle downgrade 224 attack. This constraint is not considered to be a significant 225 security concern as the client MUST NOT accept any signing algorithm 226 that does not meet its own criteria for acceptable cryptographic 227 security no matter what mechanism is used to determine the signing 228 algorithm of the response. 230 8. Normative References 232 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 233 Requirement Levels", BCP 14, RFC 2119, March 1997. 235 [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C. 236 Adams, "X.509 Internet Public Key Infrastructure Online 237 Certificate Status Protocol - OCSP", RFC 2560, June 1999. 239 Author's Address 241 Phillip Hallam-Baker 242 VeriSign Inc 244 Email: pbaker@verisign.com 246 Full Copyright Statement 248 Copyright (C) The IETF Trust (2007). 250 This document is subject to the rights, licenses and restrictions 251 contained in BCP 78, and except as set forth therein, the authors 252 retain all their rights. 254 This document and the information contained herein are provided on an 255 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 256 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 257 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 258 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 259 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 260 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 262 Intellectual Property 264 The IETF takes no position regarding the validity or scope of any 265 Intellectual Property Rights or other rights that might be claimed to 266 pertain to the implementation or use of the technology described in 267 this document or the extent to which any license under such rights 268 might or might not be available; nor does it represent that it has 269 made any independent effort to identify any such rights. Information 270 on the procedures with respect to rights in RFC documents can be 271 found in BCP 78 and BCP 79. 273 Copies of IPR disclosures made to the IETF Secretariat and any 274 assurances of licenses to be made available, or the result of an 275 attempt made to obtain a general license or permission for the use of 276 such proprietary rights by implementers or users of this 277 specification can be obtained from the IETF on-line IPR repository at 278 http://www.ietf.org/ipr. 280 The IETF invites any interested party to bring to its attention any 281 copyrights, patents or patent applications, or other proprietary 282 rights that may cover technology that may be required to implement 283 this standard. Please address the information to the IETF at 284 ietf-ipr@ietf.org. 286 Acknowledgment 288 Funding for the RFC Editor function is provided by the IETF 289 Administrative Support Activity (IASA).