Internet Engineering Task Force Wassim Haddad Internet Draft Helsinki University of Technology Expires in February 2004 Ericsson Research Canada Alan Kavanagh Suresh Krishnan Ericsson Research Canada Francis Dupont ENST Bretagne Hannu Kari Helsinki University of Technology September 2003 BUB: Binding Update Backhauling Status of this Memo This document is an Internet Draft and is in full conformance with all provisions of Section 10 of RFC 2026. This document is an Internet-Draft. 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. Distribution of this memo is unlimited Abstract Mobile IPv6 [1] defines two different modes to handle the mobility problem (i.e., mobile node moving accross different networks and changing its IP address). The two modes had been mainly designed for scenarios involving one mobile node and one static node (correspondent node). This document answers issues related to scenarios involving two mobile nodes (i.e., the correspodent node is also a mobile node). The document addresses also the double jumping problem where two mobile nodes Haddad, et al. Expires February 2004 [Page 1] INTERNET-DRAFT Binding Update Backhauling September 2003 move at the same time (i.e., switch to new subnets). The document proposes a new mode called "BUB" (Binding Update Backhauling) allowing a more secure, reliable and optimized exchange of Binding Updates (BUs) between two mobile endpoints. Table of Contents 1. Introduction................................................2 2. Terminology.................................................3 3. Identifying the Problem.....................................3 4. Proposed solution...........................................4 5. Defining BUB................................................5 5.1 The BUB test............................................5 5.2 The BUB Option format...................................6 5.3 Establishing the bidirectional SA.......................8 6. Impact on BU/BA and RR test messages........................8 7. Security Considerations.....................................9 8. Acknowledgements............................................9 9. Normative References.......................................10 10. Informative References....................................10 11. Author's Addresses........................................10 12. Full Copyright Statement..................................11 Appendix A....................................................13 1. Introduction The mobility problem has been described, in most of the cases, as a scenario involving one mobile endpoint (referred to as MN) and another static endpoint (referred to as CN). Mobile IPv6 defines two different modes to handle the mobility problem. These modes are the bidirectional tunneling and route optimization (RO). The two modes represent a trade-off between security and efficiency. For instance, the bidirectional tunneling mode enables a secure exchange but is not optimized at all, while the route optimization (RO) mode offers better efficiency but raises many security concerns. This draft proposes a new mode called Binding Update Backhauling (BUB) especially designed to be used when two endpoints are mobile. This mode enables a more secure and reliable way for exchanging mobility signaling messages, while preserving at the same time the efficiency of the routing optimization mode. Haddad, et al. Expires February 2004 [Page 2] INTERNET-DRAFT Binding Update Backhauling September 2003 2. Terminology The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", "MAY" in this document are to be interpreted as described in RFC 2219 [3]. 3. Identifying the Problem The route optimization (RO) mode allows two endpoints to exchange data traffic by using the direct path between them. This is achieved by using new mobility headers and relies on exchanging mobility signaling messages each time the MN switches to a new network (i.e., changes its IP address). Each time a MN gets a new IP address (i.e., care-of address), it needs, according to [1], to run a return routability (RR) test in order to test the reachability of its new care-of address and home address by the CN, prior to sending any binding update (BU) message to the CN. Such test is performed by exchanging two signaling messages (CoTI/CoT) on the new direct path (i.e., the path used to exchange data traffic), and two signaling messages (HoTI/HoT) using the path going through the MNs'HAs. The result of the test creates a new state at the CN to be used to check the authenticity of the BU sent by the MN. Only a successful test allows the MN to send a BU to the CN to update its binding cache entry (BCE). The CN should acknowledge the BU by sending a binding acknowledgement (BA) to the MN. In total, 6 messages are needed to update the CN about the new MN's IP address. If the CN becomes mobile, it needs to go through the same procedure (i.e., exchange 6 messages) each time it gets a new IP address, in order to keep the session alive. Note that, for security reasons, it is stated in [1] and explained in [4] that the lifetime of the state created at the correspondent node is deliberately restricted to a few minutes, in order to limit the potential ability of time shifting attack. From the above scenario it appears that when the RO mode is used between two mobile endpoints, it may create additional and undesirable traffic, due to a high redundancy of mobility signaling messages, and more vulnerabilities. Actually, when the CN becomes mobile, the frequency, as well as the redundancy, of mobility signaling messages will increase, thus making them more visible for a malicious node moving nearby the two endpoints. Note that when the CN is mobile, it is highly probable that a Haddad, et al. Expires February 2004 [Page 3] INTERNET-DRAFT Binding Update Backhauling September 2003 malicious node may be positioned nearby, thus creating a vulnerability on both sides (since another one may probably be standing nearby the MN). Such scenario makes the exchange of signaling messages between the two endpoints more challenging with regards to the security requirements. If MN2 moves at the same time than MN1, mobility signaling messages may get lost due to the fact that MN1's care-of address and MN2's care-of address have changed at the same time. Such scenario will probably increase the latency of the handover process, which is not desired especially for time sensitive applications. To address all issues described above, any possible solution should offer an efficient optimization with regards to security requirements and the number of signaling messages. This document describes one such optimization which meets all these requirements. 4. Proposed solution: The Binding Update Backhauling (BUB) is a new mode designed to be used by two mobile endpoints. The suggested mode should be considered as an enhancement to the route optimization mode since it uses the same direct path between MN and CN for the data traffic exchange. The main objectives of the BUB mode are to reduce the number of mobility signaling messages exchanged between the two MNs and increase the security of what will remain. This is achieved by eliminating the HoTI/HoT messages and diverting the BUs/BAs messages to a more secure and reliable path going through the two HAs, while keep using the direct path for the data traffic exchange. The design of the proposed solution is based on the fact that the paths between the MNs and their HAs are protected by an ESP tunnel [2] and on the following assumptions: a) The path between the two HAs, being part of the backbone, is more secure and more stable than the dynamic path between the two MNs. b) A malicious node cannot be at the same time near the MNs and near the path going between the two HAs. Haddad, et al. Expires February 2004 [Page 4] INTERNET-DRAFT Binding Update Backhauling September 2003 By diverting the signaling messages to a more reliable path, BUB addresses the following issues: - Security of BUs: By sending the BUs through the link between the two HAs and by establishing a bidirectional security association (SA) between the two MNs. - Double jumping problem: By avoiding the loss of mobility signaling messages, BUB reduces the latency caused by such loss. - Excessive signaling: BUB reduces the number of signaling messages, exchanged between the two MNs, by eliminating the need for HoTI/HoT messages. 5. Defining BUB 5.1 The BUB Test When both endoints are mobile, the following four entities become involved: MN1 CN(MN2) | | | | | | | | | | HA1------------------HA2 Mobile nodes should be able to switch to BUB mode at the beginning of the session (i.e., when at least one MN moves outside of its home network) or at any time during the ongoing session. In both cases, the switch to BUB mode should not be performed before running a successful BUB test. The BUB test makes both endpoints agree on using the link going through the two HAs for exchanging BU/BA messages. This is a simple test, which consists on exchanging four messages and MUST be run in parallel with the RR test. In the following scheme, MN1 is asking MN2 to switch to BUB mode: Haddad, et al. Expires February 2004 [Page 5] INTERNET-DRAFT Binding Update Backhauling September 2003 MN1 MN2 | | _ | Do BUB | | | -----------------------> | | | | HoTI/HoT | | BUB ACK | messages |_ | <----------------------- | | | | | | Do BUB | _ | -----------------------> | | | | | CoTI/CoT | BUB ACK | | messages | <---------------------- | _| | | | | A successful completion of a BUB test consists of sending two messages "Do BUB" and receiving two messages "BUB ACK". Each request is incorporated into HoTI/CoTI message and each response is incorporated into HoT/CoT message. This enables MN1 to use two different paths to test the willingness of MN2, without adding new messages. A BUB test fails if both of the "BUB ACK" messages are not received after two successive tries. In this case, MN1 MUST send the BUs according to the RO mode. Note that in case of test failure, the endpoint, which has launched the BUB test procedure MUST NOT run it again during the same session. However, the other endpoint MUST always be able to start a BUB test at any time during the same ongoing session. 5.2 The BUB Option format A new BUB option will be defined for carrying BUB messages. This option MAY be inserted in all Return Routability test messages (i.e., HoTI, HoT, CoTI, CoT). The format of the new option is the following: Haddad, et al. Expires February 2004 [Page 6] INTERNET-DRAFT Binding Update Backhauling September 2003 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... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Option Type TBD Option Length Length of the option: 1 Option Data This field can contain one of two possible messages defined in three different codes as following: code 0 => "Do BUB" code 1 => "BUB ACK" code 2 => "BUB NACK" - When used in a HoTI message: the field MUST contain the code "0". - When used in a HoT message: the field MUST contain either code "1" or code "2". - When used in a CoTI message: the field MUST contain the code "0". - When used in a CoT message: the field MUST contain either code "1" or code "2". Note that if the sender gets two different responses in the CoT and the HoT messages, it MUST re-run the RR test procedure and the BUB test. In the latter case, if the sender gets again two different responses, it MUST abandon switching to the BUB mode. If one mobile node launchs a BUB test and the other endpoint does not wish to switch to the BUB mode, it MUST reply to the BUB test by sending two negative acknowledgements (NACK). Such scenario may occur in case the other endpoint is static or it has became static (i.e., it has not sent any BUs since a predefined time). If the two mobile endpoints agree to switch to the BUB mode, Haddad, et al. Expires February 2004 [Page 7] INTERNET-DRAFT Binding Update Backhauling September 2003 they SHOULD NOT switch back at any time to the RO mode in the ongoing session. 5.3. Establishing the bidirectional SA: After a successful BUB test, the two MNs MUST establish a bidirectional security association (SA) between them. Such SA (more details in Appendix 1) MAY use the binding management key (Kbm), generated from the RR test, as a pre-shared secret between the two MNs. 6. Impact on BU/BA and RR test messages As it has been mentioned earlier, the main reasons for designing BUB are the security concerns around BU messages and the high redundancy in mobility signaling messages. The establishment of a bidirectional SA between the two MNs enable them to substantially improve the safety of the BU/BA messages and eliminates the need for any further HoTI/HoT messages during the ongoing session. Such optimization leads to a reduction of 2 messages between the two MNs each time a BU is sent. As another optimization, an MN can extend the use of the BA message to notify the CN about the change in its IP address without sending another BU carrying the same information. This eliminates one pair of BU/BA. The two MNs SHOULD perform a test of reachability for any new direct path (i.e., RO mode) resulting from one MN switching to a new network. The reachability MUST be tested in both directions. Such test SHOULD be achieved by using the pair of CoTI/CoT messages. The test MAY be run in the following way: If MN1 moves to a new network, it will send, in parallel, with the BU a CoTI message to MN2 using the new direct path between them (i.e., MN1 MUST perform a BCE lookup). In case MN2 has not moved at the same time than MN1, it will reply to MN1 by sending a CoT message. MN2 SHOULD NOT acknowledge the CoTI message before it receives a BU from MN1 related to the same new IP address. The two messages SHOULD be protected by the session key generated from the DH exchange between the two MNs. The protection of the CoTI/CoT messages MAY be limited to an authentication. If MN2 moves at the same time than MN1, it may not receive the CoTI message sent by MN1. To address this issue, each time MN1 sends a CoTI, it MUST check the validity of the destination Haddad, et al. Expires February 2004 [Page 8] INTERNET-DRAFT Binding Update Backhauling September 2003 address used in the message by comparing it with the IP address received in the latest BA message. If the IP address matches the one used by MN1, then no further action is required and MN1 should wait for a CoT message before it resumes the session. If the IP address in the BA message is different from the one used in the CoTI, then MN1 MUST send a new CoTI message using the new IP address except if it has already received a CoTI message from MN2. In the latter case, MN1 SHOULD send only a CoT message after receiving a BU. Note that in this situation, MN1 SHOULD silently discard any ICMP message (e.g., indicating an unreachable destination). The different paths used to exchange BU/BAs and CoTI/CoT messages appears in the following scheme: +------+ CoTI +------+ | |---------------->| | | MN1 | | MN2 | | |<----------------| | +------+ CoT +------+ | ^ | ^ | | | | BU| |BA BA| |BU | | | | V | v | +------+ BA +------+ | |<----------------| | | HA1 | | HA2 | | |---------------->| | +------+ BU +------+ 7. Security considerations This draft proposes a new mode which makes the exchange of BUs/BAs more secure. It should be considered as an enhancement to the security of the signaling messages exchange between two mobile endpoints. 8. Acknowledgements Authors would like to thank Laurent Marchand for his review and Haddad, et al. Expires February 2004 [Page 9] INTERNET-DRAFT Binding Update Backhauling September 2003 comments on the draft. Thanks to Karim El-Malki and Shinta Sugimoto for improving the draft. 9. Normative References [1] D. Johnson and C. Perkins, "Mobility Support in IPv6", draft-ietf-mobileip-ipv6-24.txt, June 2003. [2] J.Arkko, V. Devarapalli, F. Dupont, "Using IPsec to Protect Mobile IPv6 Signaling between Mobile Nodes and Home Agents", draft-ietf-mobileip-mipv6-ha-ipsec-06.txt. [3] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119. 10. Informative References [4] P. Nikander, T. Aura, J. Arkko, G.Montenegro and E. Nordmark "Mobile IP version 6 Route Optimization Security Design Background", draft-nikander-mobileip-v6-ro-sec-01.txt. [5] Krawczyk, H., "SIGMA: the 'SIGn-and-MAC'Approach to Authenticated Diffie-Hellman and its use in the IKE Protocols", in Advanceds in Cryptography - CRYPTO 2003 Proceedings, LNCS 2729, Springer, 2003. Available at: http://www.ee.technion.ac.il/~hugo/sigma.html 11. Authors' Addresses Wassim Haddad Ericsson Research Canada 8400, Decarie Blvd Town of Mount Royal Quebec H4P 2N2 CANADA Tel: +1 514 345 7900 Fax: +1 514 345 7900 E-mail: Wassim.Haddad@lmc.ericsson.se Alan Kavanagh Ericsson Research Canada 8400, Decarie Blvd Town of Mount Royal Quebec H4P 2N2 CANADA Tel: +1 514 345 7900 Haddad, et al. Expires February 2004 [Page 10] INTERNET-DRAFT Binding Update Backhauling September 2003 Fax: +1 514 345 7900 E-mail: Alan.Kavanagh@lmc.ericsson.se Suresh Krishnan Ericsson Research Canada 8400, Decarie Blvd Town of Mount Royal Quebec H4P 2N2 CANADA Tel: +1 514 345 7900 Fax: +1 514 345 7900 E-mail: Suresh.Krishnan@lmc.ericsson.se Francis Dupont ENST Bretagne Campus de Rennes 2, rue de la Chataigneraie BP 78 35510 Cesson Sevigne Cedex FRANCE Fax: +33 2 99 12 70 30 E-mail: Francis.Dupont@enst-bretagne.fr Hannu Kari Helsinki University of Technology Laboratory for Theoretical Computer Science P.O. Box 5400 FIN-02015 HUT FINLAND Tel: +358 9 451 2918 E-mail: Hannu.Kari@hut.fi 12. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or Haddad, et al. Expires February 2004 [Page 11] INTERNET-DRAFT Binding Update Backhauling September 2003 as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Haddad, et al. Expires February 2004 [Page 12] INTERNET-DRAFT Binding Update Backhauling September 2003 Appendix A: Establishing Bidirectional Security Association As it has been stated in 4.3, after a successful BUB test, the two MNs MUST establish a bidirectional security association between them and generate a session key. The session key MUST be used to authenticate BUs/BAs messages exchanged between the two MNs via the path going through their two HAs. The session key MAY also be used to authenticate the CoTI/CoT messages exchanged via the direct path. The session key is generated from a Diffie-Hellman (DH) exchange which MUST be authenticated. Such authentication MAY use the Kbm key as a pre-shared secret used to sign the DH messages. Note that the Kbm key MUST be the last key generated from the RR test (i.e., the RR test during which, the BUB test has been launched). The DH messages exchanged between the two MNs are described in the following (for more details about the messages structure and how to generate different keys, please refer to [5]): sid , gX, N , info MN1 MN1 MN1 MN1 MN2 ---------------------------------------------------------------> sid , sid , gY, N , info MN1 MN2 MN2 MN2 <--------------------------------------------------------------- sid ,sid ,MN1,SIG (N ,sid ,gX,info ,info ), MAC(MN1) MN1 MN2 Kbm MN2 MN1 MN1 MN2 Km ---------------------------------------------------------------> sid ,sid, ,info ,MN2,SIG (N ,sid ,gY,info ,info),MAC(MN2) MN1 MN2 MN2 Kbm MN1 MN2 MN2 MN1 Km <--------------------------------------------------------------- In the above scheme, the following abbreviations have been adopted: Haddad, et al. Expires February 2004 [Page 13] INTERNET-DRAFT Binding Update Backhauling September 2003 -gX = shared part of MN1's secret -gY = shared part of MN2's secret -sid = session identifier used to specify the ongoing session. -N = nonce -info = additional information carried in the protocol messages -MN1 = Identity of MN1 (e.g., MN1's Home IP address) -MN2 = Identity of MN2 (e.g., MN2's Home IP address) -Kbm = key generated from the RR test -SIG(msg) = denotes the signature of "msg" using the Kbm. -Km = key generated from DH (known only by MN1 and MN2) -MAC(msg) = denotes a message authenticated code computed from Km "msg" and signed by Km. Haddad, et al. Expires February 2004 [Page 14]