IPsec Roadmap: IP Security Document Roadmap
A guide to organizing new encryption and authentication algorithm documents for IPsec.
Thayer, R., Doraswamy, N., and R. Glenn, "IP Security Document Roadmap", RFC 2411, DOI 10.17487/RFC2411, November 1998, <https://www.rfc-editor.org/info/rfc2411>.
@misc{rfc2411,
series = {Request for Comments},
number = 2411,
howpublished = {RFC 2411},
publisher = {RFC Editor},
doi = {10.17487/RFC2411},
url = {https://www.rfc-editor.org/info/rfc2411},
author = {R. Thayer and N. Doraswamy and R. Glenn},
title = {{IP Security Document Roadmap}},
pagetotal = 11,
year = 1998,
month = nov,
} RFC text
Contents
Network Working Group R. Thayer
Request for Comments: 2411 Sable Technology Corporation
Category: Informational N. Doraswamy
Bay Networks
R. Glenn
NIST
November 1998
IP Security
Document Roadmap
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract
The IPsec protocol suite is used to provide privacy and
authentication services at the IP layer. Several documents are used
to describe this protocol suite. The interrelationship and
organization of the various documents covering the IPsec protocol are
discussed here. An explanation of what to find in which document,
and what to include in new Encryption Algorithm and Authentication
Algorithm documents are described.
Table of Contents
1. Introduction ................................................2
2. Interrelationship of IPsec Documents ........................2
3. Keying Material .............................................4
4. Recommended Content of Algorithm Documents ..................5
4.1 Encryption and Authentication Algorithms ...................5
4.2 Encryption Algorithms ......................................6
4.3 Authentication Algorithms ..................................7
5. Security Considerations .....................................8
6. Acknowledgments .............................................8
7. References ..................................................9
8. Authors' Addresses .........................................10
9. Full Copyright Statement ...................................11
1. Introduction
This document is intended to provide guidelines for the development
of collateral specifications describing the use of new encryption and
authentication algorithms with the ESP protocol, described in [ESP]
and new authentication algorithms used with the AH protocol,
described in [AH]. ESP and AH are part of the IP Security
architecture described in [Arch]. There is a requirement for a
well-known procedure that can be used to add new encryption
algorithms or authentication algorithms to ESP and AH, not only while
the initial document set is undergoing development but after the base
documents have achieved RFC status. Following the guidelines
discussed below simplifies adding new algorithms and reduces that
amount of redundant documentation.
The goal in writing a new Encryption Algorithm or Authentication
Algorithm document is to concentrate on the application of the
specific algorithm within ESP and AH. General ESP and AH concepts,
definitions, and issues are covered in the ESP and AH documents. The
algorithms themselves are not described in these documents. This
gives us the capability to add new algorithms and also specify how
any given algorithm might interact with other algorithms. The intent
is to achieve the goal of avoiding duplication of information and
excessive numbers of documents, the so-called "draft explosion"
effect.
2. Interrelationship of IPsec Documents
The documents describing the set of IPsec protocols are divided into
seven groups. This is illustrated in Figure 1. There is a main
Architecture document which broadly covers the general concepts,
security requirements, definitions, and mechanisms defining IPsec
technology.
There is an ESP Protocol document and an AH Protocol document which
covers the packet format and general issues regarding the respective
protocols. These protocol documents also contain default values if
appropriate, such as the default padding contents, and mandatory to
implement algorithms. These documents dictate some of the values in
the Domain Of Interpretation document [DOI]. Note the DOI document
is itself part of the IANA Assigned Numbers mechanism and so the
values described in the DOI are well-known. See [DOI] for more
information on the mechanism.
The "Encryption Algorithm" document set, shown on the left, is the
set of documents describing how various encryption algorithms are
used for ESP. These documents are intended to fit in this roadmap,
and should avoid overlap with the ESP protocol document and with the
Authentication Algorithm documents. Examples of this document are
the [DES-Detroit] and [CBC] documents. When these or other
encryption algorithms are used for ESP, the DOI document has to
indicate certain values, such as an encryption algorithm identifier,
so these documents provide input to the DOI.
The "Authentication Algorithm" document set, shown on the right, is
the set of documents describing how various authentication algorithms
are used for both ESP and AH. These documents are intended to fit in
this roadmap, and should avoid overlap with the AH protocol document
and with the Encryption Algorithm documents. Examples of this
document are the [HMAC-MD5], and [HMAC-SHA-1] documents. When these
or other algorithms are used for either ESP or AH, the DOI document
has to indicate certain values, such as algorithm type, so these
documents provide input to the DOI.
The "Key Management Documents", shown at the bottom, are the
documents describing the IETF standards-track key management schemes.
These documents provide certain values for the DOI also. Note that
issues of key management should be indicated here and not in, for
example, the ESP and AH protocol documents. Currently this box
represents [ISAKMP], [Oakley], and [Resolution].
The DOI document, shown in the middle, contains values needed for the
other documents to relate to each other. This includes for example
encryption algorithms, authentication algorithms, and operational
parameters such as key lifetimes.
+--------------+
| Architecture |
+--------------+
v v
+<-<-<-<-+ +->->->->+
v v
+----------+ +----------+
| ESP | | AH |
| Protocol | | Protocol |
+----------+ +----------+
v v v v
v +->->->->->->->->+ v v
v v v v v
v v v v v
v +------------+ +----------------+ v
v | +------------+ | +----------------+ v
v | | Encryption | | | Authentication | v
v +-| Algorithm | +-| Algorithm | v
v +------------+ +----------------+ v
v v v v
v v +-----+ v v
+>->->->-+->->->->| DOI |<-<-<-<-+-<-<-<-<-+
+-----+
^
^
+------------+
| KEY |
| MANAGEMENT |
+------------+
Figure 1. IPsec Document Roadmap.
3. Keying Material
Describing the encryption and authentication algorithms in different
documents raises the issue of how the key management protocols knows
the required keying material length for the desired algorithms when
used together with ESP. It also raises the issue of how to divide
the keying material. This is known as the "slicing and dicing"
information.
Each Encryption Algorithm and Authentication Algorithm document
should specify their respective key attributes (e.g. how to pad,
location of parity bits, key order for multi-keyed algorithms, and
length). The key management protocols should use the length of the
keys specified in the respective Algorithm documents to generate the
keying material of required length.
The key management protocol generates keying material with enough
strength and size to generate keys for individual algorithms. The
IPsec Architecture document specifies how keys are extracted from a
single block of keying material when multiple keys are required (e.g.
ESP with authentication). The Encryption Algorithm and
Authentication Algorithm documents are responsible for specifying the
key sizes and strengths for each algorithm. However, whether the
entire keying material is passed down to the kernel to perform
slicing and dicing or if the keys are sliced and diced by key
management protocol is an implementation issue. The AH protocol
document has no such requirement.
4. Recommended Content of Algorithm Documents
The document describing how a specific encryption or authentication
algorithm is used should contain information appropriate to that
encryption or authentication algorithm. This section enumerates what
information should be provided. It is the intention of the document
roadmap that:
. General protocol information goes in the respective ESP or AH
protocol documents.
. Key management information goes in the key management documents.
. Assigned values and constants of negotiable items go in the DOI
document.
Encryption and authentication algorithms require some set of optional
parameters or have optional modes of operation (e.g. IVs,
authentication data lengths, and key lengths). To help eliminate
some complexity involved with key management having to negotiate
large numbers of algorithm-specific parameters, encryption and
authentication algorithm documents will select fixed values for these
parameters when it is deemed technically reasonable and feasible.
Note, the following information is intended as a general guideline
only.
4.1 Encryption and Authentication Algorithms
This section describes the information that should be included in
both Encryption Algorithm and Authentication Algorithm documents.
Keying Material
. Size of keys, including minimum, maximum, recommended and/or
required sizes. Note: the security considerations section should
address any weakness in specific sizes.
. Recommended or required pseudo-random number generator techniques
and attributes to provide sufficiently strong keys. [RANDOM]
provides recommendations on generating strong randomness for use
with security.
. Format of keying material.
. Known weak keys or references to documentation on known weak keys.
. Recommended or required processing of input keying material such
as parity generation or checking.
. Requirements and/or recommendations on how often the keying
material should be refreshed.
Performance Considerations
. Any available estimates on performance of this algorithm.
. Any available comparison data (e.g., compared against DES or
MD5).
. Input size or other considerations that could improve or degrade
performance.
ESP Environmental Considerations
. Any known issues regarding interactions between this algorithm and
other aspects of ESP, such as use of certain authentication
schemes. Note: As new encryption and authentication algorithms
are applied to ESP, the later documents will be required to
address interactions with previously specified algorithms.
Payload Content and Format Description
. Specification of size, placement, and content of algorithm-
specific fields not defined in the ESP or AH protocol documents
(e.g., IV).
Security Considerations
. Discuss any known attacks.
. Discuss any known common implementation pitfalls, such as use of
weak random number generators.
. Discuss any relevant validation procedures, such as test vectors.
[RFC-2202] is an example document containing test vectors for
a set of authentication algorithms.
4.2 Encryption Algorithms
This section describes the information that should be included in the
Encryption Algorithm documents.
Encryption Algorithm Description
. General information how this encryption algorithm is to be used in
ESP.
. Description of background material and formal algorithm
description.
. Features of this encryption algorithm to be used by ESP, including
encryption and/or authentication.
. Mention of any availability issues such as Intellectual Property
considerations.
. References, in IETF style, to background material such as FIPS
documents.
Algorithm Modes of Operation
. Description of how the algorithm is operated, whether it is block
mode or streaming mode or other.
. Requirements for input or output block format.
. Padding requirements of this algorithm. Note: there is a default
for padding, specified in the base ESP document, so this is only
needed if the default cannot be used.
. Any algorithm-specific operating parameters, such as number of
rounds.
. Identify optional parameters and optional methods of operation and
pick reasonable fixed values and methods with explicit technical
explanations.
. Identify those optional parameters in which values and methods
should remain optional with explicit technical explanations on why
fixed values and methods should not be used.
. Defaults and mandatory ranges on algorithm-specific optional
parameters that could not be fixed.
4.3 Authentication Algorithms
This section describes the information that should be included in the
Authentication Algorithm documents. In most cases, an authentication
algorithm will operate the same whether it is used for ESP or AH.
This should be represented in a single Authentication Algorithm
document.
Authentication Algorithm Description
. General information on how this authentication algorithm is to be
used with ESP and AH.
. Description of background material and formal algorithm
description.
. Features of this authentication algorithm.
. Mention of any availability issues such as Intellectual Property
considerations.
. References, in IETF style, to background material such as
FIPS documents and definitive descriptions of underlying
algorithms.
Algorithm Modes of Operation
. Description of how the algorithm is operated.
. Algorithm-specific operating parameters, such as number of
rounds, and input or output block format.
. Implicit and explicit padding requirements of this algorithm.
Note: There is a default method for padding of the
authentication data field specified in the AH protocol document.
This is only needed if the default cannot be used.
. Identify optional parameters and optional methods of operation and
pick reasonable fixed values and methods with explicit technical
explanations.
. Identify those optional parameters in which values and methods
should remain optional with explicit technical explanations on why
fixed values and methods should not be used.
. Defaults and mandatory ranges on algorithm-specific optional
parameters that could not be fixed.
. Authentication data comparison criteria for this algorithm. Note:
There is a default method for verifying the authentication data
specified in the AH protocol document. This is only needed if the
default cannot be used (e.g. when using a signed hash).
5. Security Considerations
This document provides a roadmap and guidelines for writing
Encryption and Authentication Algorithm documents. The reader should
follow all the security procedures and guidelines described in the
IPsec Architecture, ESP Protocol, AH Protocol, Encryption Algorithm,
and Authentication Algorithm documents. Note that many encryption
algorithms are not considered secure if they are not used with some
sort of authentication mechanism.
6. Acknowledgments
Several Internet drafts were referenced in writing this document.
Depending on where the documents are on (or off) the IETF standards
track these may not be available through the IETF RFC repositories.
In certain cases the reader may want to know what version of these
documents were referenced. These documents are:
. DES-Detroit: this is the ANX Workshop style of ESP, based on the
Hughes draft as modified by Cheryl Madson and published on the ANX
mailing list.
. DOI: draft-ietf-ipsec-ipsec-doi-02.txt.
. 3DES: this is <the Triple-DES shim document>.
. CAST: this is draft-ietf-ipsec-esp-cast-128-cbc-00.txt, as revised
to relate to this document.
. ESP: draft-ietf-ipsec-esp-04.txt, mailed to the IETF mailing list
in May/June 1997.
. AH: draft-ietf-ipsec-auth-05.txt, mailed to the IETF mailing list
in May/June 1997.
. HUGHES: this is draft-ietf-ipsec-esp-des-md5-03.txt
. ISAKMP: There are three documents describing ISAKMP. These are
draft-ietf-ipsec-isakmp-07.txt, draft-ietf-ipsec-isakmp-oakley-
03.txt, and draft-ietf-ipsec-ipsec-doi-02.txt.
7. References
[CBC] Periera, R., and R. Adams, "The ESP CBC-Mode Cipher
Algorithms", RFC 2451, November 1998.
[Arch] Kent, S., and R. Atkinson, "Security Architecture for
the Internet Protocol", RFC 2401, November 1998.
[DES-Detroit] Madson, C., and N. Doraswamy, "The ESP DES-CBC Cipher
Algorithm With Explicit IV", RFC 2405, November 1998.
[DOI] Piper, D., "The Internet IP Security Domain of
Interpretation for ISAKMP", RFC 2407, November 1998.
[AH] Kent, S., and R. Atkinson, "IP Authentication Header",
RFC 2402, November 1998.
[ESP] Kent, S., and R. Atkinson, "IP Encapsulating Security
Payload (ESP)", RFC 2406, November 1998.
[HMAC] Krawczyk, K., Bellare, M., and R. Canetti, "HMAC:
Keyed-Hashing for Message Authentication", RFC 2104,
February 1997.
[HMAC-MD5] Madson, C., and R. Glenn, "The Use of HMAC-MD5 within
ESP and AH", RFC 2403, November 1998.
[HMAC-SHA-1] Madson, C., and R. Glenn, "The Use of HMAC-SHA-1 within
ESP and AH", RFC 2404, November 1998.
[RANDOM] Eastlake, D., Crocker, S., and J. Schiller, "Randomness
Recommendations for Security", RFC 1750, December 1994.
[RFC-2202] Cheng, P., and R. Glenn, "Test Cases for HMAC-MD5 and
HMAC-SHA-1", RFC 2202, March 1997.
8. Authors' Addresses
Rodney Thayer
Sable Technology Corporation
246 Walnut Street
Newton, Massachusetts 02160
EMail: mailto:rodney@sabletech.com
Naganand Doraswamy
Bay Networks
EMail: naganand@baynetworks.com
Rob Glenn
NIST
EMail: rob.glenn@nist.gov
9. Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
AI ELI5
On this page
§1Introduction and Purpose
RFC 2411 is an informational document that provides guidelines for developing new documents describing encryption and authentication algorithms for the IPsec (IP Security) protocol. The core IPsec protocols—ESP (Encapsulating Security Payload) and AH (Authentication Header)—need a well-organized way to add new algorithms without creating duplicate information across documents.
The main goal is to concentrate on specific algorithms in dedicated documents while keeping general concepts in the core protocol documents. This approach avoids the 'draft explosion' effect, where too many overlapping documents make the specification unclear and hard to maintain.
IPsec is a way to make data secret and verify it hasn't been tampered with. This document explains how to add new secret codes in an organized way.
§2IPsec Document Organization
The IPsec specification is divided into seven groups of documents that work together. At the top is the Architecture document, which covers general concepts, security requirements, definitions and mechanisms defining IPsec technology.
Below that are the ESP Protocol document and AH Protocol document, which describe packet formats and general issues for their respective protocols. These documents also specify default values and mandatory-to-implement algorithms.
Two parallel sets of documents describe specific algorithms: the Encryption Algorithm documents (for ESP) and the Authentication Algorithm documents (for both ESP and AH). Each algorithm gets its own document describing how to use it within the protocol.
At the center is the Domain of Interpretation (DOI) document, which contains assigned values and constants needed by all the other documents. Below everything are the Key Management documents, describing how keys are negotiated and managed.
One document explains the overall design, separate documents describe each encryption method, and a central document lists all the numbers and settings that tie them together.
§3Encryption and Authentication Algorithm Documents
Encryption and authentication algorithm documents must cover several required topics. On keying material, they must specify key sizes (minimum, maximum, recommended, required), how to generate strong keys, the format of keying material, any known weak keys, and how often keys should be refreshed.
Each document should include performance considerations: available estimates on the algorithm's performance, comparison data against other algorithms like DES or MD5, and any factors that could improve or degrade performance.
The document must describe payload format and content: the size, placement and content of any algorithm-specific fields not defined in the base ESP or AH documents (such as the initialization vector, or IV).
Each algorithm document must address security considerations: any known attacks, common implementation pitfalls (such as using weak random number generators), and relevant validation procedures and test vectors.
When you add a new encryption method, the document must explain what size key it needs, how fast it runs, how to store the secret parts, and what can go wrong.
§4Requirements for Encryption Algorithm Documents
Encryption algorithm documents must include a general description of how the algorithm is used in ESP. This includes background material and the formal algorithm description, the features of the algorithm as used by ESP (including encryption and/or authentication), any intellectual property considerations, and references to background material such as FIPS documents.
The document must specify algorithm modes of operation: whether the algorithm operates in block mode or streaming mode, requirements for input or output block format, padding requirements, and any algorithm-specific operating parameters such as the number of rounds.
The specification must identify optional parameters and pick fixed values with explicit technical explanations. For parameters that must remain optional, the document provides defaults and mandatory ranges with explanations of why fixed values would not work.
The document says how the encryption code actually works inside IPsec and what options are available for making it stronger or faster.
§5Requirements for Authentication Algorithm Documents
Authentication algorithm documents must cover how the algorithm operates with both ESP and AH. Like encryption documents, they must include general information, background material and formal description, features, intellectual property considerations, and references to FIPS documents and definitive descriptions of underlying algorithms.
The specification must describe algorithm-specific operating parameters such as the number of rounds and input or output block format. It must specify padding requirements for the authentication data field (noting that AH has a default padding method). As with encryption documents, optional parameters should be assigned fixed values with technical justifications.
Authentication documents must define the criteria for comparing authentication data, noting that AH has a default verification method. If the algorithm requires a different method (such as verifying a signed hash), the document must explain it.
When adding an authentication method, the document says how to use it with both encryption and authentication protocols, and how to check that the signature is correct.
§6Key Management and Integration
Both encryption and authentication algorithm documents must specify the key attributes needed by key management protocols: the length of keys, how to pad them, the location of parity bits, the order for multi-keyed algorithms, and the overall key size required.
Key management protocols use the length specifications from algorithm documents to generate keying material of sufficient strength and size. The IPsec Architecture document specifies how keys are extracted from a single block of keying material when multiple keys are required (for example, when using ESP with authentication). Whether the entire keying material passes to the kernel for 'slicing and dicing' or if keys are divided by the key management protocol is an implementation choice for ESP. The AH protocol document has no such requirement.
The encryption and authentication documents tell the key manager how much secret material to create and how to divide it among different algorithms.