ARIA TLS: Addition of the ARIA Cipher Suites to Transport Layer Security (TLS)
TLS cipher suites that add the ARIA block cipher, with SHA-2 hashes, Galois Counter Mode and pre-shared key variants.
Kim, W., Lee, J., Park, J., and D. Kwon, "Addition of the ARIA Cipher Suites to Transport Layer Security (TLS)", RFC 6209, DOI 10.17487/RFC6209, April 2011, <https://www.rfc-editor.org/info/rfc6209>.
@misc{rfc6209,
series = {Request for Comments},
number = 6209,
howpublished = {RFC 6209},
publisher = {RFC Editor},
doi = {10.17487/RFC6209},
url = {https://www.rfc-editor.org/info/rfc6209},
author = {W. Kim and J. Lee and J. Park and D. Kwon},
title = {{Addition of the ARIA Cipher Suites to Transport Layer Security (TLS)}},
pagetotal = 9,
year = 2011,
month = apr,
} RFC text
Contents
Internet Engineering Task Force (IETF) W. Kim
Request for Comments: 6209 J. Lee
Category: Informational J. Park
ISSN: 2070-1721 D. Kwon
NSRI
April 2011
Addition of the ARIA Cipher Suites to Transport Layer Security (TLS)
Abstract
This document specifies a set of cipher suites for the Transport
Layer Security (TLS) protocol to support the ARIA encryption
algorithm as a block cipher.
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 Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6209.
Copyright 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
(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 . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. ARIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Proposed Cipher Suites . . . . . . . . . . . . . . . . . . . . 3
2.1. HMAC-Based Cipher Suites . . . . . . . . . . . . . . . . . 3
2.2. GCM-Based Cipher Suites . . . . . . . . . . . . . . . . . . 3
2.3. PSK Cipher Suites . . . . . . . . . . . . . . . . . . . . . 4
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 . . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.1. Normative References . . . . . . . . . . . . . . . . . . . 7
6.2. Informative References . . . . . . . . . . . . . . . . . . 8
1. Introduction
This document specifies cipher suites for the Transport Layer
Security (TLS) [RFC5246] protocol to support the ARIA [RFC5794]
encryption algorithm as a block cipher algorithm. The cipher suites
include variants using the SHA-2 family of cryptographic hash
functions and ARIA 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.
1.1. ARIA
ARIA is a general-purpose block cipher algorithm developed by Korean
cryptographers in 2003. It is an iterated block cipher with 128-,
192-, and 256-bit keys and encrypts 128-bit blocks in 12, 14, and 16
rounds, depending on the key size. It is secure and suitable for
most software and hardware implementations on 32-bit and 8-bit
processors. It was established as a Korean standard block cipher
algorithm in 2004 [ARIAKS] and has been widely used in Korea,
especially for government-to-public services. It was included in
PKCS #11 in 2007 [ARIAPKCS]. The algorithm specification and object
identifiers are described in [RFC5794].
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 [RFC2119].
2. Proposed Cipher Suites
2.1. HMAC-Based Cipher Suites
The first twenty cipher suites use ARIA [RFC5794] 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_ARIA_128_CBC_SHA256 = { 0xC0,0x3C };
CipherSuite TLS_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3D };
CipherSuite TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x3E };
CipherSuite TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3F };
CipherSuite TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x40 };
CipherSuite TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x41 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x42 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x43 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x44 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x45 };
CipherSuite TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x46 };
CipherSuite TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x47 };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x48 };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x49 };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4A };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4B };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4C };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4D };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4E };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4F };
2.2. GCM-Based Cipher Suites
The next twenty 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 ARIA in Galois Counter Mode (GCM)
[GCM].
CipherSuite TLS_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x50 };
CipherSuite TLS_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x51 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x52 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x53 };
CipherSuite TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x54 };
CipherSuite TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x55 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x56 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x57 };
CipherSuite TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x58 };
CipherSuite TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x59 };
CipherSuite TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5A };
CipherSuite TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5B };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5C };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5D };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5E };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5F };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x60 };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x61 };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x62 };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x63 };
2.3. PSK Cipher Suites
The next fourteen cipher suites describe PSK cipher suites. Eight
cipher suites use an HMAC and six cipher suites use the ARIA Galois
Counter Mode.
CipherSuite TLS_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x64 };
CipherSuite TLS_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x65 };
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x66 };
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x67 };
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x68 };
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x69 };
CipherSuite TLS_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6A };
CipherSuite TLS_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6B };
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6C };
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6D };
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6E };
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6F };
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x70 };
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x71 };
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 ARIA_128_CBC cipher suites use ARIA [RFC5794] in CBC mode with a
128-bit key and 128-bit Initialization Vector (IV); the ARIA_256_CBC
cipher suites use a 256-bit key and 128-bit IV.
AES-authenticated encryption with additional data algorithms,
AEAD_AES_128_GCM, and AEAD_AES_256_GCM are described in [RFC5116].
AES GCM cipher suites for TLS are described in [RFC5288]. AES and
ARIA share common characteristics, including key sizes and block
length. ARIA_128_GCM and ARIA_256_GCM are 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].
4. Security Considerations
At the time of writing this document, no security problems have been
found on ARIA (see [YWL]).
The security considerations in the following RFCs apply to this
document as well: [RFC4279] [RFC4785] [RFC5116] [RFC5288] [RFC5289]
[RFC5487] and [GCM].
5. IANA Considerations
IANA has allocated the following numbers in the TLS Cipher Suite
Registry:
CipherSuite TLS_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x3C };
CipherSuite TLS_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3D };
CipherSuite TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x3E };
CipherSuite TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x3F };
CipherSuite TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x40 };
CipherSuite TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x41 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x42 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x43 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x44 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x45 };
CipherSuite TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x46 };
CipherSuite TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x47 };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x48 };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x49 };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4A };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4B };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4C };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4D };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x4E };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x4F };
CipherSuite TLS_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x50 };
CipherSuite TLS_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x51 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x52 };
CipherSuite TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x53 };
CipherSuite TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x54 };
CipherSuite TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x55 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x56 };
CipherSuite TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x57 };
CipherSuite TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x58 };
CipherSuite TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x59 };
CipherSuite TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5A };
CipherSuite TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5B };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5C };
CipherSuite TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5D };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x5E };
CipherSuite TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x5F };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x60 };
CipherSuite TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x61 };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x62 };
CipherSuite TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x63 };
CipherSuite TLS_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x64 };
CipherSuite TLS_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x65 };
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x66 };
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x67 };
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x68 };
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x69 };
CipherSuite TLS_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6A };
CipherSuite TLS_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6B };
CipherSuite TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6C };
CipherSuite TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6D };
CipherSuite TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = { 0xC0,0x6E };
CipherSuite TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = { 0xC0,0x6F };
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = { 0xC0,0x70 };
CipherSuite TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = { 0xC0,0x71 };
6. References
6.1. Normative References
[GCM] Dworkin, M., "Recommendation for Block Cipher Modes of
Operation: Galois/Counter Mode (GCM) and GMAC", NIST
SP 800-38D, November 2007.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4279] Eronen, P. and H. Tschofenig, "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.
[RFC5794] Lee, J., Lee, J., Kim, J., Kwon, D., and C. Kim, "A
Description of the ARIA Encryption Algorithm", RFC 5794,
March 2010.
6.2. Informative References
[ARIAKS] Korean Agency for Technology and Standards, "128 bit
block encryption algorithm ARIA - Part 1: General (in
Korean)", KS X 1213-1:2009, December 2009.
[ARIAPKCS] RSA Laboratories, "Additional PKCS #11 Mechanisms",
PKCS #11 v2.20 Amendment 3 Revision 1, January 2007.
[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.
[YWL] Li, Y., Wu, W., and L. Zhang, "Integral attacks on
reduced-round ARIA block cipher", ISPEC 2010,
LNCS Vol.6047, pp. 19-29, May 2010.
Authors' Addresses
Woo-Hwan Kim
National Security Research Institute
P.O.Box 1, Yuseong
Daejeon 305-350
Korea
EMail: whkim5@ensec.re.kr
Jungkeun Lee
National Security Research Institute
P.O.Box 1, Yuseong
Daejeon 305-350
Korea
EMail: jklee@ensec.re.kr
Je-Hong Park
National Security Research Institute
P.O.Box 1, Yuseong
Daejeon 305-350
Korea
EMail: jhpark@ensec.re.kr
Daesung Kwon
National Security Research Institute
P.O.Box 1, Yuseong
Daejeon 305-350
Korea
EMail: ds_kwon@ensec.re.kr
ISO Plain Language
On this page
§1Why ARIA Needs TLS Cipher Suites
This document specifies cipher suites for the Transport Layer Security (TLS) protocol so that the ARIA encryption algorithm can be used as a block cipher. It builds on RFC 5246, which defines TLS 1.2, and on RFC 5794, which describes ARIA.
The suites use the SHA-2 family of cryptographic hash functions and ARIA in Galois Counter Mode. Elliptic curve cipher suites and pre-shared key (PSK) cipher suites are also defined. Suites that use SHA-1 are left out on purpose: recent analytic work on SHA-1 led the IETF to move gradually away from SHA-1 and towards stronger hash algorithms.
Before a secure connection starts, the two sides agree on one cipher suite, which names the cipher and the hash function they will use. This document adds suites that use ARIA, a cipher designed in Korea, and it leaves out SHA-1 because the IETF is moving to stronger hashes.
§1.1The ARIA Cipher
ARIA is a general-purpose block cipher algorithm developed by Korean cryptographers in 2003. It is an iterated block cipher with 128-, 192- and 256-bit keys, and it encrypts 128-bit blocks in 12, 14 or 16 rounds, depending on the key size. The RFC says it is secure and suitable for most software and hardware implementations on 32-bit and 8-bit processors.
It was established as a Korean standard block cipher algorithm in 2004 and has been widely used in Korea, especially for government-to-public services. It was included in PKCS #11 in 2007. The algorithm specification and its object identifiers are described in RFC 5794, not in this document.
ARIA is a block cipher from Korea. It encrypts a block of 128 bits at a time, repeating its encryption step 12, 14 or 16 times depending on whether the key is 128, 192 or 256 bits long.
§2The Three Groups of Cipher Suites
The suites come in three groups. The first twenty use ARIA in Cipher Block Chaining (CBC) mode with a SHA-2 family Hashed Message Authentication Code (HMAC); eight of those twenty use elliptic curves. The next twenty use the same asymmetric algorithms as the first group but use the authenticated encryption modes defined for TLS 1.2, with ARIA in Galois Counter Mode (GCM).
The last fourteen are PSK suites: eight use an HMAC and six use ARIA in Galois Counter Mode. Names follow the pattern TLS_RSA_WITH_ARIA_128_CBC_SHA256, where the key exchange comes first, then the cipher and the key size, then the hash. The 128-bit suites end in SHA256 and the 256-bit suites in SHA384.
The document lists three sets of suites. One set uses ARIA in CBC mode and adds a separate HMAC check on the data; one set uses ARIA in Galois Counter Mode, which encrypts and checks the data in one step; the last set is for devices that already share a secret key.
| Group | How many | Mode | Code points |
|---|---|---|---|
| HMAC-based | 20, of which 8 use elliptic curves | ARIA in CBC mode with a SHA-2 HMAC | 0xC0,0x3C to 0xC0,0x4F |
| GCM-based THIS RFC | 20 | ARIA in Galois Counter Mode | 0xC0,0x50 to 0xC0,0x63 |
| PSK | 14, of which 8 use an HMAC and 6 use GCM | Pre-shared key with CBC or GCM | 0xC0,0x64 to 0xC0,0x71 |
§3Key Exchange, Cipher and Pseudorandom Function
The RSA, DHE_RSA, DH_RSA, DHE_DSS, DH_DSS, DH_anon, ECDH and ECDHE key exchanges are performed as defined in RFC 5246. The ARIA_128_CBC suites use a 128-bit key and a 128-bit initialization vector (IV); the ARIA_256_CBC suites use a 256-bit key and a 128-bit IV.
The GCM suites are defined by analogy with AES GCM, described in RFC 5116 and RFC 5288, because AES and ARIA share common characteristics, including key sizes and block length. The pseudorandom function (PRF) SHALL be the TLS PRF using SHA-256 for cipher suites ending in _SHA256, and SHA-384 for suites ending in _SHA384. The pre-shared key cipher suites are described in RFC 4279, RFC 4785, RFC 5487 and RFC 5489.
These suites reuse the key exchange that TLS 1.2 already defines and only change the cipher. The 128-bit CBC suites use a 128-bit key and a 128-bit initialization vector; the 256-bit ones use a 256-bit key and the same 128-bit vector.
§4Security Considerations
At the time of writing this document, no security problems had been found on ARIA. The RFC points to a paper on integral attacks against the reduced-round version of ARIA as the reference for that statement.
The security considerations in RFC 4279, RFC 4785, RFC 5116, RFC 5288, RFC 5289, RFC 5487 and the NIST GCM specification apply to this document as well. The document adds no security analysis of its own beyond that.
When this was written, nobody had found a way to break ARIA. The safety rules that already apply to the older, similar suites apply here as well.
§5IANA Considerations
IANA has allocated the numbers for these suites in the TLS Cipher Suite Registry. The values run from { 0xC0,0x3C }, the code point of TLS_RSA_WITH_ARIA_128_CBC_SHA256, to { 0xC0,0x71 }, the code point of TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, in the same order as the suites are listed in the document.
The section repeats the full list of allocations, so the registry entries and the suite list in the document are the same information in two forms.
Every suite in the document was given a fixed number in the official registry of TLS cipher suites, running from 0xC0,0x3C to 0xC0,0x71.
- 0xC0,0x3CTLS_RSA_WITH_ARIA_128_CBC_SHA256 — First suite in the document: RSA key exchange, ARIA in CBC mode with a 128-bit key, SHA-256.
- 0xC0,0x4FTLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 — Last of the twenty HMAC-based suites; elliptic curve key agreement.
- 0xC0,0x50TLS_RSA_WITH_ARIA_128_GCM_SHA256 — First of the twenty GCM suites.
- 0xC0,0x63TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 — Last of the twenty GCM suites.
- 0xC0,0x64TLS_PSK_WITH_ARIA_128_CBC_SHA256 — First of the fourteen pre-shared key suites.
- 0xC0,0x71TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 — Last suite in the document.