AVT Working Group S. Yoon Internet Draft J. Kim Expires: January 2009 H. Kim H. Jeong Y. Won Korea Information Security Agency July 14, 2008 The SEED Cipher Algorithm and Its Use with the Secure Real-time Transport Protocol (SRTP) draft-ietf-avt-seed-srtp-03 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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/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 January 14, 2009. Copyright Notice Copyright (C) The IETF Trust (2008). Abstract This document describes the use of SEED block cipher algorithm in the Secure Real-time Transport Protocol (SRTP) for confidentiality to the Yoon, et al. Expires November 2, 2008 [Page 1] Internet-Draft SEED-SRTP July 14, 2008 RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). Table of Contents 1. Introduction.................................................3 1.1. SEED....................................................3 1.2. Terminology.............................................3 2. Cipher Suite Definitions.....................................4 2.1. Mode....................................................4 2.1.1. Counter............................................4 2.1.2. Counter with CBC-MAC (CCM).........................4 2.1.3. Galois/Counter Mode (GCM)..........................5 2.2. Key Size and Number of Rounds...........................5 2.3. Block Size..............................................5 2.4. Performance.............................................5 3. Security Considerations......................................6 4. References...................................................7 4.1. Normative References....................................7 4.2. Informative References..................................7 APPENDIX A: Test Vectors........................................8 A.1. SEED-CM Test Vectors....................................8 A.2. SEED-CCM Test Vectors...................................9 A.3. SEED-GCM Test Vectors..................................10 Author's Addresses.............................................11 Yoon, et al. Expires August 25, 2008 [Page 2] Internet-Draft SEED-SRTP July 14, 2008 1. Introduction This document describes the use of SEED block cipher algorithm in the Secure Real-time Transport Protocol (SRTP) for confidentiality to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP) 1.1. SEED SEED is a national industrial association standard [TTASSEED] and is widely used in South Korea for electronic commerce and financial services that are operated on wired and wireless communications. As of Sep 2003, its source code in C has been distributed to 600 businesses including academic and research institutes by KISA through e-mail. Moreover, there are several international corporations in the number of businesses. The usage of SEED has been covered the security service applications such as e-Commerce, e-mail, dedicated receiver with Broadcasting, financial service, data storage, electronic toll collection, VPN, Digital Right Management, etc. The algorithm specification and object identifiers are described in [ISOSEED] [SEED]. The SEED homepage, http://www.kisa.or.kr, 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]. Yoon, et al. Expires August 25, 2008 [Page 3] Internet-Draft SEED-SRTP July 14, 2008 2. Cipher Suite Definitions All symmetric block cipher algorithms share common characteristics and valuables, including mode, key size, weak keys, block size, and rounds. The following sections contain description of the relevant characteristics of SEED. 2.1. Mode 2.1.1. Counter Section 4.1.1 of [RFC3711] defines AES counter mode encryption, which it refers to as AES-CM. SEED counter mode is defined in a similar manner, and is denoted as SEED_CM respectively. The plaintext inputs to the block cipher are formed as in AES-CM, and the block cipher outputs are processed as in AES-CM. The only difference in the processing is that SEED-CM use SEED. Implementations MUST use SEED-CM in conjunction with an authentication function. The pre-defined authentication transform for SRTP is HMAC-SHA1 [RFC 2104]. SEED-CM use a 112-bit salt as an input, as does AES-CM. 2.1.2. Counter with CBC-MAC (CCM) CCM is a generic authenticate-and-encrypt block cipher mode [CCM]. In this specification, CCM is used with the SEED block cipher. SEED CCM has two parameters: M M indicates the size of the authentication tag. CCM defines values of 4, 6, 8, 10, 12, 14, and 16 octets; In [RFC3711], the default authentication tag size is 10 octets. Implementation MUST support M values of 10 octets. L L indicates the size of the length field in octets. CCM defines values of L between 2 octets and 8 octets. Implementations MUST support an L value of 4 octets, which accommodates a full Jumbogram [JUMBO]; however, the length includes all of the encrypted data. SEED CCM has four inputs: Key An encryption key K suitable for the block cipher. SEED supports 128-bit key, and implementations MUST support this key size. Yoon, et al. Expires August 25, 2008 [Page 4] Internet-Draft SEED-SRTP July 14, 2008 Nonce The size of the nonce depends on the value selected for the parameter L. It is 15-L octets. Implementations MUST support a nonce of 11 octets. SEED-CCM nonce is defined as the most significant bit of the initialization vector (IV) defined in section 4.1.1. Payload The payload of the RTP packet. The payload MUST NOT be longer than 4,294,967,295 octets, which is the maximum size of a Jumbogram. AAD The header of the RTP packet. CCM does not allow additional authenticated data (AAD) to be longer than 18,446,744,073,709,551,615 octets. 2.1.3. Galois/Counter Mode (GCM) GCM is a block cipher mode of operation providing both confidentiality and data origin authentication [GCM].GCM is used with the SEED block cipher. SEED-GCM has four inputs: a key, an initialization vector (IV), a payload, and an additional authenticated data (AAD). Four inputs except IV are described in section 2.1.2. SEED-GCM defines an IV. The size of the IV is 12 octets. Implementations MUST support this octet size. SEED-GCM IV is defined as the most significant bit of the initialization vector (IV) defined in section 4.1.1. 2.2. Key Size and Number of Rounds SEED supports 128-bit key and has the 16-round Feistel structure. 2.3. Block Size SEED uses a block size of 16 octets (128 bits). 2.4. Performance Performance figures of SEED are available at http://www.kisa.or.kr/seed/seed_eng.html. Yoon, et al. Expires August 25, 2008 [Page 5] Internet-Draft SEED-SRTP July 14, 2008 3. Security Considerations No security problem has been found on SEED. SEED is secure against all known attacks including Differential cryptanalysis, linear cryptanalysis, and related key attacks. The best known attack is only an exhaustive search for the key. For further security considerations, the reader is encouraged to read [SEED-EVAL]. Yoon, et al. Expires August 25, 2008 [Page 6] Internet-Draft SEED-SRTP July 14, 2008 4. References 4.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [SEED] Park, J., Lee, S., Kim, J., and J. Lee, "The SEED Encryption Algorithm", RFC 4009, February 2005. [CCM] Whiting, D., Housley, R., and N. Ferguson, "Counter with CBC-MAC (CCM), RFC 3610, September 2003. [GCM] Dworkin, M., "NIST Special Publication 800-38D: Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC.", U.S. National Institute of Standards and Technology http://csrc.nist.gov/Publications/nistpubs/800-38D/SP- 800-38D.pdf [RFC3711] M. Baugher, D. McGrew, M. Naslund, E.Carrara, K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004. [RFC2104] Krawczyk, H.,Bellare, M. and R. Canetti, "HMAC: keyed- Hashing for Message Authentication", RFC 2104, February 1997. 4.2. Informative References [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/kisa/seed/data/Document_pdf/SEED_Ev aluation_Report_by_CRYPTREC.pdf [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 [JUMBO] Borman, D., Deering, S., and R. Hinden, "IPv6 Jumbograms", RFC 2675, August 1999. Yoon, et al. Expires August 25, 2008 [Page 7] Internet-Draft SEED-SRTP July 14, 2008 APPENDIX A: Test Vectors All values are in hexadecimal. A.1. SEED-CM Test Vectors Session Key: 0c5ffd37a11edc42c325287fc0604f2e Rollover Counter: 00000000 Sequence Number: 315e SSRC: 20e8f5eb Session Salt: cd3a7c42c671e0067a2a2639b43a Initial Vector: cd3a7c42e69915ed7a2a263985640000 RTP Payload: f57af5fd4ae19562976ec57a5a7ad55a 5af5c5e5c5fdf5c55ad57a4a7272d572 62e9729566ed66e97ac54a4a5a7ad5e1 5ae5fdd5fd5ac5d56ae56ad5c572d54a e54ac55a956afd6aed5a4ac562957a95 16991691d572fd14e97ae962ed7a9f4a 955af572e162f57a956666e17ae1f54a 95f566d54a66e16e4afd6a9f7ae1c5c5 5ae5d56afde916c5e94a6ec56695e14a fde1148416e94ad57ac5146ed59d1cc5 Encrypted RTP Payload: df5a89291e7e383e9beff765e691a737 70d5b9319162589956544855ce99a71f 48c90e413272cbb576447855e691a78c 70c58101a9c56889666458ca7999a727 cf6ab98ec1f55036e1db78dade7e08f8 3cb96a4581ed5048e5fbdb7d5191ed27 bf7a89a6b5fd582699e754fec60a8727 bfd51a011ef94c32467c5880c60ab7a8 70c5a9bea976bb99e5cb5cdada7e9327 d7c168504276e7897644267169766ea8 Authentication Tag: 28b7a194b1e3df3c573d Yoon, et al. Expires August 25, 2008 [Page 8] Internet-Draft SEED-SRTP July 14, 2008 A.2. SEED-CCM Test Vectors Key: 974bee725d44fc3992267b284c3c6750 Rollover Counter: 00000000 Sequence Number: 315e SSRC: 20e8f5eb Nonce: b446cb282d9c7cf8d62067 Payload: f57af5fd4ae19562976ec57a5a7ad55a 5af5c5e5c5fdf5c55ad57a4a7272d572 62e9729566ed66e97ac54a4a5a7ad5e1 5ae5fdd5fd5ac5d56ae56ad5c572d54a e54ac55a956afd6aed5a4ac562957a95 16991691d572fd14e97ae962ed7a9f4a 955af572e162f57a956666e17ae1f54a 95f566d54a66e16e4afd6a9f7ae1c5c5 5ae5d56afde916c5e94a6ec56695e14a fde1148416e94ad57ac5146ed59d1cc5 AAD: 8008315ebf2e6fe020e8f5eb Encrypted RTP Payload: 39b63931862d59ae5ba209b696b61996 96390929093139099619b686bebe19be ae25be59aa21aa25b609868696b6192d 9629311931960919a629a61909be1986 2986099659a631a621968609ae59b659 da55da5d19be31d825b625ae21b65386 599639be2dae39b659aaaa2db62d3986 5939aa1986aa2da28631a653b62d0909 962919a63125da092586a209aa592d86 312dd848da258619b609d8a21951d009 Authentication Tag: 1ea5f4dabf178ebf8cec Yoon, et al. Expires August 25, 2008 [Page 9] Internet-Draft SEED-SRTP July 14, 2008 A.3. SEED-GCM Test Vectors Key: e91e5e75da65554a48181f3846349562 Rollover Counter: 00000000 Sequence Number: 315e SSRC: 20e8f5eb Initial Vector: a679885189eb9982113f7152 Payload: f57af5fd4ae19562976ec57a5a7ad55a 5af5c5e5c5fdf5c55ad57a4a7272d572 62e9729566ed66e97ac54a4a5a7ad5e1 5ae5fdd5fd5ac5d56ae56ad5c572d54a e54ac55a956afd6aed5a4ac562957a95 16991691d572fd14e97ae962ed7a9f4a 955af572e162f57a956666e17ae1f54a 95f566d54a66e16e4afd6a9f7ae1c5c5 5ae5d56afde916c5e94a6ec56695e14a fde1148416e94ad57ac5146ed59d1cc5 AAD: 8008315ebf2e6fe020e8f5eb Encrypted RTP Payload: 05863f37b87ac8ac5977b2bb66c22d70 bc5e4240c7d175adc56273aaafe63a3d 3b28292f2484056e14cc3b1bdd59bffa 8e8f3ad87d92657a1f673a9a8b69e1d7 feeab9c0b0892892cad0e544473970b8 ed8c4ea0482be1a2275089198f336a31 343b6be5ac00065a7d8ed54b92d65d07 a14a243948b327d391fe4405bd3bbbe3 3dcb6d42cc8d9e71d4e181f7ef146438 e2793f7a7cecd803eabe1ce4f2dd62ac Authentication Tag: d35f789b1ee2ff180c1d Yoon, et al. Expires August 25, 2008 [Page 10] Internet-Draft SEED-SRTP July 14, 2008 Author's Addresses Seokung Yoon Korea Information Security Agency 78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA Phone: +82-2-405-5361 Email: seokung@kisa.or.kr Joongman Kim Korea Information Security Agency 78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA Phone: +82-2-405-5314 Email: seopo@kisa.or.kr Hyun Kim Korea Information Security Agency 78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA Phone: +82-2-405-5355 Email: hkim@kisa.or.kr Hyuncheol Jeong Korea Information Security Agency 78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA Phone: +82-2-405-5360 Email: hcjung@kisa.or.kr Yoojae Won Korea Information Security Agency 78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA Phone: +82-2-405-5300 Email: yjwon@kisa.or.kr Yoon, et al. Expires August 25, 2008 [Page 11] Internet-Draft SEED-SRTP July 14, 2008 Copyright Statement Copyright (C) The IETF Trust (2008). 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, THE IETF TRUST 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Yoon, et al. Expires August 25, 2008 [Page 12]