Network Working Group                                         V. Cakulev
Internet-Draft                                               G. Sundaram
Intended status: Standards Track                          Alcatel Lucent
Expires: April 22, 2010                                 October 19, 2009


           IBAKE: Identity-Based Authenticated Key Agreement
                       draft-cakulev-ibake-00.txt

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 April 22, 2010.

Copyright Notice

   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



Cakulev & Sundaram       Expires April 22, 2010                 [Page 1]


Internet-Draft                    IBAKE                     October 2009


   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.















































Cakulev & Sundaram       Expires April 22, 2010                 [Page 2]


Internet-Draft                    IBAKE                     October 2009


Abstract

   Cryptographic protocols based on public key methods are based on
   certificates and large scale public key infrastructure (PKI) to
   support certificate management.  The emerging field of Identity Based
   Encryption protocols allows to simplify the infrastructure
   requirements via a Key Generation Function (KGF) while providing the
   same flexibility.  However one significant limitation of Identity
   Based Encryption methods is that the KGF can end up being a de-facto
   key escrow server with undesirable consequences.  Another observed
   deficiency is a lack of mutual authentication of communicating
   parties.  Here, Identity Based Authenticated Key Exchange (IBAKE)
   Protocol is specified which does not suffer from the key escrow
   problem and in addition provides mutual authentication and a perfect
   forward and backwards secrecy.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Requirements notation  . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Definitions  . . . . . . . . . . . . . . . . . . . . . . .  5
     2.2.  Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  5
     2.3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Identity Based Authenticated Key Agreement . . . . . . . . . .  7
     3.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.2.  IBAKE Message Exchange . . . . . . . . . . . . . . . . . .  8
     3.3.  Discussion . . . . . . . . . . . . . . . . . . . . . . . .  9
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 14
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     6.1.  Normative References . . . . . . . . . . . . . . . . . . . 15
     6.2.  Informative References . . . . . . . . . . . . . . . . . . 15
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16

















Cakulev & Sundaram       Expires April 22, 2010                 [Page 3]


Internet-Draft                    IBAKE                     October 2009


1.  Introduction

   Authenticated Key Agreements are cryptographic protocols where two or
   more participants, authenticate each other and agree on a key for
   future communication.  These protocols could be symmetric key or
   asymmetric public key protocols.  Symmetric key protocols require an
   out-of-band security mechanism to bootstrap a secret key.  On the
   other hand, public key protocols require certificates and large scale
   public key infrastructure.  Clearly public key methods are more
   flexible, however the requirement for certificates and a large scale
   public key infrastructure have proved to be challenging.  In
   particular, efficient methods to support large scale certificate
   revocation and management have proved to be elusive.

   Recently, Identity Based Encryption (IBE) protocols have been
   proposed as a viable alternative to public key methods by simplifying
   the PKI requirements and replacing them with a simple Key Generation
   Function (KGF) to generate private keys.  However, one significant
   limitation of Identity Based Encryption methods is that the KGF can
   end up being a de-facto key escrow server with undesirable
   consequences.  Another limitation is a lack of mutual authentication
   between communicating parties.  Here an Identity Based Authenticated
   Key Agreement Protocol is specified which does not suffer from the
   key escrow problem and Provides mutual authentication.  Moreover the
   protocol also provides forward and backwards secrecy of session keys.


























Cakulev & Sundaram       Expires April 22, 2010                 [Page 4]


Internet-Draft                    IBAKE                     October 2009


2.  Requirements notation

   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.1.  Definitions

   Identity-Based Encryption (IBE): Identity-based encryption (IBE) is a
   public-key encryption technology that allows a public key to be
   calculated from an identity, and the corresponding private key to be
   calculated from the public key.  The public key can then be used by
   an Initiator to encrypt messages which the recipient can decrypt
   using the corresponding private key.  IBE framework is defined in
   [RFC5091], [RFC5408] and [RFC5409].

