Corrected signed-to-unsigned comparisons
[gnutls.git] / doc / protocol / draft-badra-tls-psk-new-mac-aes-gcm-02.txt
blob91d2cb8ea44c6cbf4edd4f38d21fa5bc2a995e10
1 TLS Working Group                                         Mohamad Badra 
2 Internet Draft                                         LIMOS Laboratory 
3 Intended status: Standards Track                         April 30, 2008 
4 Expires: October 2008 
5                                     
6  
7                                       
8    Pre-Shared Key Cipher Suites for Transport Layer Security (TLS) with 
9                   SHA-256/384 and AES Galois Counter Mode  
10                 draft-badra-tls-psk-new-mac-aes-gcm-02.txt 
13 Status of this Memo                      
15    By submitting this Internet-Draft, each author represents that any 
16    applicable patent or other IPR claims of which he or she is aware 
17    have been or will be disclosed, and any of which he or she becomes 
18    aware will be disclosed, in accordance with Section 6 of BCP 79. 
20    Internet-Drafts are working documents of the Internet Engineering 
21    Task Force (IETF), its areas, and its working groups.  Note that 
22    other groups may also distribute working documents as Internet-
23    Drafts. 
25    Internet-Drafts are draft documents valid for a maximum of six 
26    months and may be updated, replaced, or obsoleted by other documents 
27    at any time.  It is inappropriate to use Internet-Drafts as 
28    reference material or to cite them other than as "work in progress." 
30    The list of current Internet-Drafts can be accessed at 
31    http://www.ietf.org/ietf/1id-abstracts.txt 
33    The list of Internet-Draft Shadow Directories can be accessed at 
34    http://www.ietf.org/shadow.html 
36    This Internet-Draft will expire on October 30, 2008. 
38 Copyright Notice 
40    Copyright (C) The IETF Trust (2008). 
42 Abstract 
44    RFC 4279 and RFC 4785 describe pre-shared key cipher suites for 
45    Transport Layer Security (TLS).  However, all those cipher suites 
46    use SHA-1 as their MAC algorithm.  This document describes a set of 
47    cipher suites for TLS/DTLS which uses stronger digest algorithms 
52 Badra                  Expires October 30, 2008                [Page 1] 
54 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
55     
57    (i.e., SHA-256 or SHA-384) and another which uses the Advanced 
58    Encryption Standard (AES) in Galois Counter Mode (GCM). 
60 Table of Contents 
62     
63    1. Introduction...................................................3 
64       1.1. Conventions used in this document.........................3 
65    2. PSK, DHE_PSK and RSA_PSK Key Exchange Algorithms with AES-GCM..3 
66    3. PSK, DHE_PSK and RSA_PSK Key Exchange with SHA-256/384.........4 
67       3.1. PSK Key Exchange Algorithm with SHA-256/384...............4 
68       3.2. DHE_PSK Key Exchange Algorithm with SHA-256/384...........5 
69       3.3. RSA_PSK Key Exchange Algorithm with SHA-256/384...........5 
70    4. Security Considerations........................................5 
71    5. IANA Considerations............................................6 
72    6. Acknowledgments................................................6 
73    7. References.....................................................6 
74       7.1. Normative References......................................6 
75       7.2. Informative References....................................7 
76    Author's Addresses................................................8 
77    Full Copyright Statement..........................................8 
78    Intellectual Property.............................................8 
79    Acknowledgment....................................................9 
80     
106 Badra                  Expires October 30, 2008                [Page 2] 
108 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
109     
111 1. Introduction 
113    TLS 1.2 [I-D.ietf-tls-rfc4346-bis], adds support for authenticated 
114    encryption with additional data (AEAD) cipher modes [RFC5116]. This 
115    document describes the use of Advanced Encryption Standard (AES) 
116    [AES] in Galois Counter Mode (GCM) [GCM] (AES-GCM) with various pre-
117    shared key (PSK) key exchange mechanisms ([RFC4279] and [RFC4785]) 
118    as a cipher suite for Transport Layer Security (TLS).  
120    This document also specifies PSK cipher suites for TLS which replace 
121    SHA-1 by SHA-256 or SHA-384.  RFC 4279 [RFC4279] and RFC 4785 
122    [RFC4785] describe PSK cipher suites for TLS.  However, all of the 
123    RFC 4279 and the RFC 4785 cipher suites use HMAC-SHA1 as their MAC 
124    algorithm.  Due to recent analytic work on SHA-1 [Wang05], the IETF 
125    is gradually moving away from SHA-1 and towards stronger hash 
126    algorithms. 
128    ECC based cipher suites with SHA-256/384 and AES-GCM are defined in 
129    [I-D.ietf-tls-ecc-new-mac]; RSA, DSS and Diffie-Hellman based cipher 
130    suites are specified in [I-D.ietf-tls-rsa-aes-gcm].  The reader is 
131    expected to become familiar with these two memos prior to studying 
132    this document. 
134 1.1. Conventions used in this document  
136    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
137    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
138    document are to be interpreted as described in [RFC2119]. 
140 2. PSK, DHE_PSK and RSA_PSK Key Exchange Algorithms with AES-GCM 
142    The following eight cipher suites use the new authenticated 
143    encryption modes defined in TLS 1.2 with AES in Galois Counter Mode 
144    (GCM) [GCM].  The cipher suites with DHE_PSK key exchange algorithm 
145    (TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 and 
146    TLS_DHE_PSK_WITH_AES_128_GCM_SHA348) provide Perfect Forward Secrecy 
147    (PFS). 
149       CipherSuite TLS_PSK_WITH_AES_128_GCM_SHA256      = {0xXX,0xXX}; 
150       CipherSuite TLS_PSK_WITH_AES_258_GCM_SHA256      = {0xXX,0xXX}; 
151       CipherSuite TLS_PSK_WITH_AES_128_GCM_SHA384      = {0xXX,0xXX}; 
152       CipherSuite TLS_PSK_WITH_AES_256_GCM_SHA384      = {0xXX,0xXX}; 
153       CipherSuite TLS_DHE_PSK_WITH_AES_128_GCM_SHA256  = {0xXX,0xXX}; 
154       CipherSuite TLS_DHE_PSK_WITH_AES_256_GCM_SHA384  = {0xXX,0xXX}; 
155       CipherSuite TLS_RSA_PSK_WITH_AES_128_GCM_SHA256  = {0xXX,0xXX}; 
156       CipherSuite TLS_RSA_PSK_WITH_AES_256_GCM_SHA384  = {0xXX,0xXX}; 
160 Badra                  Expires October 30, 2008                [Page 3] 
162 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
163     
165    These cipher suites use authenticated encryption with additional 
166    data (AEAD) algorithms AEAD_AES_128_GCM and AEAD_AES_256_GCM 
167    described in RFC 5116.  GCM is used as described in [I-D.ietf-tls-
168    rsa-aes-gcm]. 
170    The PSK, DHE_PSK and RSA_PSK key exchanges are performed as defined 
171    in [RFC4279]. 
173    The PRF algorithms SHALL be as follows: 
175        For cipher suites ending with _SHA256, the PRF is the TLS PRF  
176        [I-D.ietf-tls-rfc4346-bis] with SHA-256 as the hash function. 
178        For cipher suites ending with _SHA384, the PRF is the TLS PRF  
179        [I-D.ietf-tls-rfc4346-bis] with SHA-384 as the hash function. 
181    Implementations MUST send TLS Alert bad_record_mac for all types of 
182    failures encountered in processing the AES-GCM algorithm. 
184 3. PSK, DHE_PSK and RSA_PSK Key Exchange with SHA-256/384 
186    The cipher suites described in this section use AES [AES] in CBC 
187    [CBC] mode with an HMAC-based MAC. 
189 3.1. PSK Key Exchange Algorithm with SHA-256/384 
191       CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA256      = {0xXX,0xXX}; 
192       CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA256      = {0xXX,0xXX}; 
193       CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA384      = {0xXX,0xXX}; 
194       CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA384      = {0xXX,0xXX}; 
195       CipherSuite TLS_PSK_WITH_NULL_SHA256             = {0xXX,0xXX}; 
196       CipherSuite TLS_PSK_WITH_NULL_SHA384             = {0xXX,0xXX}; 
198    The above six cipher suites are the same as the corresponding cipher 
199    suites in RFC 4279 and RFC 4785 (with names ending in "_SHA" in 
200    place of "_SHA256" or "_SHA384"), except for the hash and PRF 
201    algorithms, which are SHA-256 and SHA-384 [SHS] as follows. 
203    CipherSuite                              MAC             PRF 
204    ------------                             ---             --- 
205    TLS_PSK_WITH_AES_128_CBC_SHA256          HMAC-SHA-256    P_SHA-256 
206    TLS_PSK_WITH_AES_128_CBC_SHA384          HMAC-SHA-384    P_SHA-384 
207    TLS_PSK_WITH_AES_256_CBC_SHA256          HMAC-SHA-256    P_SHA-256 
208    TLS_PSK_WITH_AES_256_CBC_SHA384          HMAC-SHA-384    P_SHA-384 
209    TLS_PSK_WITH_NULL_SHA256                 HMAC-SHA-256    P_SHA-256 
210    TLS_PSK_WITH_NULL_SHA384                 HMAC-SHA-384    P_SHA-384 
214 Badra                  Expires October 30, 2008                [Page 4] 
216 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
217     
219 3.2. DHE_PSK Key Exchange Algorithm with SHA-256/384 
221       CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA256  = {0xXX,0xXX};   
222       CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA384  = {0xXX,0xXX}; 
223       CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA256  = {0xXX,0xXX};     
224       CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA384  = {0xXX,0xXX}; 
225       CipherSuite TLS_DHE_PSK_WITH_NULL_SHA256         = {0xXX,0xXX};     
226       CipherSuite TLS_DHE_PSK_WITH_NULL_SHA384         = {0xXX,0xXX}; 
228    The above six cipher suites are the same as the corresponding cipher 
229    suites in RFC 4279 and RFC 4785 (with names ending in "_SHA" in 
230    place of "_SHA256" or "_SHA384"), except for the hash and PRF 
231    algorithms, which are SHA-256 and SHA-384 [SHS] as follows. 
233    CipherSuite                              MAC             PRF 
234    ------------                             ---             --- 
235    TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      HMAC-SHA-256    P_SHA-256 
236    TLS_DHE_PSK_WITH_AES_128_CBC_SHA384      HMAC-SHA-384    P_SHA-384 
237    TLS_DHE_PSK_WITH_AES_256_CBC_SHA256      HMAC-SHA-256    P_SHA-256 
238    TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      HMAC-SHA-384    P_SHA-384 
240 3.3. RSA_PSK Key Exchange Algorithm with SHA-256/384 
242       CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA256    = {0xXX,0xXX}; 
243       CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA384    = {0xXX,0xXX}; 
244       CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA256    = {0xXX,0xXX}; 
245       CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA384    = {0xXX,0xXX}; 
247    The above four cipher suites are the same as the corresponding 
248    cipher suites in RFC 4279 and RFC 4785 (with names ending in "_SHA" 
249    in place of "_SHA256" or "_SHA384"), except for the hash and PRF 
250    algorithms, which are SHA-256 and SHA-384 [SHS] as follows. 
252    CipherSuite                              MAC             PRF 
253    ------------                             ---             --- 
254    TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      HMAC-SHA-256    P_SHA-256 
255    TLS_RSA_PSK_WITH_AES_128_CBC_SHA384      HMAC-SHA-384    P_SHA-384 
256    TLS_RSA_PSK_WITH_AES_256_CBC_SHA256      HMAC-SHA-256    P_SHA-256 
257    TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      HMAC-SHA-384    P_SHA-384 
259 4. Security Considerations 
261    The security considerations in RFC 4279, RFC 4758, and [I-D.ietf-
262    tls-rsa-aes-gcm] apply to this document as well.  In addition, as 
263    described in [I-D.ietf-tls-rsa-aes-gcm], these cipher suites may 
264    only be used with TLS 1.2 or greater. 
268 Badra                  Expires October 30, 2008                [Page 5] 
270 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
271     
273 5. IANA Considerations 
275    IANA has assigned the following values for the cipher suites defined 
276    in this document: 
278       CipherSuite TLS_PSK_WITH_AES_128_GCM_SHA256      = {0xXX,0xXX}; 
279       CipherSuite TLS_PSK_WITH_AES_258_GCM_SHA256      = {0xXX,0xXX}; 
280       CipherSuite TLS_PSK_WITH_AES_128_GCM_SHA384      = {0xXX,0xXX}; 
281       CipherSuite TLS_PSK_WITH_AES_256_GCM_SHA384      = {0xXX,0xXX}; 
282       CipherSuite TLS_DHE_PSK_WITH_AES_128_GCM_SHA256  = {0xXX,0xXX}; 
283       CipherSuite TLS_DHE_PSK_WITH_AES_256_GCM_SHA384  = {0xXX,0xXX}; 
284       CipherSuite TLS_RSA_PSK_WITH_AES_128_GCM_SHA256  = {0xXX,0xXX}; 
285       CipherSuite TLS_RSA_PSK_WITH_AES_256_GCM_SHA384  = {0xXX,0xXX};    
286       CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA256      = {0xXX,0xXX}; 
287       CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA256      = {0xXX,0xXX}; 
288       CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA384      = {0xXX,0xXX}; 
289       CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA384      = {0xXX,0xXX}; 
290       CipherSuite TLS_PSK_WITH_NULL_SHA256             = {0xXX,0xXX}; 
291       CipherSuite TLS_PSK_WITH_NULL_SHA384             = {0xXX,0xXX}; 
292       CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA256  = {0xXX,0xXX};   
293       CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA384  = {0xXX,0xXX}; 
294       CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA256  = {0xXX,0xXX};     
295       CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA384  = {0xXX,0xXX}; 
296       CipherSuite TLS_DHE_PSK_WITH_NULL_SHA256         = {0xXX,0xXX};     
297       CipherSuite TLS_DHE_PSK_WITH_NULL_SHA384         = {0xXX,0xXX}; 
298       CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA256  = {0xXX,0xXX}; 
299       CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA384  = {0xXX,0xXX}; 
300       CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA256  = {0xXX,0xXX}; 
301       CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA384  = {0xXX,0xXX}; 
303 6. Acknowledgments 
305    This draft borrows heavily from [I-D.ietf-tls-ecc-new-mac] and [I-
306    D.ietf-tls-rsa-aes-gcm]. 
308 7. References 
310 7.1. Normative References 
312    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 
313              Requirement Levels", BCP 14, RFC 2119, March 1997. 
315    [I-D.ietf-tls-rfc4346-bis] 
316              Dierks, T. and E. Rescorla, "The Transport Layer Security 
317              (TLS) Protocol Version 1.2", draft-ietf-tls-rfc4346-bis-
318              10, work in progress, March 2008. 
322 Badra                  Expires October 30, 2008                [Page 6] 
324 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
325     
327    [RFC5116] McGrew, D., "An Interface and Algorithms for Authenticated 
328              Encryption", RFC 5116, January 2008.  
330    [RFC4279] Eronen, P. and H. Tschofenig, "Pre-Shared Key Ciphersuites 
331              for Transport Layer Security (TLS)", RFC 4279, December 
332              2005.  
334    [RFC4785] Blumenthal, U., Goel, P., "Pre-Shared Key (PSK) 
335              Ciphersuites with NULL Encryption for Transport Layer 
336              Security (TLS)", RFC 4785, January 2007. 
338    [AES]     National Institute of Standards and Technology, 
339              "Specification for the Advanced Encryption Standard 
340              (AES)", FIPS 197, November 2001. 
342    [SHS]     National Institute of Standards and Technology, "Secure 
343              Hash Standard", FIPS 180-2, August 2002. 
345    [CBC]     National Institute of Standards and Technology, 
346              "Recommendation for Block Cipher Modes of Operation - 
347              Methods and Techniques", SP 800-38A, December 2001. 
349    [GCM]     National Institute of Standards and Technology, 
350              "Recommendation for Block Cipher Modes of Operation: 
351              Galois;/Counter Mode (GCM) for Confidentiality and 
352              Authentication", SP 800-38D, November 2007. 
354 7.2. Informative References 
356    [Wang05]  Wang, X., Yin, Y., and H. Yu, "Finding Collisions in the 
357              Full SHA-1", CRYPTO 2005, August 2005. 
359    [I-D.ietf-tls-ecc-new-mac] 
360              Rescorla, E., "TLS Elliptic Curve Cipher Suites with SHA-
361              256/384 and AES Galois Counter  Mode", draft-ietf-tls-ecc-
362              new-mac-06 (work in progress), April 2008. 
364    [I-D.ietf-tls-rsa-aes-gcm] 
365              Salowey, J., A. Choudhury, and C. McGrew, "RSA based AES-
366              GCM Cipher Suites for TLS", draft-ietf-tls-rsa-aes-gcm-03 
367              (work in progress), April 2008. 
376 Badra                  Expires October 30, 2008                [Page 7] 
378 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
379     
381 Author's Addresses 
383    Mohamad Badra 
384    LIMOS Laboratory - UMR6158, CNRS 
385    France 
386     
387    Email: badra@isima.fr 
388     
390 Full Copyright Statement 
392    Copyright (C) The IETF Trust (2008). 
394    This document is subject to the rights, licenses and restrictions 
395    contained in BCP 78, and except as set forth therein, the authors 
396    retain all their rights. 
398    This document and the information contained herein are provided on 
399    an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 
400    REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE 
401    IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL 
402    WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY 
403    WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE 
404    ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS 
405    FOR A PARTICULAR PURPOSE. 
407 Intellectual Property 
409    The IETF takes no position regarding the validity or scope of any 
410    Intellectual Property Rights or other rights that might be claimed 
411    to pertain to the implementation or use of the technology described 
412    in this document or the extent to which any license under such 
413    rights might or might not be available; nor does it represent that 
414    it has made any independent effort to identify any such rights.  
415    Information on the procedures with respect to rights in RFC 
416    documents can be found in BCP 78 and BCP 79. 
418    Copies of IPR disclosures made to the IETF Secretariat and any 
419    assurances of licenses to be made available, or the result of an 
420    attempt made to obtain a general license or permission for the use 
421    of such proprietary rights by implementers or users of this 
422    specification can be obtained from the IETF on-line IPR repository 
423    at http://www.ietf.org/ipr. 
425    The IETF invites any interested party to bring to its attention any 
426    copyrights, patents or patent applications, or other proprietary 
427    rights that may cover technology that may be required to implement 
430 Badra                  Expires October 30, 2008                [Page 8] 
432 Internet-Draft       TLS PSK New MAC and AES-GCM             April 2008 
433     
435    this standard.  Please address the information to the IETF at ietf-
436    ipr@ietf.org. 
438 Acknowledgment 
440    Funding for the RFC Editor function is provided by the IETF 
441    Administrative Support Activity (IASA). 
484 Badra                  Expires October 30, 2008                [Page 9]