Algorithms for Internet Key Exchange version 1 (IKEv1)
RFC 4109

Document Type RFC - Proposed Standard (May 2005; No errata)
Updates RFC 2409
Was draft-hoffman-ikev1-algorithms (individual in sec area)
Last updated 2015-10-14
Stream IETF
Formats plain text pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 4109 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD Russ Housley
Send notices to (None)
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.

Hoffman                     Standards Track                     [Page 1]
RFC 4109                  Algorithms for IKEv1                  May 2005

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.

Hoffman                     Standards Track                     [Page 2]
RFC 4109                  Algorithms for IKEv1                  May 2005

   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)
Show full document text