2.2.  Abbreviations

   EC          Elliptic Curve

   IBE         Identity Based Encryption

   I           Initiator

   IBAKE       Identity Based Authenticated Key Exchange

   IDi         Initiator's Identity

   IDr         Responder's Identity

   KGF         Key Generation Function

   K_PR        Private Key

   K_PUB       Public Key

   PKI         Public Key Infrastructure

   R           Responder

2.3.  Conventions

   o  E is an elliptic curve over a finite field F

   o  P is a point on E of large prime order

   o  e: E x E -> G is a bi-linear map on E. G is the group of n-th
      roots of unity where n is a function of the number of points on E



Cakulev & Sundaram       Expires April 22, 2010                 [Page 5]


Internet-Draft                    IBAKE                     October 2009


      over F. Typical example of a bi-linear map is the Weil pairing
      [BF].

   o  s is a non-zero positive integer. s is a secret stored in a Key
      Generation Function (KGF).  This is a system-wide secret and not
      revealed outside the KGF.

   o  Ppub = sP is the public key of the system that is known to all
      participants. sP denotes a point in E, and denotes the point P
      added to itself s times where addition refers to the group
      operation one E.

   o  H1 is a known hash function that takes a string and assigns it to
      a point on the elliptic curve, i.e., H1(A) = QA on E, where A is
      usually based on the identity.

   o  dA = sQA is the private key computed by the KGF, corresponding to
      the public identity A, and delivered only to A

   o  H2 is a known hash function that takes an element of G and assigns
      it to a string

   o  E(k, A) denotes that A is IBE-encrypted with the key k

   o  s||t denotes concatenation of the strings s and t

   o  K_PUBx denotes Public Key of x
























Cakulev & Sundaram       Expires April 22, 2010                 [Page 6]


Internet-Draft                    IBAKE                     October 2009


3.  Identity Based Authenticated Key Agreement

3.1.  Overview

   IBAKE consists of a three-way exchange between an Initiator and a
   Responder.  In the figure below, a conceptual signaling diagram of
   IBAKE is depicted.


               +---+                             +---+
               | I |                             | R |
               +---+                             +---+

                              MESSAGE_1
                 ---------------------------------->
                              MESSAGE_2
                 <----------------------------------
                              MESSAGE_3
                 ---------------------------------->


                 Figure 1: Example IBAKE Message Exchange

   The Initiator (I) and Responder (R) are attempting to mutually
   authenticate each other and agree on a key using IBAKE.  This
   specification assumes that the Initiator and the Responder trust a
   third party, the Key Generation Function (KGF).  Rather than a single
   KGF, several different KGFs may be involved, e.g. one for the
   Initiator and one for the Responder.  The Initiator and the Responder
   do not share any credentials, however they know or can obtain each
   other's public parameters.  This specification also assumes that the
   Initiator and Responder obtained their respective Private Keys from
   their respective KGFs prior to IBAKE message exchange.  The
   procedures needed to obtain the privet keys and public parameters are
   outside of scope of this specification.  The details of these
   procedures can be found in [RFC5091] and [RFC5408].

   The Initiator and the Responder choose random x and y, respectively.
   In the first step, the Initiator computes xP (i.e., P added to itself
   x times as a point on E, using the addition law on E), encrypts xP,
   IDi and IDr using Responder's public key (e.g., K_PUBr=H1(IDr||date))
   and includes this encrypted information in a MESSAGE_1 message sent
   to the Responder.  In this step encryption refers to identity based
   encryption described in [RFC5091] and [RFC5408].

   The Responder, upon receiving the message, IBE-decrypts it using its
   private key (e.g. private key for that date), and obtains xP.  The
   Responder next computes yP and IBE-encrypts Initiator's identity



Cakulev & Sundaram       Expires April 22, 2010                 [Page 7]


