RFC 2411

IP Security Document Roadmap

πŸ“… published November 1998, from ietf

RFC 2411: IP Security Document Roadmap πŸŽ€

okay bestie, this is the roadmap doc for IPsec and it is SO organized 🧚 here's the title block tea:

  • RFC number and title: RFC 2411, IP Security Document Roadmap
  • Working group: Network Working Group
  • Authors: R. Thayer (Sable Technology Corporation), N. Doraswamy (Bay Networks), R. Glenn (NIST)
  • Category: Informational
  • Date: November 1998
  • Obsoletes / Updates: the header doesn't list anything this one obsoletes or updates πŸ’…

Status of this Memo ✨

ok so this memo is just giving information to the internet community πŸ“š it does NOT specify any kind of internet standard, and distribution of it is unlimited 🌸

Copyright (C) The Internet Society (1998). All Rights Reserved. πŸ’œ

Abstract 🌈

the IPsec protocol suite is what gives you privacy and authentication at the IP layer πŸ” it's described across a bunch of documents, and this one explains how those documents fit together and what lives in which one πŸ—‚οΈ it also covers what should go into new Encryption Algorithm and Authentication Algorithm documents πŸ“

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 doc is basically a guide for writing the side specs that describe using NEW encryption and authentication algorithms with ESP, which is in [ESP], and new authentication algorithms with AH, which is in [AH] ✨ ESP and AH are both part of the IP Security architecture in [Arch] πŸ›οΈ we need a well-known way to add new encryption or authentication algorithms to ESP and AH, not just while the first set of docs is being built but also after the base docs become RFCs πŸŽ€ following the guidelines below makes adding algorithms way easier and cuts down on repeated docs πŸ’…

the goal of a new Encryption Algorithm or Authentication Algorithm doc is to focus on how that specific algorithm gets applied inside ESP and AH πŸ”₯ the general ESP and AH stuff (concepts, definitions, issues) lives in the ESP and AH docs, and the algorithms themselves aren't described in these docs at all πŸ™ˆ this setup lets us add new algorithms and also say how any given algorithm might interact with other algorithms πŸ¦‹ the whole point is to avoid duplicated info and a pile of extra docs, aka the so-called "draft explosion" effect πŸ’€

2. Interrelationship of IPsec Documents 🌸

the IPsec docs are split into seven groups, and Figure 1 shows it all πŸ—ΊοΈ at the top is the main Architecture doc, which broadly covers the general concepts, security requirements, definitions, and mechanisms that make up IPsec πŸ‘‘

then there's the ESP Protocol doc and the AH Protocol doc, which cover the packet format and general issues for each protocol πŸ“¦ these protocol docs also hold default values where it makes sense, like the default padding contents, and the mandatory to implement algorithms ✨ they dictate some of the values in the Domain Of Interpretation document [DOI] 🧚 and the DOI is itself part of the IANA Assigned Numbers mechanism, so the values described in the DOI are well-known πŸŽ€ see [DOI] for more on how that works πŸ’œ

the "Encryption Algorithm" doc set is on the left, and it describes how various encryption algorithms get used for ESP πŸ” these docs are meant to fit into this roadmap and should avoid overlapping with the ESP protocol doc and with the Authentication Algorithm docs πŸ™…β€β™€οΈ examples are [DES-Detroit] and [CBC] πŸ“ when these or other encryption algorithms are used for ESP, the DOI has to indicate certain values, like an encryption algorithm identifier, so these docs feed input into the DOI πŸ’–

the "Authentication Algorithm" doc set is on the right, and it describes how authentication algorithms get used for both ESP and AH 🌈 these docs should also fit the roadmap and avoid overlapping with the AH protocol doc and the Encryption Algorithm docs πŸ¦‹ examples are [HMAC-MD5] and [HMAC-SHA-1] 🫧 when these or other algorithms are used for either ESP or AH, the DOI has to indicate certain values, like algorithm type, so these docs provide input to the DOI too ✨

the "Key Management Documents" are at the bottom, and they describe the IETF standards-track key management schemes πŸ”‘ they also provide certain values for the DOI πŸ’… issues of key management should be indicated here and NOT in things like the ESP and AH protocol docs πŸ™…β€β™€οΈ right now this box is [ISAKMP], [Oakley], and [Resolution] 🌸

the DOI doc is in the middle, and it holds the values the other docs need to relate to each other 🧠 that includes stuff like 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 docs raises a tricky question: how do the key management protocols know how long the keying material needs to be for the algorithms you want to use with ESP? πŸ€” it also raises the question of how to divide up that keying material, which is the so-called "slicing and dicing" information πŸ”ͺπŸ’…

each Encryption Algorithm and Authentication Algorithm doc should specify its own key attributes, like how to pad, where the parity bits live, the key order for multi-keyed algorithms, and the length πŸ“ the key management protocols should use the key lengths from those algorithm docs to generate keying material of the required length 🌈

the key management protocol generates keying material with enough strength and size to make keys for the individual algorithms πŸ’ͺ the IPsec Architecture doc specifies how keys get pulled out of a single block of keying material when several keys are needed, like ESP with authentication 🧩 the Encryption Algorithm and Authentication Algorithm docs are responsible for specifying the key sizes and strengths for each algorithm πŸ¦‹ whether the whole keying material gets passed down to the kernel for slicing and dicing, or the key management protocol does the slicing and dicing itself, is an implementation issue 🫢 the AH protocol doc has no such requirement 🌸

to be continued, bestie πŸ’–

4.1 Encryption and Authentication Algorithms ✨

okay bestie, this part is about what should be in BOTH the Encryption Algorithm docs and the Authentication Algorithm docs 🧚 it's basically a checklist for whoever is writing the algorithm doc, so nothing gets missed πŸ’…

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 πŸ”

okay so this section is the to-do list for the Encryption Algorithm docs specifically πŸ’–

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 is the same kind of checklist, but for the Authentication Algorithm docs πŸ¦‹ the big tea is that an authentication algorithm usually works the same whether it's used for ESP or AH, so it should get ONE doc, not two 🫢

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 part is SERIOUS, bestie, so read it properly πŸ™ˆ this document is basically a roadmap and set of guidelines for writing Encryption and Authentication Algorithm docs. Whoever reads it has to follow ALL the security procedures and guidelines in the IPsec Architecture, ESP Protocol, AH Protocol, Encryption Algorithm, and Authentication Algorithm documents, no skipping πŸ’€

Note that many encryption algorithms are not considered secure if they are not used with some sort of authentication mechanism. Encryption on its own is NOT the whole story 😭

6. Acknowledgments 🌸

these are the Internet drafts that got referenced while writing this doc. Depending on where they sit on (or off) the IETF standards track, you might not find them in the IETF RFC repositories. If you need to know which exact version was referenced, here's the list 🧚

  • 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 πŸ“š

here's the full reading list, every single one πŸ“–

[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 ✍️

the brains behind this one 🧠✨

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

legal stuff, so I'm keeping it word for word 🫢

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.

that's the whole thing, bestie πŸŒˆπŸ’– you're officially an RFC 2411 expert now πŸ‘‘

πŸ“¦ where this page comes from