MEXT Working Group B. Lim Internet-Draft C. Ng Intended status: Informational K. Aso Expires: January 11, 2009 Panasonic S. Krishnan Ericsson July 10, 2008 Verification of Care-of Addresses in Multiple Bindings Registration draft-lim-mext-multiple-coa-verify-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 January 11, 2009. Abstract Using multiple care-of address registration, there is a possibility that a malicious mobile node could create multiple care-of address bindings that does not belong to the mobile node at its home agent. The home agent would accept these bindings without verifying them due to the trust relationship it has with the mobile node. With these bindings, the mobile node can launch attacks by asking the home agent to flood the victims of these care-of addresses with useless packets. To mitigate such a problem, this memo introduces a few possible verification mechanisms that the home agent would use in order to Lim, et al. Expires January 11, 2009 [Page 1] Internet-Draft Verifying Multiple CoA Bindings July 2008 verify the care-of addresses for the mobile node before using them for packet routing. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Problem Scope . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Initiating the Attack . . . . . . . . . . . . . . . . . . 4 2.2. Launching the Attack . . . . . . . . . . . . . . . . . . . 6 3. Analysis: Possible Solution Approaches . . . . . . . . . . . . 7 3.1. Restrict Multiple Care-of Addresses Registration in a Single Binding Update Message . . . . . . . . . . . . . . 7 3.2. Using Cryptographically Generated Addresses . . . . . . . 9 3.3. Using a Third Party Trusted Entity . . . . . . . . . . . . 10 3.4. Using Message Exchanges with a Mobile Node . . . . . . . . 13 4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Normative References . . . . . . . . . . . . . . . . . . . 17 8.2. Informative References . . . . . . . . . . . . . . . . . . 17 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . . . 21 Lim, et al. Expires January 11, 2009 [Page 2] Internet-Draft Verifying Multiple CoA Bindings July 2008 1. Introduction IP mobility allows a mobile node to maintain an ongoing communication session regardless of where the mobile node roams in the Internet. To achieve this constant connectivity, [1] permits the mobile node to register a transient IP address (e.g. care-of address) at an anchoring point (e.g. home agent). The mobile node sends a binding update (BU) message to the home agent for registering its care-of address. With this registration, the home agent could then forward any packets addressed to the mobile node at the mobile node's care-of address. Security has always been a key consideration in user communications. This is especially so in IP mobility where the mobile node frequently changes its point of attachment. One such attack in IP mobility is the registration of an invalid care-of address at the home agent. Such registration allows the attacker to direct its traffic to other nodes. Such an attack is previously ignored since the attacker can only use one fake care-of address, thereby losing communications with its home agent once the fake address is registered. However, [2] permits the registration of multiple care-of addresses by means of using an identification number called Binding Unique Identification (BID) number to distinguish between multiple bindings to a home address. Unless proper security methodologies are implemented, the use of multiple care-of address registration heightens the chances of allowing an invalid care-of address to be registered at the home agent. In Section 2, this document first expands on the problem briefly described in [2] and [3] about the security threat with the binding of fake care-of addresses. Next, possible approaches to mitigate such threat is analyzed in Section 3. 2. Problem Scope For Mobile IPv6, it is assumed that the mobile node and its home agent establish some form of mutual authentication such that the home agent trusts the mobile node and will hence accept the registration of any care-of address that the mobile node presents to the home agent. This trust relationship is further strengthened when one assume that ingress filtering is being used such that when the home agent receives a binding update message from the mobile node stating its care-of address as the source address, the home agent trusts that the incoming packets do indeed originate from the specified source address. In addition, the home agent also trusts the routing infrastructure that packets forwarded by the home agent would be sent to the intended destination. Lim, et al. Expires January 11, 2009 [Page 3] Internet-Draft Verifying Multiple CoA Bindings July 2008 However, such a trust is no longer valid when the mobile node utilizes a single binding update message to register its multiple care-of address at the home agent. This technique is explained in [2] with the aim of introducing some optimization when registering multiple care-of address for a mobile node. Such optimization technique is useful in scenarios when resources (e.g. bandwidth) are scarce on some of the mobile node's interfaces, since it allows the mobile node to send a binding update message containing multiple care-of address to the home agent from an interface that does not have such resource constraint. Moreover, in Mobile IPv6, the use of the alternate care-of address option permits the mobile node to achieve the same effect of registering a care-of address for another interface via a specific interface. This introduces the risk of having fake care-of addresses registered at the home agent and compromise the security of the network. One applicable sceanrio that might encounter such a problem is the Long Term Evolution (LTE) system that is being worked on by the Third Generation Partnership Program (3GPP). There is a fundenmental difference between a mobile node using Mobile IPv6 to flood a victim with useless packets and a mobile node using Monami6 to flood a victim with useless packets. The difference lies in that using Monami6, the mobile node can bind a real care-of address at the home agent and use this care-of address to control the flow of attacks to the victims (e.g. to increase the packet transmission rate to the vicitm). In Mobile IPv6, the mobile node loses this means of control as the mobile node can only refresh the binding at the home agent. The example in Section 2.2 illustrates the esclated threat of Monami6 in more details. 2.1. Initiating the Attack This problem is best understood through a specific example. Let us assume that a malicious mobile node, MN, sends a binding update message to its home agent, HA, to register multiple care-of addresses. This is illustrated in the Figure 1 below. Lim, et al. Expires January 11, 2009 [Page 4] Internet-Draft Verifying Multiple CoA Bindings July 2008 [Start of packet header] Source Address : CoA Destination Address : HA's address [Mobility Options] Binding Unique Identifier: BID1 Binding Unique Identifier: BID2 Care-of Address : V1's address Binding Unique Identifier: BID3 Care-of Address : V2's address [End of packet header] Figure 1: Binding Update Message for Multiple Care-of Addresses Registration CoA is a valid care-of address owned by MN. MN is attempting to bind addresses of two victims, V1 and V2, at HA in order to launch an attack towards the victims. The binding update message is secured using an IPsec security association to protect the integrity and authenticity. When HA receives this binding update message, it will accept this binding update message based on the following. First, the binding update message is deemed authorized as the correct IPSec association key is used for the message. Second, the trust relationship that HA has with the routing infrastructure allows it to understand that this binding update message is sent from MN. Finally, after the first two checks have succeeded, the trust relationship that HA has with the MN permits it to trust the care-of addresses that are specified in this binding update message. Hence, the binding cache at HA will record three bindings for MN tied to MN's home address (HoA) as shown in Figure 2 below. Binding 1 [HoA, CoA , BID1] Binding 2 [HoA, V1's address, BID2] Binding 3 [HoA, V2's address, BID3] Figure 2: Binding Cache at Home Agent Lim, et al. Expires January 11, 2009 [Page 5] Internet-Draft Verifying Multiple CoA Bindings July 2008 2.2. Launching the Attack With the bindings created at HA, the malicious mobile node can now attempt to flood the victims with useless packets. This type of flooding can cause disruption of services at the victims' end as their devices will be busy processing these packets for meaningless data. This is illustrated in Figure 3. +-----+ +----+ aaaa | | | MN |------| I | +----+ +----+ | N | | CN | | T | +----+ +----+ bbbb | E | a|b | V1 |------| R | a|b +----+ | N | aaaa +----+ | E |------| HA | +----+ bbbb | T | bbbb +----+ | V2 |------| | +----+ +-----+ Figure 3: Packet flooding attack scenario The binding cache at HA contains MN's care-of address along with V1's and V2's addresses. MN uses real-time transport protocol (RTP) and real-time transport control protocol (RTCP) to initiate a video stream from a streaming server (CN). Furthermore, MN could employ flow filtering techniques to assist in the forwarding of packets from HA. Such techniques are described in [4], [5] and [6]. Prior to starting the video flow, MN uses CoA to set filter rules at HA. One of the filter rule would tell HA that the control packets (shown as "a") for the video stream would be forwarded to BID1. Another filter rule informs HA that the data packets (shown in "b") for the video stream would be multicast to BID2 and BID3. When HA receives packets from CN, it would adhere to the filter rules created and forward the packets accordingly. This would cause V1 and V2 to be flooded with unintended data packets. Furthermore, MN can utilize care-of address1 to maintain the attack to V1 and V2 by sending binding update message to constantly renew the lifetime of the bindings. Likewise, MN can also use CoA1 to launch new attacks by binding more victim's addresses at HA and modifying the filter rule to include them in the reception of the data packets. Although both the home agent and the mobile node are mutually authenticated, this does not stop an authenticated mobile node from acting maliciously. Given time, the home agent might be able to detect that the mobile node is acting maliciously and may then deny Lim, et al. Expires January 11, 2009 [Page 6] Internet-Draft Verifying Multiple CoA Bindings July 2008 mobility services to such a mobile node. One such way is when the home agent starts receiving requests from those victims to stop forwarding packets to it. With a substantial amount of such requests, the home agent might launch an investigation to determine if the mobile node was acting maliciously. Hence, we see that a home agent might not be oblivious to such an attack. However, even if the home agent bars a single identity, the attacker may have multiple other identities available at his/her disposal. Take for example, an attacker is able to purchase multiple pre-paid cards for his/her mobile device. This implies that the attacker would have multiple accounts at its disposal. Using these multiple accounts, the attacker can start a spamming attack by flooding victims with useless data. The attacker knows that eventually his/ her account would get banned, but the attacker does not care. The purpose of the attacker has been achieved and that is to disrupt the services of those victims. Furthermore, the attacker can continue to purchase more pre-paid cards to replace those accounts that got banned. Thus, in this sense, having the identity known does not hinder the above problem from occurring. 3. Analysis: Possible Solution Approaches This section will analyse possible solutions to counter the threat described in the previous section. One obvious way is for the home agent to stop a mobile node from sending a binding update with multiple care-of addresses embedded in it. Another obvious way is for the home agent to use some mechnisams to verify those care-of addresses embedded in the binding update message. The foucs of such verification soultions would be more towards ensuring that the care-of addresses carried within the binding update message itself are correct (and not the source address of the binding update message). This draft assumes the ingress filtering would be deployed in most networks, which allow the home agent to be sure that the source address of the binding update message is correct. Such assumption can be considered valid when we take in account that most operators deploying the 4G cellular networks would likely run ingress filtering within their networks as a security precaution to reduce the chances of packet spoofing. 3.1. Restrict Multiple Care-of Addresses Registration in a Single Binding Update Message To prevent such flooding attack threat caused by allowing a mobile node to bind fake care-of addresses at a home agent, it is possible for the home agent to reject the use of a binding update message that specify multiple care-of addresses. This type of logic is described Lim, et al. Expires January 11, 2009 [Page 7] Internet-Draft Verifying Multiple CoA Bindings July 2008 in [7] where a home agent would reject a binding update message if the home agent detects that the source address of the binding update message is different from the care-of address specified in the binding update message. The home agent rejects the binding update message as it is unsure if the care-of address actually belongs to the mobile node. It could be that the mobile node is malicious and spoof the care-of address to launch a flooding attack on a victim. Thus, with such logic at the home agent, the threat of a mobile node launching a flooding attack could be adverted. This is illustrated in Figure 4. +----+ | HA | +----+ || +=======+ +=======+ / 3GPP \ / Non 3GPP\ \ Network / \ Network / +=======+ +=======+ \ / CoA1 \ / CoA2 +----+ | MN | +----+ Figure 4: Scenario on policy at home agent A mobile node (MN) attempts to bind a care-of address (CoA2) using bulk registration via another care-of address (CoA1) at its home agent (HA). When HA receives the binding update message from the mobile node, it notices that the source address (CoA1) of the binding update message is not the same as the care-of address (CoA2) specified in the binding update message. HA is unsure if MN is reachable at CoA2. Thus, HA rejects the binding of CoA2 as it fears it might initiate a flooding attack to a victim. However, by implementing such logic at a home agent, it really limits the amount of optimization a person could achieve on the signaling load between a mobile node and its home agent. For example, in [8], it shows a savings in terms of signaling overheads when the mobile node is able to use a single binding update message to register multiple care-of addresses as opposed to sending them individually. If the home agent restricts the mobile node from utilizing a single binding update message to register multiple care-of addresses, this implies that the mobile node has to send an individual binding update message for each care-of address to the home agent. Hence, such Lim, et al. Expires January 11, 2009 [Page 8] Internet-Draft Verifying Multiple CoA Bindings July 2008 action removes the optimization benefit of performing the bulk registration operation as described in [2]. It is possible to employ such logic at a home agent to prevent the flooding attack threat without losing all of the optimization benefit of bulk registration. This would require the relaxation of the logic at the home agent to reject the use of specifying multiple care-of addresses in a single binding update message. Of course, such relaxation cannot sacrifice the security requirement in preventing a mobile node to launching a flooding attack. An example of such relaxation could be a policy at the home agent that allows it to identify if a particular care-of address is from another trusted network (e.g. a trusted foreign 3GPP network). This type of trust relationship could be found in 3GPP deployments where they establish trust relationship for roaming purposes. Hence, when the home agent identifies such care-of addresses, it would accept the care-of address. Likewise, if the home agent understands that the care-of address is not from a trusted foreign network, it might employ some care-of address verification methods (e.g. ping the care-of address) or even reject the registration of that care-of address. Referring back to Figure 4, assuming that HA has establish a trust relationship with non-3GPP network. When HA receives a binding update from CoA1 specifying the registration of CoA2, HA would accept CoA2. On the other hand, if HA does not have a trust relationship with non-3GPP network, HA would inform MN of the rejection of CoA2. This rejection would then force MN to send an individual binding update message for CoA2. Also, such knowledge of trusted networks could be made known to the mobile node from the home agent. For example, MN could be pre- configured with a list of trusted networks that it is connected to at the moment. As and when MN roams, HA would update this list to allow MN to know which access networks that it is currently connected to are trusted. This action permits the mobile node to know which care-of addresses could be used for bulk registration. 3.2. Using Cryptographically Generated Addresses Another approach to prevent such flooding attack threat is to have all care-of addresses to be formed using the cryptographically generated addresses (CGA) technique [9]. With CGA in place, it implies that a mobile node's care-of address would have to be configured using its public key along with the subnet prefix. Furthermore, this care-of address would need to be signed by the mobile node's private key. With such system in place, the mobile node would not be able to successful in binding a spoof care-of address at a home agent. Even if the mobile node has successfully Lim, et al. Expires January 11, 2009 [Page 9] Internet-Draft Verifying Multiple CoA Bindings July 2008 obtain the public key of another mobile node, the mobile node would not be able to get the private key of this same mobile node to sign the care-of address. Without the proper signature, the home agent would not accept the care-of address for the mobile node. Thus, this prevents the mobile node from binding fake care-of addresses at the home agent. However, introducing cryptographically generated care-of addresses increases the complexity of the mechanism to achieve multiple bindings. It is unclear how a message can contain multiple CGA signatures for each of the care-of addresses. Furthermore, complexity is increased by the fact that additional addresses are not found in the source address field but somewhere in the extension header of the packet (i.e. mobility header). This requires substantial integration between the CGA module and Mobility Support module in a network stack implementation. Additionally, each CGA Parameters structure which is at least 73 octets in length must be added to the binding update message, further increasing its size. Finally, the method of using CGA does not prevent the malicious mobile node to launch a flooding attack against a subnet by generating multiple non-existent care-of addresses in that subnet using the mobile node's own public keys. To reduce the overheads from carrying the CGA parameters data structure for each care-of address that uses a CGA, it is possible to use of the same hash modifier value and public key for each of the care-of addresses in the binding update message. This allows the receiving home agent to use the same modifier and public key to verify that the mobile node (which sent the BU) is in fact the owner of all the care-of addresses present in the binding update message. Hence, it is possible for the home agent to just verify the reachability of any one of the care-of addresses to be assured that the mobile node is not faking the other care-of addresses and redirecting traffic to other victims. However, there are some privacy issues with using this method of generating multiple care-of addresses with the same modifier since they are easily linkable. Also, if there are a substantial number of nodes on one of the links hosting one of the care-of addresses, the collision count may be incremented and this mechanism will cease to work. 3.3. Using a Third Party Trusted Entity Yet another approach to solve the flooding attack threat is to use a trusted anchor to verify the care-of addresses of the mobile node. For example, in [10], a mobile node is able to establish a symbiotic relationship to an access router (which is a third party entity) in order to permit the home agent to verify the care-of address of the mobile node. The mobile node will tell its home agent of such Lim, et al. Expires January 11, 2009 [Page 10] Internet-Draft Verifying Multiple CoA Bindings July 2008 symbiotic relationship establishment by providing the IP address of access router for the home agent to contact. This prompts the home agent to contact the access router to verify the care-of address that the mobile node claims to be using. This is illustrated in Figure 5. +-----+ +-----+ +-----+ | MN | | AR | | HA | +-----+ +-----+ +-----+ IF1:CoA1 | | IF2:CoA2 | | | | | | | |1. SR | | | |<----------->| | | 2. BU: CoA2, AR.Addr | |---------------------------->| | | | 3. BCR | | | |<----------| | | | 4. BC | | | |---------->| | 5. BA: CoA2 ok | |<----------------------------| | | | | Figure 5: Message sequence diagram on using symbiotic relationship A mobile node (MN) has two interfaces (IF1, IF2). On IF1, the MN is using CoA1 for communication. Likewise, for IF2, the MN is using CoA2 for communication. MN intends to use bulk registration via IF1 to register CoA2 at its home agent (HA). At first, MN establishes a symbiotic relationship with an access router (AR) that IF2 is associated with (step 1). Once the symbiotic relationship has been setup, MN sends a binding update (BU) message from IF1 to register CoA2 at HA (step 2). Also, in this BU message, MN tells HA regarding the symbiotic relationship it has setup with AR (e.g. AR's IP address). When HA receives this information, HA will send a Binding Confirm Request (BCR) message to query the AR if MN is using CoA2 (step 3). If the AR identifies that MN is indeed using CoA2, AR will reply back to HA with a Binding Confirm (BC) message (step 4). With positive confirmation that MN is using CoA2, HA will response back to MN indicating that the registration of CoA2 has been successful (step 5). Such message exchanges between the HA and the AR could be secured via public keys methodology (PKI). Typically, the verification of a mobile node's care-of addresses usually involves only the mobile node and its home agent. However, the use of a third party entity to verify care-of addresses for the mobile node implies the need for an infrastructure support. The Lim, et al. Expires January 11, 2009 [Page 11] Internet-Draft Verifying Multiple CoA Bindings July 2008 purpose of using the third party entity is to offload the work of verifying care-of addresses from the mobile node to the third party entity. This act of testing the mobile node's reach-ability would result in the reduction of signaling the mobile node has to perform with its home agent. However, such shift of responsibility from the mobile node to the access router means that workload for the access router would increase. This is especially so if the access router has a number of mobile nodes associated to it that requires such validation services. This implies that the access router would have to perform the message exchanges to the respective home agents on behalf of all these mobile nodes. Such action might significantly increase the signaling load of the access router and could be seen as a tradeoff for the simplicity at the mobile node. It is possible to minimize this tradeoff effect by reducing the amount of signaling that an access router has to do for the mobile nodes associated to it. For example, a certificate could be issued to a mobile node by the foreign network that the mobile node is currently connected to. This certificate would contain information pertaining to the validity of the mobile node's care-of addresses specified in the foreign network. When the mobile node notifies the home agent regarding the symbiotic relationship established with the foreign network, it would further send this certificate to the home agent. If there is sufficient trust relationship between the home agent and the foreign network, the home agent could use the certificate as prove of the mobile node's care-of addresses. This would help remove the need for the home agent to do message exchanges with the foreign network, thus reducing the signaling load. On the other hand, if the home agent does not feel that it has sufficient trust relationship with the foreign network, it could perform the message exchange sequence with the foreign network to test the reach- ability of the mobile node's care-of addresses. This is illustrated in Figure 6. Lim, et al. Expires January 11, 2009 [Page 12] Internet-Draft Verifying Multiple CoA Bindings July 2008 +-----+ +-----+ +-----+ | MN | | AR | | HA | +-----+ +-----+ +-----+ IF1:CoA1 | | IF2:CoA2 | | | | | | | |1. Associate | | | |<------------->| | | | 2. Certificate| | | |<--------------| | | 3. BU: CoA2, Certificate | |------------------------------>| | 4. BA: CoA2 ok | |<------------------------------| | | | | Figure 6: Message sequence diagram on using Certificate A mobile node (MN) has two interfaces (IF1, IF2). On IF1, the MN is using CoA1 for communication. MN associates with an access router (AR) to obtain a care-of address (CoA2) for communication for IF2 (step 1). Also, AR forwards a certificate to MN to allow MN to use it as proof to its home agent (HA) regarding the use CoA2 (step 2). In this example, as per symbiotic relationship, we assume that AR and HA has exchange the necessary PKI parameters (e.g. public keys). Hence, the certificate would contain CoA2 along with a timestamp signed using AR's private key. The purpose of the timestamp is to prevent MN from performing a replay attack to HA by claiming to own the same CoA2 at a later time. When MN decides to use bulk registration to bind CoA2 at HA, MN sends a binding update (BU) message from IF1 along with the token to register CoA2 at HA (step 3). At HA, it authenticates that the certificate is indeed from AR and thus, reply to MN that the binding for CoA2 has been accepted (step 4). Hence, compared to Figure 5, the certificate allows the HA to skip the message exchange sequence with the AR. 3.4. Using Message Exchanges with a Mobile Node Alternatively, the flooding attack threat may be tackled using a series of message exchanges between a mobile node and its home agent to verify the reach-ability of the mobile node's care-of addresses. For example, the home agent send some encrypted information to the mobile node to verify the reach-ability for that care-of address. If the home agent is able to received the decrypted version of the information from the mobile node, it would prove to the home agent that the mobile node is using that particular care-of address. This technique is described in [11] where the use of a cookie proves to the home agent that the mobile node is addressable at the specified Lim, et al. Expires January 11, 2009 [Page 13] Internet-Draft Verifying Multiple CoA Bindings July 2008 care-of address. However, the optimization benefit of sending multiple care-of address within a single binding update is greatly reduced as it would require the mobile node to respond via all these care-of addresses. In this case, the mobile node might as well send the binding update message individually for each care-of address. To optimize the inefficiency of using [11] for multiple care-of addresses case, it is possible for the home agent to send a notification to a mobile node via one unverified care-of address and ask the mobile node to respond to the reception of the notification via another care-of address. This utilizes the concept of multiple care-of addresses whereby the mobile node need not respond back using the same path as the reception of the request. Such a concept is particularly useful in the event that the mobile node has several unverified care-of addresses that needs to be tested. By asking the mobile node to respond via another unverified care-of address, in one round trip time, the home agent would be able to verify two care-of addresses. Figure 7 illustrates this. +-----+ | | CoA1 ______| I | / | N | Cellular/ | T | +----+ CoA2 | E | +----+ | MN |------| R |----| HA | +----+ GPRS | N | +----+ WLAN\ | E | \_______| T | CoA3 | | +-----+ Figure 7: Operation of Home Agent In Figure 7, the mobile node MN has three interfaces. A first interface associates with the cellular system and uses a care-of address CoA1 for communication. A second interface connects to the General Packet Radio System (GPRS) and uses a care-of address CoA2 for communication. A third interface associates with the 802.11 Wireless Local Area Network (WLAN) and uses a care-of address CoA3 for communication. MN sends a binding update message from CoA1 that is attempting to register all its care-of addresses at its home agent, HA. Thus, when HA receives the binding update message, it binds CoA1 in its binding cache as a valid routing path to MN as it has proven to HA that MN is using that care-of address. However, for CoA2 and CoA3, HA would need to verify their addressability before using them for packet routing. Hence, HA uses the notification to verify both of these care-of addresses. Comparing this to the fact Lim, et al. Expires January 11, 2009 [Page 14] Internet-Draft Verifying Multiple CoA Bindings July 2008 of using two messages per care-of address, it can be seen that there is at least a 50% savings for the number of messages exchanged. For example, if HA needs to verify two care-of addresses using the traditional method, a total of four messages would be required. On the other hand, if HA would to test the care-of addresses in pairs, then a total of only two messages would be required. It is possible for the home agent to choose when to perform such verification process for the mobile node's bindings. One way is to have the home agent trigger the verification process immediately upon the reception of binding update message registering multiple care-of address from a mobile node. This is mostly helpful when it comes to supporting the concept of registering multiple care-of addresses. The purpose of having multiple care-of addresses is to allow the home agent to route packets to the mobile node via any of the multiple paths. Having the home agent perform the verification process immediately permits the home agent to quickly utilize all of the mobile node's care-of addresses for packet routing. For example, when the home agent receives the binding update message on CoA1 that specifies the binding of both CoA2 and CoA3, the home agent can choose to immediately verify these care-of addresses in order to start using them for packet routing to the mobile node. Another way could be that the home agent triggers the verification process just before it needs to use an unverified routing path to the mobile node. This is especially so in the event that the mobile node sets a filter rule at the home agent specifying the routing of certain packets via the unverified routing path. When the home agent receives packets that match the filter rule condition, the home agent would trigger the verification process for the unverified path prior to using it. An example would be that the mobile node specify in a filter rule at the home agent that data packets would be routed via CoA3. When the home agent receives such a packet, it notes that CoA3 has yet been verified. Thus, the home agent performs the verification process to verify CoA3. Also, the transmission path of the notification packet from the home agent can vary based on how strict the security policy is enforced. Strict security policy can forbid the home agent in using an unverified care-of address for any packet routing. In this sense, the home agent can only send the notification to the mobile node via a verified care-of address. Such policies are beneficial in deterring any such flooding attacks being launch from the mobile node. For example, since CoA1 is the only verified care-of address to the mobile node, the home agent would send a message via CoA1 to notify the mobile node to respond back via CoA2. This action will cause the mobile node to understand that the home agent is trying to verify CoA2. Hence, the mobile node would send a packet to the home agent via CoA2, thereby proving to the home agent that it is Lim, et al. Expires January 11, 2009 [Page 15] Internet-Draft Verifying Multiple CoA Bindings July 2008 addressable at CoA2. On the other hand, if the home agent employs techniques such as credit-based authorization (CBA) [12], it permits the home agent to route packets to the mobile node via an unverified care-of address. These packets would be limited to the amount of credits associated to that particular binding. The advantage of using an unverified path to transmit the notification is that it allows the home agent to verify at best two unverified care-of addresses. This is especially useful in the event that the mobile node has several unverified care-of addresses that needs to be tested. An example would be that the home agent sends a message via CoA2 to notify the mobile node to respond back via CoA3. This action allows the mobile node to understand that the home agent is trying to verify both CoA2 and CoA3. Hence, the mobile node would send a packet to the home agent via CoA3, thereby proving to the home agent that it is addressable at both CoA2 and CoA3. Furthermore, it is possible that the home agent does not specify a return unverified care-of address when it notifies the mobile node. This would allow the mobile node to respond back to the home agent via any of the mobile node's care-of address. By permitting the mobile node to choose the respond path to the home agent, it supports the situation where the uplink path maybe resource constraint (e.g. limited uplink bandwidth). In the first place, this could be the reason why the mobile node decides to send a single binding update message to bind its multiple care-of address from a path that does not limit its resources. For example, the home agent wants to verify that CoA2 is addressable to the mobile node. Thus, the home agent notifies the mobile node via CoA2 to verify this care-of address. Since GPRS has limited uplink bandwidth, the mobile node decides to send the respond via the cellular path (CoA1). Hence, upon receiving the respond from the mobile node, the home agent is able to verify that the mobile node is addressable at CoA2. Finally, how the notification information is carried to the mobile node may differ at the home agent. One possible way is that such notification is carried using a dedicated message format. This makes the notification packet small in size and easily recognized by the mobile node. On the other hand, since the notification is specifying just a care-of address that the mobile node should respond back by, an optimization to this would be to have the notification to be tagged to packets that are being sent to the mobile node. One example could be the binding acknowledgment message that the home agent replies to the mobile node. Another example could be data packets that are addressed to the mobile node. By tagging it to existing packets, the home agent saves on the overhead incurred from the transmission the notification packet to the mobile node. Lim, et al. Expires January 11, 2009 [Page 16] Internet-Draft Verifying Multiple CoA Bindings July 2008 4. Conclusion This draft explains that the use of multiple care-of address registration breaks the trust relationship between a home agent and a mobile node. With this relationship broken, it permits a malicious mobile node to bind multiple victims' care-of addresses at the home agent. With these bindings, the mobile node can launch attacks by flooding the victims with useless packets. To reduce the chances of having such a situation, we briefly analyse a few possible solutions approaches that would be able to solve the problem. The draft list each approach with their own advantages and dis-advantages to allow an implementer to decide upon which approach would be best suited for their deployment. Also, the draft attempts to provide some recommendations to reduce the dis-advantages for each approach. 5. Acknowledgements The authors would like to thank George Tsirtsis for suggestions to improve upon this document. 6. Security Considerations This draft mentions new security requirements when implementing Multiple Care-of Address Registration [2]. 7. IANA Considerations This document does not require any action from the IANA. 8. References 8.1. Normative References [1] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [2] Wakikawa, R., "Multiple Care-of Addresses Registration", draft-ietf-monami6-multiplecoa-05 (work in progress), January 2008. 8.2. Informative References [3] Montavont, N., "Analysis of Multihoming in Mobile IPv6", draft-ietf-monami6-mipv6-analysis-04 (work in progress), Lim, et al. Expires January 11, 2009 [Page 17] Internet-Draft Verifying Multiple CoA Bindings July 2008 July 2007. [4] Soliman, H., "Flow Bindings in Mobile IPv6 and Nemo Basic Support", draft-soliman-monami6-flow-binding-04 (work in progress), March 2007. [5] Larsson, C., "A Filter Rule Mechanism for Multi-access Mobile IPv6", draft-larsson-monami6-filter-rules-02 (work in progress), March 2007. [6] Mitsuya, K., "A Policy Data Set for Flow Distribution", draft-mitsuya-monami6-flow-distribution-policy-04 (work in progress), August 2007. [7] Arkko, J., "Verifying Correctness of Alternate Care-of Address Option", draft-arkko-mext-rfc3775-altcoa-check-01 (work in progress), February 2008. [8] Kuparinen, M., Mahkonen, H., and T. Kauppinen, "Multiple CoA Performance Analysis", draft-kuparinen-monami6-mcoa-performance-00 (work in progress), April 2006. [9] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005. [10] Haddad, W., "Care-of Address Test for MIPv6 using a State Cookie", draft-haddad-mext-enhanced-reachability-test-00 (work in progress), February 2008. [11] Dupont, F. and J. Combes, "Care-of Address Test for MIPv6 using a State Cookie", draft-dupont-mipv6-rrcookie-04 (work in progress), January 2007. [12] Arkko, J., Vogt, C., and W. Haddad, "Enhanced Route Optimization for Mobile IPv6", RFC 4866, May 2007. Appendix A. Change Log o draft-lim-mext-multiple-coa-verify-02: * Revamp the analysis section Section 3 to highlight the advantages and dis-advantages for each solution approach. Also, recommendations are given to try and reduce dis- advantages of each approach. Lim, et al. Expires January 11, 2009 [Page 18] Internet-Draft Verifying Multiple CoA Bindings July 2008 o draft-lim-mext-multiple-coa-verify-01: * Reference lastest MCoA draft that specify the problem. * Added two more soultions (limiting care-of address binding at HA and CoA test using 'symbiotic' relationship) for analysis in Section 3. o draft-lim-mext-multiple-coa-verify-00: * Initial version. Authors' Addresses Benjamin Lim Panasonic Singapore Laboratories Pte Ltd Block 1022 Tai Seng Ave #06-3530 Tai Seng Industrial Estate Singapore 534415 SG Phone: +65 65505478 Email: benjamin.limck@sg.panasonic.com Chan-Wah Ng Panasonic Singapore Laboratories Pte Ltd Blk 1022 Tai Seng Ave #06-3530 Tai Seng Industrial Estate Singapore 534415 SG Phone: +65 65505420 Email: chanwah.ng@sg.panasonic.com Keigo Aso Matsushita Electric Industrial Co. Ltd. (Panasonic) 5-3 Hikarino-oka Yokosuka, Kanagawa 239-0847 JP Phone: +81 46 840 5123 Email: asou.keigo@jp.panasonic.com Lim, et al. Expires January 11, 2009 [Page 19] Internet-Draft Verifying Multiple CoA Bindings July 2008 Suresh Krishnan Ericsson 8400 Decarie Blvd. Town of Mount Royal, QC Canada Phone: +1 514 345 7900 x42871 Email: suresh.krishnan@ericsson.com Lim, et al. Expires January 11, 2009 [Page 20] Internet-Draft Verifying Multiple CoA Bindings July 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Lim, et al. Expires January 11, 2009 [Page 21]