Internet-Draft                    IBAKE                     October 2009


   (IDi), its own identity (IDr), xP, and yP using Initiator's Public
   Key (e.g., K_PUBi=H1(IDi||date)).  The initiator includes this
   encrypted information in MESSAGE_2 message sent to the Initiator.

   The Initiator upon receiving and IBE-decrypting MESSAGE_2 obtains yP.
   Subsequently, the Initiator sends MESSAGE_3 message to the Responder,
   including IBE-encrypted IDi, IDr and yP.  At this point both the
   Initiator and the Responder are able to compute the same session key
   as xyP.

3.2.  IBAKE Message Exchange

   Initially, the Initiator selects a random x and computes xP; The
   Responder selects a random y and computes yP.  Then:


   Initiator    ---->      Responder

      MESSAGE_1 = E(K_PUBr, IDi || IDr || xP)


   Upon receiving MESSAGE_1 message, the Responder SHALL perform the
   following:

   o  Decrypt the message as specified in [RFC5091] and [RFC5408]

   o  Obtain xP

   o  Encrypt the Initiator's identity (IDi), its own identity (IDr), xP
      and yP using Initiator's Public Key (K_PUBi).


   Responder   ---->  Initiator

      MESSAGE_2 = E(K_PUBi, IDi || IDr || xP || yP)


   Upon receiving MESSAGE_2 message, the Initiator SHALL perform the
   following:

   o  Decrypt the message as specified in [RFC5091] and [RFC5408]

   o  Verify that the received xP is the same as sent in MESSAGE_1

   o  Obtain yP

   o  Encrypt its own identity (IDi), the Responder's identity (IDr) and
      yP using Responder's Public Key (K_PUBi).



Cakulev & Sundaram       Expires April 22, 2010                 [Page 8]


Internet-Draft                    IBAKE                     October 2009


   Initiator    ---->      Responder

      MESSAGE_3 = E(K_PUBr, IDi || IDr || yP)


   Upon receiving MESSAGE_3 message, the Responder SHALL perform the
   following:

   o  Decrypt the message as specified in [RFC5091] and [RFC5408].

   o  Verify that the received yP is the same as sent in MESSAGE_2

   If any of the above verifications fails, the protocol halts;
   otherwise, following this exchange both the Initiator and the
   Responder have authenticated each other and are able to compute xyP
   as the session key

3.3.  Discussion

   Properties of the protocol are as follows:

   o  Immunity from key escrow: Observe that all the steps in the
      protocol exchange are encrypted using IBE.  So clearly the KGF can
      decrypt all the exchanges.  However, the KGF cannot compute the
      session key.  This is because of the hardness of the elliptic
      curve Diffie-Hellman problem.  In other words, given xP and yP it
      is computationally hard to compute xyP.

   o  Mutually Authenticated Key Agreement: Observe that all the steps
      in the protocol exchange are encrypted using IBE.  In particular
      only the Responder can decrypt the contents of the MESSAGE_1 and
      MESSAGE_3 sent by the Initiator, and similarly only the Initiator
      can decrypt the contents of the MESSAGE_2 sent by the Responder.
      Moreover, upon receiving MESSAGE_2, the Initiator can verify the
      Responder's authenticity since xP could have been sent in
      MESSAGE_2 only after decryption of the contents of MESSAGE_1 by
      the Responder.  Similarly, upon receiving MESSAGE_3, the Responder
      can verify the Initiator's authenticity since yP could have been
      sent back in MESSAGE_3 only after correctly decrypting the
      contents of MESSAGE_2 and this is possible only by the Initiator.
      Finally both the Initiator and the Responder can agree on the same
      session key.  In other words, the protocol is a mutually
      authenticated key agreement protocol based on IBE.  The hardness
      of the key agreement protocol relies on the hardness of the
      Elliptic curve Diffie-Hellman problem.  So clearly in any
      practical implementation care should be devoted to the choice of
      elliptic curve.




Cakulev & Sundaram       Expires April 22, 2010                 [Page 9]


