Network Working Group A. Kato Internet-Draft NTT Software Corporation Obsoletes: 4132 (if approved) M. Kanda Intended status: Standards Track Nippon Telegraph and Telephone Expires: August 30, 2009 Corporation S. Kanno NTT Software Corporation February 26, 2009 Camellia Cipher Suites for TLS draft-kato-tls-rfc4132bis-03 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 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/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on August 30, 2009. Copyright Notice Kato, et al. Expires August 30, 2009 [Page 1] Internet-Draft Camellia Cipher Suites for TLS February 2009 Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document specifies a set of cipher suites for the Transport Security Layer (TLS) protocol to support the Camellia encryption algorithm as a block cipher. It amends the ciphersuites originally specifed in RFC 4132 by counterparts using the newer cryptographic hash algorithms from the SHA-2 familiy. This document obsoletes RFC 4132. 1. Introduction This document proposes the addition of new cipher suites to the Transport Layer Security (TLS) [RFC5246] protocol to support the Camellia [RFC3713] encryption algorithm as a block cipher algorithm, adding variants using the SHA-2 family of cryptographic hash algorithms [FIPS180-3] to the TLS cipher suite portfolio originally specified in RFC 4132 [RFC4132]. This document obsoletes RFC 4132. Camellia is a symmetric cipher with a Feistel structure. Camellia was developed jointly by NTT and Mitsubishi Electric Corporation in 2000. It was designed to withstand all known cryptanalytic attacks, and it has been scrutinized by worldwide cryptographic experts. Camellia is suitable for implementation in software and hardware, offering encryption speed in software and hardware implementations that is comparable to Advanced Encryption Standard (AES) [FIPS.197.2001]. Camellia supports 128-bit block size and 128-, 192-, and 256-bit key lengths, i.e., the same interface specifications as the AES. Therefore, it is easy to implement Camellia based algorithms by replacing the AES block of AES based algorithms with a Camellia block. Camellia already has been adopted by the IETF and other international standardization organizations; in particular, the IETF has published specifications for the use of Camellia with IPsec [RFC4312], TLS [RFC4132], S/MIME [RFC3657] and XML Security [RFC4051]. Camellia is one of the three ISO/IEC international standard [ISO/IEC 18033-3] Kato, et al. Expires August 30, 2009 [Page 2] Internet-Draft Camellia Cipher Suites for TLS February 2009 128-bit block ciphers (Camellia, AES, and SEED). Camellia was selected as a recommended cryptographic primitive by the EU NESSIE (New European Schemes for Signatures, Integrity and Encryption) project [NESSIE] and was included in the list of cryptographic techniques for Japanese e-Government systems that was selected by the Japanese CRYPTREC (Cryptography Research and Evaluation Committees) [CRYPTREC]. Since optimized source code is provided under several open source licenses [open source license], Camellia is also adopted by several open source projects (OpenSSL, GnuTLS, FreeBSD, and Linux). Camellia is also adopted by Mozilla and Camellia is ready for use with Firefox 3.0 released in June 2008. The algorithm specification and object identifiers are described in [RFC3713]. The Camellia web site [Camellia web site] contains a wealth of information about Camellia, including detailed specification, security analysis, performance figures, reference implementation, optimized implementation, test vectors(TV), and intellectual property information. 1.1. 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 [RFC2119]. 2. Proposed Cipher Suites The cipher suites defined here have the following identifiers: Kato, et al. Expires August 30, 2009 [Page 3] Internet-Draft Camellia Cipher Suites for TLS February 2009 CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x41 }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x42 }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x43 }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x44 }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x45 }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x46 }; CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x84 }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x85 }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x86 }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x87 }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x88 }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x89 }; CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; 3. Cipher Suite Definitions 3.1. Key Exchange The RSA, DHE_RSA, DH_RSA, DHE_DSS, DH_DSS, and DH_anon key exchanges are performed as defined in [RFC5246]. 3.2. Cipher The CAMELLIA_128_CBC cipher suites use Camellia [RFC3713] in CBC mode with a 128-bit key and 128-bit IV; the CAMELLIA_256_CBC cipher suites use a 256-bit key and 128-bit IV. 3.3. Hash and Pseudorandom Function The cipher suites ending with _SHA use HMAC-SHA1 as the MAC algorithm. The cipher suites ending with _SHA256 use HMAC-SHA-256 as the MAC algorithm. Kato, et al. Expires August 30, 2009 [Page 4] Internet-Draft Camellia Cipher Suites for TLS February 2009 When used with TLS versions prior to 1.2, the PRF is calculated as specified in the appropriate version of the TLS specification. For TLS version 1.2, the PRF is the TLS PRF [RFC5246] with SHA-256 as the hash function. The cipher suites ending with _SHA256 use HMAC-SHA-256 as the MAC algorithm. The PRF is the TLS PRF [RFC5246] with SHA-256 as the hash function. These cipher suites MUST NOT be negotiated by TLS 1.1 or earlier versions. Clients MUST NOT offer these cipher suites if they do not offer TLS 1.2 or later. Servers which select an earlier version of TLS MUST NOT select one of thse cipher suites. 4. IANA Considerations IANA has already allocated the following numbers for RFC 4132, and is requested to update them to reference this document: CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x41 }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x42 }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x43 }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x44 }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x45 }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = { 0x00,0x46 }; CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x84 }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x85 }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x86 }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x87 }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x88 }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = { 0x00,0x89 }; IANA is requested to allocate (has allocated) the following numbers in the TLS Cipher Suite Registry: CipherSuite TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; CipherSuite TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = { TBD,TBD }; Kato, et al. Expires August 30, 2009 [Page 5] Internet-Draft Camellia Cipher Suites for TLS February 2009 5. Security Considerations At the time of writing this document, there are no known weak keys for Camellia. Also, Security issues are discussed throughout RFC 5246 [RFC5246], especially in Appendices D, E, and F of [RFC5246]. 6. References 6.1. Normative References [FIPS180-3] National Institute of Standards and Technology, "Secure Hash Standard (SHS)", FIPS PUB 180, October 2008, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3713] Matsui, M., Nakajima, J., and S. Moriai, "A Description of the Camellia Encryption Algorithm", RFC 3713, April 2004. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008. 6.2. Informative References [CRYPTREC] Information-technology Promotion Agency (IPA), "Cryptography Research and Evaluation Committees", . [Camellia web site] "Camellia web site", . [FIPS.197.2001] National Institute of Standards and Technology, "Advanced Encryption Standard (AES)", FIPS PUB 197, November 2001, < http://csrc.nist.gov/publications/fips/fips197/ fips-197.pdf>. [ISO/IEC 18033-3] International Organization for Standardization, "Information technology - Security techniques - Encryption Kato, et al. Expires August 30, 2009 [Page 6] Internet-Draft Camellia Cipher Suites for TLS February 2009 algorithms - Part 3: Block ciphers", ISO/IEC 18033-3, July 2005. [NESSIE] "The NESSIE project (New European Schemes for Signatures, Integrity and Encryption)", . [RFC3657] Moriai, S. and A. Kato, "Use of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)", RFC 3657, January 2004. [RFC4051] Eastlake, D., "Additional XML Security Uniform Resource Identifiers (URIs)", RFC 4051, April 2005. [RFC4132] Moriai, S., Kato, A., and M. Kanda, "Addition of Camellia Cipher Suites to Transport Layer Security (TLS)", RFC 4132, July 2005. [RFC4312] Kato, A., Moriai, S., and M. Kanda, "The Camellia Cipher Algorithm and Its Use With IPsec", RFC 4312, December 2005. [open source license] "Camellia open source software", . Authors' Addresses Akihiro Kato NTT Software Corporation Phone: +81-45-212-7577 Fax: +81-45-212-9800 Email: akato@po.ntts.co.jp Masayuki Kanda Nippon Telegraph and Telephone Corporation Phone: +81-422-59-3456 Fax: +81-422-59-4015 Email: kanda.masayuki@lab.ntt.co.jp Kato, et al. Expires August 30, 2009 [Page 7] Internet-Draft Camellia Cipher Suites for TLS February 2009 Satoru Kanno NTT Software Corporation Phone: +81-45-212-7577 Fax: +81-45-212-9800 Email: kanno-s@po.ntts.co.jp Kato, et al. Expires August 30, 2009 [Page 8]