4 TLS Working Group J. Salowey
5 Internet-Draft A. Choudhury
6 Intended status: Standards Track D. McGrew
7 Expires: July 16, 2008 Cisco Systems, Inc.
11 RSA based AES-GCM Cipher Suites for TLS
12 draft-ietf-tls-rsa-aes-gcm-01
16 By submitting this Internet-Draft, each author represents that any
17 applicable patent or other IPR claims of which he or she is aware
18 have been or will be disclosed, and any of which he or she becomes
19 aware will be disclosed, in accordance with Section 6 of BCP 79.
21 Internet-Drafts are working documents of the Internet Engineering
22 Task Force (IETF), its areas, and its working groups. Note that
23 other groups may also distribute working documents as Internet-
26 Internet-Drafts are draft documents valid for a maximum of six months
27 and may be updated, replaced, or obsoleted by other documents at any
28 time. It is inappropriate to use Internet-Drafts as reference
29 material or to cite them other than as "work in progress."
31 The list of current Internet-Drafts can be accessed at
32 http://www.ietf.org/ietf/1id-abstracts.txt.
34 The list of Internet-Draft Shadow Directories can be accessed at
35 http://www.ietf.org/shadow.html.
37 This Internet-Draft will expire on July 16, 2008.
41 Copyright (C) The IETF Trust (2008).
45 This memo describes the use of the Advanced Encryption Standard (AES)
46 in Galois/Counter Mode (GCM) as a Transport Layer Security (TLS)
47 authenticated encryption operation. GCM provides both
48 confidentiality and data origin authentication, can be efficiently
49 implemented in hardware for speeds of 10 gigabits per second and
50 above, and is also well-suited to software implementations. This
51 memo defines TLS ciphersuites that use AES-GCM with RSA.
55 Salowey, et al. Expires July 16, 2008 [Page 1]
57 Internet-Draft RSA AES-GCM Ciphersuites January 2008
62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
64 2. Conventions Used In This Document . . . . . . . . . . . . . . . 3
66 3. RSA Based AES-GCM Cipher Suites . . . . . . . . . . . . . . . . 3
67 3.1. Recommendations for Multiple Cryptographic Processors . . . 4
69 4. TLS Versions . . . . . . . . . . . . . . . . . . . . . . . . . 5
71 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
73 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
74 6.1. Perfect Forward Secrecy . . . . . . . . . . . . . . . . . . 6
75 6.2. Counter Reuse . . . . . . . . . . . . . . . . . . . . . . . 6
77 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
79 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
80 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7
81 8.2. Informative References . . . . . . . . . . . . . . . . . . 7
83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
84 Intellectual Property and Copyright Statements . . . . . . . . . . 9
111 Salowey, et al. Expires July 16, 2008 [Page 2]
113 Internet-Draft RSA AES-GCM Ciphersuites January 2008
118 This document describes the use of AES [AES]in Galois Counter Mode
119 (GCM) [GCM] (AES-GCM) with RSA based key exchange as a ciphersuite
120 for TLS. This mechanism is not only efficient and secure, hardware
121 implementations can achieve high speeds with low cost and low
122 latency, because the mode can be pipelined. Applications like
123 CAPWAP, which uses DTLS, can benefit from the high-speed
124 implementations when wireless termination points (WTPs) and
125 controllers (ACs) have to meet requirements to support higher
126 throughputs in the future. AES-GCM has been specified as a mode that
127 can be used with IPsec ESP [RFC4106] and 802.1AE MAC Security
128 [IEEE8021AE]. It also is part of the NSA suite B ciphersuites for
129 TLS [I-D.rescorla-tls-suiteb]; however in order to meet Suite B
130 requirements these ciphersuites require ECC base key exchange and TLS
131 1.2. The ciphersuites defined in this document are based on RSA
132 which allows the use of AES-GCM in environments that have not
133 deployed ECC algorithms and do not need to meet NSA Suite B
134 requirements. AES-GCM is an authenticated encryption with associated
135 data (AEAD) cipher, as defined in TLS 1.2[I-D.ietf-tls-rfc4346-bis].
136 The ciphersuites defined in this draft may be used with Datagram TLS
137 defined in [RFC4347]. This memo uses GCM in a way similar to
138 [I-D.ietf-tls-ecc-new-mac].
141 2. Conventions Used In This Document
143 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
144 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
145 document are to be interpreted as described in [RFC2119]
148 3. RSA Based AES-GCM Cipher Suites
150 The following ciphersuites use the new authenticated encryption modes
151 defined in TLS 1.2 with AES in Galois Counter Mode (GCM) [GCM]:
153 CipherSuite TLS_RSA_WITH_AES_128_GCM_SHA256 = {TBD1,TBD1}
154 CipherSuite TLS_RSA_WITH_AES_256_GCM_SHA384 = {TBD2,TBD2}
155 CipherSuite TLS_RSA_DHE_WITH_AES_128_GCM_SHA256 = {TBD3,TBD3}
156 CipherSuite TLS_RSA_DHE_WITH_AES_256_GCM_SHA384 = {TBD4,TBD4}
158 These ciphersuites use the AES-GCM authenticated encryption with
159 associated data (AEAD) algorithms AEAD_AES_128_GCM and
160 AEAD_AES_256_GCM described in [I-D.mcgrew-auth-enc]. Note that this
161 specification uses a 128-bit authentication tag with GCM. The
162 "nonce" SHALL be 12 bytes long and it is "partially implicit" (see
163 section 3.2.1 in [I-D.mcgrew-auth-enc]). Part of the nonce is
167 Salowey, et al. Expires July 16, 2008 [Page 3]
169 Internet-Draft RSA AES-GCM Ciphersuites January 2008
172 generated as part of the handshake process and is static for the
173 entire session and part is carried in each packet.
177 opaque explicit_nonce_part[8];
180 The salt is the "implicit" part of the nonce and is not sent in the
181 packet. It is either the client_write_IV if the client is sending or
182 the server_write_IV if the server is sending. These IVs SHALL be 4
185 The explicit_nonce_part is chosen by the sender and included in the
186 packet. Each value of the explicit_nonce_part MUST be distinct for
187 each distinct invocation of GCM encrypt function for any fixed key.
188 Failure to meet this uniqueness requirement can significantly degrade
189 security. The explicit_nonce_part is carried in the IV field of the
190 GenericAEADCipher structure. Therefore, for all the algorithms
191 defined in this section, SecurityParameters.iv_length=8.
193 In the case of TLS the explicit_nonce_part MAY be the 64-bit sequence
194 number. In the case of Datagram TLS [RFC4347] the
195 explicit_nonce_part MAY be formed from the concatenation of the 16-
196 bit epoch with the 48-bit DTLS seq_num.
198 The RSA and RSA-DHE key exchange is performed as defined in
199 [I-D.ietf-tls-rfc4346-bis].
201 The PRF algorithms SHALL be as follows:
203 For TLS_RSA_WITH_AES_128_GCM_SHA256 and
204 TLS_RSA_DHE_WITH_AES_128_GCM_SHA256 the hash function is SHA256.
206 For TLS_RSA_WITH_AES_256_GCM_SHA384 and
207 TLS_RSA_DHE_WITH_AES_256_GCM_SHA384 the hash function is SHA384.
209 3.1. Recommendations for Multiple Cryptographic Processors
211 If multiple cryptographic processors are in use by the sender, then
212 the sender MUST ensure that each value of the explicit_nonce_part
213 that is used by each processor is distinct. In this case each
214 encryption processor SHOULD include in the explicit_nonce_part a a
215 fixed value that is distinct for each processor. The recommended
218 explicit_nonce_part = FixedDistinct || Variable
223 Salowey, et al. Expires July 16, 2008 [Page 4]
225 Internet-Draft RSA AES-GCM Ciphersuites January 2008
228 where the FixedDistinct field is distinct for each encryption
229 processor, but is fixed for a given processor, and the Variable field
230 is distinct for each distinct nonce used by a particular encryption
231 processor. When this method is used, the FixedDistinct fields used
232 by the different processors MUST have the same length.
234 In the terms of Figure 2 in [I-D.mcgrew-auth-enc], the Salt is the
235 Fixed-Common part of the nonce (it is fixed, and it is common across
236 all encryption processors), the FixedDistinct field exactly
237 corresponds to the Fixed-Distinct field, and the Variable field
238 corresponds to the Counter field, and the explicit part exactly
239 corresponds to the explicit_nonce_part.
241 For clarity, we provide an example for TLS in which there are two
242 distinct encryption processors, each of which uses a one-byte
246 FixedDistinct = 01 (for the first encryption processor)
247 FixedDistinct = 02 (for the second encryption processor)
249 The GCMnonces generated by the first encryption processor, and their
250 corresponding explicit_nonce_parts, are:
252 GCMNonce explicit_nonce_part
253 ------------------------ ----------------------------
254 eedc68dc0100000000000000 0100000000000000
255 eedc68dc0100000000000001 0100000000000001
256 eedc68dc0100000000000002 0100000000000002
259 The GCMnonces generated by the second encryption processor, and their
260 corresponding explicit_nonce_parts, are
262 GCMNonce explicit_nonce_part
263 ------------------------ ----------------------------
264 eedc68dc0200000000000000 0200000000000000
265 eedc68dc0200000000000001 0200000000000001
266 eedc68dc0200000000000002 0200000000000002
273 These ciphersuites make use of the authenticated encryption with
274 additional data defined in TLS 1.2 [I-D.ietf-tls-rfc4346-bis]. They
275 MUST NOT be negotiated in older versions of TLS. Clients MUST NOT
279 Salowey, et al. Expires July 16, 2008 [Page 5]
281 Internet-Draft RSA AES-GCM Ciphersuites January 2008
284 offer these cipher suites if they do not offer TLS 1.2 or later.
285 Servers which select an earlier version of TLS MUST NOT select one of
286 these cipher suites. Because TLS has no way for the client to
287 indicate that it supports TLS 1.2 but not earlier, a non-compliant
288 server might potentially negotiate TLS 1.1 or earlier and select one
289 of the cipher suites in this document. Clients MUST check the TLS
290 version and generate a fatal "illegal_parameter" alert if they detect
291 an incorrect version.
294 5. IANA Considerations
296 IANA has assigned the following values for the ciphersuites defined
299 CipherSuite TLS_RSA_WITH_AES_128_GCM_SHA256 = {TBD1,TBD1}
300 CipherSuite TLS_RSA_WITH_AES_256_GCM_SHA384 = {TBD2,TBD2}
301 CipherSuite TLS_RSA_DHE_WITH_AES_128_GCM_SHA256 = {TBD3,TBD3}
302 CipherSuite TLS_RSA_DHE_WITH_AES_256_GCM_SHA384 = {TBD4,TBD4}
305 6. Security Considerations
307 The security considerations in [I-D.ietf-tls-rfc4346-bis] apply to
308 this document as well. The remainder of this section describes
309 security considerations specific to the cipher suites described in
312 6.1. Perfect Forward Secrecy
314 The perfect forward secrecy properties of RSA based TLS ciphersuites
315 are discussed in the security analysis of [I-D.ietf-tls-rfc4346-bis].
316 It should be noted that only the ephemeral Diffie-Hellman based
317 ciphersuites (RSA_DHE) are capable of providing perfect forward
322 AES-GCM security requires that the counter is never reused. The IV
323 construction in Section 3 is designed to prevent counter reuse.
328 This draft borrows heavily from [I-D.ietf-tls-ecc-new-mac].
335 Salowey, et al. Expires July 16, 2008 [Page 6]
337 Internet-Draft RSA AES-GCM Ciphersuites January 2008
340 8.1. Normative References
342 [AES] National Institute of Standards and Technology,
343 "Specification for the Advanced Encryption Standard
344 (AES)", FIPS 197, November 2001.
346 [GCM] National Institute of Standards and Technology,
347 "Recommendation for Block Cipher Modes of Operation:
348 Galois Counter Mode (GCM) for Confidentiality and
349 Authentication", SP 800-38D, April 2006.
351 [I-D.ietf-tls-rfc4346-bis]
352 Dierks, T. and E. Rescorla, "The Transport Layer Security
353 (TLS) Protocol Version 1.2", draft-ietf-tls-rfc4346-bis-07
354 (work in progress), November 2007.
356 [I-D.mcgrew-auth-enc]
357 McGrew, D., "An Interface and Algorithms for Authenticated
358 Encryption", draft-mcgrew-auth-enc-05 (work in progress),
361 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
362 Requirement Levels", BCP 14, RFC 2119, March 1997.
364 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security
365 (TLS) Protocol Version 1.1", RFC 4346, April 2006.
367 [RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
368 Security", RFC 4347, April 2006.
370 8.2. Informative References
372 [I-D.ietf-tls-ecc-new-mac]
373 Rescorla, E., "TLS Elliptic Curve Cipher Suites with SHA-
374 256/384 and AES Galois Counter Mode",
375 draft-ietf-tls-ecc-new-mac-02 (work in progress),
378 [I-D.rescorla-tls-suiteb]
379 Salter, M. and E. Rescorla, "Suite B Cipher Suites for
380 TLS", draft-rescorla-tls-suiteb-01 (work in progress),
384 Institute of Electrical and Electronics Engineers, "Media
385 Access Control Security", IEEE Standard 802.1AE,
391 Salowey, et al. Expires July 16, 2008 [Page 7]
393 Internet-Draft RSA AES-GCM Ciphersuites January 2008
396 [RFC4106] Viega, J. and D. McGrew, "The Use of Galois/Counter Mode
397 (GCM) in IPsec Encapsulating Security Payload (ESP)",
409 Email: jsalowey@cisco.com
418 Email: abhijitc@cisco.com
427 Email: mcgrew@cisco.com
447 Salowey, et al. Expires July 16, 2008 [Page 8]
449 Internet-Draft RSA AES-GCM Ciphersuites January 2008
452 Full Copyright Statement
454 Copyright (C) The IETF Trust (2008).
456 This document is subject to the rights, licenses and restrictions
457 contained in BCP 78, and except as set forth therein, the authors
458 retain all their rights.
460 This document and the information contained herein are provided on an
461 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
462 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
463 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
464 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
465 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
466 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
469 Intellectual Property
471 The IETF takes no position regarding the validity or scope of any
472 Intellectual Property Rights or other rights that might be claimed to
473 pertain to the implementation or use of the technology described in
474 this document or the extent to which any license under such rights
475 might or might not be available; nor does it represent that it has
476 made any independent effort to identify any such rights. Information
477 on the procedures with respect to rights in RFC documents can be
478 found in BCP 78 and BCP 79.
480 Copies of IPR disclosures made to the IETF Secretariat and any
481 assurances of licenses to be made available, or the result of an
482 attempt made to obtain a general license or permission for the use of
483 such proprietary rights by implementers or users of this
484 specification can be obtained from the IETF on-line IPR repository at
485 http://www.ietf.org/ipr.
487 The IETF invites any interested party to bring to its attention any
488 copyrights, patents or patent applications, or other proprietary
489 rights that may cover technology that may be required to implement
490 this standard. Please address the information to the IETF at
496 Funding for the RFC Editor function is provided by the IETF
497 Administrative Support Activity (IASA).
503 Salowey, et al. Expires July 16, 2008 [Page 9]