Internet-Draft                    IBAKE                     October 2009


   o  Perfect forward and backwards secrecy: Since x and y are random,
      xyP is always fresh and unrelated to any past or future sessions
      between the Initiator and the Responder.

   o  No passwords: Clearly the IBAKE protocol does not require any
      offline exchange of passwords or secret keys between the Initiator
      and the Responder.  In fact the method is applicable to any two
      parties communicating for the first time through any communication
      network.  The only requirement is to ensure that both the
      Initiator and the Responder are aware of each other's public keys
      and public parameters of KGF which generated the corresponding
      private keys.

   o  KGF availability: KGFs are not contacted during IBAKE protocol
      exchange, which dramatically reduces availability requirements on
      KGF.



































Cakulev & Sundaram       Expires April 22, 2010                [Page 10]


Internet-Draft                    IBAKE                     October 2009


4.  Security Considerations

   This draft is based on the basic Identity Based Encryption protocol,
   as specified in [BF], [RFC5091]), [RFC5408] and [RFC5409], and as
   such inherits some properties of that protocol.  For instance, by
   concatenating the "date" with the identity (to derive the public
   key), the need for any key revocation mechanisms is virtually
   eliminated.  Moreover, by allowing the participants to acquire
   multiple private keys (e.g., for duration of contract) the
   availability requirements on the KGF are also reduced without any
   reduction in security.  The granularity associated with the "date" is
   a matter of security policy, and as such a decision made by the KGF
   administrator.  However, the granularity applicable to any given
   participant should be publicly available and known to other
   participants.  For example, this information can be made available in
   the same venue which provides "public information" of KGF server
   (i.e., P, sP) needed to execute IB encryption.

   Some additional security considerations are outlined below:

   o  Attacks on the cryptographic algorithms used in Identity Based
      Encryption are outside the scope of this document.  It is assumed
      that any administrator will pay attention to the desired strengths
      of the relevant cryptographic algorithms based on an up to date
      understanding of the strength of these algorithms from published
      literature as well as known attacks.

   o  It is assumed that the KGFs are secure, not compromised, trusted,
      and will not engage in launching active attacks independently or
      in a collaborative environment.

   o  However, any malicious insider could potentially launch passive
      attacks (by decryption of one or more message exchanges offline).
      While it is in the best interest of administrators to prevent such
      issue, it is hard to eliminate this problem.  Hence, it is assumed
      that such problems will persist, and hence the session key
      agreement protocols are designed to protect participants from
      passive adversaries.

   o  Communication between participants and their respective KGFs is
      expected to be secure, and as such outside the scope of this
      document.  In any implementation of the protocols described in
      this document, administrators of any KGF have to ensure that
      communication with participants is secure and not compromised.

   o  Concatenating the "date" to the identity ensures that the
      corresponding private key is applicable only to that date.  This
      serves to limit the damages related to a leakage or compromise of



Cakulev & Sundaram       Expires April 22, 2010                [Page 11]


Internet-Draft                    IBAKE                     October 2009


      private keys to just that date.  This in particular, eliminates
      the revocation mechanisms that are typical to various certificate
      based public key protocols.

   o  The basic IBAKE protocol from a cryptographic perspective is
      secure based on the following considerations.

      *  In every step Identity Based Encryption (IBE) is used, with the
         recipient's public key.  This guarantees that only the intended
         recipient of the message can decrypt the message [BF].

      *  Next, the use of identities within the encrypted payload is
         intended to eliminate some basic reflection attacks.  For
         instance, suppose we did not use identities as part of the
         encrypted payload, in the first step of the IBAKE protocol
         (i.e., MESSAGE_1 of Figure 1 in Section 3.1).

         +  Assume an adversary who has access to the conversation
            between initiator and responder and can actively snoop into
            packets and drop/modify them before routing them to the
            destination.

         +  For instance, assume that the IP source address and
            destination address can be modified by the adversary.

         +  After the first message is sent by the initiator (to the
            responder), the adversary can take over and trap the packet.

         +  Next the adversary can modify the IP source address to
            include adversary's IP address, before routing it onto the
            responder.

         +  The responder will assume the request for an IBAKE session
            came from the adversary, and will execute step 2 of the
            IBAKE protocol (i.e., MESSAGE_2 of Figure 1 in Section 3.1)
            but encrypt it using the adversary's public key.

         +  The above message can be decrypted by the adversary (and
            only by the adversary).  In particular, since the second
            message includes the challenge sent by the initiator to the
            responder, the adversary will now learn the challenge sent
            by the initiator.

         +  Following this, the adversary can carry on a conversation
            with the initiator "pretending" to be the responder.

         +  This attack will be eliminated if identities are used as
            part of the encrypted payload.



