MIPSHOP Working Group W. Haddad Internet-Draft S. Krishnan Expires: February 8, 2007 Ericsson Research H. Soliman Qualcomm-Flarion August 7, 2006 Using Cryptographically Generated Addresses (CGA) to secure HMIPv6 Protocol (HMIPv6sec) draft-haddad-mipshop-hmipv6-security-06 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 February 8, 2007. 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 using the cryptographically generated address technology. Haddad, et al. Expires February 8, 2007 [Page 1] Internet-Draft HMIPv6sec August 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 4 3. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Proposed Solution . . . . . . . . . . . . . . . . . . . . . . 6 5. New Messages and Options Format . . . . . . . . . . . . . . . 9 5.1. The Pre-Binding Update (PBU) Message Format . . . . . . . 9 5.2. Third Party Shared Key (TPSK) Option . . . . . . . . . . . 10 5.3. The MAP Session Mobility Secret (MSMS) Option . . . . . . 10 5.4. The Session Mobility Secret (SMS) Option . . . . . . . . . 11 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 15 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 9.1. Normative References . . . . . . . . . . . . . . . . . . . 16 9.2. Informative References . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . . . 18 Haddad, et al. Expires February 8, 2007 [Page 2] Internet-Draft HMIPv6sec August 2006 1. Introduction The Hierarchical 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, which allows the MN to establish an SA with the selected MAP. The suggested solution is based on using the Cryptographically Generated Address technology (described in [CGA]). Haddad, et al. Expires February 8, 2007 [Page 3] Internet-Draft HMIPv6sec August 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 February 8, 2007 [Page 4] Internet-Draft HMIPv6sec August 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 signed with CGA technology as described in the secure neighbor discovery protocol [SEND]. 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. Binding Acknowledgment (BA) Message The MAP sends a binding acknowledgment message to the MN in response to an LBU message. Haddad, et al. Expires February 8, 2007 [Page 5] Internet-Draft HMIPv6sec August 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 SEND protocol. Such assumption has also been made in [FMIPkey], which aims to provide a security mechanism for [FMIPv6] protocol, and in the ongoing work on optimizing the SEND protocol (described in [OptiSEND]). In addition, we assume that the MN can discover the presence of an HMIPv6 domain before sending a RtSol message. One example on how to discover the HMIPv6 domain may consist on using technologies described in [FRD]. However, it is important to mention that the proposed solution works with the same performance without such assumption. A third assumption is the existence of secure links between all routers located within the MAP tree. Such assumption is justified by the fact that HMIPv6 protocol requires that routers within the MAP tree get involved in delivering the RtAdv message sent by the MAP(s) and in assisting the MN in selecting the most appropriate MAP. The lack of secure links between nodes involved in offering the MAP service can make it vulnerable to denial of service (DoS) attacks. 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 carrying a valid signature (i.e., the message is signed with the MN's CGA private key). 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] (RtSol) 2a. AR to MN: Router Acknowledgement [Ks] (RtAdv) 2b. AR to MAP: Pre-Binding Update [Ks + LCoA] (PBU) 3. MN to MAP: Local Binding Update [DH value (X)] (LBU) 4. MAP to MN: Binding Acknowledgment [DH value (Y)] (BA) The suggested solution is described in the following steps: o the MN configures a 64-bit interface identifier (IID) from using CGA technology then uses it to send a RtSol message signed with CGA, according to the SEND protocol. Note that at this stage, the MN may not be aware that it has entered an HMIPv6 domain. o Upon receiving a valid unicast RtSol message, the AR replies immediately by sending back a unicast RtAdv message to the MN and in parallel, a PBU message to the MAP. For this purpose, the AR MUST compute a secret (Ks), encrypts it with the MN's CGA public Haddad, et al. Expires February 8, 2007 [Page 6] Internet-Draft HMIPv6sec August 2006 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 compute the LCoA and RCoA that the MN is supposed to autoconfigure. For this purpose, the LCoA is computed by appending the 64-bit IID used in the RtSol message to the 64-bit prefix advertised by the AR and the RCoA is computed by appending the 64-bit prefix advertised by the MAP with the 64-bit IID computed in the following way: RCoA (IID) = First (64, SHA1(Ks | LCoA)) Where First(x,y) is a function, which extracts the first x bits from y and LCoA is the MN's on link care-of address. After computing the MN's LCoA and RCoA, the AR inserts the two IPv6 addresses and Ks in the PBU message and sends it to the MAP. As noted earlier, 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 binding cache entry (BCE) for the MN, in which it stores the MN's LCoA, RCoA and Ks carried by the PBU message. Once the BCE is created, the MAP waits for a limited amount of time for the owner of the two addresses to send the LBU message. If no valid LBU message is received during the BCE preconfigured lifetime then the MAP SHOULD delete it. o When the MN gets a valid RtAdv message, it discovers that it has entered an HMIPv6 domain. The following is based on the assumption that the MN decides to use the MAP as its local Home Agent, which means that the MN has to configure an RCoA then request the MAP to create a BCE. For this purpose, the MN SHOULD use the same method as the AR (described earlier) to autoconfigure its RCoA and LCoA. After that, the MN 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 in order to request the MAP to bind its LCoA to its new RCoA. The MN MUST protect the integrity of the LBU message by including a keyed hash of the message using Ks. The keyed hash is syntactically and semantically similar to the Binding Authorization Data option specified in [MIPv6]. 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 computes the RCoA IID in the same way as described above, and compares it to the one claimed by the Haddad, et al. Expires February 8, 2007 [Page 7] Internet-Draft HMIPv6sec August 2006 MN in the LBU message then it checks the authenticity of the message. If the LBU message is valid, 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. The MAP MUST protect the integrity of the BA message by including a keyed hash of the message using Ks. The keyed hash is syntactically and semantically similar to the Binding Authorization Data option specified in [MIPv6]. By sending (Y) to the MN, both nodes will be able to compute the session mobility key (Ksm) (i.e., from values (X) and (Y)). Note that if the RCoA address sent in the LBU message is not the same as the one stored in the corresponding BCE then the MAP MUST simply discard the LBU message. o After sending the first BA message, the MAP SHOULD keep Ks and (Y) in the MN's corresponding BCE until a new value of the binding update sequence number is stored. This is needed in case the MN goes out of reach for a short period of time and misses the first BA message (i.e., (Y)), in which case it has to re-send the LBU message. o When the MN gets a BA message carrying a DH value, i.e., an SMS option, it starts by checking its authenticity with Ks. If the message is valid then the MN computes Ksm and establishes a bidirectional SA with the MAP. o By completing the DH procedure, both nodes will be able to compute the session mobility key (Ksm) (i.e., from values (X) and (Y)) and use it to authenticate subsequent LBU/BA messages exchanged between them. 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 February 8, 2007 [Page 8] Internet-Draft HMIPv6sec August 2006 5. New Messages and Options Format In the following, we describe the PBU message structure and the format of the four new options. 5.1. The Pre-Binding Update (PBU) Message Format When the AR receives a valid RtSol message signed with CGA, it sends a PBU message to the MAP, which carries the MN's LCoA, RCoA 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 + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + RCoA + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Ks . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type Code 0 Checksum The ICMP checksum. For more details see [ICMPv6]. Haddad, et al. Expires February 8, 2007 [Page 9] Internet-Draft HMIPv6sec August 2006 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. RCoA This field contains the MN's RCoA. Ks The shared secret sent by the AR to the MN and to the MAP. 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. 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. Option Data This field contains the shared secret Ks. 5.3. 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. Haddad, et al. Expires February 8, 2007 [Page 10] Internet-Draft HMIPv6sec August 2006 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: 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.4. 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) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Haddad, et al. Expires February 8, 2007 [Page 11] Internet-Draft HMIPv6sec August 2006 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 February 8, 2007 [Page 12] Internet-Draft HMIPv6sec August 2006 6. IANA Considerations This document introduces 3 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 February 8, 2007 [Page 13] Internet-Draft HMIPv6sec August 2006 7. Security Considerations This proposal suggests using the CGA technology to secure the exchange between the MN and the AR as described in the SEND protocol, to derive a first shared secret between the two entities and to use it later to authenticate Diffie-Hellman messages exchanged between the MN and the MAP. 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. The proposal provides integrity protection by including a keyed hash of the message. The proposal provides replay protection by using the sequence number in the binding updates. The proposal does not require the MAP to have prior knowledge of the MN's identity. The suggested proposal DOES NOT guard against compromise of the access router. If the access router is compromised it can act as a man-in-the-middle for the MN-MAP exchange. But a compromised router can do far worse things like null routing all the packets emanating from the mobile node, or modify router advertisements to conceal the presence of a HMIPv6 domain. We consider the AR compromise problem to be orthogonal to the issues addressed in this draft. Haddad, et al. Expires February 8, 2007 [Page 14] Internet-Draft HMIPv6sec August 2006 8. Change Log This document introduces the following changes from previous versions: - Remove the reliance on the crypto-based identifier (CBID) in order to further simplify the protocol. - Remove any new option from the RtSol message and adopt the same format as used in SEND. - Reduce the size of the PBU message by eliminating the need to send the MN's CGA public key. - Change the document title to reflect the new modifications. - Correct few typos. Haddad, et al. Expires February 8, 2007 [Page 15] Internet-Draft HMIPv6sec August 2006 9. References 9.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)", Internet Draft, draft-soliman-mipshop-4140bis-00.txt, June 2006. [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. [MIPv6] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [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. 9.2. Informative References [FMIPkey] Kempf, J. and R. Koodli, "Bootstrapping a Symmetric IPv6 Key Handover Key from SEND", Internet Draft, draft-kempf-mipshop-handover-key-00.txt, June 2006. [FMIPv6] Koodli, R., "Fast Handovers for Mobile IPv6", Internet Draft, draft-ietf-mipshop-fmipv6-rev-00.txt, April 2006. [FRD] Choi, J., Chin, D., and W. Haddad, "Fast Router Discovery with L2 Support", Internet Draft, draft-ietf-dna-frd-01.txt, June 2006. [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 February 8, 2007 [Page 16] Internet-Draft HMIPv6sec August 2006 Authors' Addresses Wassim Haddad Ericsson Research Torshamnsgatan 23 SE-164 80 Stockholm Sweden Phone: +46 8 4044079 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 Qualcomm-Flarion Phone: +1 908 997 9775 Email: hsoliman@qualcomm.com Haddad, et al. Expires February 8, 2007 [Page 17] Internet-Draft HMIPv6sec August 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 February 8, 2007 [Page 18]