Network Working Group C. Vogt Internet-Draft Universitaet Karlsruhe (TH) Expires: April 27, 2006 J. Arkko Ericsson Research NomadicLab October 24, 2005 A Taxonomy and Analysis of Enhancements to Mobile IPv6 Route Optimization draft-irtf-mobopts-ro-enhancements-04.txt 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 April 27, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document describes and evaluates strategies to enhance Mobile IPv6 Route Optimization, on the basis of existing proposals, in order to motivate and guide further research in this context. Vogt & Arkko Expires April 27, 2006 [Page 1] Internet-Draft MIP6 Route Optimization Enhancements October 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 A Note on Public Key Infrastructures . . . . . . . . . . . 4 1.2 A Note on Source Address Filtering . . . . . . . . . . . . 5 2. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 3. Objectives for Route Optimization Enhancement . . . . . . . 7 3.1 Latency Optimizations . . . . . . . . . . . . . . . . . . 7 3.2 Security Enhancements . . . . . . . . . . . . . . . . . . 8 3.3 Signaling Optimizations . . . . . . . . . . . . . . . . . 9 3.4 Robustness Enhancements . . . . . . . . . . . . . . . . . 9 4. Enhancements Toolbox . . . . . . . . . . . . . . . . . . . . 10 4.1 IP-Address Tests . . . . . . . . . . . . . . . . . . . . . 10 4.2 Protected Tunnels . . . . . . . . . . . . . . . . . . . . 11 4.3 Optimistic Behavior . . . . . . . . . . . . . . . . . . . 11 4.4 Proactive IP-Address Tests . . . . . . . . . . . . . . . . 12 4.5 Concurrent IP-Address Tests . . . . . . . . . . . . . . . 13 4.6 Diverted Routing . . . . . . . . . . . . . . . . . . . . . 15 4.7 Credit-Based Authorization . . . . . . . . . . . . . . . . 16 4.8 Heuristic Monitoring . . . . . . . . . . . . . . . . . . . 19 4.9 Crypto-Based Idendifiers . . . . . . . . . . . . . . . . . 19 4.10 Pre-Configuration . . . . . . . . . . . . . . . . . . . 21 4.11 Opportunistic Security Associations . . . . . . . . . . 23 4.12 Prefix-Based Certificates . . . . . . . . . . . . . . . 23 4.13 Mobile and Correspondent Routers . . . . . . . . . . . . 24 5. Discussion and Future Research . . . . . . . . . . . . . . . 25 5.1 Research at Other Protocol Layers . . . . . . . . . . . . 26 5.2 Further Route Optimization Research . . . . . . . . . . . 27 5.3 Experimentation and Simulation . . . . . . . . . . . . . . 28 6. Security Considerations . . . . . . . . . . . . . . . . . . 28 7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 29 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 31 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 35 Intellectual Property and Copyright Statements . . . . . . . 37 Vogt & Arkko Expires April 27, 2006 [Page 2] Internet-Draft MIP6 Route Optimization Enhancements October 2005 1. Introduction RFC 3775 [39] specifies mobility support for IPv6, or Mobile IPv6, which allows mobile nodes to migrate active transport connections and application sessions from one IPv6 address to another. For backward compatibility with correspondent nodes that do not implement the recommended mobility extensions, RFC 3775 introduces a "home agent", which proxies a mobile node at a permanent "home address". A roaming mobile node connects to the home agent through a bidirectional tunnel and can so communicate, from its local "care-of address", as if it was present at the home address. The mobile node keeps the home agent updated on its current care-of address. Signaling messages are protected through IPsec. In order to reduce the increased packet-propagation delays of bidirectional tunneling, RFC 3775 defines Route Optimization. This enables nodes to communicate on the direct path provided that the correspondent node can cache a binding between the mobile node's home address and current care-of address. The challenge with Route Optimization is that an administrative relationship between the mobile node and the correspondent node can generally not be presupposed. So how can the two authenticate and authorize the signaling messages that they exchange? Mobile IPv6 solves this problem by verifying a routing property of the mobile node. Specifically, the mobile node is checked to be reachable at its home address and current care-of address. This is called the "return-routability procedure". It takes place right before a mobile node registers a new care-of address with a correspondent node and is periodically repeated in case the mobile node does not move for a while. The advantage of the return-routability procedure is that it is lightweight and does not require pre-shared authentication material. It also requires no state at the correspondent node. On the other hand, the two reachability tests can lead to a handoff delay unacceptable for many real-time or interactive applications like voice over IP (VoIP) and video conferencing. Also, the security that the return-routability procedure guarantees might not be sufficient for security-sensitive applications. And finally, periodically refreshing a registration at a correspondent node implies a hidden signaling overhead that may prevent mobile nodes from hibernation during times of inactivity. Accordingly, a willingness to enhance Mobile IPv6 Route Optimization can be observed. This document describes and evaluates different route-optimization enhancement strategies on the basis of existing proposals. It is meant to provide a conceptual framework for further Vogt & Arkko Expires April 27, 2006 [Page 3] Internet-Draft MIP6 Route Optimization Enhancements October 2005 work, which was found to be inevitable in the context of Route Optimization. Many scientists volunteered to review this document. Their names are duely recorded in Section 2. Section 3 analyzes the strengthes and weaknesses of Route Optimization and identifies potential objectives for enhancement. Different enhancement strategies are discussed, based on existing proposals, in Section 4. Section 5 discusses the different approaches and identifies opportunities for further research. Section 6 and Section 7 conclude the document. 1.1 A Note on Public Key Infrastructures Mobile IPv6 Route Optimization verifies a mobile node's authenticity through a routing property. An alternative is cryptographic authentication, which requires a binding between a node's identity and some sort of secret information. While some proposals suggest to install shared secrets into end nodes when possible (cf. Section 4.10), pre-configuration is not an option for general Internet use for scalability reasons. Authentication based on a public-key infrastructure (PKI) does not require pair-wise pre- configuration. Here, the secret information is the private component of a public/private key pair, and the binding between a node's identity and private key exists indirectly through the cryptographic properties of public/private key pairs and a binding between the identity and the public key. An authority trusted by both end nodes issues a certificate which effects this latter binding. Large-scale use of a PKI, however, was considered insuitable for mobility management due to the following reasons. o There are differing opinions on whether a PKI could scale up to hundreds of millions of mobile nodes. Some people argue they do, as there are already examples of certification authorities responsible for millions of certificates. But more important than the expected increase in the number of certificates would be a shift in application patterns. Nowadays, public-key cryptography is used only for those applications that require strong, cryptographic authentication. If it was used for mobility management as well, certificate checks would become mandatory for any type of application, leading to more checks per user. Busy servers with mobility support might not be reluctant to spent the processing resources required for this depending on the service they provide. o Revoked certificates are identified on Certificate Revocation Lists (CRLs), which correspondent nodes with mobility support would have to acquire from certification authorities. CRLs must be kept up to date, requiring periodic downloads. This and the Vogt & Arkko Expires April 27, 2006 [Page 4] Internet-Draft MIP6 Route Optimization Enhancements October 2005 act of checking a certificate against a CRL create overhead which some correspondent nodes might be unwilling to spend. o Certificate verification may take some time and hence interrupt ongoing applications. This can be disturbing from the user's perspective, especially when Route Optimization starts in the middle of a session, or the session is very short-term anyway. o The bigger a PKI grows, the more attractive it becomes as an attack target, endangering the Internet as a whole. o There is little experience with using home addresses as identifiers in the certificates. Although the home address could theoretically be placed into a certificate's Alternate Name field, the entities responsible for IP-address assignment and certification are usually not the same, and it may not be easy to coordinate the two. For these reasons, this document does not consider direct authentication of mobile nodes based on a PKI. Nevertheless, it does evaluate certificate-based techniques which make the problems identified above more tractable (cf. Section 4.12). 1.2 A Note on Source Address Filtering RFC 3775 uses care-of-address tests to probe a mobile node's presence at its claimed location. Alternatively, verification of care-of addresses may be based on infrastructure in the mobile node's local access network. For instance, the infrastructure can verify that the IP source addresses of all packets leaving the network are correct. "Ingress filtering" [49][47] provides this feature to the extent that it inspects the prefix of IP source addresses and ensures topological correctness. Network-access providers who use ingress filtering normally deploy the technique in their first-hop and site-exit routers. Similarly, ISPs may filter packets originating from a downstream network. Ingress filtering may eventually provide a way to replace care-of- address tests. But there are still a number of uncertainties today: o By definition, ingress filtering can prevent source-address spoofing only from those networks that do deploy the technique. As a consequence, ingress filtering needs to be widely, preferably universally, deployed in order to constitute Internet-wide protection. As long as an attacker can get network access without filters, all Internet nodes remain vulnerable. Vogt & Arkko Expires April 27, 2006 [Page 5] Internet-Draft MIP6 Route Optimization Enhancements October 2005 o There is little incentive for ISPs to deploy ingress filtering other than conscientiousness. Legal or regulatory prescription as well as financial motivation does not exist. A corrupt ISP might even have a financial incentive to not deploy the technique, if redirection-based DoS attacks using Route Optimization ever become possible and are exploited for financial gain. A similar issue was, e.g., observed with email spam. o Ingress filtering is most effective, and easiest to configure, at the first-hop router. However, since only prefixes are checked, the filters inevitably get less precise the further upstream they are enforced. This issue is inherent in the technique, so the best solution is checking packets as close to the originating nodes as possible, preferably in the first-hop routers themselves. o A popular implementation of ingress filtering is "Reverse Path Forwarding" (RPF). This technique relies on routes to be symmetric, which is oftentimes the case between edge networks and ISPs, but far less often between peering ISPs. Alternatives to RPF are either manual configured access lists, or dynamic approaches which are more relaxed, and thereby less secure, than RPF [47]. o Another problem with ingress filtering is multi-homing. When a router attempts to forward to one ISP a packet with a source- address prefix from another ISP, filters at the second ISP would block the packet. The IETF seeks to find a way around this [38]. For instance, one could tunnel the packet to the topologically correct ISP, or one could allow source-address changes by means of a locator-identifier split [23]. o Finally, RFC 3775 defines an Alternative Care-of Address option that mobile nodes can use to carry a care-of address within a BU outside of the IPv6 header. Such an address is not subject to inspection by ingress filtering and would have to be verified through other means [6]. Although these problems are expected to get solved eventually, there is currently little knowledge on how applicable and deployable, as a candidate for care-of-address verification, ingress filtering will be. High investments or administrative hurdles could prevent a large, preferably universal deployment of ingress filtering, which would hinder Internet-wide protection, as mentioned in the first bullet. For these reasons, this document does not consider ingress filtering as a viable alternative to care-of-address tests, although things may be different in the future. Vogt & Arkko Expires April 27, 2006 [Page 6] Internet-Draft MIP6 Route Optimization Enhancements October 2005 2. Acknowledgements This document was thoroughly reviewed, in alphabetical order, by Samita Chakrabarti, Francis Dupont, Thierry Ernst, Gerardo Giaretta, James Kempf, Rajeev Koodli, Gabriel Montenegro, Vidya Narayanan, and Fan Zhao. The authors wish to thank these folks for their valuable comments and suggestions. 3. Objectives for Route Optimization Enhancement Endeavors to enhance RFC 3775 Route Optimization generally strive for reduced signaling latency, higher security, lower signaling overhead, or increased protocol robustness. These objectives are herein discussed from a requirements perspective; the technical means to reach the objectives is not considered, nor is the feasibility of achieving them. 3.1 Latency Optimizations One important objective for improvement is the handoff latency of Route Optimization. In fact, it may take up to 3.5 round trips after handoff until a correspondent node knows the mobile node's new care-of address, assuming that the home-address test dominates the care-of-address test in terms of latency: one round trip for the home registration, one round trip between the mobile node and the home agent plus another round trip between the home agent and the correspondent node for the home-address test, and a one-way time from the mobile node to the correspondent node for the propagation of the Binding Update message. When the care-of-address test takes longer the home-address test, updating the correspondent node consumes 2.5 round trips accordingly. In both cases, the first packet sent to the new care-of address requires an additional one-way time to propagate from the correspondent node to the mobile node. The total handoff delay visible at the mobile node's side is hence either four or three round-trip times. The mobile node can resume communications right after it has dispatched the Binding Update message. But if the mobile node requests a Binding Acknowledgement message, communications are usually delayed until this is received. These delays may cause perceptible quality degradations for interactive and real-time applications such as voice over IP. TCP bulk-data transfers are likewise affected since long handoff latencies may lead to successive retransmission timeouts and so cause detrimental throughput degradations. Handoff latencies are usually additive; they are not subsumed by other delays at IP layer or link layer. Note that the delay for the return-routability procedure is sometimes Vogt & Arkko Expires April 27, 2006 [Page 7] Internet-Draft MIP6 Route Optimization Enhancements October 2005 approximated as 1.5 round-trip times. This simple estimation does not reflect situations in which the home agent is either far away from the communicating peers, or on the path between them. 3.2 Security Enhancements The return-routability procedure was designed with the objective to provide a level of security which compares to that of today's non- mobile Internet. This is reasonable given that the Internet as a whole cannot become any safer than the non-mobile Internet. E.g., the return-routability procedure prevents impersonation attacks unless the attacker is on the path between its victim and the victim's correspondent node. An impersonator in such a position can spoof a Home Test Init message on behalf of the victim and eavesdrop on the returning Home Test message. This enables the attacker to send the victim's peer a Care-of Test Init message with a care-of address through which it is itself reachable. The attacker thus learns the tokens necessary to generate an authenticated Binding Update message on behalf of the victim. Similarly, the return-routability procedure protects against redirection-based flooding attacks unless the attacker is already on the path between the victim and the correspondent node. Such an attacker can launch a flooding attack already without the help of Mobile IPv6, through establishment of upper-layer connections on behalf of the victim. For instance, an on-path attacker can use its victim's IP address for a TCP handshake and thus cause a large file download from an FTP server to the victim. A related issue is location privacy. RFC 3775 fails to conceal a mobile node's current position as route-optimized packets always carry both home and care-of addresses. Both the correspondent node and a third party can therefore track the mobile node's whereabouts. A workaround is to fall back to bidirectional tunneling where location privacy is needed. Packets carrying the mobile node's care-of address are thus only transferred between the mobile node and the home agent, where they can be encrypted through IPsec ESP [36][14]. But even then should the mobile node periodically re- establish its IPsec security associations so as to become untrackable through its SPIs. Early efforts on location privacy in Route Optimization include [11][5][26][27]. Applications that require a security level higher than the return- routability procedure can provide are generally advised to use end- to-end protection such as IPsec or TLS. But even then are they vulnerable to denial of service. Better Route Optimization security may thus become necessary, in particular if future technological Vogt & Arkko Expires April 27, 2006 [Page 8] Internet-Draft MIP6 Route Optimization Enhancements October 2005 improvements mitigate some of the existing mobility-unrelated vulnerabilities. E.g., Secure Neighbor Discovery [24] solves existing address-ownership problems. 3.3 Signaling Optimizations Correspondent registrations have a maximum lifetime of seven minutes and must be refreshed in case they are not updated to a different care-of address in the meantime. The reason for this is to reasonably reduce the window of vulnerability to time- and space- shift attacks, where an attacker eavesdrops on unencrypted authentication material exchanged during the return-routability procedure and launches an impersonation attack at a later time and from a different, probably more amenable location. Periodic re- registrations limit the likelihood and feasibility of such off-path attacks, since the attacker would have to get back on path whenever the authentication material is due to be refreshed. A calculation in [2] shows that the seven-minute refreshment interval implies a signaling overhead of 7.16 bits per second when a mobile node communicates with a stationary node. The overhead doubles if both peers are mobile. On one hand, this signaling overhead is certainly negligible when the nodes actually communicate. On the other hand, it may cause problems for mobile nodes that are inactive and stay at the same location for a while, but still want to have Route Optimization ready with some correspondent node. These nodes typically prefer to go to standby mode to conserve battery power. Finally, the periodic refreshments consume a fraction of the wireless bandwidth that one could use more efficiently. This shows that an optimization for reduced signaling would be benefical and could have an impact on the deployment of Mobile IPv6. 3.4 Robustness Enhancements Route Optimization has the potential to enable mobile and correspondent nodes to continue communication during periods when the home agent is temporarily unavailable. The protocol defined in RFC 3775 does not achieve this independence from the home agent, however, as the home agent plays an active role in the return-routability procedure. Besides, the lifetime of a correspondent registration must be no longer than the lifetime of the corresponding home registration, which means that the home registration must hence be successfully accomplished before a Binding Update message can be sent to a correspondent node. Appropriate changes or modifications to these rules would allow for higher independence of the home agent, and thus enable robust Route Optimization even in the temporary absence of the home agent. Vogt & Arkko Expires April 27, 2006 [Page 9] Internet-Draft MIP6 Route Optimization Enhancements October 2005 4. Enhancements Toolbox A large body of effort has recently gone into improving Mobile IPv6 Route Optimization. Some of the proposed techniques are modifications to the return-routability procedure, while others replace the procedure by alternative mechanisms. Some of them operate end-to-end, others extend the functionality of network entities. It is important to mention that many enhancement techniques are insufficient or insecure when applied on their own, because the scope of each of them is usually limited to a certain sub-issue. It is the combination of a set of techniques that makes an efficient and secure route-optimization mechanism possible. Common to all proposals is that they affect a trade-off between effectiveness on one hand, in terms of low latency, reduced signaling, or increased security, and economical deployability and wide applicability. Standard Route Optimization as per RFC 3775 uses the return-routability procedure to avoid costly pre-configuration or new network entities. So do variants with proactive behavior and concurrent reachability verification. Crypto-Based Identifiers (CBIDs) allow for public-key authentication without a public-key infrastructure, hence constitute a more secure alternative to home- address tests. This is most effective when combined with concurrent reachability verification. Pre-configuration is another approach to avoid home address tests. It does without computationally expensive public-key algorithms, but requires pair-wise set-ups. Where suitable infrastructure is available, end nodes may delegate authentication and encryption tasks to trusted network entities, which in turn vouch for the end nodes. 4.1 IP-Address Tests RFC 3775 uses IP-address tests to ensure that a mobile node is live and on the path to a specific destination address: The home-address test provides evidence that the mobile node owns the home address it wants to use; the care-of-address test serves to preventing flooding attacks related to spoofed care-of addresses. The use of two IP- address tests requires four messages. Both tests can be performed in parallel, so they can be completed in one round-trip time. As specified in RFC 3775, IP-address tests can be stateless for the correspondent node, making their use in denial-of-service attacks harder. A home-address test can most efficiently be initiated by the mobile node itself, as the correspondent node can thus delay state creation until the mobile node has authenticated. Yet, conceptually, either the mobile node or the correspondent node could start a care-of- address test. RFC 3775 uses mobile-node-initiated IP-address tests, Vogt & Arkko Expires April 27, 2006 [Page 10] Internet-Draft MIP6 Route Optimization Enhancements October 2005 whereas [8] proposes a way to have the correspondent node send the first message. [13] follows this latter approach as well. The correspondent-node-driven approach has advantages when authentication is done through other means than a home-address test. Since RFC 3775 does use the home-address test for authentication, letting the mobile node initiate both IP-address test allows for more efficient parallelization. IP-address tests are a zero-configuration approach that is independent of ancillary infrastructure. The subsequent disadvantage is that IP-address tests can only guarantee that a peer is on the path to the probed IP address, not that the peer truly owns this IP address. On the other hand, the types of attacks that an on-path attacker can do with Route Optimization are the same that an on-path attacker can do without Route Optimization anyway, so there is actually no significant new threat. 4.2 Protected Tunnels RFC 3775 protects part of the signaling communications between a mobile node and its home agent through an authorized and, optionally, encrypted tunnel. This prevents other nodes on the path between the mobile node and the home agent---potentially eavesdroppers in the mobile node's wireless access network---from seeing a home-address test. Given the starting point that we cannot assume a pre-existing end-to- end security relationship between the mobile node and the correspondent node, this protection exists only for the mobile node's side. In case the correspondent node is stationary, the path between the home agent and the correspondent node remains unprotected. An attacker on that path can still perform attacks, but these attacks are similar to those that an on-path attacker can anyway do without Route Optimization. So, as with IP-address tests, the intent here is not to introduce any significant new threat to the Internet. The same is true in case the correspondent node is mobile. It then has its own home agent, and it is the path between the two home agents that stays unprotected. 4.3 Optimistic Behavior Mobile nodes generally await a successful home registration before they initiate the correspondent registration. In contrast to such "conservative" behavior, a more "optimistic" approach is to execute the home registration and the return-routability procedure in parallel [56]. Conservative behavior avoids a useless return- routability procedure in case the home registration fails. This comes at the cost of an additional round-trip delay when the home Vogt & Arkko Expires April 27, 2006 [Page 11] Internet-Draft MIP6 Route Optimization Enhancements October 2005 registration is successful. Optimistic behavior requires one round- trip time of signaling time less, but the return-routability procedure will be in vain should the corresponding home registration fail. RFC 3775 does not permit mobile nodes to send a Binding Update message to a correspondent node before the Binding Acknowledgement message has returned from the home agent. This is usually not a problem because the return-routability procedure is likely to take longer than the home registration anyway. However, some optimizations (cf. Section 4.4) reduce the delay caused by the return-routability, in which case the restriction of RFC 3775 becomes more critical. A useful improvement is here to allow Binding Update messages to correspondent nodes to be sent even before the home registration has been acknowledged. The drawback of the described optimistic behavior is that a dropped, re-ordered, or rejected BU can cause data packets to be dropped. Such packet loss would also have an effect on pessimistic signaling, however. As a result, further experimentation and simulation may be needed to quantify to the effects of optimistic techniques under different conditions. 4.4 Proactive IP-Address Tests Let the post-movement time period during which a mobile node and correspondent node cannot fully communicate be the "critical phase". The critical phase spans a home registration and a correspondent registration including a return-routability procedure. One technique to shorten the critical phase is to move some of these tasks to an earlier stage. In particular, the home-address test can be done proactively before a handover, instead of doing it afterwards, without violating the base specification. This is discussed in [31]. A home keygen token is generally valid for 3.5 minutes. Consequently, the mobile node must initiate a proactive home-address test at least every 3.5 minutes if it seeks to have available a fresh home keygen token at all times. This is especially helpful if the mobile node cannot foresee the next handover. Alternatively, the mobile node may be able to receive a trigger from its local link layer indicating that a handover is imminent. In this case, the mobile node may initiate the home-address test right in time instead of doing it periodically every 3.5 minutes. Note, however, that the mobile node must re-initiate the correspondent registration anyway-- and, thus, the home-address test--after the maximum binding lifetime of seven minutes. Link-layer triggers can therefore save the mobile node at most every second home-address test. The frequency of proactive home-address tests could be reduced by additional Vogt & Arkko Expires April 27, 2006 [Page 12] Internet-Draft MIP6 Route Optimization Enhancements October 2005 techniques such as [2]. Another optimization possibility is performing a care-of address test before the movement. This is possible only if the mobile node is capable of attaching to two networks simultaneously. 4.5 Concurrent IP-Address Tests If one assumes that a mobile node can attach to only a single network at a time, executing the care-of-address test proactively before a handover is not an option. However, one may authorize a mobile node to start using a new care-of address right after the handover, without doing the care-of-address test first, with the restriction that a care-of-address test be initiated rightaway. The peers could then already exchange packets through the new care-of address while the test is being executed. In recent literature, one refers to the care-of address as "unverified" when the correspondent node does not yet know the result of the concurrent care-of-address test, and one calls it "verified" thereafter. The lifetime of the associated binding can be limited to a few seconds as long as the care-of address is unverified, and it can be extended once it becomes verified. It is important to understand that concurrency is legitimate only for care-of-address tests. In contrast, home-address tests are done for mobile-node authentication, which must be done before any signaling messages are accepted. Authentication guarantees that only the legitimate mobile node can create or update a binding pertaining to its home address. However, both IP-address tests are in general simultaneously performed during the critical handover period, and one can expect the home-address test to have a longer latency than the care-of-address test. The full benefit of eliminating the care-of- address tests from the critical handover period by means of concurrency can therefore only unfold if some other mechanism is used to move the home-address tests out of the critical handover period as well. For instance, one can do the home-address tests proactively before a handover as suggested in Section 4.4, or one may use cryptographically generated home addresses as proposed further down in Section 4.9. Figure 1 illustrates concurrent care-of-address tests as used in [31]. Vogt & Arkko Expires April 27, 2006 [Page 13] Internet-Draft MIP6 Route Optimization Enhancements October 2005 Mobile Correspondent Node Home Agent Node | | | | | | |--Home Test Init (HoTI)--->|-------------------------->| | | | | | | |<--------------------------|<---------Home Test (HoT)--| | | | | | ~~+~~ Handover | | | |--Early Binding Update (EBU)-------------------------->| |<==========Resume Upper-Layer Communications==========>| |--Care-of Test Init (CoTI)---------------------------->| | | | | |<----------------------------Early Binding Ack (EBA)---| |<---------------------------------Care-of Test (CoT)---| | | | | |--Binding Update (BU)--------------------------------->| | | | | |<------------------------------------Binding Ack (BA)--| | | Figure 1: Concurrent Care-of Address Tests Concurrent care-of-address tests were first proposed in [31] where they were combined with proactive home-address tests. In [31], as soon as the mobile node has configured a new care-of address after a handover, it sends to the correspondent node an Early Binding Update (EBU) message. The mobile node signs the EBU with a message- authentication code keyed only with the home keygen token that the mobile node has previously retrieved through a proactive home-address test. Upon reception of the EBU, the correspondent node creates a tentative binding for the new care-of address, which can then be used while the care-of-address test is being executed. When the care-of- address is done, the mobile node sends a standard BU to the correspondent node, concluding the registration procedure. From the reception of an EBU to the reception of the corresponding standard BU, the correspondent node cannot be sure whether the mobile node is actually present at the claimed new care-of address. A malicious node may misuse this property to redirect packets to a third party's IP address during this phase of uncertainty. Under Vogt & Arkko Expires April 27, 2006 [Page 14] Internet-Draft MIP6 Route Optimization Enhancements October 2005 many circumstances, this will not be acceptable even if the lifetime for an unverified care-of address is tentative only, and there needs to be external protection. Techniques like those described in Section 4.7 or Section 4.8 can help. 4.6 Diverted Routing Given that the per-movement signaling takes some time, a mobile node can optionally request its traffic to be routed through its home address while this signaling is being completed. The performance impact of this technique depends on the length of the critical phase as well as on the capacity and latency of the direct path and the path through the home agent. With respect to the packets that the correspondent node sends, the following analysis can be made. The correspondent node does not know that the mobile node has moved until it has been told. It continues to send packets to the mobile node's old care-of address until that time. These packets are usually lost and must be retransmitted by upper-layer mechanisms. In addition, even the request to delete or deactivate a binding requires some security-related signaling to prevent misuse by unauthorized nodes. Zero packet loss can generally only be achieved through local repair techniques in the mobile node's access network, or if the mobile node can simultaneously attach to two IP networks. Once the correspondent node knows that the old care-of address is stale, it can send further packets to the home address. If one assumes that the correspondent registration for the new care-of address involves messages through the home agent, it is obvious that at least some of these packets reach the mobile node before the new binding is set up. After all, signaling and data packets travel the same path. It depends on the capacity and latency of the path through the home agent relative to the latency of the direct path for how long the correspondent node should continue to send packets to the home address. If the former path has a high latency, it might be better to queue some of the packets until the correspondent registration is complete and packets can be directly sent to the mobile node. One potential research direction is to look at whether the properties of the paths could be learned during the signaling and then used to decide the optimal time when the correspondent node should start queueing packets. The situation for the packets that the mobile node sends is similar: Although the mobile node knows immediately that it has moved, RFC 3775 does not allow the mobile node to route-optimize packets from new care-of address until it has formally updated the correspondent Vogt & Arkko Expires April 27, 2006 [Page 15] Internet-Draft MIP6 Route Optimization Enhancements October 2005 node about the new care-of address. Of course, the mobile node may buffer packets until the correspondent registration is done so that no packets get lost. Diverted routing appeared originally in [31] and has since been used also in [9]. 4.7 Credit-Based Authorization As described in Section 4.5, handover latency may be reduced by already using a new care-of address while the care-of-address test is in progress. The prerequesite is that sufficient protection is provided against redirection-based third-party flooding. One way of doing this is through Credit-Based Authorization. Credit-Based Authorization for concurrent care-of-address tests prevents illegitimate packet redirection until the validity of the address has been established. This is accomplished based on the following three hypotheses: 1. A flooding attacker typically seeks to somehow multiply the packets it generates itself for the purpose of its attack because bandwidth is an ample resource for many attractive victims. 2. An attacker can always cause unamplified flooding by sending packets to its victim directly. 3. Consequently, the additional effort required to set up a redirection-based flooding attack would pay off for the attacker only if amplification could be obtained this way. On this basis, rather than eliminating malicious packet redirection in the first place, Credit-Based Authorization prevents any amplification that can be reached through it. This is accomplished by limiting the data a correspondent node can send to an unverified care-of address of a mobile node by the data recently received from that mobile node. (See Section 4.5 for a definition on when a care-of address is verified and when it is unverified.) Redirection- based flooding attacks thus become less attractive than, e.g., pure direct flooding, where the attacker itself sends bogus packets to the victim. Figure 2 illustrates Credit-Based Authorization: The correspondent node measures the bytes received from the mobile node. When the mobile node changes to a new care-of address, the correspondent node labels this address UNVERIFIED and sends packets there as long as the sum of the packet sizes does not exceed the measured, received data volume. The mobile node's reachability at the new care-of address meanwhile gets verified. When the care-of-address test completes with success, the correspondent node relabels the care-of address from UNVERIFIED to VERIFIED. As of then, packets can be sent to the Vogt & Arkko Expires April 27, 2006 [Page 16] Internet-Draft MIP6 Route Optimization Enhancements October 2005 new care-of address without restrictions. When insufficient credit is left while the care-of address is still UNVERIFIED, the correspondent node stops sending further packets until address verification completes. +-------------+ +--------------------+ | Mobile Node | | Correspondent Node | +-------------+ +--------------------+ | | address |----------------------->| credit += size(packet) verified | | |----------------------->| credit += size(packet) |<-----------------------| don't change credit | | + address change | address |<-----------------------| credit -= size(packet) unverified |----------------------->| credit += size(packet) |<-----------------------| credit -= size(packet) | | |<-----------------------| credit -= size(packet) | X credit < size(packet) ==> drop! | | + address change | address | | verified |<-----------------------| don't change credit | | Figure 2: Credit-Based Authorization The correspondent node ensures that the mobile node's acquired credit gradually decrease over time. Such "credit aging" prevents a malicious node from building up credit at a very slow speed and using this, all at once, for a severe burst of redirected packets. Allocating a mobile node's credit based on the packets that the mobile node sends and reducing the credit based on packets that the mobile node receives is defined as "CBA Inbound Mode". (The correspondent node is in control of credit allocation, and it computes the credit based on inbound packets received from the mobile node.) A nice property of CBA Inbound Mode is that it does not require support from the mobile node. The mobile node neither needs to understand that CBA is effective at the correspondent node, nor does it have to have an idea of how much credit it currently has. With applications that send comparable data volumes into both directions, CBA Inbound Mode works fine. On the other hand, in Inbound Mode, CBA may prevent the mobile node from collecting the Vogt & Arkko Expires April 27, 2006 [Page 17] Internet-Draft MIP6 Route Optimization Enhancements October 2005 amount of credit it needs for a handover when applications with asymmetric traffic patterns are in use. For instance, file transfers and media streaming are characterized by high throughput towards the client, typically the mobile node, and comparably little throughput towards the serving correspondent node. To better accommodate such applications, "CBA Outbound Mode" was designed. With CBA Outbound Mode, credit allocation is based on packets that the mobile node receives from the correspondent node rather than on packets that the mobile node sends. New credit is allocated while the mobile node's current care-of address is verified; existing credit is used up while the care-of address is unverified. Thus, it is the data flow from the correspondent node to the mobile node that is responsible for both credit allocation and reduction, resolving the issue with applications producing asymmetric traffic patterns. It is less obvious for CBA Outbound Mode why it outrules flooding- attack amplification than it is for CBA Inbound Mode. The key observation is that a mobile node invests comparable effort for packet reception as for packet transmission in terms of bandwidth, memory, and processing capacity. It is therefore legitimate to give a mobile node credit for packets that it has received and processed. The question is, though, how the correspondent node can determine how many of the packets sent to a mobile node are actually received and processed by that mobile node. Relying on transport-layer acknowledgements is not an option as such messages can easily be faked. CBA Outbound Mode hence defines its own feedback mechanism, Care-of Address Spot Checks, which is robust to spoofing. With Care-of Address Spot Checks, the correspondent node periodically tags packets that it sends to the mobile node with a random, unguessable number, a so-called Spot Check Token. When the mobile node receives a packet with an attached Spot Check Token, it buffers the token until it sends the next packet to the correspondent node. The Spot Check Token is then included in this packet. Upon reception, the correspondent node verifies whether the returned Spot Check Token matches a token recently sent to the mobile node. New credit is allocated in proportion to the ratio between the number of successfully returned Spot Check Tokens and the total number of tokens sent. This implies that new credit is approximately proportional to the fraction of packets have made their way at least up to the mobile node's IPv6 stack. The preciseness of Care-of Address Spot Checks can be traded with overhead through the frequency with which packets are tagged with Spot Check Tokens. An interesting question is whether CBA Outbound Mode could be misused by an attacker that has an asymmetric connection to the Internet. Wide-spread digital subscriber lines (DSL), for instance, typically have a much higher download rate than upload rate. The limited Vogt & Arkko Expires April 27, 2006 [Page 18] Internet-Draft MIP6 Route Optimization Enhancements October 2005 upload rate would render most denial-of-service attempts through direct flooding meaningless. But the strong download rate could be misused to illegitimately build up credit at one or many correspondent nodes. The credit could then be used for a more potent, redirection-based flooding attack. The reason why this has so far not been considered an issue is that, in order to build up enough credit at the remote end, the attacker would first have to expose itself to the same packet flood that it could then redirect towards the victim. 4.8 Heuristic Monitoring Heuristic approaches to protect concurrent care-of-address tests are conceivable as well. For instance, one may consider a lifetime limit for unverified care-of addresses which, supplemented by a heuristic for misuse detection, can prevent, or at least effectually discourage, misuse of such addresses. The challenge here seems to be a feasible heuristic: On one hand, the heuristic must be sufficiently rigid to catch any malicious intents at the other side. On the other hand, it should not have a negative impact on a fair-minded mobile node's communications. Another problem with heuristics is that they are usually reactive. The correspondent node can only respond to misbehavior after it appeared. If the response comes quickly, attacks may simply not be worthwhile. But premature actions should be avoided, of course. One must also bear in mind that an attacker may be able to use different home addresses, and it is in general impossible for the correspondent node to see that the set of home addresses belongs to the same node. The attacker may also use multiple correspondent nodes for its attack in an attempt to amplify the result. 4.9 Crypto-Based Idendifiers A crypto-based identifier (CBID) is an identifier with a strong cryptographic binding to the public component of its owner's public/ private key pair [51]. CBIDs offer three main advantages: First, spoofing attacks against a CBID are much harder than attacks against a non-cryptographic identifier like a domain name or a Mobile IPv6 home address. Though an attacker may always create its own CBID, it is unlikely to find a public/private key pair that produces someone else's. Second, CBIDs fulfill exactly the purpose that certificates do, so they do not depend on a certification infrastructure. Third, CBID can be used to bind a public key to an IP address, in which case they are called Cryptographically Generated Addresses (CGA) [52][53]. A CGA is syntactically just an ordinary IPv6 address. It has a standard routing prefix and an interface identifier generated from a Vogt & Arkko Expires April 27, 2006 [Page 19] Internet-Draft MIP6 Route Optimization Enhancements October 2005 hash on the CGA owner's public key and some additional parameters. A CGA allows the owner to assert a claim on its address: It can sign a to-be-authenticated message with its private key and attach its public key along with the parameters necessary to recompute the CGA. The recipient of this message can then verify whether the address is correct. Many applications are conceivable where CGAs can be advantageous. In Mobile IPv6, CGAs can bind a mobile node's home or care-of address to its public key. CGAs were originally described in [52] and in [53], and they have later been used in [30], [42], [9], and others. It should be mentioned that, although CGAs are a replacement for the home-address test in most cases, at least one initial home-address test must be made. This ensures that the network prefix of the home address is correct, and that the mobile node is really reachable at this address. Being able to omit the home-address test in subsequent correspondent registrations allows the peers to communicate independently of home-agent availability. Since only the interface identifier of a CGA is cryptographically generated, flooding a network or a link is still an issue. As a result, CGAs should be employed together with a care-of-address test in scenarios where redirection-based flooding attacks are a concern. An initial home-address test is typically required, too, in order to avoid that the deletion of a binding causes a flood upon a faked home address. One limitation of CGAs compared to other types of CBIDs is that the hash on the CGA owner's public key can only be 62 bits long. The rest of the address is occupied by a 64-bit routing prefix as well as the universal/local and individual/group bits. A brute-force attacker might thus be able to find a public/private key pair that produces a certain CGA. It could then claim ownership over this CGA. The threat can usually be contained by including the address prefix in the hash computation, so that an attacker, in case it did find the right public/private key pair, could not form CGAs for multiple networks from it. To resolve collisions in case CGAs are used as care-of addresses, a collision count is part of the input to the CGA hash function. Increasing the collision count by one changes the result of the hash function, so new CGAs can be successively tried until an unused one is found. On the other hand, the collision count also helps an attacker in faking a CGA: It may use the same private/public-key pair to efficiently generate multiple CGAs. For this reason, the collision count is usually limited to a few bytes only. Higher security can be achieved through longer CBIDs. For instance, Vogt & Arkko Expires April 27, 2006 [Page 20] Internet-Draft MIP6 Route Optimization Enhancements October 2005 a node's primary identifier in the "Host Identity Protocol" (HIP) [28] is a 128-bit hash on the node's public key. It is used as an IP-address replacement at stack layers above IP. This CBID is not routable, so there needs to be some external location mechanism if a node wants to contact a peer of which it only knows the identifier. 4.10 Pre-Configuration The return-routability procedure was designed for communication peers that do not share an a-priori security association. In order to thwart off-path attacks nonetheless, the procedure can establish only very short-living security associations. However, in certain, restricted scenarios, it may be possible to pre-configure mobile and correspondent nodes with security associations. Such security associations can have much longer lifetimes because pre-configuration is inherently more secure than the plaintext token exchange from the return-routability procedure. Pre-configuration has two major benefits. The first one is strong, cryptographic authentication and encryption, which can be applied to both signaling and data packets. The second advantage is lower signaling delay, because the additional round-trip time otherwise needed for the return-routability procedure can be spared. The obvious disadvantage of pre-configuration is its limited applicability. It is important to recognize the necessity to unambiguously bind a security association to the home address that it is to protect. With regards to the return-routability procedure, this binding is realized by routing the HoTI and HoT through the home address. In the case of a pre-configured security association, the association must be related to the home address as part of the configuration. Note that this affects both secret-key and public-key cryptography. Two proposals for pre-configuration are currently under discussion in the IETF as optional enhancements to RFC 3775. [19] re-uses most from the standard authentication and authorization procedure defined in RFC 3775. The only difference is that mobile nodes are endowed with the information they need to compute Home and care-of keygen tokens themselves rather than having to obtain them through the return- routability procedure. [7] replaces the standard RFC-3775 concepts with IPsec and the Internet Key Exchange (IKE) protocol. From a technical standpoint, a pre-configured security association can only replace a home-address test, not a care-of-address test. After all, a correspondent node cannot verify, based on the association alone, whether a mobile node is actually present at the announced care-of address. The problem is circumvented in [19] by Vogt & Arkko Expires April 27, 2006 [Page 21] Internet-Draft MIP6 Route Optimization Enhancements October 2005 postulating that the correspondent node has sufficient trust in the mobile node to believe that the care-of address is correct. However, this assumption discourages the use of pre-configuration in scenarios where such trust is unavailable. For instance, a mobile-phone operator may be able to configure subscribers with secret keys for authorization to a particular service, but it may not be able to vouch that all subscribers use this service in a trustworthy manner. And even if peers initially trust each other, subsequently one or the other can be infected with malware and become untrustworthy. Another way to avoid the problem of care-of-address verification is to rely on access networks to filter out packets with incorrect IP source addresses (cf. Section 1.2). This approach is taken in [7]. However, the problem with local filtering is that it must be deployed everywhere an attacker may possibly access the Internet in order to be fully protective. Otherwise, an attacker can always find a place from where a spoofing attack is possible, endangering IP nodes anywhere. As things stand, the assumption that deployment of filtering techniques be universal is speculative. Both of the above two assumptions can be eliminated through care-of- address tests, facilitating the use of pre-configuration in spite of lacking trust relationships or the existence of access networks without local filtering techniques. Of course, using a care-of- address test partly vitiates the handover-latency improvement that can be reached otherwise. But there may still be a positive impact on handover latency, because pre-configuration eliminates the triangular home-address test through the home agent, whereas the care-of-address test uses the direct, and typically faster, path between the communicating nodes. For increased performance, a concurrent care-of-address test can be used in combination with credit-based authorization or heuristic monitoring. It should also be noted that pre-configuration facilitates stronger authentication mechanisms than the return-routability procedure, and thus the use of Route Optimization may become more suitable for applications with high security requirements. That said, it seems like a good idea to make the pre-configuration protocol customizable to different environments. Is there a small group of people who trust each other? Then group members are unlikely to spoof care-of addresses, and the care-of-address test might be omitted. Or is the group of users large and users are primarily unknown to each other like the customer base of a big ISP? Then, proper authentication does usually not imply trust, and it is infeasible to use pre-configured keys without checking a mobile node's reachability. Traceability techniques are not necessarily a compensation for the missing care-of-address test, because they are a reactive measure, whereas a care-of-address test is a proactive one. Vogt & Arkko Expires April 27, 2006 [Page 22] Internet-Draft MIP6 Route Optimization Enhancements October 2005 4.11 Opportunistic Security Associations An intermediate approach between short-term security associations from the return-routability procedure on one hand, and static security associations available via pre-configuration on the other, is to set up an "opportunistic", medium-term security association upon first contact. Subsequent signaling can then be unambiguously bound to the initial contact. Such security associations can be used over a longer period of time than those afforded by the return- routability procedure. On-demand security associations for IPsec are traditionally established by executing IKE between two peers. This works well when the negotiated keys are securely bound to the entity that they are to protect. However, the to-be-protected entity in Mobile IPv6 is a plain IPv6 home address, which is syntactically indistinguishable from other IPv6 addresses. Given that no direct authentication between the peers is generally feasible, there is no way for a mobile node to prove possession of its home address either. This would allow an attacker to do the IKE exchange pretending to own an arbitrary victim's IP address, and to at will redirect the victim's traffic from that time on. Although the attacker would have to be on the path between the victim and the correspondent node while running IKE, it could move off the path once the keys have been exchanged. As the victim lacks the keys, it cannot even re-claim its IP address. As a result, opportunistic security associations must be bound to the right home addresses through some additional technique when used in the context of Mobile IPv6. For instance, they can be combined with an initial, one-time home-address test, or IKE can be run through the home address. Another way is using CGAs as proposed in [9]. No matter how they are secured, opportunistic security associations cannot be leveraged to prove the correctness of a care-of address. They hence fail to solve the problem with redirection-based flooding attacks, and should only be applied in conjunction with care-of- address tests. Semi-permanent security associations were first developed in [4] where they were called "Purpose Built Keys" (PBK). 4.12 Prefix-Based Certificates The Mobile IPv6 base specification avoids strong authentication cryptography for signaling between mobile nodes and correspondent nodes. One reason for this is that PKI for general Internet use has generally been considered impossible to set up. This is primarily due to the current separation of IP-address assignment and security infrastructures. Another reason is that limited power resources and processing capacity at the mobile nodes generally rule out any Vogt & Arkko Expires April 27, 2006 [Page 23] Internet-Draft MIP6 Route Optimization Enhancements October 2005 complex cryptographic operations. Robustness to resource-exhaustion attacks requires a similar restrictiveness on the correspondent-node side. However, Certificate-based Binding Updates (CBU) [29] are a useful simplification: A home agent is assigned a certificate that binds the home-network prefix to the home agent's public key. Correspondent nodes can trust the home agent based on the certificate, and the home agent vouches for the trustworthiness of the mobile nodes it serves. The advantage is that, rather than having to issue a certificate per mobile node, only a certificate per home-network prefix is required. This makes the infrastructure problem more tractable. The reduction in the number of potentially required certificates makes certificate-based approaches to mobile-node authentication more feasible than it is today. The approach also avoids heavy computations at mobile nodes since public-key cryptography is handled by the home agent. On the other hand, the processing overhead at correspondent nodes actually increases compared to standard correspondent registrations. This may not be an issue since resources at stationary correspondent nodes are usually higher than those of many mobile devices. But it may be an issue if the correspondent node is a popular web server or other central resource that cannot afford doing complex cryptographic operations. One should, however, bear in mind that the increased overhand implies a higher risk to resource-exhaustion attacks. CBU does not solve the issue with care-of-address spoofing: A vouching home agent does not prevent a malicious mobile node from faking its care-of address. The culprit could cheat its home agent, or it could cooperate with it. This said, CBU should be combined with a care-of-address test that rules out redirection-based flooding attacks. A combination of concurrent care-of-address tests and CBA (cf. Section 4.7) can be used to keep the signaling delay during handover as low as it currently is in [29]. 4.13 Mobile and Correspondent Routers A special scenario where mobility optimizations are useful is one where an entire network moves. Mobile nodes within a moving network stick together and connect to the Internet through a single "mobile router". It is relatively straightforward to support network mobility [41] by using a single home agent and a single tunnel between the mobile router and that home agent. Mobile nodes then don't have to be mobility-aware. On the other hand, supporting Route Optimization for moving networks [34][35][3][33] is more complicated. One way of doing this is to have the mobile router handle Route Vogt & Arkko Expires April 27, 2006 [Page 24] Internet-Draft MIP6 Route Optimization Enhancements October 2005 Optimization on behalf of the mobile nodes. This requires the mobile router to modify incoming and outgoing packets such that they can be routed on the direct path between the end nodes. The mobile router would also have to perform Mobile IPv6 signaling on behalf of the mobile nodes. A similar optimization applies to a network of correspondent nodes. Those could communicate with mobile nodes, through a "correspondent router", in a route-optimized way without themselves being mobility- aware. While RFC 3775 Route Optimization requires all correspondent nodes to be modified, this can be avoided if mobility is managed by a router in the correspondent nodes' network. Note that neither a mobile router nor a correspondent router needs to be the first-hop router. It may also be located further down the path between the communicating end nodes. 5. Discussion and Future Research Route Optimization enhancement strategies ultimately attempt to gain significant improvement in many scenarios at low costs, but trade- offs are oftentimes necessary. Accordingly, the techniques can be characterized in three respects: (a) their benefit, in terms of reduced latency, higher security, lower signaling overhead, or increased robustness; (b) their costs, in terms of hardware upgrades, software modifications, and manual configuration; and (c) their applicability to different scenarios and ease of deployability. IP-address tests don't require any upgrades to the network infrastructure and work well for peers that do not know each other. Proactivity and CBA can be used to conduct the tests in parallel with regular user traffic. Yet, address tests suffer from relatively high signaling overhead and a vulnerability to on-path attackers. Pre- configuration and CBIDs mitigate these issues, although they apply to acquainted nodes only or require computationally complex public-key cryptography, respectively. Authentication mechanisms like pre-configuration or CBIDs cannot prevent misuse by authenticated nodes and must hence be combined with care-of-address tests in general. This does not necessarily imply a performance penalty, however, since CBA allows reachability verification to occur concurrently. In fact, CBA can be integrated into any mobility protocol that verifies IP addresses through probing. CBA-based concurrent care-of-address tests could even be proscribed for home registrations in scenarios where a home agent cannot trust in the correctness of the registered mobile nodes' care-of addresses. Delegating authentication to network entities, as it can be done with Vogt & Arkko Expires April 27, 2006 [Page 25] Internet-Draft MIP6 Route Optimization Enhancements October 2005 CBUs, may resurrect the use of certificates for the purpose of mobility support. The technique effects a compromise between the strong authentication facilitated through certificates on one side as well as applicability and ease of deployability on the other side. On the other hand, delegation increases the dependency on external entities, such as the home agent in case of CBUs. Mobility-related optimizations are currently actively studied by many researchers at different protocol layers. While some of the basic methods are fairly well understood and are being deployed, there are a number of interesting, newer approaches that deserve to be studied in more detail. The following discusses research directions that appear fruitful, or necessary in the future, and that go beyond the existing proposals described so far. 5.1 Research at Other Protocol Layers The efficiency and security related to movements does not depend on Mobile IPv6 Route Optimization alone, even if researchers often pose their analysis in that light. A movement that is visible at the IP layer involves all lower layers as well. This includes layer 2 attachment procedures; layer 2 security mechanisms such as negotiation, authentication, and key agreement; IPv6 Router and Neighbor Discovery; as well as IPv6 Address Autoconfiguration and Duplicate Address Detection. A complete network attachment typically requires over twenty link- and IP-layer messages, assuming that features necessary for a commercial deployment (such as security) are turned on. A significant research question is the performance of the network- access stack as a whole. Current protocol stacks have a number of limitations in addition to the long attachment delays [44], such as denial-of-service vulnerabilities, difficulties in trusting a set of access nodes distributed to physically insecure locations, or the inability to retrieve sufficient information for making a handoff decision. A number attempts are ongoing to improve various parts of the stack, mostly focusing on handover performance. These include link-layer enhancements, parameter tuning [55], network-access authentication mechanisms [1], fast-handover mechanisms [50], AAA architectures [25], and IP-layer attachment improvements [16]. It is uncertain how far this optimization can be taken by only looking at the different parts individually. An integrated approach may be necessary to gain more significant improvements [45]. It is also unclear at this time which components are the most critical ones. [44] suggests that mobility-related signaling Vogt & Arkko Expires April 27, 2006 [Page 26] Internet-Draft MIP6 Route Optimization Enhancements October 2005 contributes only under 10% of the overall delay in an IEEE 802.11 environment. The most significant delays are caused at the link layer and for IPv6 attachment. However, the results are not conclusive due to the high deviation between the measurements. The results can also be affected by a number of conditions, such as the availability of specific link-layer optimizations, or the type of security mechanism used for Mobile IPv6 home registrations. 5.2 Further Route Optimization Research The primary driver to improve Route Optimization appears to be better efficiency for a few usage scenarios, such as fast movements or the ability to reduce signaling frequencies for hosts in standby mode. Ongoing work addresses these aspects already quite well, and many of the suggested methods are reasonably stable in this regard. It is expected that further, perhaps smaller improvements will continue to be achieved through research and parameter tuning far into the future. Research on infrastructure-based Route Optimization like [43] is clearly a longer-term project. Mobile and correspondent routers can be advantageous in large networks of mobile or correspondent nodes, respectively, especially if the end nodes don't support Route Optimization themselves. It would also be interesting to investigate into how mobile and correspondent routers can be integrated with infrastructure-based security solutions, such as [48]. Also, the ideas of the Certificate-Based Binding Update Protocol could be useful in this light. The following is a list of interesting ideas for new route- optimization research. o Local mobility or local repair optimizations that require no configuration. o Care-of-address verification mechanisms that employ lower-layer assistance or Secure Neighbor Discovery. o The introduction of optimizations developed in the context of Mobile IPv6 to HIP or other mobility protocols, or to link-layer mobility solutions. o The extension of the developed techniques to full multi- addressing, including also multi-homing. o Further development of techniques that are based on "asymmetric cost wars" [46], such as CBA. Vogt & Arkko Expires April 27, 2006 [Page 27] Internet-Draft MIP6 Route Optimization Enhancements October 2005 o Integrated techniques taking into account both link and IP layer mobility tasks. 5.3 Experimentation and Simulation As discussed earlier, the contribution of different stack parts to the overall movement latency is still unclear. The following is a list of areas where measurements and experimentation can yield further, valuable insight. o Measurements of a realistic network scenario, enabling all features that would likely be needed in a commercial deployment. These features include link-layer access control, for instance. Similarly, it is necessary to consider support for existing enhancement proposals. o Measurements and simulations of the performance impacts that existing enhancement proposals have on the different parts of the stack. o Measurements and comparisons of different implementations that are based on the same specification. For instance, it would be valuable to know how much implementations differ with regards to the use of parallelism that RFC 3775 allows in home and correspondent registrations, or with respect to early packet transmission before reception of a BA. o Measurements of the impact that network conditions such as packet loss can have on existing and new route-optimization mechanisms. o Statistical data collection on the behavior of mobile nodes in different networks. Route-optimization techniques behave differently depending on what the frequency of movements is, or what traffic streams appear during a mobile node's lifetime. o Measurements or simulations of the performance that existing route-optimization schemes show under different application scenarios, such as the use of applications with symmetric vs. asymmetric traffic patterns. 6. Security Considerations Security issues related to Route Optimization are an integral part of this paper and are as such discussed throughout the paper. Vogt & Arkko Expires April 27, 2006 [Page 28] Internet-Draft MIP6 Route Optimization Enhancements October 2005 7. Conclusions Mobility-related optimizations are currently actively studied by many researchers. Some of the basic techniques--such as the return- routability procedure, pre-configured keys, or CGAs--are either already being deployed or can expected to be in the near future. A growing number of new proposals are being studied that attempt to optimize these basic techniques further, or to make them better applicable to a particular scenario. Many of the current proposals are mature enough to withstand close scrutiny. Their relative advantages are rather subjective, however. For instance, some proposals are very efficient, but have a high cost in terms of configuration, whereas others do not require configuration, but are slower. It hence appears likely that more than one new method will have to be standardized. Deployment experience is also important, so publication of a few alternative methods as RFCs would be desirable. It is interesting to see that most if not all current proposals had predecessors that were shown to be insecure. For instance, the initial return-routability procedure as well as the first versions of CGAs were published before the threat of flooding attacks was fully understood. Concurrent care-of-address tests were also first suggested with insufficient protection against flooding attacks. And several proposals employing semi-permanent security associations have initially suffered from impersonation attacks. This shows the need to reserve a sufficient amount of time for community analysis and review of new methods. Another interesting observation is that most mature proposals combine a number of techniques and do not rely on any single approach. This is due to the intricate nature of the problem: to build a mechanism that is efficient and at the same time avoids a quite significant number of potential security vulnerabilities. On the other hand, it is also necessary to avoid overly expensive or complex solutions. For instance, in evaluating the security needs for Route Optimization, it is important to compare these needs to other vulnerabilities, e.g., denial-of-service attacks, that already exist for on-path attackers in an Internet without mobility support. Of course, a mobility-management protocol should not make these vulnerabilities worse. But since the issues already exist, it is not necessarily a requirement that they be solved by a mobility- management protocol. There is a natural performance limit of Route Optimization due to end-to-end signaling. Future applications may have latency Vogt & Arkko Expires April 27, 2006 [Page 29] Internet-Draft MIP6 Route Optimization Enhancements October 2005 requirements that Route Optimization cannot satisfy. This is where local optimizations such as FMIPv6 and HMIPv6 become necessary. While HMIPv6 still benefits from enhancements to Route Optimization, FMIPv6 allows peers to postpone global signaling and parallelize it with upper-layer communications. This is an exemplar for the trade- off between good performance and high investment costs. A significant research question is the overall performance of the network stack in a mobile setting. This includes mobility management at the IP layer, but is not limited to it. Current network-access protocol stacks have a number of limitations, such as long attachment and movement latencies or significant denial-of-service vulnerabilities. It is uncertain whether further, significant benefits can be achieved if one continues to look at the different parts of the network stack individually. Most likely, a more comprehensive approach is needed. It is also unclear at this time which components of the network stack are the most critical ones to optimize. Other significant research questions include what effect network conditions such as packet loss can have on current proposals, and to what degree proposals depend on specific application patterns. Our current understanding about the different traffic patterns and their effects on mobility is limited, and experiments, modelling, and simulations will be needed. Finally, an interesting piece of research would be to measure the performance of Route Optimization relative to bidirectional tunneling from a user's perspective. Vogt & Arkko Expires April 27, 2006 [Page 30] Internet-Draft MIP6 Route Optimization Enhancements October 2005 8. References [1] Institute of Electrical and Electronics Engineers, "Local and Metropolitan Area Networks: Port-Based Network Access Control", IEEE Standard 802.1X, September 2001. [2] Arkko, J. and C. Vogt, "Credit-Based Authorization for Binding Lifetime Extension", draft-arkko-mipv6-binding-lifetime-extension-00 (work in progress), May 2004. [3] Bernardos, C., "Mobile IPv6 Route Optimisation for Network Mobility (MIRON)", draft-bernardos-nemo-miron-00 (work in progress), July 2005. [4] Bradner, S., Mankin, A., and J. Schiller, "A Framework for Purpose-Built Keys (PBK)", draft-bradner-pbk-frame-06 (work in progress), June 2003. [5] Daley, G., "Location Privacy and Mobile IPv6", draft-daley-mip6-locpriv-00 (work in progress), January 2004. [6] Dupont, F., "A note about 3rd party bombing in Mobile IPv6", draft-dupont-mipv6-3bombing-01 (work in progress), January 2005. [7] Dupont, F. and J. Combes, "Using IPsec between Mobile and Correspondent IPv6 Nodes", draft-dupont-mipv6-cn-ipsec-01 (work in progress), June 2004. [8] Dupont, F. and J. Combes, "Care-of Address Test for MIPv6 using a State Cookie", draft-dupont-mipv6-rrcookie-00 (work in progress), January 2005. [9] Haddad, W., Madour, L., Arkko, J., and F. Dupont, "Applying Cryptographically Generated Addresses to Optimize MIPv6 (CGA- OMIPv6)", draft-haddad-mip6-cga-omipv6-02 (work in progress), June 2004. [10] Haddad, W. and S. Krishnan, "Optimizing Mobile IPv6 (OMIPv6)", draft-haddad-mipv6-omipv6-01 (work in progress), February 2004. [11] Haddad, W., "Privacy for Mobile and Multi-homed Nodes: MoMiPriv Problem Statement", draft-haddad-momipriv-problem-statement-00 (work in progress), October 2004. [12] Moskowitz, R., "Host Identity Protocol", draft-ietf-hip-base-00 (work in progress), June 2004. Vogt & Arkko Expires April 27, 2006 [Page 31] Internet-Draft MIP6 Route Optimization Enhancements October 2005 [13] Nikander, P., "End-Host Mobility and Multi-Homing with Host Identity Protocol", draft-ietf-hip-mm-01 (work in progress), February 2005. [14] Kent, S., "IP Encapsulating Security Payload (ESP)", draft-ietf-ipsec-esp-v3-08 (work in progress), March 2004. [15] Loughney, J., "IPv6 Node Requirements", draft-ietf-ipv6-node-requirements-11 (work in progress), August 2004. [16] Moore, N., "Optimistic Duplicate Address Detection for IPv6", draft-ietf-ipv6-optimistic-dad-01 (work in progress), June 2004. [17] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. Chowdhury, "Authentication Protocol for Mobile IPv6", draft-ietf-mip6-auth-protocol-00 (work in progress), July 2004. [18] Patel, A., "Problem Statement for bootstrapping Mobile IPv6", draft-ietf-mip6-bootstrap-ps-00 (work in progress), July 2004. [19] Perkins, C., "Preconfigured Binding Management Keys for Mobile IPv6", draft-ietf-mip6-precfgKbm-00 (work in progress), April 2004. [20] Nikander, P., Arkko, J., Aura, T., Montenegro, G., and E. Nordmark, "Mobile IP version 6 Route Optimization Security Design Background", draft-ietf-mip6-ro-sec-01 (work in progress), July 2004. [21] Koodli, R., "Fast Handovers for Mobile IPv6", draft-ietf-mipshop-fast-mipv6-02 (work in progress), July 2004. [22] Soliman, H., Castelluccia, C., Malki, K., and L. Bellier, "Hierarchical Mobile IPv6 mobility management (HMIPv6)", draft-ietf-mipshop-hmipv6-02 (work in progress), June 2004. [23] Huston, G., "Architectural Approaches to Multi-Homing for IPv6", draft-ietf-multi6-architecture-04 (work in progress), February 2005. [24] Arkko, J., Kempf, J., Sommerfeld, B., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", draft-ietf-send-ndopt-06 (work in progress), July 2004. [25] Arbaugh, W. and B. Aboba, "Experimental Handoff Extension to RADIUS", draft-irtf-aaaarch-handoff-04 (work in progress), Vogt & Arkko Expires April 27, 2006 [Page 32] Internet-Draft MIP6 Route Optimization Enhancements October 2005 November 2003. [26] Koodli, R., "IP Address Location Privacy and IP Mobility", draft-koodli-mip6-location-privacy-00 (work in progress), February 2005. [27] Koodli, R., "Solutions for IP Address Location Privacy in the presence of IP Mobility", draft-koodli-mip6-location-privacy-solutions-00 (work in progress), February 2005. [28] Moskowitz, R., Nikander, P., and P. Jokela, "Host Identity Protocol", draft-moskowitz-hip-09 (work in progress), February 2004. [29] Bao, F., "Certificate-based Binding Update Protocol (CBU)", draft-qiu-mip6-certificated-binding-update-02 (work in progress), August 2004. [30] Roe, M., Aura, T., O'Shea, G., and J. Arkko, "Authentication of Mobile IPv6 Binding Updates and Acknowledgments", draft-roe-mobileip-updateauth-02 (work in progress), March 2002. [31] Vogt, C., Bless, R., Doll, M., and T. Kuefner, "Early Binding Updates for Mobile IPv6", draft-vogt-mip6-early-binding-updates-00 (work in progress), February 2004. [32] Vogt, C., Arkko, J., Bless, R., Doll, M., and T. Kuefner, "Credit-Based Authorization for Mobile IPv6 Early Binding Updates", draft-vogt-mipv6-credit-based-authorization-00 (work in progress), May 2004. [33] Wakikawa, R., "Optimized Route Cache Protocol (ORC)", draft-wakikawa-nemo-orc-01 (work in progress), November 2004. [34] Zhao, F., Wu, F., and S. Jung, "NEMO Route Optimization Problem Statement and Analysis", draft-zhao-nemo-ro-ps-01 (work in progress), February 2005. [35] "NEMO Route Optimisation Problem Statement", draft-clausen-nemo-ro-problem-statement-00 (work in progress), October 2004. [36] Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)", RFC 2406, November 1998. Vogt & Arkko Expires April 27, 2006 [Page 33] Internet-Draft MIP6 Route Optimization Enhancements October 2005 [37] Perkins, C., "IP Mobility Support for IPv4", RFC 3344, August 2002. [38] Abley, J., Black, B., and V. Gill, "Goals for IPv6 Site- Multihoming Architectures", RFC 3582, August 2003. [39] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [40] Arkko, J., Devarapalli, V., and F. Dupont, "Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents", RFC 3776, June 2004. [41] Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert, "Network Mobility (NEMO) Basic Support Protocol", RFC 3963, January 2005. [42] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005. [43] Vadali, R., Li, J., Wu, Y., and G. Cao, "Agent-Based Route Optimization for Mobile IP", Proceedings of the IEEE Vehicular Technology Conference, October 2001. [44] Alimian, A. and B. Aboba, "Analysis of Roaming Techniques", IEEE Contribution 11-04-0377r1 2004. [45] Arkko, J., Eronen, P., Nikander, P., and V. Torvinen, "Secure and Efficient Network Access", Extended abstract to be presented in the DIMACS workshop, November 2004. [46] Arkko, J. and P. Nikander, "Weak Authentication: How to Authenticate Unknown Principals without Trusted Parties", Proceedings of Security Protocols Workshop 2002, Cambridge, UK, April 16-19, 2002. [47] Baker, F. and P. Savola, "Ingress Filtering for Multihomed Networks", BCP 84, RFC 3704, March 2004. [48] Castelluccia, Claude., Montenegro, Gabriel., Laganier, Julien., and Christoph. Neumann, "Hindering Eavesdropping via IPv6 Opportunistic Encryption", Proceedings of the European Symposium on Research in Computer Security , September 2004. [49] Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, May 2000. Vogt & Arkko Expires April 27, 2006 [Page 34] Internet-Draft MIP6 Route Optimization Enhancements October 2005 [50] Mishra, A., Shin, M., Arbaugh, W., Lee, I., and K. Jang, "Proactive Key Distribution to Support Fast and Secure Roaming", IEEE Contribution 11-03-084r1-I, January 2003. [51] Montenegro, G. and Claude. Castelluccia, "Crypto-Based Identifiers (CBIDs): Concepts and Applications", ACM Transactions on Information and System Security Vol. 7, No. 1, February 2004. [52] Nikander, P., "Denial-of-Service, Address Ownership, and Early Authentication in the IPv6 World", Proceedings of the Cambridge Security Protocols Workshop, April 2001. [53] O'Shea, G. and M. Roe, "Child-proof Authentication for MIPv6", Computer Communications Review, April 2001. [54] Paxson, V., "An Analysis of Using Reflectors for Distributed Denial-of-Service Attacks", Computer Communication Review 31(3)., July 2001. [55] Velayos, H. and G. Karlsson, "Techniques to Reduce IEEE 802.11b MAC Layer Handover Time", Laboratory for Communication Networks, KTH, Royal Institute of Technology, Stockholm, Sweden, TRITA-IMIT-LCN R 03:02, April 2003. [56] Vogt, C., "Samitas Review of draft-irtf-mobopts-ro-enhancements-00", IETF MIP6 and Mobopts mailing lists, http://www.atm.tut.fi/list-archive/MIPv6-2005/ msg00677.html, June 2005. Authors' Addresses Christian Vogt Institute of Telematics Universitaet Karlsruhe (TH) P.O. Box 6980 76128 Karlsruhe Germany Email: chvogt@tm.uka.de URI: http://www.tm.uka.de/~chvogt/ Vogt & Arkko Expires April 27, 2006 [Page 35] Internet-Draft MIP6 Route Optimization Enhancements October 2005 Jari Arkko Ericsson Research NomadicLab FI-02420 Jorvas Finland Email: jari.arkko@ericsson.com Vogt & Arkko Expires April 27, 2006 [Page 36] Internet-Draft MIP6 Route Optimization Enhancements October 2005 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 (2005). 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. Vogt & Arkko Expires April 27, 2006 [Page 37]