Cakulev & Sundaram       Expires April 22, 2010                [Page 12]


Internet-Draft                    IBAKE                     October 2009


      *  In summary, at the end of the exchange both initiator and
         responder can mutually authenticate each other and agree on a
         session key.

      *  Recall that Identity Based Encryption guarantees that only the
         recipient of the message can decrypt the message using the
         private key.  The caveat being, the KGF which generated the
         private key of recipient of message can decrypt the message as
         well.  However, the KGF cannot learn the public key "xyP" given
         "xP" and "yP" based on the hardness of the Elliptic Curve
         Diffie-Hellman problem.  This property of resistance to passive
         key escrow from the KGF, is not applicable to the basic IBE
         protocols proposed in [RFC5091]), [RFC5408] and [RFC5409].

      *  Observe that the protocol works even if the initiator and
         responder belong to two different KGFs.  In particular, the
         parameters used for encryption to the responder and parameters
         used for encryption to the initiator can be completely
         different and independent of each other.  Moreover, the
         Elliptic Curve used to generate the session key "xyP" can be
         completely different and chosen during the key exchange.  If
         such flexibility is desired, then it would be required to add
         optional extra data to the protocol to exchange the algebraic
         primitives used in deriving the session key.

      *  In addition to mutual authentication, and resistance to passive
         escrow, the Diffie-Hellman property of the session key exchange
         guarantees perfect secrecy of keys.  In others, accidental
         leakage of one session key does not compromise past or future
         session keys between the same initiator and responder.





















Cakulev & Sundaram       Expires April 22, 2010                [Page 13]


Internet-Draft                    IBAKE                     October 2009


5.  IANA Considerations

   At this time there are no IANA considerations.
















































Cakulev & Sundaram       Expires April 22, 2010                [Page 14]


Internet-Draft                    IBAKE                     October 2009


6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

6.2.  Informative References

   [BF]       Boneh, D. and M. Franklin, "Identity-Based Encryption from
              the Weil Pairing", in SIAM J. of Computing, Vol. 32,
              No. 3, pp. 586-615, 2003.

   [RFC5091]  Boyen, X. and L. Martin, "Identity-Based Cryptography
              Standard (IBCS) #1: Supersingular Curve Implementations of
              the BF and BB1 Cryptosystems", RFC 5091, December 2007.

   [RFC5408]  Appenzeller, G., Martin, L., and M. Schertler, "Identity-
              Based Encryption Architecture and Supporting Data
              Structures", RFC 5408, January 2009.

   [RFC5409]  Martin, L. and M. Schertler, "Using the Boneh-Franklin and
              Boneh-Boyen Identity-Based Encryption Algorithms with the
              Cryptographic Message Syntax (CMS)", RFC 5409,
              January 2009.


























Cakulev & Sundaram       Expires April 22, 2010                [Page 15]


Internet-Draft                    IBAKE                     October 2009


Authors' Addresses

   Violeta Cakulev
   Alcatel Lucent
   600 Mountain Ave.
   3D-517
   Murray Hill, NJ  07974
   US

   Phone: +1 908 582 3207
   Email: cakulev@alcatel-lucent.com


   Ganapathy S. Sundaram
   Alcatel Lucent
   600 Mountain Ave.
   3D-517
   Murray Hill, NJ  07974
   US

   Phone: +1 908 582 3209
   Email: ganeshs@alcatel-lucent.com





























Cakulev & Sundaram       Expires April 22, 2010                [Page 16]