idnits 2.17.1 draft-hallambaker-ocspagility-01.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 251. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 262. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 269. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 275. 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 : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) 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 (July 2, 2008) is 5775 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2560 (Obsoleted by RFC 6960) Summary: 3 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 July 2, 2008 5 Expires: January 3, 2009 7 OCSP Algorithm Agility 8 draft-hallambaker-ocspagility-01 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 January 3, 2009. 35 Abstract 37 The behavior of an OCSP server is specified for cases in which the 38 OCSP server is capable of supporting more than one signature 39 algorithm. 41 Table of Contents 43 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 44 1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3 45 2. OCSP Algorithm Agility Requirements . . . . . . . . . . . . . . 3 46 3. Client Indication of Preferred Signature Algorithms . . . . . . 4 47 4. Responder Signature Algorithm Selection . . . . . . . . . . . . 4 48 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 49 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 50 6.1. Use of insecure algorithms . . . . . . . . . . . . . . . . 5 51 6.2. Man in the Middle Downgrade Attack . . . . . . . . . . . . 6 52 7. Normative References . . . . . . . . . . . . . . . . . . . . . 6 53 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6 54 Intellectual Property and Copyright Statements . . . . . . . . . . 7 56 1. Introduction 58 1.1. Requirements Language 60 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 61 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 62 document are to be interpreted as described in RFC 2119 [RFC2119]. 64 2. OCSP Algorithm Agility Requirements 66 OCSP RFC 2560 [RFC2560] defines a protocol for obtaining certificate 67 status information from an online service. A particular OCSP 68 protocol may or may not be provided by the CA that issued the 69 certificate whose status is being queried and may or may provide a 70 realtime indication of the certificate status or a time delayed 71 status indication. 73 RFC 2560 [RFC2560] requires the implementation but not the use of a 74 set of mandatory cryptographic algorithms. The OCSP protocol 75 provides a means for an OCSP responder to indicate the signature and 76 digest algorithms used in a response but not how that algorithm is to 77 be chosen or how the client might influence the choice of signature 78 algorithm. 80 In practice this approach has proved insufficient to ensure 81 interoperability of implementations, in particular when a transition 82 from the use of one cryptographic algorithm to another is in 83 progress. The mandatory cryptographic algorithms are the only ones 84 that a responder can expect a client to implement according to the 85 specification but this is a clearly unacceptable choice if a 86 different signing algorithm has been chosen for the certificate whose 87 status is being querried precisely because the mandatory algorithm is 88 not acceptably secure. 90 Although security concerns may lead to the use of a different signing 91 algorithm in a certificate there is little security advantage to be 92 used from using a stronger signing algorithm in an OCSP response than 93 in the certificate whose status is being reported. A possible 94 exception being in the case where a certificate issuer determines 95 that a certificate signing algorithm has become regarded as 96 unacceptably secure during the period of validity for a certificate 97 and thus requires a means of revoking the certificates that does not 98 depend on the compromised algorithm. 100 While use of a non-mandated signing algorithm is often motivated by 101 security concerns, this is not always the case: performance, key and 102 signature value sizes are also possible motivations. 104 In most cases an OCSP reponder may assume that the client is capable 105 of verifying any signature algorithm that is used in either the 106 certificate whose status is being verified or the certificate of the 107 OCSP responder. 109 There are however circumstances in which it may be desirable to use a 110 different form of signature or demonstration of authenticity for the 111 OCSP response. In a wireless application, the use of a signature 112 algorithm that provides a compact signature value such as DSA or ECC 113 might be desirable. 115 The introduction of delegated certificate path discovery and 116 validation (e.g. XKMS, SCVP) gives rise to further exceptions. A 117 certificate path discovery service may be required to establish a 118 certificate path for a public key algorithm that the discovery 119 service itself does not support. In many embedded applications a 120 relying party application may use an OCSP service to verify the 121 current status of a certificate that has previously (but not 122 necessarily contemporaneously) been subject to path validation by 123 another component in the system. 125 3. Client Indication of Preferred Signature Algorithms 127 A client MAY declare a preferred set of algorithms algorithms in a 128 request using the preferred signature algorithm extension. 130 id-pkix-ocsp-preferred-signature-algorithms OBJECT IDENTIFIER ::= { 131 id-pkix-ocsp x } PreferredSignatureAlgorithms ::= SEQUENCE { 132 Algorithms SEQUENCE OF AlgorithmIdentifier } 134 If a set of preferred signature algorithms is declared the client 135 MUST support each of the specified algorithms. 137 If a set of preferred algorithms is declared the OCSP responder 138 SHOULD use one of the specified signing algorithms. 140 4. Responder Signature Algorithm Selection 142 RFC 2560 [RFC2560] does not specify a mechanism for deciding the 143 signature algorithm to be used in an OCSP response. As previously 144 noted this does not provide a sufficient degree of certainty as to 145 the algorithm selected to guarantee interoperation. 147 A responder MAY maximize the potential for ensuring interoperability 148 by selecting the OCSP signature algorithm using the following order 149 of precedence where the first method has the highest precedence: 151 1. Using an algorithm specified as a preferred signing algorithm in 152 the client request. 154 2. Using the signing algorithm used to sign the CertID specified in 155 the query. 157 3. Using the signing algorithm used to sign a CRL issued by the 158 certificate issuer providing status information for the 159 certificate specified by CertID. 161 4. Using a signature algorithm that has been advertised as being the 162 default signature algorithm for the signing service using an out 163 of band mechanism 165 5. Using a mandatory signing algorithm specified for the version of 166 the OCSP protocol in use. 168 A responder SHOULD always apply the lowest numbered selection 169 mechanism that is known, supported and meets the responder's criteria 170 for cryptographic algorithm strength. 172 5. Acknowledgements 174 The author acknowleges the helpful comments made on earlier drafts of 175 this work by Santosh Chokhani and Stefan Santesson 177 6. Security Considerations 179 The mechanism used to choose the response signing algorithm MUST be 180 considered to be sufficiently secure against cryptanalytic attack for 181 the intended application. 183 In most applications it is sufficient for the signing algorithm to be 184 at least as secure as the signing algorithm used to sign the original 185 certificate whose status is being queried. This criteria may not 186 hold in long term archival applications however in which the status 187 of a certificate is being queried for a date in the distant past, 188 long after the signing algorithm has ceased being considered 189 trustworthy. 191 6.1. Use of insecure algorithms 193 The security of the signing algorithm used by the responder MUST take 194 precedence over all other considerations. A responder MUST NOT 195 generate a signature for a signing mechanism that is considered 196 unacceptably insecure regardless of the other circumstances. 198 In archival applications it is quite possible that an OCSP responder 199 might be asked to report the validity of a certificate on a date in 200 the distant past. Such a certificate might employ a signing method 201 that is no longer considered acceptably secure. In such 202 circumstances the responder MUST NOT generate a signature for a 203 signing mechanism that is considered unacceptably insecure. 205 A client MUST accept any signing algorithm in a response that it 206 specified as a preferred signing algorithm in the request. It 207 follows therefore that a client MUST NOT specify as a preferred 208 signing algorithm any signing algorithm that is either not supported 209 or not considered acceptably secure. 211 6.2. Man in the Middle Downgrade Attack 213 The mechanism to support client indication of preferred signature 214 algorithms is not protected against a man in the middle downgrade 215 attack. This constraint is not considered to be a significant 216 security concern as the client MUST NOT accept any signing algorithm 217 that does not meet its own criteria for acceptable cryptographic 218 security no matter what mechanism is used to determine the signing 219 algorithm of the response. 221 7. Normative References 223 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 224 Requirement Levels", BCP 14, RFC 2119, March 1997. 226 [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C. 227 Adams, "X.509 Internet Public Key Infrastructure Online 228 Certificate Status Protocol - OCSP", RFC 2560, June 1999. 230 Author's Address 232 Phillip Hallam-Baker 233 VeriSign Inc 235 Email: pbaker@verisign.com 237 Full Copyright Statement 239 Copyright (C) The IETF Trust (2008). 241 This document is subject to the rights, licenses and restrictions 242 contained in BCP 78, and except as set forth therein, the authors 243 retain all their rights. 245 This document and the information contained herein are provided on an 246 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 247 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 248 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 249 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 250 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 251 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 253 Intellectual Property 255 The IETF takes no position regarding the validity or scope of any 256 Intellectual Property Rights or other rights that might be claimed to 257 pertain to the implementation or use of the technology described in 258 this document or the extent to which any license under such rights 259 might or might not be available; nor does it represent that it has 260 made any independent effort to identify any such rights. Information 261 on the procedures with respect to rights in RFC documents can be 262 found in BCP 78 and BCP 79. 264 Copies of IPR disclosures made to the IETF Secretariat and any 265 assurances of licenses to be made available, or the result of an 266 attempt made to obtain a general license or permission for the use of 267 such proprietary rights by implementers or users of this 268 specification can be obtained from the IETF on-line IPR repository at 269 http://www.ietf.org/ipr. 271 The IETF invites any interested party to bring to its attention any 272 copyrights, patents or patent applications, or other proprietary 273 rights that may cover technology that may be required to implement 274 this standard. Please address the information to the IETF at 275 ietf-ipr@ietf.org.