1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<pre>Internet Engineering Task Force (IETF) S. Shen
Request for Comments: 5930 Huawei
Category: Informational Y. Mao
ISSN: 2070-1721 Hangzhou H3C Tech. Co., Ltd.
NSS. Murthy
Freescale Semiconductor
July 2010
<span class="h1">Using Advanced Encryption Standard Counter Mode (AES-CTR)</span>
<span class="h1">with the Internet Key Exchange version 02 (IKEv2) Protocol</span>
Abstract
This document describes the usage of Advanced Encryption Standard
Counter Mode (AES-CTR), with an explicit Initialization Vector, by
the Internet Key Exchange version 2 (IKEv2) protocol, for encrypting
the IKEv2 exchanges that follow the IKE_SA_INIT exchange.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc5930">http://www.rfc-editor.org/info/rfc5930</a>.
<span class="grey">Shen, et al. Informational [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc5930">RFC 5930</a> AES-CTR for IKEv2 July 2010</span>
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Conventions Used in This Document ..........................<a href="#page-3">3</a>
<a href="#section-2">2</a>. IKEv2 Encrypted Payload .........................................<a href="#page-3">3</a>
<a href="#section-3">3</a>. IKEv2 Conventions ...............................................<a href="#page-4">4</a>
<a href="#section-4">4</a>. Security Considerations .........................................<a href="#page-4">4</a>
<a href="#section-5">5</a>. IANA Considerations .............................................<a href="#page-4">4</a>
<a href="#section-6">6</a>. Acknowledgments .................................................<a href="#page-4">4</a>
<a href="#section-7">7</a>. References ......................................................<a href="#page-5">5</a>
<a href="#section-7.1">7.1</a>. Normative References .......................................<a href="#page-5">5</a>
<a href="#section-7.2">7.2</a>. Informative References .....................................<a href="#page-5">5</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
The Internet Key Exchange version 2 (IKEv2) protocol [<a href="./rfc4306" title=""Internet Key Exchange (IKEv2) Protocol"">RFC4306</a>] is a
component of IPsec used for performing mutual authentication and
establishing and maintaining security associations (SAs). [<a href="./rfc4307" title=""Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)"">RFC4307</a>]
defines the set of algorithms that are mandatory to implement as part
of IKEv2, as well as algorithms that should be implemented because
they may be promoted to mandatory at some future time. [<a href="./rfc4307" title=""Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)"">RFC4307</a>]
requires that an implementation "SHOULD" support Advanced Encryption
Standard [<a href="#ref-AES" title=""Advanced Encryption Standard (AES)"">AES</a>] Counter Mode [<a href="#ref-MODES" title=""Recommendation for Block Cipher Modes of Operation -- Methods and Techniques"">MODES</a>] (AES-CTR) as a Transform Type 1
algorithm (encryption).
Although [<a href="./rfc4307" title=""Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)"">RFC4307</a>] specifies that the AES-CTR encryption algorithm
feature SHOULD be supported by IKEv2, no existing document specifies
how IKEv2 can support the feature. This document provides the
specification and usage of AES-CTR Counter Mode by IKEv2.
Implementers need to carefully consider the use of AES-CTR over the
mandatory-to-implement algorithms in [<a href="./rfc4307" title=""Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)"">RFC4307</a>], because the
performance improvements of AES-CTR are minimal in the context of
<span class="grey">Shen, et al. Informational [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc5930">RFC 5930</a> AES-CTR for IKEv2 July 2010</span>
IKEv2. Furthermore, these performance improvements may be offset by
the Counter Mode specific risk of a minor, hard-to-detect
implementation issue resulting in total security failure.
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Conventions Used in This Document</span>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. IKEv2 Encrypted Payload</span>
<a href="#section-3.14">Section 3.14</a> of IKEv2 [<a href="./rfc4306" title=""Internet Key Exchange (IKEv2) Protocol"">RFC4306</a>] explains the IKEv2 Encrypted Payload.
The Encrypted Payload, denoted SK{...}, contains other IKEv2 payloads
in encrypted form.
The payload includes an Initialization Vector (IV) whose length is
defined by the encryption algorithm negotiated. It also includes
Integrity Checksum data. These two fields are not encrypted.
The IV field MUST be 8 octets when the AES-CTR algorithm is used for
IKEv2 encryption. The requirements for this IV are the same as what
is specified for the Encapsulating Security Payload (ESP) in
<a href="./rfc3686#section-3.1">Section 3.1 of [RFC3686]</a>.
IKEv2 requires Integrity Check Data for the Encrypted Payload as
described in <a href="./rfc4306#section-3.14">Section 3.14 of [RFC4306]</a>. The choice of integrity
algorithms in IKEv2 is defined in [<a href="./rfc4307" title=""Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)"">RFC4307</a>] or documents that update
it in the future.
When AES-CTR is used in IKEv2, no padding is required. The Padding
field of the Encrypted Payload SHOULD be empty, and the Pad Length
field SHOULD be zero. However, according to [<a href="./rfc4306" title=""Internet Key Exchange (IKEv2) Protocol"">RFC4306</a>], the recipient
MUST accept any length that results in proper alignment. It should
be noted that the ESP [<a href="./rfc4303" title=""IP Encapsulating Security Payload (ESP)"">RFC4303</a>] Encrypted Payload requires alignment
on a 4-byte boundary while the IKEv2 [<a href="./rfc4306" title=""Internet Key Exchange (IKEv2) Protocol"">RFC4306</a>] Encrypted Payload does
not have such a requirement.
The Encrypted Payload is the XOR of the plaintext and key stream.
The key stream is generated by inputting counter blocks into the AES
algorithm. The AES counter block is 128 bits, including a 4-octet
Nonce, 8-octet Initialization Vector, and 4-octet Block Counter, in
that order. The Block Counter begins with the value of one and
increments by one to generate the next portion of the key stream.
The detailed requirements for the counter block are the same as those
specified in <a href="./rfc3686#section-4">Section 4 of [RFC3686]</a>.
<span class="grey">Shen, et al. Informational [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc5930">RFC 5930</a> AES-CTR for IKEv2 July 2010</span>
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. IKEv2 Conventions</span>
The use of AES-CTR for the IKE SA is negotiated in the same way as
AES-CTR for ESP. The Transform ID (ENCR_AES_CTR) is the same; the
key length transform attribute is used in the same way; and the
keying material (consisting of the actual key and the nonce) is
derived in the same way. See <a href="./rfc3686#section-5">Section 5 of [RFC3686]</a> for detailed
descriptions.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Security Considerations</span>
Security considerations explained in <a href="./rfc3686#section-7">Section 7 of [RFC3686]</a> are
entirely relevant to this document as well. The security
considerations on fresh keys and integrity protection in <a href="./rfc3686#section-7">Section 7 of
[RFC3686]</a> are totally applicable to using AES-CTR in IKEv2; see
[<a href="./rfc3686" title=""Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)"">RFC3686</a>] for details. As static keys are never used in IKEv2 for
IKE_SA and integrity protection is mandatory for IKE_SA, these issues
are not applicable for AES-CTR in IKEv2 when protecting IKE_SA.
Additionally, since AES has a 128-bit block size, regardless of the
mode employed, the ciphertext generated by AES encryption becomes
distinguishable from random values after 2^64 blocks are encrypted
with a single key. Since IKEv2 SA cannot carry that much data
(because of the size limit of the message ID of the IKEv2 message and
the requirements for the message ID in <a href="./rfc4306#section-4">Section 4 of [RFC4306]</a>), this
issue is not a concern here.
For generic attacks on AES, such as brute force or precalculations,
the key-size requirements provide reasonable security
[<a href="#ref-Recommendations" title=""Recommendation for Key Management - Part 1: General (Revised)"">Recommendations</a>].
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
IANA [<a href="#ref-IANA-Para" title=""Internet Key Exchange Version 2 (IKEv2) Parameters"">IANA-Para</a>] has assigned an Encryption Algorithm Transform ID
for AES-CTR encryption with an explicit IV for IKEv2: 13 as the
number, and ENCR_AES_CTR as the name. IANA has added a reference to
this RFC in that entry.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgments</span>
The authors thank Yaron Sheffer, Paul Hoffman, Tero Kivinen, and
Alfred Hoenes for their direction and comments on this document.
This document specifies usage of AES-CTR with IKEv2, similar to usage
of AES-CTR with ESP as specified in [<a href="./rfc3686" title=""Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)"">RFC3686</a>]. The reader is
referred to [<a href="./rfc3686" title=""Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)"">RFC3686</a>] for the same descriptions and definitions. The
authors thank Russ Housley for providing the document.
<span class="grey">Shen, et al. Informational [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc5930">RFC 5930</a> AES-CTR for IKEv2 July 2010</span>
During the production and modification of this document, both Huawei
and CNNIC supported one of the authors, Sean Shen. Both are
appreciated as affiliations of the author.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC3686">RFC3686</a>] Housley, R., "Using Advanced Encryption Standard
(AES) Counter Mode With IPsec Encapsulating
Security Payload (ESP)", <a href="./rfc3686">RFC 3686</a>, January 2004.
[<a id="ref-RFC4306">RFC4306</a>] Kaufman, C., "Internet Key Exchange (IKEv2)
Protocol", <a href="./rfc4306">RFC 4306</a>, December 2005.
[<a id="ref-RFC4307">RFC4307</a>] Schiller, J., "Cryptographic Algorithms for Use in
the Internet Key Exchange Version 2 (IKEv2)",
<a href="./rfc4307">RFC 4307</a>, December 2005.
[<a id="ref-AES">AES</a>] National Institute of Standards and Technology,
"Advanced Encryption Standard (AES)", FIPS PUB 197,
November 2001, <<a href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">http://csrc.nist.gov/</a>
<a href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">publications/fips/fips197/fips-197.pdf</a>>.
[<a id="ref-IANA-Para">IANA-Para</a>] Internet Assigned Numbers Authority, "Internet Key
Exchange Version 2 (IKEv2) Parameters",
<<a href="http://www.iana.org">http://www.iana.org</a>>.
[<a id="ref-MODES">MODES</a>] Dworkin, M., "Recommendation for Block Cipher Modes
of Operation -- Methods and Techniques", NIST
Special Publication 800-38A, December 2001,
<<a href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf">http://csrc.nist.gov/publications/nistpubs/</a>
<a href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf">800-38a/sp800-38a.pdf</a>>.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-RFC4303">RFC4303</a>] Kent, S., "IP Encapsulating Security Payload
(ESP)", <a href="./rfc4303">RFC 4303</a>, December 2005.
[<a id="ref-Recommendations">Recommendations</a>] Barker, E., Barker, W., Burr, W., Polk, W., and M.
Smid, "Recommendation for Key Management - Part 1:
General (Revised)", NIST Special
Publication 800-57, March 2007, <<a href="http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf">http://</a>
<a href="http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf">csrc.nist.gov/publications/nistpubs/800-57/</a>
<a href="http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf">sp800-57-Part1-revised2_Mar08-2007.pdf</a>>.
<span class="grey">Shen, et al. Informational [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc5930">RFC 5930</a> AES-CTR for IKEv2 July 2010</span>
Authors' Addresses
Sean Shen
Huawei
4, South 4th Street, Zhongguancun
Beijing 100190
China
EMail: shenshuo@cnnic.cn
Yu Mao
Hangzhou H3C Tech. Co., Ltd.
Oriental Electronic Bld., No. 2
Chuangye Road
Shang-Di Information Industry
Hai-Dian District
Beijing 100085
China
EMail: yumao9@gmail.com
N S Srinivasa Murthy
Freescale Semiconductor
UMA PLAZA, NAGARJUNA CIRCLE, PUNJAGUTTA
HYDERABAD 500082
INDIA
EMail: ssmurthy.nittala@freescale.com
Shen, et al. Informational [Page 6]
</pre>
|