JunHyuk Song
                                                        Radha Poovendran
                                                University of Washington
                                                             Jicheol Lee
INTERNET DRAFT                                       Samsung Electronics
Expires: April 26, 2006                                  October 25 2005


               The AES-CMAC-PRF-128 Algorithm for
             the Internet Key Exchange Protocol (IKE)
              draft-songlee-aes-cmac-prf-128-01.txt


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.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   Some implementations of IP Security (IPsec) may want to use a
   pseudo-random function derived from the Advanced Encryption Standard
   (AES).  This memo describes such an algorithm, called AES-CMAC-
   PRF-128.








Song et al.             Expires    April 2006                  [Page 1]


Internet Draft                                             October 2005


1. Introduction

   [AES-CMAC] describes a method to use the Advanced Encryption
   Standard (AES) as a message authentication code (MAC) whose output
   is 128 bits long.  128 bits output is useful as a long-lived pseudo-
   random function (PRF) in either IKE version 1 or version 2.  This
   document specifies PRF that support fixed and variable key sizes for
   IKEv2 [IKEv2] Key Derivation Function (KDF) and authentication.

2. Basic definitions

  Key (K)           Variable length key for AES-CMAC-PRF-128, Denoted
                    by K.

  truncate(K,16)    Truncate K(key) in msb-first order with 16 bytes.

  Padding (K,16)    Padding 0 in lsb-first order with 16 bytes.


3. The AES-CMAC-PRF-128 Algorithm

   The AES-CMAC-PRF-128 algorithm is identical to AES-CMAC defined
   in [AES-CMAC] except that the 128 bits key length restriction is
   removed.

   IKEv2 [IKEv2] uses PRFs for multiple purposes, most notably for
   generating keying material and authentication of the the IKE_SA.
   The IKEv2 specification differentiates between PRFs with fixed key
   sizes and those with variable key sizes

   When using the PRF described in this document with IKEv2, the PRF is
   considered to be fixed-length for generating keying material but
   variable-length for authentication.


   The key for AES-CMAC-PRF-128 is created as follows:

   - If the key is exactly 128 bits long, use is as-is

   - If the key has fewer than  128 bits, lengthen it to exactly 128
     bits by padding it on the right with zero bits.

   - If the key is 129 bits or longer, shorten it to exactly 128 bits
     by truncating msb-first order with 128 bits.






Song et al.             Expires    April 2006                  [Page 2]


Internet Draft                                             October 2005


   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   +                    Algorithm AES-CMAC-PRF-128                     +
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   +                                                                   +
   +   Input    : VK   ( Variable length key          )                +
   +            : M    ( Message to be authenticated  )                +
   +            : len  ( length of message in bytes   )                +
   +            : K    ( 128-bits (16bytes) fixed key )                +
   +   Output   : PRV  ( 128 bits Pseudo Random Variable)              +
   +                                                                   +
   +-------------------------------------------------------------------+
   +                                                                   +
   +   Step 1.  If length of VK > 16 bytes                             +
   +               then K:= truncate (VK, 16);                         +
   +            Else if length of VK < 16 bytes                        +
   +               then K:= padding (VK, 16);                          +
   +   Step 2.  PRV := AES-CMAC-PRF-128 (K,M,len);                     +
   +                                                                   +
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                Figure 1 Algorithm AES-CMAC-PRF-128


4. Test Vectors

   Test Case AES-CMAC-PRF-128 with 20-byte input

   Test Case AES-CMAC-PRF-128 with 20-byte input
   Key        : 00010203 04050607 08090a0b 0c0d0e0f
   Key Length : 16
   Message    : 00010203 04050607 08090a0b 0c0d0e0f 10111213
   PRF Output : 980ae87b 5f4c9c52 14f5b6a8 455e4c2d

   Test Case AES-CMAC-PRF-128 with 20-byte input
   Key        : 00010203 04050607 0809
   Key Length : 10
   Message    : 00010203 04050607 08090a0b 0c0d0e0f 10111213
   PRF Output : 81a33ea4 0fc1a5a9 64c504b0 206b6d5c

   Test Case AES-CMAC-PRF-128 with 20-byte input
   Key        : 00010203 04050607 08090a0b 0c0d0e0f edcb
   Key Length : 18
   Message    : 00010203 04050607 08090a0b 0c0d0e0f 10111213
   PRF Output : 980ae87b 5f4c9c52 14f5b6a8 455e4c2d






Song et al.             Expires    April 2006                  [Page 3]


Internet Draft                                             October 2005


5.  Security Considerations

   The security provided by AES-CMAC-PRF-128 is based upon the strength
   of AES.  At the time of this writing, there are no known practical
   cryptographic attacks against AES or AES-CMAC-PRF-128.

   As is true with any cryptographic algorithm, part of its strength
   lies in the security of the key management mechanism, the strength of
   the associated secret key, and upon the correctness of the
   implementations in all of the participating systems.


6. IANA Consideration

   IPsec IKEv2 algorithms needs to be updated to refer this document
   when it is published.


7. Acknowledgement

   Portions of this text were borrowed from [AES-XCBC-MAC] and
   [AES-XCBC-MAC_bis]


8. Normative References

   [AES-CMAC]          JunHyuk Song and Jicheol Lee, "The AES-CMAC
                       Algorithm," draft-songlee-aes-cmac-02.txt,
                       (work in progress) October 2005.

   [AES-XCBC-MAC]      P. Hoffman, "The AES-XCBC-PRF-128 Algorithm for
                       the Internet Key Exchange Protocol (IKE),"
                       RFC3664, Jan 2004.

   [AES-XCBC-MAC_bis]  P. Hoffman, "The AES-XCBC-PRF-128 Algorithm for
                       the Internet Key Exchange Protocol (IKE),"
                       draft-hoffman-rfc3664bis-05.txt
                       (work in progress), October 2005.

   [IKEv2]             Kaufman, C., Ed., "Internet Key Exchange (IKEv2)
                       Protocol", draft-ietf-ipsec-ikev2-17
                       (work in progress), September 2004.








Song et al.             Expires    April 2006                  [Page 4]


Internet Draft                                             October 2005

Author's Address

    Junhyuk Song
    Samsung Electronics
    University of Washington
    (206) 853-5843
    songlee@u.washington.edu
    junhyuk.song@samsung.com

    Jicheol Lee
    Samsung Electronics
    +82-31-279-3605
    jicheol.lee@samsung.com

    Radha Poovendran
    Network Security Lab
    University of Washington
    (206) 221-6512
    radha@ee.washington.edu


Intellectual Property Statement

   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.







Song et al.             Expires    April 2006                  [Page 5]


Internet Draft                                             October 2005

Disclaimer of Validity

   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.


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.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.





























Song et al.             Expires    April 2006                  [Page 6]