SEED in TLS: Addition of SEED Cipher Suites to Transport Layer Security (TLS)
Six new TLS cipher suites that use the SEED block cipher for bulk encryption.
Lee, H.J., Yoon, J.H., and J.I. Lee, "Addition of SEED Cipher Suites to Transport Layer Security (TLS)", RFC 4162, DOI 10.17487/RFC4162, September 2005, <https://www.rfc-editor.org/info/rfc4162>.
@misc{rfc4162,
series = {Request for Comments},
number = 4162,
howpublished = {RFC 4162},
publisher = {RFC Editor},
doi = {10.17487/RFC4162},
url = {https://www.rfc-editor.org/info/rfc4162},
author = {H.J. Lee and J.H. Yoon and J.I. Lee},
title = {{Addition of SEED Cipher Suites to Transport Layer Security (TLS)}},
pagetotal = 6,
year = 2005,
month = sep,
} RFC text
Contents
Network Working Group H.J. Lee
Request for Comments: 4162 J.H. Yoon
Category: Standards Track J.I. Lee
KISA
August 2005
Addition of SEED Cipher Suites to Transport Layer Security (TLS)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
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 bulk cipher algorithm.
1. Introduction
This document proposes the addition of new cipher suites to the TLS
protocol [TLS] to support the SEED encryption algorithm as a bulk
cipher algorithm.
1.1. SEED
SEED is a symmetric encryption algorithm that was developed by Korea
Information 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 algorithm specification and object identifiers are described in
[SEED-ALG]. The SEED homepage,
http://www.kisa.or.kr/seed/seed_eng.html, 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", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase,
as shown) are to be interpreted as described in [RFC2119].
2. Proposed Cipher Suites
The new cipher suites proposed here have the following definitions:
CipherSuite TLS_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x96};
CipherSuite TLS_DH_DSS_WITH_SEED_CBC_SHA = { 0x00, 0x97};
CipherSuite TLS_DH_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x98};
CipherSuite TLS_DHE_DSS_WITH_SEED_CBC_SHA = { 0x00, 0x99};
CipherSuite TLS_DHE_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x9A};
CipherSuite TLS_DH_anon_WITH_SEED_CBC_SHA = { 0x00, 0x9B};
3. Cipher Suite Definitions
3.1. Cipher
All the cipher suites described here use SEED in cipher block
chaining (CBC) mode as a bulk cipher algorithm. SEED is a 128-bit
block cipher with 128-bit key size.
3.2. Hash
All the cipher suites described here use SHA-1 [SHA-1] in an HMAC
construction as described in section 5 of [TLS].
3.3. Key Exchange
The cipher suites defined here differ in the type of certificate and
key exchange method. They use the following options:
CipherSuite Key Exchange Algorithm
TLS_RSA_WITH_SEED_CBC_SHA RSA
TLS_DH_DSS_WITH_SEED_CBC_SHA DH_DSS
TLS_DH_RSA_WITH_SEED_CBC_SHA DH_RSA
TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE_DSS
TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE_RSA
TLS_DH_anon_WITH_SEED_CBC_SHA DH_anon
For the meanings of the terms RSA, DH_DSS, DH_RSA, DHE_DSS, DHE_RSA,
and DH_anon, please refer to sections 7.4.2 and 7.4.3 of [TLS].
4. Security Considerations
It is not believed that the new cipher suites are less secure than
the corresponding older ones. 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 submitted to several
other standardization bodies such as ISO (ISO/IEC 18033-3) and IETF
S/MIME Mail Security [SEED-SMIME]; and it is under consideration.
For further security considerations, the reader is encouraged to read
[SEED-EVAL].
For other security considerations, please refer to the security of
the corresponding older cipher suites described in [TLS] and
[AES-TLS].
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[TLS] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
RFC 2246, January 1999.
[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.
5.2. Informative References
[AES-TLS] Chown, P., "Advanced Encryption Standard (AES)
Ciphersuites for Transport Layer Security (TLS)", RFC
3268, June 2002.
[CRYPTREC] Information-technology Promotion Agency (IPA), Japan,
CRYPTREC. "SEED Evaluation Report", February 2002,
http://www.kisa.or.kr/seed/seed_eng.html.
[ISOSEED] ISO/IEC JTC 1/SC 27, "National Body contributions on NP
18033 'Encryption Algorithms' in Response to SC 27 N2563
(ATT.3 Korea Contribution)", ISO/IEC JTC 1/SC 27 N2656r1
(n2656_3.zip), October 2000.
[SEED-EVAL] KISA, "Self Evaluation Report",
http://www.kisa.or.kr/seed/seed_eng.html.
[SEED-ALG] Park, J., Lee, S., Kim, J., and J. Lee, "The SEED
Encryption Algorithm", RFC 4009, February 2005.
[SEED-SMIME] Park, J., Lee, S., Kim, J., and J. Lee, "Use of the SEED
Encryption Algorithm in Cryptographic Message Syntax
(CMS)", RFC 4010, February 2005.
[SHA-1] FIPS PUB 180-1, "Secure Hash Standard", National
Institute of Standards and Technology, U.S. Department
of Commerce, April 17, 1995.
Authors' Addresses
Hyangjin Lee
Korea Information Security Agency
Phone: +82-2-405-5446
Fax : +82-2-405-5319
EMail: jiinii@kisa.or.kr
Jaeho Yoon
Korea Information Security Agency
Phone: +82-2-405-5434
Fax : +82-2-405-5219
EMail: jhyoon@kisa.or.kr
Jaeil Lee
Korea Information Security Agency
Phone: +82-2-405-5300
Fax : +82-2-405-5219
EMail: jilee@kisa.or.kr
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Why Add SEED to TLS
RFC 4162 proposes new cipher suites for the Transport Layer Security (TLS) protocol so that the SEED encryption algorithm can be used as the bulk cipher. The bulk cipher is the part that encrypts the actual application data once the two sides have agreed on keys.
The RFC is short. It does not change the TLS handshake itself. It only defines six new named combinations of algorithms that a client and server can pick from, using the TLS version 1.0 specification in RFC 2246 as its base.
When two computers talk secretly they pick a lock style from a menu. This memo adds one new lock style, SEED, to that menu.
§1.1The SEED Cipher
SEED is a symmetric encryption algorithm developed by the Korea Information Security Agency (KISA) and a group of experts, beginning in 1998. Its input and output block size is 128 bits and its key length is also 128 bits. It has a 16-round Feistel structure: a 128-bit input is split into two 64-bit blocks, and the right 64-bit block goes into a round function together with a 64-bit subkey produced by the key schedule.
The RFC says SEED is easy to implement in software and hardware, and can be used in restricted environments such as mobile devices and smart cards. It describes SEED as a national industrial association standard that is widely used in South Korea for electronic commerce and financial services on wired and wireless PKI. The algorithm itself and its object identifiers are described in RFC 4009.
SEED is a way of scrambling messages in chunks, mixing each chunk over and over in 16 rounds, like shuffling a deck of cards many times.
§2The Six Cipher Suites
Each cipher suite is a two-byte code. RFC 4162 defines six, with values from 0x00, 0x96 through 0x00, 0x9B. Their names follow the TLS pattern of key exchange, then cipher, then hash: for example TLS_RSA_WITH_SEED_CBC_SHA.
All six use the same cipher and hash. They differ only in the kind of certificate and key exchange method, so a server can choose the one that matches the certificates it holds.
There are six menu items. They all use the same SEED lock, but each one agrees on the secret key in a slightly different way.
- 0x00, 0x96TLS_RSA_WITH_SEED_CBC_SHA — Key exchange: RSA.
- 0x00, 0x97TLS_DH_DSS_WITH_SEED_CBC_SHA — Key exchange: DH_DSS.
- 0x00, 0x98TLS_DH_RSA_WITH_SEED_CBC_SHA — Key exchange: DH_RSA.
- 0x00, 0x99TLS_DHE_DSS_WITH_SEED_CBC_SHA — Key exchange: DHE_DSS.
- 0x00, 0x9ATLS_DHE_RSA_WITH_SEED_CBC_SHA — Key exchange: DHE_RSA.
- 0x00, 0x9BTLS_DH_anon_WITH_SEED_CBC_SHA — Key exchange: DH_anon.
§3Cipher, Hash and Key Exchange
The cipher is SEED in cipher block chaining (CBC) mode, a 128-bit block cipher with a 128-bit key. The hash is SHA-1 used in an HMAC construction, as described in section 5 of RFC 2246.
The key exchange algorithms are RSA, DH_DSS, DH_RSA, DHE_DSS, DHE_RSA and DH_anon. The RFC does not redefine them. It points to sections 7.4.2 and 7.4.3 of the TLS specification for their meaning.
The lock is SEED, a stamp checks nothing was changed, and the six menu items are six ways of secretly agreeing on the key.
§4Security Considerations
The RFC states that it is not believed the new suites are less secure than the corresponding older ones, and that no security problem has been found on SEED. It says SEED is robust against known attacks, including differential cryptanalysis, linear cryptanalysis and related key attacks, and that it has been evaluated and considered cryptographically secure by ISO/IEC JTC 1/SC 27 and Japan CRYPTREC.
It also notes that SEED had been submitted to other standardization bodies, including ISO (ISO/IEC 18033-3) and the IETF S/MIME work, where it was under consideration. For everything else, the reader is referred to the security considerations of the older TLS and AES cipher suites in RFC 2246 and RFC 3268.
The authors say experts have tried hard to break SEED and have not managed to. For other worries, you look at how the older locks were checked.