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