MIPSHOP Working Group W. Haddad Internet-Draft S. Krishnan Expires: September 7, 2006 Ericsson Research H. Soliman Flarion Technologies March 6, 2006 Combining Cryptographically Generated Address and Crypto-Based Identifiers to Secure HMIPv6 (HMIPv6sec) draft-haddad-mipshop-hmipv6-security-02 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 September 7, 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This memo describes a method for establishing a security association between the mobile node and the selected mobility anchor point in an hierarchical mobile IPv6 domain. The suggested solution is based on combining the cryptographically generated address (CGA) and crypto- based identifiers (CBID) technologies. Haddad, et al. Expires September 7, 2006 [Page 1] Internet-Draft HMIPv6sec March 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 4 3. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Proposed Solution . . . . . . . . . . . . . . . . . . . . . . 7 5. New Messages and Options Format . . . . . . . . . . . . . . . 10 5.1. The Pre-Binding Update (PBU) Message Format . . . . . . . 10 5.2. Third Party Shared Key (TPSK) Option . . . . . . . . . . . 11 5.3. The Cypto Identifier Option (CIO) . . . . . . . . . . . . 12 5.4. The MAP Session Mobility Secret (MSMS) Option . . . . . . 12 5.5. Third Party Hash Secret (TPHS) Option . . . . . . . . . . 13 5.6. The Session Mobility Secret (SMS) Option . . . . . . . . . 14 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Normative References . . . . . . . . . . . . . . . . . . . 17 8.2. Informative References . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18 Intellectual Property and Copyright Statements . . . . . . . . . . 19 Haddad, et al. Expires September 7, 2006 [Page 2] Internet-Draft HMIPv6sec March 2006 1. Introduction The Hirarchical Mobile IPv6 Mobility Management [HMIPv6] did not specify nor favor any particular mechanism for establishing a Security Association (SA) between the Mobile Node (MN) and the Mobility Anchor Point (MAP) located within an HMIPv6 domain. This memo describes a method allowing to establish an SA between the MN and the selected MAP. The suggested solution is based on combining the Cyptographically Generated Addresses [CGA] and Crypto- Based Identifiers [CBID]. Haddad, et al. Expires September 7, 2006 [Page 3] Internet-Draft HMIPv6sec March 2006 2. Conventions used in this document 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 [TERM]. Haddad, et al. Expires September 7, 2006 [Page 4] Internet-Draft HMIPv6sec March 2006 3. Glossary Access Router The Access Router is the Mobile Node's default router. The AR aggregates the outband traffic of mobile nodes. Mobility Anchor Point (MAP) A Mobility Anchor Point is a router located in a network visited by the mobile node, which is used by the MN as a local Home Agent (HA). Regional Care-of Address (RCoA) A Regional Care-of Address is an address obtained by the MN from the visited network. An RCoA is an address on the MAP's subnet and is auto-configured by the MN when receiving the MAP option. On-link Care-of Address (LCoA) The LCoA is the on-link CoA configured on a mobile node's interface based on the prefix advertised by its default router. Local Binding Update (LBU) Message The MN sends a Local Binding Update message to the MAP in order to establish a binding between the RCoA and the LCoA. Pre-Binding Update (PBU) Message The MN's default router sends a Pre-Binding Update message to the MAP upon receiving a Router Solicitation (RtSol) message carrying a 128-bit CBID and a valid CGA signature. Cryptographically Generated Address (CGA) A technique described in [CGA] whereby an IPv6 address of a node is cryptographically generated by using a one-way hash function from the node's public key (Kp) and some other parameters. Crypto-Based Identifier (CBID) A technique described in [CBID] whereby a non-routable identifier is cryptographically generated by using a one-way hash function from the node's public key and an imprint. Haddad, et al. Expires September 7, 2006 [Page 5] Internet-Draft HMIPv6sec March 2006 Binding Acknowledgment (BA) Message The MAP sends a binding acknowledgment message to the MN in response to an LBU message. Haddad, et al. Expires September 7, 2006 [Page 6] Internet-Draft HMIPv6sec March 2006 4. Proposed Solution We assume that the MN's LCoA is always computed based on the CGA technology, in order to allow the MN to run the secure neighbor discovery protocol described in [SEND]. Such assumption has also been made in [FMIPsec], in order to provide a security mechanism for the [FMIPv6] protocol and in the [OptiSEND] protocol, in order to optimize SEND. In addition, we assume that the MN can discover the presence of an HMIPv6 domain before sending a RtSol message, e.g., by using technologies described in [FRD]. However, the proposed solution works without such assumption. In fact, our motivation behind the FRD protocol aims above all to reduce the handoff latency. Based on that, we suppose in the following and as an example only that an FRD technology is implemented in all Access Points (APs). The suggested solution introduces a new signaling message, i.e., the Pre-Binding Update (PBU) message, which is sent by the AR to the MAP upon receiving a RtSol message from the MN, which carries a valid signature (i.e., the message is signed with the MN's CGA private key) and a 128-bit CBID. Note that the Crypto-based ID (CBID) is used to provide the MAP sufficient proof of ownership of the MN's suggested RCoA. The following figure shows the signaling diagram for establishing a bidirectional SA between the MN and the MAP: 1. MN to AR: Router Solicitation [CGA Signature + CBID] (RtSol) 2a. AR to MN: Router Acknowledgement [Ks] (RtAdv) 2b. AR to MAP: Pre-Binding Update [Ks + Kp + LCoA + CBID] (PBU) 3. MN to MAP: Local Binding Update [DH value (X)] (LBU) 4. MAP to MN: Binding Acknowledgment [HKs + DH value (Y)] (BA) The suggested solution is described in the following steps: o When the MN discovers that it has entered an HMIPv6 domain, it computes an LCoA address by using its CGA key pair, and a 128-bit CBID by hashing the CGA public key (Kp) together with a 64-bit imprint. o The MN inserts the CBID in a new option (Crypto-Identifier Option (CIO)), which is carried by the RtSol message, then signs the message as described in SEND and sends it to the AR. o Upon receiving a valid unicast RtSol message carrying a CBID, the AR replies immediately by sending a unicast RtAdv message to the MN and in parallel, a PBU message to the MAP. For this purpose, Haddad, et al. Expires September 7, 2006 [Page 7] Internet-Draft HMIPv6sec March 2006 the AR MUST compute a secret (Ks), encrypts it with the MN's CGA public key and sends it in the unicast RtAdv message. The shared secret is inserted in a new option (Third Party Shared Key (TSPK)), which is carried by the unicast RtAdv message. The AR MUST also send Ks to the MAP in the PBU message, in addition to sending the MN's CGA public key, its LCoA and CBID. Note that it is assumed that the PBU messages are signed by the ARs and the paths between the ARs and the MAP are secure. o After receiving the PBU message, the MAP creates a BCE for the MN, in which it stores the LCoA, Ks and the CGA public key carried by the PBU message. Once the BCE is created, the MAP waits for a limited amount of time for the owner of the LCoA to send the LBU message. o When the MN gets a valid RtAdv message, it configures its RCoA by using as interface identifier (IID), the 64-bit imprint, which has been used to generate the CBID. Then, it initiates a Diffie- Hellman (DH) procedure with the MAP by sending its DH public value (X) in a new option (Session Mobility Secret (SMS)), which is carried by the first LBU message sent to the MAP. The first LBU message is also used to request the MAP to bind its LCoA to its new RCoA. o Upon receiving an LBU message, the MAP searches its BCEs table for an LCoA, which matches the one sent in the LBU message. If the same LCoA is found, then the MAP hashes the RCoA IID, i.e., the imprint, with the stored CGA public key and compares it to the CBID. If the two hash values are the same, then the MAP completes the DH exchange by sending its own DH public value (Y) in a new option (MAP Session Mobility Secret (MSMS)), which is carried by the BA message sent to the MN. In addition, the MAP MUST send in the BA message the hash of Ks (i.e., hash(Ks) = HKs), which will be carried in another new option (Third Party Hash Secret (TPHS)). By sending (Y) to the MN, the MAP will complete the DH exchange, which in turn allows both nodes to compute the session mobility key (Ksm), i.e., from values (X) and (Y). Note that if the two hash values are not equal then the MAP simply discards the LBU message. o When the MN gets a BA message, it searches first if it carries HKs. If the correct HKs is found, then the MN computes Ksm and establishes a bidirectional SA with the MAP. o Finally, both nodes MUST use Ksm only to authenticate all subsequent LBU/BA messages exchanged between them. Haddad, et al. Expires September 7, 2006 [Page 8] Internet-Draft HMIPv6sec March 2006 Note that the SA lifetime is set to 24 hours, after which the MN has to request the MAP to renew it. Haddad, et al. Expires September 7, 2006 [Page 9] Internet-Draft HMIPv6sec March 2006 5. New Messages and Options Format In the following, we describe the PBU message structure and the format of the five new options. 5.1. The Pre-Binding Update (PBU) Message Format When the AR receives a RtSol message carrying a valid RSA signature and a CBID, it sends a PBU message to the MAP, which carries the MN's LCoA, CGA public key, CBID and Ks. The format of the PBU message is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + LCoA + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + CBID + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Ks . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . CGA Public Key (Kp) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type Haddad, et al. Expires September 7, 2006 [Page 10] Internet-Draft HMIPv6sec March 2006 Code 0 Checksum The ICMP checksum. For more details see [ICMPv6]. Reserved This field is unused. It MUST be initialized to zero by the sender and MUST be ignored by the receiver. LCoA This field contains the MN's LCoA. CBID This field contains the MN's 128-bit CBID. Ks The shared secret sent by the AR to the MN and to the MAP Kp The CGA public key 5.2. Third Party Shared Key (TPSK) Option The Third Party Shared Key Option is carried by the unicast RtAdv message sent by the AR to the MN, in response to a RtSol message carrying a valid signature and a CBID. The TPSK option MUST carry the shared secret Ks. When used, the TPSK option has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Option Data = Ks . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length Length of the option. Haddad, et al. Expires September 7, 2006 [Page 11] Internet-Draft HMIPv6sec March 2006 Option Data This field contains the shared secret Ks. 5.3. The Cypto Identifier Option (CIO) The CIO option contains the 128-bit CBID. It is carried by the RtSol message sent by the MN to the AR and signed with the CGA private key. As mentioned above, a RtSol message carrying a 128-bit CBID and a valid RSA signature triggers the AR to generate a shared secret Ks and send it to the MN and the MAP. When used, the CIO has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Option Data = CBID + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length Length of the option: 16 octets Option Data This field contains the 128-bit CBID sent by the MN to the AR. 5.4. The MAP Session Mobility Secret (MSMS) Option The MSS Option is used by the MAP to carry the DH public value (Y) sent in the BA message, in response to the first LBU message carrying an SMS option sent by the MN to the MAP. Note that the first BA message sent by the MAP to the MN MUST be authenticated with Ks. The MSMS option has the following format: Haddad, et al. Expires September 7, 2006 [Page 12] Internet-Draft HMIPv6sec March 2006 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Option Data = (Y) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length Length of the option. Option Data The Option Data field contains the DH public value (Y) sent by the MAP to the MN in the BA message. 5.5. Third Party Hash Secret (TPHS) Option When sending a BA message carrying an MSS option, the MAP MUST insert the hash of Ks (HKs) in the BA message. For this purpose, the TPHS option is used to carry the HKs in the BA message. The TPHS option has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Option Data = HKs . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length Length of the option. Option Data The Option Data field contains the hash of Ks. Haddad, et al. Expires September 7, 2006 [Page 13] Internet-Draft HMIPv6sec March 2006 5.6. The Session Mobility Secret (SMS) Option The SMS option is carried by the first LBU message sent by the MN to the MAP after receiving an unicast RtAdv message carrying a TPSK option. The SMS option contains the DH public value (X) sent by the MN to the MAP to initiate a DH exchange, which will allow both nodes to compute a shared secret (Ksm). Note that the first LBU message sent by the MN to the MAP MUST be authenticated with Ks. The SMS option has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Option Data = (X) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type Option Length Length of the option. Option Data The Option Data field contains the DH public value (X) sent by the MN to the MAP in the first LBU message. Haddad, et al. Expires September 7, 2006 [Page 14] Internet-Draft HMIPv6sec March 2006 6. IANA Considerations This document introduces 5 new types of options and one new type of message. The values of these types are 8-bit unsigned integers. These values are allocated according to the Standards Actions or IESG approval policies defined in [IANA]. Haddad, et al. Expires September 7, 2006 [Page 15] Internet-Draft HMIPv6sec March 2006 7. Security Considerations This proposal suggests using the CBID and CGA technologies in order to avoid increasing the number of messages that need to be signed with an RSA key beyond the SEND procedure. This is recommended due to the fact that public key signature is a computationally expensive and lengthy procedure. The suggested proposal does not create nor enhance any new and/or existing threats. In particular, launching a man-in-the middle attack against the MN is not possible because the attacker is not aware of the shared secret Ks. In addition, launching a denial of service (DoS) attack against the MAP or the MN is not easy due to the fact that both nodes can quickly scan incoming messages for a partial authenticity before processing the entire message. Haddad, et al. Expires September 7, 2006 [Page 16] Internet-Draft HMIPv6sec March 2006 8. References 8.1. Normative References [CGA] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005. [HMIPv6] Soliman, H., Castelluccia, C., El Malki, K., and L. Bellier, "Hierarchical Mobile IPv6 (HMIPv6)", RFC 4140, August 2005. [IANA] Narten, T. and H. Alverstrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434, BCP 26, October 1998. [ICMPv6] Conta, A. and S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol version 6 (IPv6) Specification", RFC 2463, July 2005. [SEND] Arkko, J., Kempf, J., Nikander, P., and B. Zill, "Secure Neighbor Discovery (SEND)", RFC 3971, March 2005. [TERM] Bradner, S., "Key Words for Use in RFCs to Indicate Requirement Levels", RFC 2119, BCP , March 1997. 8.2. Informative References [CBID] Montenegro, G. and C. Castelluccia, "Crypto-Based Identifiers (CBID): Concepts and Applications", ACM Transaction on Information and System Security (TISSEC), February 2004. [FMIPsec] Kempf, J. and R. Koodli, "Bootstrapping a Symmetric IPv6 Key Handover Key from SEND", Internet Draft, draft-kempf-mobopts-handover-key-01.txt, July 2005. [FMIPv6] Koodli, R., "Fast Handovers for Mobile IPv6", Internet Draft, draft-koodli-mipshop-rfc4068bis-00.txt, July 2005. [FRD] Choi, J., Chin, D., and W. Haddad, "Fast Router Discovery with L2 Support", Internet Draft, draft-ietf-dna-frd-00.txt, October 2005. [OptiSEND] Haddad, W., Krishnan, S., and J. Choi, "Secure Neighbor Discovery (SEND) Optimization and Adaptation for Mobility: The OptiSEND Protocol", Internet Draft, draft-haddad-mipshop-optisend-01.txt, March 2006. Haddad, et al. Expires September 7, 2006 [Page 17] Internet-Draft HMIPv6sec March 2006 Authors' Addresses Wassim Haddad Ericsson Research 8400 Decarie Blvd. Town of Mount Royal, QC Canada Phone: +1 514 345 7900 #2334 Email: Wassim.Haddad@ericsson.com Suresh Krishnan Ericsson Research 8400 Decarie Blvd. Town of Mount Royal, QC Canada Phone: +1 514 345 7900 Email: Suresh.Krishnan@ericsson.com Hesham Soliman Flarion Technologies 135 Rte. 202/206 South Bedminster, NJ 07921 USA Email: H.Soliman@flarion.com Haddad, et al. Expires September 7, 2006 [Page 18] Internet-Draft HMIPv6sec March 2006 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. 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 (2006). 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. Haddad, et al. Expires September 7, 2006 [Page 19]