1 2 3 4 5 6Network Working Group P. Hoffman 7Request for Comments: 4109 VPN Consortium 8Updates: 2409 May 2005 9Category: Standards Track 10 11 12 Algorithms for Internet Key Exchange version 1 (IKEv1) 13 14Status of This Memo 15 16 This document specifies an Internet standards track protocol for the 17 Internet community, and requests discussion and suggestions for 18 improvements. Please refer to the current edition of the "Internet 19 Official Protocol Standards" (STD 1) for the standardization state 20 and status of this protocol. Distribution of this memo is unlimited. 21 22Copyright Notice 23 24 Copyright (C) The Internet Society (2005). 25 26Abstract 27 28 The required and suggested algorithms in the original Internet Key 29 Exchange version 1 (IKEv1) specification do not reflect the current 30 reality of the IPsec market requirements. The original specification 31 allows weak security and suggests algorithms that are thinly 32 implemented. This document updates RFC 2409, the original 33 specification, and is intended for all IKEv1 implementations deployed 34 today. 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57Hoffman Standards Track [Page 1] 58 59RFC 4109 Algorithms for IKEv1 May 2005 60 61 621. Introduction 63 64 The original IKEv1 definition, [RFC2409], has a set of MUST-level and 65 SHOULD-level requirements that do not match the needs of IPsec users. 66 This document updates RFC 2409 by changing the algorithm requirements 67 defined there. 68 69 The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, 70 SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this 71 document, are to be interpreted as described in [RFC2119]. 72 732. Old Algorithm Requirements 74 75 RFC 2409 has the following MUST-level and SHOULD-level requirements: 76 77 o DES for encryption MUST be supported. 78 o MD5 and SHA-1 for hashing and HMAC functions MUST be supported. 79 o Pre-shared secrets for authentication MUST be supported. 80 o Diffie-Hellman MODP group 1 (discrete log 768 bits) MUST be 81 supported. 82 o TripleDES for encryption SHOULD be supported. 83 o Tiger for hashing SHOULD be supported. 84 o DSA and RSA for authentication with signatures SHOULD be 85 supported. 86 o RSA for authentication with encryption SHOULD be supported. 87 o Diffie-Hellman MODP group 2 (discrete log 1024 bits) SHOULD be 88 supported. 89 90 RFC 2409 gives two conflicting requirement levels for Diffie-Hellman 91 MODP groups with elliptic curves. Section 4 of that specification 92 says that "IKE implementations ... MAY support ECP and EC2N groups", 93 but Sections 6.3 and 6.4 say that MODP groups 3 and 4 for EC2N groups 94 SHOULD be supported. 95 963. New Algorithm Requirements 97 98 The new requirements for IKEv1 are listed here. Note that some of 99 the requirements are the same as those in RFC 2409, whereas others 100 are changed. 101 102 o TripleDES for encryption MUST be supported. 103 o AES-128 in CBC mode [RFC3602] for encryption SHOULD be supported. 104 o SHA-1 for hashing and HMAC functions MUST be supported. 105 o Pre-shared secrets for authentication MUST be supported. 106 o AES-128 in XCBC mode for PRF functions ([RFC3566] and [RFC3664]) 107 SHOULD be supported. 108 o Diffie-Hellman MODP group 2 (discrete log 1024 bits) MUST be 109 supported. 110 111 112 113Hoffman Standards Track [Page 2] 114 115RFC 4109 Algorithms for IKEv1 May 2005 116 117 118 o Diffie-Hellman MODP group 14 (discrete log 2048 bits) [RFC3526] 119 SHOULD be supported. 120 o RSA for authentication with signatures SHOULD be supported. 121 122 If additional updates are made to IKEv1 in the future, then it is 123 very likely that implementation of AES-128 in CBC mode for encryption 124 will become mandatory. 125 126 The other algorithms that were listed at MUST-level and SHOULD-level 127 in RFC 2409 are now MAY-level. This includes DES for encryption, MD5 128 and Tiger for hashing, Diffie-Hellman MODP group 1, Diffie-Hellman 129 MODP groups with elliptic curves, DSA for authentication with 130 signatures, and RSA for authentication with encryption. 131 132 DES for encryption, MD5 for hashing, and Diffie-Hellman MODP group 1 133 are dropped to MAY due to cryptographic weakness. 134 135 Tiger for hashing, Diffie-Hellman MODP groups with elliptic curves, 136 DSA for authentication with signatures, and RSA for authentication 137 with encryption are dropped due to lack of any significant deployment 138 and interoperability. 139 1404. Summary 141 142 Algorithm RFC 2409 This document 143 ------------------------------------------------------------------ 144 DES for encryption MUST MAY (crypto weakness) 145 TripleDES for encryption SHOULD MUST 146 AES-128 for encryption N/A SHOULD 147 MD5 for hashing and HMAC MUST MAY (crypto weakness) 148 SHA1 for hashing and HMAC MUST MUST 149 Tiger for hashing SHOULD MAY (lack of deployment) 150 AES-XCBC-MAC-96 for PRF N/A SHOULD 151 Pre-shared secrets MUST MUST 152 RSA with signatures SHOULD SHOULD 153 DSA with signatures SHOULD MAY (lack of deployment) 154 RSA with encryption SHOULD MAY (lack of deployment) 155 D-H Group 1 (768) MUST MAY (crypto weakness) 156 D-H Group 2 (1024) SHOULD MUST 157 D-H Group 14 (2048) N/A SHOULD 158 D-H elliptic curves SHOULD MAY (lack of deployment) 159 1605. Security Considerations 161 162 This document is all about security. All the algorithms that are 163 either MUST-level or SHOULD-level in the "new algorithm requirements" 164 section of this document are believed to be robust and secure at the 165 time of this writing. 166 167 168 169Hoffman Standards Track [Page 3] 170 171RFC 4109 Algorithms for IKEv1 May 2005 172 173 1746. Normative References 175 176 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 177 Requirement Levels", BCP 14, RFC 2119, March 1997. 178 179 [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange 180 (IKE)", RFC 2409, November 1998. 181 182 [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP) 183 Diffie-Hellman groups for Internet Key Exchange (IKE)", 184 RFC 3526, May 2003. 185 186 [RFC3566] Frankel, S. and H. Herbert, "The AES-XCBC-MAC-96 Algorithm 187 and Its Use With IPsec", RFC 3566, September 2003. 188 189 [RFC3602] Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC Cipher 190 Algorithm and Its Use with IPsec", RFC 3602, September 191 2003. 192 193 [RFC3664] Hoffman, P., "The AES-XCBC-PRF-128 Algorithm for the 194 Internet Key Exchange Protocol (IKE)", RFC 3664, January 195 2004. 196 197Author's Address 198 199 Paul Hoffman 200 VPN Consortium 201 127 Segre Place 202 Santa Cruz, CA 95060 203 US 204 205 EMail: paul.hoffman@vpnc.org 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225Hoffman Standards Track [Page 4] 226 227RFC 4109 Algorithms for IKEv1 May 2005 228 229 230Full Copyright Statement 231 232 Copyright (C) The Internet Society (2005). 233 234 This document is subject to the rights, licenses and restrictions 235 contained in BCP 78, and except as set forth therein, the authors 236 retain all their rights. 237 238 This document and the information contained herein are provided on an 239 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 240 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 241 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 242 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 243 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 244 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 245 246Intellectual Property 247 248 The IETF takes no position regarding the validity or scope of any 249 Intellectual Property Rights or other rights that might be claimed to 250 pertain to the implementation or use of the technology described in 251 this document or the extent to which any license under such rights 252 might or might not be available; nor does it represent that it has 253 made any independent effort to identify any such rights. Information 254 on the procedures with respect to rights in RFC documents can be 255 found in BCP 78 and BCP 79. 256 257 Copies of IPR disclosures made to the IETF Secretariat and any 258 assurances of licenses to be made available, or the result of an 259 attempt made to obtain a general license or permission for the use of 260 such proprietary rights by implementers or users of this 261 specification can be obtained from the IETF on-line IPR repository at 262 http://www.ietf.org/ipr. 263 264 The IETF invites any interested party to bring to its attention any 265 copyrights, patents or patent applications, or other proprietary 266 rights that may cover technology that may be required to implement 267 this standard. Please address the information to the IETF at ietf- 268 ipr@ietf.org. 269 270Acknowledgement 271 272 Funding for the RFC Editor function is currently provided by the 273 Internet Society. 274 275 276 277 278 279 280 281Hoffman Standards Track [Page 5] 282 283