IKEv1 Algorithms: Algorithms for Internet Key Exchange version 1 (IKEv1)
Replaces the old must-support algorithm list for IKEv1 with one that drops weak choices and adds AES.
Hoffman, P., "Algorithms for Internet Key Exchange version 1 (IKEv1)", RFC 4109, DOI 10.17487/RFC4109, May 2005, <https://www.rfc-editor.org/info/rfc4109>.
@misc{rfc4109,
series = {Request for Comments},
number = 4109,
howpublished = {RFC 4109},
publisher = {RFC Editor},
doi = {10.17487/RFC4109},
url = {https://www.rfc-editor.org/info/rfc4109},
author = {P. Hoffman},
title = {{Algorithms for Internet Key Exchange version 1 (IKEv1)}},
pagetotal = 5,
year = 2005,
month = may,
} RFC text
Contents
Network Working Group P. Hoffman
Request for Comments: 4109 VPN Consortium
Updates: 2409 May 2005
Category: Standards Track
Algorithms for Internet Key Exchange version 1 (IKEv1)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
The required and suggested algorithms in the original Internet Key
Exchange version 1 (IKEv1) specification do not reflect the current
reality of the IPsec market requirements. The original specification
allows weak security and suggests algorithms that are thinly
implemented. This document updates RFC 2409, the original
specification, and is intended for all IKEv1 implementations deployed
today.
1. Introduction
The original IKEv1 definition, [RFC2409], has a set of MUST-level and
SHOULD-level requirements that do not match the needs of IPsec users.
This document updates RFC 2409 by changing the algorithm requirements
defined there.
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in [RFC2119].
2. Old Algorithm Requirements
RFC 2409 has the following MUST-level and SHOULD-level requirements:
o DES for encryption MUST be supported.
o MD5 and SHA-1 for hashing and HMAC functions MUST be supported.
o Pre-shared secrets for authentication MUST be supported.
o Diffie-Hellman MODP group 1 (discrete log 768 bits) MUST be
supported.
o TripleDES for encryption SHOULD be supported.
o Tiger for hashing SHOULD be supported.
o DSA and RSA for authentication with signatures SHOULD be
supported.
o RSA for authentication with encryption SHOULD be supported.
o Diffie-Hellman MODP group 2 (discrete log 1024 bits) SHOULD be
supported.
RFC 2409 gives two conflicting requirement levels for Diffie-Hellman
MODP groups with elliptic curves. Section 4 of that specification
says that "IKE implementations ... MAY support ECP and EC2N groups",
but Sections 6.3 and 6.4 say that MODP groups 3 and 4 for EC2N groups
SHOULD be supported.
3. New Algorithm Requirements
The new requirements for IKEv1 are listed here. Note that some of
the requirements are the same as those in RFC 2409, whereas others
are changed.
o TripleDES for encryption MUST be supported.
o AES-128 in CBC mode [RFC3602] for encryption SHOULD be supported.
o SHA-1 for hashing and HMAC functions MUST be supported.
o Pre-shared secrets for authentication MUST be supported.
o AES-128 in XCBC mode for PRF functions ([RFC3566] and [RFC3664])
SHOULD be supported.
o Diffie-Hellman MODP group 2 (discrete log 1024 bits) MUST be
supported.
o Diffie-Hellman MODP group 14 (discrete log 2048 bits) [RFC3526]
SHOULD be supported.
o RSA for authentication with signatures SHOULD be supported.
If additional updates are made to IKEv1 in the future, then it is
very likely that implementation of AES-128 in CBC mode for encryption
will become mandatory.
The other algorithms that were listed at MUST-level and SHOULD-level
in RFC 2409 are now MAY-level. This includes DES for encryption, MD5
and Tiger for hashing, Diffie-Hellman MODP group 1, Diffie-Hellman
MODP groups with elliptic curves, DSA for authentication with
signatures, and RSA for authentication with encryption.
DES for encryption, MD5 for hashing, and Diffie-Hellman MODP group 1
are dropped to MAY due to cryptographic weakness.
Tiger for hashing, Diffie-Hellman MODP groups with elliptic curves,
DSA for authentication with signatures, and RSA for authentication
with encryption are dropped due to lack of any significant deployment
and interoperability.
4. Summary
Algorithm RFC 2409 This document
------------------------------------------------------------------
DES for encryption MUST MAY (crypto weakness)
TripleDES for encryption SHOULD MUST
AES-128 for encryption N/A SHOULD
MD5 for hashing and HMAC MUST MAY (crypto weakness)
SHA1 for hashing and HMAC MUST MUST
Tiger for hashing SHOULD MAY (lack of deployment)
AES-XCBC-MAC-96 for PRF N/A SHOULD
Pre-shared secrets MUST MUST
RSA with signatures SHOULD SHOULD
DSA with signatures SHOULD MAY (lack of deployment)
RSA with encryption SHOULD MAY (lack of deployment)
D-H Group 1 (768) MUST MAY (crypto weakness)
D-H Group 2 (1024) SHOULD MUST
D-H Group 14 (2048) N/A SHOULD
D-H elliptic curves SHOULD MAY (lack of deployment)
5. Security Considerations
This document is all about security. All the algorithms that are
either MUST-level or SHOULD-level in the "new algorithm requirements"
section of this document are believed to be robust and secure at the
time of this writing.
6. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
(IKE)", RFC 2409, November 1998.
[RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP)
Diffie-Hellman groups for Internet Key Exchange (IKE)",
RFC 3526, May 2003.
[RFC3566] Frankel, S. and H. Herbert, "The AES-XCBC-MAC-96 Algorithm
and Its Use With IPsec", RFC 3566, September 2003.
[RFC3602] Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC Cipher
Algorithm and Its Use with IPsec", RFC 3602, September
2003.
[RFC3664] Hoffman, P., "The AES-XCBC-PRF-128 Algorithm for the
Internet Key Exchange Protocol (IKE)", RFC 3664, January
2004.
Author's Address
Paul Hoffman
VPN Consortium
127 Segre Place
Santa Cruz, CA 95060
US
EMail: paul.hoffman@vpnc.org
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Why Update RFC 2409
The original IKEv1 definition, RFC 2409, has MUST-level and SHOULD-level requirements that do not match the needs of IPsec users. This document updates it by changing the algorithm requirements, and it is intended for all IKEv1 implementations deployed today.
The old list of required tools no longer matched what people needed, so this document rewrites it.
§2Old and New Requirements
Under RFC 2409, DES for encryption, MD5 and SHA-1 for hashing, pre-shared secrets and Diffie-Hellman MODP group 1 (768 bits) were MUST. TripleDES, Tiger, DSA and RSA signatures, RSA encryption and MODP group 2 (1024 bits) were SHOULD. RFC 2409 also gave conflicting levels for elliptic-curve groups.
The new MUST list is TripleDES for encryption, SHA-1 for hashing and HMAC, pre-shared secrets, and Diffie-Hellman MODP group 2 (1024 bits). The new SHOULD list is AES-128 in CBC mode, AES-128 in XCBC mode for PRF functions, MODP group 14 (2048 bits) and RSA for signatures.
The new list says which locks every handshake must know, and which extra, stronger locks it should know.
| Algorithm | RFC 2409 | RFC 4109 |
|---|---|---|
| DES for encryption | MUST | MAY |
| TripleDES for encryption | SHOULD | MUST |
| AES-128 for encryption | N/A | SHOULD |
| MD5 for hashing and HMAC | MUST | MAY |
| SHA1 for hashing and HMAC | MUST | MUST |
| Tiger for hashing | SHOULD | MAY |
| AES-XCBC-MAC-96 for PRF | N/A | SHOULD |
| Pre-shared secrets | MUST | MUST |
| RSA with signatures | SHOULD | SHOULD |
| DSA with signatures | SHOULD | MAY |
| RSA with encryption | SHOULD | MAY |
| D-H Group 1 (768) | MUST | MAY |
| D-H Group 2 (1024) THIS RFC | SHOULD | MUST |
| D-H Group 14 (2048) | N/A | SHOULD |
| D-H elliptic curves | SHOULD | MAY |
§3What Was Dropped and Why
DES, MD5 and MODP group 1 drop to MAY because of cryptographic weakness. Tiger, elliptic-curve MODP groups, DSA signatures and RSA with encryption drop to MAY because of a lack of significant deployment and interoperability.
The memo also says that if more updates to IKEv1 are made, AES-128 in CBC mode will very likely become mandatory.
Some old tools were weak, and others almost nobody used. Both kinds were moved to 'optional'.
§4Security Considerations
The RFC says the whole document is about security. All the algorithms at MUST or SHOULD level in the new requirements are believed to be robust and secure at the time of writing.
The tools on the new required list were thought to be strong when it was written.