TLS Working Group B. Han Internet Draft D. Shin Obsoletes: 4162 H. Jeong Intended Status: Standard Track Y. Won Expires: December 17, 2011 KISA June 15, 2011 Addition of SEED Cipher Suites to Transport Layer Security (TLS) draft-bjhan-tls-seed-00 Abstract This document proposes the addition of new cipher suites to the Transport Layer Security (TLS) protocol to support the SEED encryption algorithm as a block cipher algorithm. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents Han. et al. Expires December 17, 2011 [Page 1] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 (http://trustee.ietf.org/license-info) 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 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. SEED . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Proposed Cipher Suites . . . . . . . . . . . . . . . . . . . . 4 2.1. HMAC-Based Cipher Suites . . . . . . . . . . . . . . . . . 4 2.2. GCM-Based Cipher Suites . . . . . . . . . . . . . . . . . 4 2.3. PSK Cipher Suites . . . . . . . . . . . . . . . . . . . . 5 3. Cipher Suite Definitions . . . . . . . . . . . . . . . . . . . 5 3.1. Key Exchange . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3. PRFs . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4. PSK Cipher Suites . . . . . . . . . . . . . . . . . . . . 5 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6.1 Normative References . . . . . . . . . . . . . . . . . . . 8 6.2 Informative References . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Han. et al. Expires December 17, 2011 [Page 2] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 1. Introduction This document specifies cipher suites for the Transport Layer Security (TLS) [RFC5246] protocol to support the SEED [RFC4269] encryption algorithm as a block cipher algorithm. The cipher suites include variants using the SHA-2 family of cryptographic hash functions and SEED Galois counter mode. Elliptic curve cipher suites and pre-shared key (PSK) cipher suites are also defined. The cipher suites with SHA-1 are not included in this document. Due to recent analytic work on SHA-1 [Wang05], the IETF is gradually moving away from SHA-1 and towards stronger hash algorithms. The SEED cipher suites for TLS 1.0 originally specified in [RFC4162] This document obsoletes RFC 4162. 1.1. SEED SEED is a symmetric encryption algorithm that was developed by Korea Internet & Security Agency (KISA) and a group of experts, beginning in 1998. The input/output block size of SEED is 128-bit and the key length is also 128-bit. SEED has the 16-round Feistel structure. A 128-bit input is divided into two 64-bit blocks and the right 64-bit block is an input to the round function with a 64-bit subkey generated from the key scheduling. SEED is easily implemented in various software and hardware because it is designed to increase the efficiency of memory storage and the simplicity of generating keys without degrading the security of the algorithm. In particular, it can be effectively adopted in a computing environment that has a restricted resources such as mobile devices, smart cards, and so on. SEED is a national industrial association standard [TTASSEED] and is widely used in South Korea for electronic commerce and financial services operated on wired & wireless PKI. The SEED homepage, http://seed.kisa.or.kr/eng/about/about.jsp, contains a wealth of information about SEED, including detailed specification, evaluation report, test vectors, and so on. 1.2. Terminology 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 RFC 2119 [RFC2119]. Han. et al. Expires December 17, 2011 [Page 3] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 2. Proposed Cipher Suites 2.1. HMAC-Based Cipher Suites The first ten cipher suites use SEED0 [RFC4269] in Cipher Block Chaining (CBC) mode with a SHA-2 family Hashed Message Authentication Code (HMAC). Eight out of twenty use elliptic curves. CipherSuite TLS_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_ECDSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_ECDSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; 2.2. GCM-Based Cipher Suites The next ten cipher suites use the same asymmetric algorithms as those in the previous section but use the authenticated encryption modes defined in TLS 1.2 with the SEED in Galois Counter Mode (GCM)[GCM]. CipherSuite TLS_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_ECDSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_ECDSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; Han. et al. Expires December 17, 2011 [Page 4] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 2.3. PSK Cipher Suites The next seven cipher suites describe PSK cipher suites. Four cipher suites use an HMAC and three cipher suites use the SEED Galois Counter Mode. CipherSuite TLS_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; 3. Cipher Suite Definitions 3.1. Key Exchange The RSA, DHE_RSA, DH_RSA, DHE_DSS, DH_DSS, DH_anon, ECDH, and ECDHE key exchanges are performed as defined in [RFC5246]. 3.2. Cipher The SEED_128_CBC cipher suites use SEED [RFC4269] in CBC mode with a 128-bit key and 128-bit Initialization Vector (IV) AES-authenticated encryption with additional data algorithms, AEAD_AES_128_GCM is described in [RFC5116]. AES GCM cipher suites for TLS are described in [RFC5288]. AES and SEED share common characteristics, including key sizes and block length. SEED_128_GCM is defined according to those characteristics of AES. 3.3. PRFs The pseudorandom functions (PRFs) SHALL be as follows: a. For cipher suites ending with _SHA256, the PRF is the TLS PRF [RFC5246] using SHA-256 as the hash function. b. For cipher suites ending with _SHA384, the PRF is the TLS PRF [RFC5246] using SHA-384 as the hash function. 3.4. PSK Cipher Suites Pre-shared key cipher suites for TLS are described in [RFC4279], [RFC4785], [RFC5487], and [RFC5489]. Han. et al. Expires December 17, 2011 [Page 5] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 4. Security Considerations At the time of writing this document, no security problem has been found on SEED. SEED is robust against known attacks, including differential cryptanalysis, linear cryptanalysis, and related key attacks, etc. SEED has gone through wide public scrutinizing procedures. Especially, it has been evaluated and also considered cryptographically secure by trustworthy organizations such as ISO/IEC JTC 1/SC 27 and Japan CRYPTREC (Cryptography Research and Evaluation Committees) [ISOSEED] [CRYPTREC]. SEED has been standardized at ISO/IEC JTC 1/SC 27 (ISO/IEC 18033-3). For further security considerations, the reader is encouraged to read [SEED-EVAL]. The security considerations in the following RFCs apply to this document as well: [RFC4279] [RFC4785] [RFC5116] [RFC5288] [RFC5289] [RFC5487] and [GCM]. Han. et al. Expires December 17, 2011 [Page 6] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 5. IANA Considerations IANA is requested to allocate the following numbers in the TLS Cipher Suite Registry: CipherSuite TLS_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_ECDSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_ECDSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_RSA_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_ECDSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_ECDSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDH_RSA_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_PSK_WITH_SEED_128_GCM_SHA256 = { TBD,TBD }; CipherSuite TLS_ECDHE_PSK_WITH_SEED_128_CBC_SHA256 = { TBD,TBD }; Han. et al. Expires December 17, 2011 [Page 7] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 6. References 6.1 Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4162] Lee, H., Yoon, J., and J. Lee, "Addition of SEED Cipher Suites to Transport Layer Security (TLS)", RFC 4162, August 2005. [RFC4269] Lee, H., Lee, S., Yoon, J., Cheon, D., and J. Lee, "The SEED Encryption Algorithm", RFC 4269, December 2005. [RFC4279] Eronen, P., Ed., and H. Tschofenig, Ed., "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", RFC 4279, December 2005. [RFC4785] Blumenthal, U. and P. Goel, "Pre-Shared Key (PSK) Ciphersuites with NULL Encryption for Transport Layer Security (TLS)", RFC 4785, January 2007. [RFC5116] McGrew, D., "An Interface and Algorithms for Authenticated Encryption", RFC 5116, January 2008. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008. [RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, August 2008. [RFC5289] Rescorla, E., "TLS Elliptic Curve Cipher Suites with SHA- 256/384 and AES Galois Counter Mode (GCM)", RFC 5289, August 2008. [RFC5487] Badra, M., "Pre-Shared Key Cipher Suites for TLS with SHA- 256/384 and AES Galois Counter Mode", RFC 5487, March 2009. [RFC5489] Badra, M. and I. Hajjeh, "ECDHE_PSK Cipher Suites for Transport Layer Security (TLS)", RFC 5489, March 2009. [GCM] Dworkin, M., "Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC", NIST SP 800-38D, November 2007. Han. et al. Expires December 17, 2011 [Page 8] INTERNET DRAFT SEED Cipher Suites to TLS June 15, 2011 6.2 Informative References [Wang05] Wang, X., Yin, Y., and H. Yu, "Finding Collisions in the Full SHA-1", CRYPTO 2005, LNCS vol.3621, pp.17-36, August 2005. [TTASSEED] Telecommunications Technology Association (TTA), South Korea, "128-bit Symmetric Block Cipher (SEED)", TTAS.KO- 12.0004, September 1998, (In Korean) http://www.tta.or.kr/English/new/main/index.htm [CRYPTREC] Information-technology Promotion Agency (IPA), Japan, CRYPTREC. "SEED Evaluation Report", February 2002, http://seed.kisa.or.kr/seed/down/SEED_Evaluation_Report _by_CRYPTREC.pdf [ISO-SEED] ISO/IEC JTC 1/SC 27, "Encryption algorithms - Part 3: Block ciphers", ISO/IEC 18033-3, December 2010. [SEED-EVAL] KISA, "Self Evaluation Report", http://seed.kisa.or.kr/seed/down/SEED_Self_Evaluation- English.pdf Authors' Addresses Byoungjin Han Korea Internet & Security Agency IT Venture Tower, Jungdaero 135, Songpa-gu, Seoul, Korea 138-950 Email: labon58@gmail.com, bjhan@kisa.or.kr Donghoon Shin Korea Internet & Security Agency IT Venture Tower, Jungdaero 135, Songpa-gu, Seoul, Korea 138-950 Email: dhshin@kisa.or.kr Hyuncheol Jeong Korea Internet & Security Agency IT Venture Tower, Jungdaero 135, Songpa-gu, Seoul, Korea 138-950 Email: hcjung@kisa.or.kr Yoojae Won Korea Internet & Security Agency IT Venture Tower, Jungdaero 135, Songpa-gu, Seoul, Korea 138-950 Email: yjwon@kisa.or.kr Han. et al. Expires December 17, 2011 [Page 9]