TOC |
|
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 (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 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.
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.
1.
Introduction
2.
Requirements notation
2.1.
Definitions
2.2.
Abbreviations
2.3.
Conventions
3.
Identity Based Authenticated Key Agreement
3.1.
Overview
3.2.
IBAKE Message Exchange
3.3.
Discussion
4.
Security Considerations
5.
IANA Considerations
6.
References
6.1.
Normative References
6.2.
Informative References
§
Authors' Addresses
TOC |
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.
TOC |
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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
TOC |
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] (Boyen, X. and L. Martin, “Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems,” December 2007.), [RFC5408] (Appenzeller, G., Martin, L., and M. Schertler, “Identity-Based Encryption Architecture and Supporting Data Structures,” January 2009.) and [RFC5409] (Martin, L. and M. Schertler, “Using the Boneh-Franklin and Boneh-Boyen Identity-Based Encryption Algorithms with the Cryptographic Message Syntax (CMS),” January 2009.).
TOC |
- 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
TOC |
TOC |
TOC |
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] (Boyen, X. and L. Martin, “Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems,” December 2007.) and [RFC5408] (Appenzeller, G., Martin, L., and M. Schertler, “Identity-Based Encryption Architecture and Supporting Data Structures,” January 2009.).
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] (Boyen, X. and L. Martin, “Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems,” December 2007.) and [RFC5408] (Appenzeller, G., Martin, L., and M. Schertler, “Identity-Based Encryption Architecture and Supporting Data Structures,” January 2009.).
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 (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.
TOC |
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:
Responder ----> Initiator MESSAGE_2 = E(K_PUBi, IDi || IDr || xP || yP)
Upon receiving MESSAGE_2 message, the Initiator SHALL perform the following:
Initiator ----> Responder MESSAGE_3 = E(K_PUBr, IDi || IDr || yP)
Upon receiving MESSAGE_3 message, the Responder SHALL perform the following:
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
TOC |
Properties of the protocol are as follows:
TOC |
This draft is based on the basic Identity Based Encryption protocol, as specified in [BF] (Boneh, D. and M. Franklin, “Identity-Based Encryption from the Weil Pairing,” 2003.), [RFC5091] (Boyen, X. and L. Martin, “Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems,” December 2007.)), [RFC5408] (Appenzeller, G., Martin, L., and M. Schertler, “Identity-Based Encryption Architecture and Supporting Data Structures,” January 2009.) and [RFC5409] (Martin, L. and M. Schertler, “Using the Boneh-Franklin and Boneh-Boyen Identity-Based Encryption Algorithms with the Cryptographic Message Syntax (CMS),” January 2009.), 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:
TOC |
At this time there are no IANA considerations.
TOC |
TOC |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
TOC |
[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 (TXT). |
[RFC5408] | Appenzeller, G., Martin, L., and M. Schertler, “Identity-Based Encryption Architecture and Supporting Data Structures,” RFC 5408, January 2009 (TXT). |
[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 (TXT). |
TOC |
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 |