rfc4307.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. Network Working Group J. Schiller
  2. Request for Comments: 4307 Massachusetts Institute of Technology
  3. Category: Standards Track December 2005
  4. Cryptographic Algorithms for Use in the
  5. Internet Key Exchange Version 2 (IKEv2)
  6. Status of This Memo
  7. This document specifies an Internet standards track protocol for the
  8. Internet community, and requests discussion and suggestions for
  9. improvements. Please refer to the current edition of the "Internet
  10. Official Protocol Standards" (STD 1) for the standardization state
  11. and status of this protocol. Distribution of this memo is unlimited.
  12. Copyright Notice
  13. Copyright (C) The Internet Society (2005).
  14. Abstract
  15. The IPsec series of protocols makes use of various cryptographic
  16. algorithms in order to provide security services. The Internet Key
  17. Exchange (IKE (RFC 2409) and IKEv2) provide a mechanism to negotiate
  18. which algorithms should be used in any given association. However,
  19. to ensure interoperability between disparate implementations, it is
  20. necessary to specify a set of mandatory-to-implement algorithms to
  21. ensure that there is at least one algorithm that all implementations
  22. will have available. This document defines the current set of
  23. algorithms that are mandatory to implement as part of IKEv2, as well
  24. as algorithms that should be implemented because they may be promoted
  25. to mandatory at some future time.
  26. 1. Introduction
  27. The Internet Key Exchange protocol provides for the negotiation of
  28. cryptographic algorithms between both endpoints of a cryptographic
  29. association. Different implementations of IPsec and IKE may provide
  30. different algorithms. However, the IETF desires that all
  31. implementations should have some way to interoperate. In particular,
  32. this requires that IKE define a set of mandatory-to-implement
  33. algorithms because IKE itself uses such algorithms as part of its own
  34. negotiations. This requires that some set of algorithms be specified
  35. as "mandatory-to-implement" for IKE.
  36. Schiller Standards Track [Page 1]
  37. RFC 4307 IKEv2 Cryptographic Algorithms December 2005
  38. The nature of cryptography is that new algorithms surface
  39. continuously and existing algorithms are continuously attacked. An
  40. algorithm believed to be strong today may be demonstrated to be weak
  41. tomorrow. Given this, the choice of mandatory-to-implement algorithm
  42. should be conservative so as to minimize the likelihood of it being
  43. compromised quickly. Thought should also be given to performance
  44. considerations as many uses of IPsec will be in environments where
  45. performance is a concern.
  46. Finally, we need to recognize that the mandatory-to-implement
  47. algorithm(s) may need to change over time to adapt to the changing
  48. world. For this reason, the selection of mandatory-to-implement
  49. algorithms was removed from the main IKEv2 specification and placed
  50. in this document. As the choice of algorithm changes, only this
  51. document should need to be updated.
  52. Ideally, the mandatory-to-implement algorithm of tomorrow should
  53. already be available in most implementations of IPsec by the time it
  54. is made mandatory. To facilitate this, we will attempt to identify
  55. those algorithms (that are known today) in this document. There is
  56. no guarantee that the algorithms we believe today may be mandatory in
  57. the future will in fact become so. All algorithms known today are
  58. subject to cryptographic attack and may be broken in the future.
  59. 2. Requirements Terminology
  60. Keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", and
  61. "MAY" that appear in this document are to be interpreted as described
  62. in [RFC2119].
  63. We define some additional terms here:
  64. SHOULD+ This term means the same as SHOULD. However, it is likely
  65. that an algorithm marked as SHOULD+ will be promoted at
  66. some future time to be a MUST.
  67. SHOULD- This term means the same as SHOULD. However, an algorithm
  68. marked as SHOULD- may be deprecated to a MAY in a future
  69. version of this document.
  70. MUST- This term means the same as MUST. However, we expect at
  71. some point that this algorithm will no longer be a MUST in
  72. a future document. Although its status will be determined
  73. at a later time, it is reasonable to expect that if a
  74. future revision of a document alters the status of a MUST-
  75. algorithm, it will remain at least a SHOULD or a SHOULD-.
  76. Schiller Standards Track [Page 2]
  77. RFC 4307 IKEv2 Cryptographic Algorithms December 2005
  78. 3. Algorithm Selection
  79. 3.1. IKEv2 Algorithm Selection
  80. 3.1.1. Encrypted Payload Algorithms
  81. The IKEv2 Encrypted Payload requires both a confidentiality algorithm
  82. and an integrity algorithm. For confidentiality, implementations
  83. MUST- implement 3DES-CBC and SHOULD+ implement AES-128-CBC. For
  84. integrity, HMAC-SHA1 MUST be implemented.
  85. 3.1.2. Diffie-Hellman Groups
  86. There are several Modular Exponential (MODP) groups that are defined
  87. for use in IKEv2. They are defined in both the [IKEv2] base document
  88. and in the MODP extensions document. They are identified by group
  89. number. Any groups not listed here are considered as "MAY be
  90. implemented".
  91. Group Number Bit Length Status Defined
  92. 2 1024 MODP Group MUST- [RFC2409]
  93. 14 2048 MODP Group SHOULD+ [RFC3526]
  94. 3.1.3. IKEv2 Transform Type 1 Algorithms
  95. IKEv2 defines several possible algorithms for Transfer Type 1
  96. (encryption). These are defined below with their implementation
  97. status.
  98. Name Number Defined In Status
  99. RESERVED 0
  100. ENCR_3DES 3 [RFC2451] MUST-
  101. ENCR_NULL 11 [RFC2410] MAY
  102. ENCR_AES_CBC 12 [AES-CBC] SHOULD+
  103. ENCR_AES_CTR 13 [AES-CTR] SHOULD
  104. 3.1.4. IKEv2 Transform Type 2 Algorithms
  105. Transfer Type 2 Algorithms are pseudo-random functions used to
  106. generate random values when needed.
  107. Name Number Defined In Status
  108. RESERVED 0
  109. PRF_HMAC_MD5 1 [RFC2104] MAY
  110. PRF_HMAC_SHA1 2 [RFC2104] MUST
  111. PRF_AES128_CBC 4 [AESPRF] SHOULD+
  112. Schiller Standards Track [Page 3]
  113. RFC 4307 IKEv2 Cryptographic Algorithms December 2005
  114. 3.1.5. IKEv2 Transform Type 3 Algorithms
  115. Transfer Type 3 Algorithms are Integrity algorithms used to protect
  116. data against tampering.
  117. Name Number Defined In Status
  118. NONE 0
  119. AUTH_HMAC_MD5_96 1 [RFC2403] MAY
  120. AUTH_HMAC_SHA1_96 2 [RFC2404] MUST
  121. AUTH_AES_XCBC_96 5 [AES-MAC] SHOULD+
  122. 4. Security Considerations
  123. The security of cryptographic-based systems depends on both the
  124. strength of the cryptographic algorithms chosen and the strength of
  125. the keys used with those algorithms. The security also depends on
  126. the engineering of the protocol used by the system to ensure that
  127. there are no non-cryptographic ways to bypass the security of the
  128. overall system.
  129. This document concerns itself with the selection of cryptographic
  130. algorithms for the use of IKEv2, specifically with the selection of
  131. "mandatory-to-implement" algorithms. The algorithms identified in
  132. this document as "MUST implement" or "SHOULD implement" are not known
  133. to be broken at the current time, and cryptographic research so far
  134. leads us to believe that they will likely remain secure into the
  135. foreseeable future. However, this isn't necessarily forever. We
  136. would therefore expect that new revisions of this document will be
  137. issued from time to time that reflect the current best practice in
  138. this area.
  139. 5. Normative References
  140. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
  141. (IKE)", RFC 2409, November 1998.
  142. [IKEv2] Kaufman, C., Ed., "Internet Key Exchange (IKEv2)
  143. Protocol", RFC 4306, December 2005.
  144. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  145. Requirement Levels", BCP 14, RFC 2119, March 1997.
  146. [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential
  147. (MODP) Diffie-Hellman groups for Internet Key Exchange
  148. (IKE)", RFC 3526, May 2003.
  149. [RFC2451] Pereira, R. and R. Adams, "The ESP CBC-Mode Cipher
  150. Algorithms", RFC 2451, November 1998.
  151. Schiller Standards Track [Page 4]
  152. RFC 4307 IKEv2 Cryptographic Algorithms December 2005
  153. [RFC2410] Glenn, R. and S. Kent, "The NULL Encryption Algorithm
  154. and Its Use With IPsec", RFC 2410, November 1998.
  155. [AES-CBC] Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC
  156. Cipher Algorithm and Its Use with IPsec", RFC 3602,
  157. September 2003.
  158. [AES-CTR] Housley, R., "Using Advanced Encryption Standard (AES)
  159. Counter Mode With IPsec Encapsulating Security Payload
  160. (ESP)", RFC 3686, January 2004.
  161. [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC:
  162. Keyed-Hashing for Message Authentication", RFC 2104,
  163. February 1997.
  164. [AESPRF] Hoffman, P., "The AES-XCBC-PRF-128 Algorithm for the
  165. Internet Key Exchange Protocol (IKE)", RFC 3664, January
  166. 2004.
  167. [RFC2403] Madson, C. and R. Glenn, "The Use of HMAC-MD5-96 within
  168. ESP and AH", RFC 2403, November 1998.
  169. [RFC2404] Madson, C. and R. Glenn, "The Use of HMAC-SHA-1-96
  170. within ESP and AH", RFC 2404, November 1998.
  171. [AES-MAC] Frankel, S. and H. Herbert, "The AES-XCBC-MAC-96
  172. Algorithm and Its Use With IPsec", RFC 3566, September
  173. 2003.
  174. Author's Address
  175. Jeffrey I. Schiller
  176. Massachusetts Institute of Technology
  177. Room W92-190
  178. 77 Massachusetts Avenue
  179. Cambridge, MA 02139-4307
  180. USA
  181. Phone: +1 (617) 253-0161
  182. EMail: jis@mit.edu
  183. Schiller Standards Track [Page 5]
  184. RFC 4307 IKEv2 Cryptographic Algorithms December 2005
  185. Full Copyright Statement
  186. Copyright (C) The Internet Society (2005).
  187. This document is subject to the rights, licenses and restrictions
  188. contained in BCP 78, and except as set forth therein, the authors
  189. retain all their rights.
  190. This document and the information contained herein are provided on an
  191. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  192. OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
  193. ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
  194. INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
  195. INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  196. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  197. Intellectual Property
  198. The IETF takes no position regarding the validity or scope of any
  199. Intellectual Property Rights or other rights that might be claimed to
  200. pertain to the implementation or use of the technology described in
  201. this document or the extent to which any license under such rights
  202. might or might not be available; nor does it represent that it has
  203. made any independent effort to identify any such rights. Information
  204. on the procedures with respect to rights in RFC documents can be
  205. found in BCP 78 and BCP 79.
  206. Copies of IPR disclosures made to the IETF Secretariat and any
  207. assurances of licenses to be made available, or the result of an
  208. attempt made to obtain a general license or permission for the use of
  209. such proprietary rights by implementers or users of this
  210. specification can be obtained from the IETF on-line IPR repository at
  211. http://www.ietf.org/ipr.
  212. The IETF invites any interested party to bring to its attention any
  213. copyrights, patents or patent applications, or other proprietary
  214. rights that may cover technology that may be required to implement
  215. this standard. Please address the information to the IETF at ietf-
  216. ipr@ietf.org.
  217. Acknowledgement
  218. Funding for the RFC Editor function is currently provided by the
  219. Internet Society.
  220. Schiller Standards Track [Page 6]