summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4866.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc4866.txt')
-rw-r--r--doc/rfc/rfc4866.txt3027
1 files changed, 3027 insertions, 0 deletions
diff --git a/doc/rfc/rfc4866.txt b/doc/rfc/rfc4866.txt
new file mode 100644
index 0000000..29ca054
--- /dev/null
+++ b/doc/rfc/rfc4866.txt
@@ -0,0 +1,3027 @@
+
+
+
+
+
+
+Network Working Group J. Arkko
+Request for Comments: 4866 Ericsson Research NomadicLab
+Category: Standards Track C. Vogt
+ Universitaet Karlsruhe (TH)
+ W. Haddad
+ Ericsson Research
+ May 2007
+
+
+ Enhanced Route Optimization for Mobile IPv6
+
+Status of This Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The IETF Trust (2007).
+
+Abstract
+
+ This document specifies an enhanced version of Mobile IPv6 route
+ optimization, providing lower handoff delays, increased security, and
+ reduced signaling overhead.
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 2. Objectives ......................................................4
+ 2.1. Handoff Latency ............................................5
+ 2.2. Security ...................................................5
+ 2.3. Signaling Overhead .........................................7
+ 3. Protocol Design .................................................7
+ 3.1. Cryptographically Generated Home Addresses .................7
+ 3.2. Non-Cryptographic Care-of Addresses ........................8
+ 3.3. Semi-Permanent Security Associations .......................8
+ 3.4. Initial Home Address Tests .................................8
+ 3.5. Concurrent Care-of Address Tests ...........................9
+ 3.6. Credit-Based Authorization .................................9
+ 3.7. Parallel Home and Correspondent Registrations .............10
+ 4. Protocol Operation .............................................10
+ 4.1. Sending Binding Update Messages ...........................10
+ 4.2. Receiving Binding Update Messages .........................18
+ 4.3. Sending Binding Acknowledgment Messages ...................22
+
+
+
+Arkko, et al. Standards Track [Page 1]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ 4.4. Receiving Binding Acknowledgment Messages .................23
+ 4.5. Sending CGA Parameters ....................................25
+ 4.6. Receiving CGA Parameters ..................................26
+ 4.7. Sending Permanent Home Keygen Tokens ......................27
+ 4.8. Receiving Permanent Home Keygen Tokens ....................28
+ 4.9. Renewing Permanent Home Keygen Tokens .....................28
+ 4.10. Handling Payload Packets .................................28
+ 4.11. Credit Aging .............................................31
+ 4.12. Simultaneous Movements ...................................32
+ 5. Option Formats and Status Codes ................................32
+ 5.1. CGA Parameters Option .....................................32
+ 5.2. Signature Option ..........................................33
+ 5.3. Permanent Home Keygen Token Option ........................34
+ 5.4. Care-of Test Init Option ..................................35
+ 5.5. Care-of Test Option .......................................35
+ 5.6. CGA Parameters Request Option .............................36
+ 5.7. Status Codes ..............................................36
+ 6. Security Considerations ........................................38
+ 6.1. Home Address Ownership ....................................39
+ 6.2. Care-of Address Ownership .................................41
+ 6.3. Credit-Based Authorization ................................43
+ 6.4. Time Shifting Attacks .....................................46
+ 6.5. Replay Attacks ............................................47
+ 6.6. Resource Exhaustion .......................................47
+ 6.7. IP Address Ownership of Correspondent Node ................47
+ 7. Protocol Constants and Configuration Variables .................49
+ 8. IANA Considerations ............................................50
+ 9. Acknowledgments ................................................50
+ 10. References ....................................................51
+ 10.1. Normative References .....................................51
+ 10.2. Informative References ...................................51
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 2]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+1. Introduction
+
+ Mobile IPv6 route optimization [1] enables mobile and correspondent
+ nodes to communicate via a direct routing path despite changes in IP
+ connectivity on the mobile node side. Both end nodes use a stable
+ "home address" in identifying the mobile node at stack layers above
+ IP, while payload packets are sent or received via a "care-of
+ address" that routes to the mobile node's current network attachment.
+ Mobile IPv6 swaps the home and care-of addresses when a payload
+ packet traverses the IP layer. The association between a mobile
+ node's home address and care-of address is called a "binding" for the
+ mobile node. It is the responsibility of the mobile node to update
+ its binding at the correspondent node through a "correspondent
+ registration" when it changes IP connectivity. A correspondent
+ registration further involves the mobile node's home agent, which
+ proxies the mobile node at the home address and mainly serves as a
+ relay for payload packets exchanged with correspondent nodes that do
+ not support route optimization. The mobile node keeps the home agent
+ up to date about its current care-of address by means of "home
+ registrations".
+
+ From a security perspective, the establishment of a binding during a
+ correspondent registration requires the correspondent node to verify
+ the mobile node's ownership of both the home address and the care-of
+ address. Unprecedented impersonation and flooding threats [5] would
+ arise if correspondent nodes took liberties with respect to these
+ obligations. A correspondent registration hence incorporates a "home
+ address test" and a "care-of address test", collectively called the
+ "return routability procedure". These tests allow the correspondent
+ node to probe the mobile node's reachability at the home and care-of
+ addresses in an ad hoc, non-cryptographic manner. Successful
+ reachability verification at both IP addresses indicates (though it
+ does not guarantee) the mobile node's ownership of the IP addresses,
+ and hence that a binding between the home address and the care-of
+ address is legitimate.
+
+ The advantage of the return routability procedure is that it is
+ lightweight and does not depend on a public-key infrastructure or on
+ a preexisting relationship between the mobile node and the
+ correspondent node. This facilitates a broad deployment. On the
+ other hand, the procedure has an adverse impact on handoff delays
+ since both the home address test and the care-of address test consist
+ of an end-to-end message exchange between the mobile node and the
+ correspondent node. The latency of the home address test may be
+ particularly high because it routes through the home agent. The
+ return routability procedure is also vulnerable to attackers that are
+ in a position where they can interpose in the home or care-of address
+ test. The value of interposing is limited in that the return
+
+
+
+Arkko, et al. Standards Track [Page 3]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ routability procedure must be repeated in intervals of at most 7
+ minutes, even in the absence of changes in IP connectivity on the
+ mobile node side. But this comes at the cost of an increased
+ signaling overhead. Much effort has therefore gone into improvements
+ for Mobile IPv6 route optimization [6] that mitigate these
+ disadvantages.
+
+ This document specifies Enhanced Route Optimization, an amendment to
+ route optimization in base Mobile IPv6. Enhanced Route Optimization
+ secures a mobile node's home address against impersonation through an
+ interface identifier that is cryptographically and verifiably bound
+ [2] to the public component of the mobile node's public/private-key
+ pair. The mobile node proves ownership of the home address by
+ providing evidence that it knows the corresponding private key. An
+ initial home address test validates the home address prefix;
+ subsequent home address tests are unnecessary. Enhanced Route
+ Optimization further allows mobile and correspondent nodes to resume
+ bidirectional communications in parallel with pursuing a care-of
+ address test. The latency of the home and care-of address tests are
+ therefore eliminated in most cases. The use of cryptographically
+ generated home addresses also mitigates the threat of impersonators
+ that can interpose on the home address test and thereby facilitate
+ longer binding lifetimes. This leads to increased security and a
+ reduction in signaling overhead. Cryptographically generated home
+ addresses and concurrent care-of address tests are preferably applied
+ together, but a mobile node may choose to use only one of these
+ enhancements.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [3].
+
+2. Objectives
+
+ The design of route optimization in base Mobile IPv6 is in many ways
+ conservative, leaving room to optimize handoff delay, security, and
+ signaling overhead. Enhanced Route Optimization tackles these issues
+ and thus constitutes a more progressive variant of Mobile IPv6.
+
+ Despite any Mobile IPv6 optimizations, it is important to take into
+ account that mobility-related activities elsewhere in the protocol
+ stack may have their own impact. For example, attachment procedures,
+ access control, and authentication at the link layer contribute their
+ own handoff delays. So do IP layer tasks such as router discovery,
+ neighbor discovery, movement detection, and IP address configuration.
+ The handoff delays and signaling overhead of Mobile IPv6 are
+
+
+
+
+
+Arkko, et al. Standards Track [Page 4]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ typically small compared to the total delay and overhead. The
+ improvements of Enhanced Route Optimization hence ought to be seen in
+ view of the entire protocol stack.
+
+2.1. Handoff Latency
+
+ The typical handoff delay in base Mobile IPv6 route optimization is
+ one round-trip time between the mobile node and the home agent for
+ the home registration, one round-trip time between the mobile node
+ and the home agent plus one round-trip time between the home agent
+ and the correspondent node for the return routability procedure, and
+ one one-way time from the mobile node to the correspondent node for
+ the propagation of the Binding Update message. (The assumption here
+ is that the latency of the return routability procedure is dominated
+ by the home address test.) The first payload packet sent to the new
+ care-of address requires one additional one-way time to propagate
+ from the correspondent node to the mobile node. The mobile node can
+ resume transmissions right after it has dispatched the Binding Update
+ message. But if it requests a Binding Acknowledgment message from
+ the correspondent node, communications are usually delayed until this
+ is received.
+
+ Handoff delays in base Mobile IPv6 route optimization are additive to
+ other delays at the IP layer or link layer. They can cause
+ perceptible quality degradations for interactive and real-time
+ applications. TCP bulk-data transfers are likewise affected since
+ long handoff latencies may lead to successive retransmission timeouts
+ and degraded throughput [7]. An objective of Enhanced Route
+ Optimization is hence a reduction of the handoff latency.
+
+2.2. Security
+
+ The return routability procedure was designed with the objective to
+ provide a level of security that compares to that of today's non-
+ mobile Internet [5]. As such, it protects against impersonation,
+ denial-of-service, and flooding threats that do not exist in the non-
+ mobile Internet, but that the introduction of mobility would
+ introduce in the absence of appropriate countermeasures. In
+ particular, the return routability procedure satisfies the following
+ requirements:
+
+ o An attacker off the path from a correspondent node to a victim
+ should not be able to trick a correspondent node into redirecting
+ packets, which should normally be delivered to a victim, to
+ itself, or to a third IP address. The attacker could otherwise
+ impersonate the victim to the correspondent node or cause denial
+ of service against the victim. The attacker may launch these
+
+
+
+
+Arkko, et al. Standards Track [Page 5]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ attacks from an arbitrary position, which would not necessarily
+ have to be on the path between the victim and the correspondent
+ node.
+
+ o An attacker off the path from a correspondent node to a victim
+ should not be able to trick the correspondent node into
+ redirecting packets, which should normally be delivered to the
+ attacker itself, to the victim. The attacker could otherwise
+ flood the victim with unrequested packets. Such "redirection-
+ based flooding" may be appealing to the attacker because the
+ burden of generating the flooding packets and sending them to the
+ victim would be on the correspondent node rather than on the
+ attacker. The attacker could spoof multiple correspondent nodes
+ into flooding the same victim. This would enable the attacker to
+ impact the victim much stronger than with a direct flooding
+ attack, where the attacker itself would generate and send the
+ flooding packets. Comparable amplification is today only possible
+ through an army of compromised nodes [8]. One way to cause
+ redirection-based flooding is this: The attacker could accomplish
+ the initial TCP handshake for a voluminous file download through
+ its own IP address, and subsequently bind the victim's IP address
+ (as a care-of address) to the attacker's own IP address (or home
+ address). The correspondent node thereby redirects the download
+ to the victim. The attacker could spoof acknowledgments on behalf
+ of the victim based on the sequence numbers it learned during the
+ initial handshake in order to maintain or accelerate the download.
+ The acknowledgments would be smaller and typically less than the
+ full-sized segments that the correspondent node generates, hence
+ facilitating the amplification.
+
+ o Attackers should not be able to cause denial of service against
+ mobile or correspondent nodes through exploiting expensive
+ computations involved in the mobility protocol.
+
+ The return routability procedure precludes impersonation, denial of
+ service, and redirection-based flooding by attackers that are not on
+ the path from a correspondent node to a victim, and it is
+ sufficiently lightweight not to expose expensive operations. But the
+ return routability procedure fails to protect against attackers that
+ are located on the path from the correspondent node to the victim.
+ Applications that require a higher security level are generally
+ advised to use end-to-end protection such as IP security (IPsec) or
+ Transport Layer Security (TLS). But even then are they vulnerable to
+ denial of service or flooding. Furthermore, end-to-end security
+ mechanisms generally require mobile and correspondent nodes to be
+ preconfigured with authentication credentials, or they depend on a
+ public-key infrastructure. Both would hinder a wide deployment of
+ Mobile IPv6 route optimization if it was a prerequisite for the
+
+
+
+Arkko, et al. Standards Track [Page 6]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ protocol. An objective of Enhanced Route Optimization is hence to
+ securely authenticate mobile nodes without preconfigured credentials
+ or a public-key infrastructure, even in the presence of attackers on
+ the path from the correspondent node to the victim.
+
+2.3. Signaling Overhead
+
+ A complete correspondent registration involves six message
+ transmissions at the mobile node, totaling about 376 bytes [9]. This
+ signaling overhead may be acceptable if movements are infrequent.
+ For example, a mobile node that moves once every 30 minutes generates
+ an average of 1.7 bits/s of signaling traffic. Higher mobility
+ causes more substantial overhead, however. A cell size of 100 meters
+ and a speed of 120 km/h yields a change in IP connectivity every 3 s
+ and about 1,000 bits/s of signaling traffic. This is significant
+ compared to a highly compressed voice stream with a typical data rate
+ of 10,000 to 30,000 bits/s.
+
+ Furthermore, base Mobile IPv6 requires mobile nodes to renew a
+ correspondent registration at least every 7 minutes. The signaling
+ overhead amounts to 7.16 bits/s if the mobile node communicates with
+ a stationary node [9]. It doubles if both peers are mobile. This
+ overhead may be negligible when the nodes communicate, but it can be
+ an issue for mobile nodes that are inactive and stay at the same
+ location for a while. These nodes typically prefer to go to standby
+ mode to conserve battery power. Also, the periodic refreshments
+ consume a fraction of the wireless bandwidth that one could use more
+ efficiently. These observations lead to the objective of Enhanced
+ Route Optimization to reduce the signaling overhead of a base Mobile
+ IPv6 correspondent registrations as much as possible, in particular
+ when the mobile node does not move for a while.
+
+3. Protocol Design
+
+ Enhanced Route Optimization consists of a set of optimizations that
+ collectively afford the achievement of the objectives discussed in
+ Section 2. These optimizations are summarized in the following.
+
+3.1. Cryptographically Generated Home Addresses
+
+ A Mobile IPv6 binding is conceptually a packet redirection from a
+ home address to a care-of address. The home address is the source of
+ the redirection and the care-of address is the destination. The
+ packets to be redirected can hence be identified based on the home
+ address. This motivates a cryptographic ownership proof for the home
+ address. Enhanced Route Optimization applies cryptographically
+ generated home addresses for this purpose [10][11]. In general, a
+ Cryptographically Generated Address (CGA) provides a strong,
+
+
+
+Arkko, et al. Standards Track [Page 7]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ cryptographic binding between its interface identifier and the CGA
+ owner's public key. This facilitates a cryptographic home address
+ ownership proof without a public-key infrastructure, enabling other
+ nodes to securely and autonomously authenticate the CGA owner as
+ such, modulo the correctness of the CGA's subnet prefix.
+ Cryptographically generated home addresses can supersede home address
+ tests with the exception of an initial test for validating the home
+ address prefix. This facilitates lower handoff delays and longer
+ binding lifetimes, as well as reduced signaling overhead for mobile
+ nodes that temporarily do not move. Enhanced Route Optimization also
+ optionally enables the correspondent node to prove ownership of its
+ IP address.
+
+3.2. Non-Cryptographic Care-of Addresses
+
+ In contrast to a home address, a care-of address does not have
+ identifying functionality. There is hence little benefit in a
+ cryptographic ownership proof of a care-of address. Given that the
+ care-of address is the destination of a packet redirection, it is
+ rather the mobile node's reachability at the care-of address that
+ matters. Enhanced Route Optimization uses care-of address tests for
+ this purpose, but allows correspondent nodes to send packets to a new
+ care-of address before the mobile node has been found to be reachable
+ there.
+
+3.3. Semi-Permanent Security Associations
+
+ CGA-based authentication involves public-key cryptography and is
+ hence computationally much less efficient than authentication through
+ a shared secret key. The technique further requires a substantial
+ amount of supplementary CGA parameters to be piggybacked onto
+ protected messages. Enhanced Route Optimization mitigates these
+ disadvantages in that it utilizes an initial CGA-based authentication
+ to securely exchange a secret permanent home keygen token between a
+ mobile node and a correspondent node. The permanent home keygen
+ token is used to authenticate the mobile node more efficiently in
+ subsequent correspondent registrations. Mobile and correspondent
+ nodes renew the permanent home keygen token on an infrequent basis.
+ The token is therefore neither constant nor short-lived, which is why
+ the security association between the mobile node and the
+ correspondent node is called "semi-permanent".
+
+3.4. Initial Home Address Tests
+
+ An initial home address test is necessary despite a cryptographic
+ proof of home address ownership to protect against spoofed subnet
+ prefixes in home addresses. In the complete absence of home address
+ tests, a malicious node could cryptographically generate a home
+
+
+
+Arkko, et al. Standards Track [Page 8]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ address with the subnet prefix of a victim network, and request a
+ correspondent node to register a binding between this spoofed home
+ address and the attacker's own care-of address. The attacker then
+ tricks the correspondent node into sending a stream of packets to the
+ care-of address and subsequently deregisters the binding or lets it
+ expire. The consequence is that the correspondent node redirects the
+ packet stream "back" to the home address, causing the victim network
+ to be flooded with unrequested packets. To preclude such misuse, an
+ initial home address test is required for the mobile node and the
+ correspondent node to establish a semi-permanent security
+ association. The home address test is, if possible, executed in
+ proactive manner so as to save a potentially costly message exchange
+ via the home agent during the critical handoff period. The home
+ address test does not need to be repeated upon subsequent movements.
+
+3.5. Concurrent Care-of Address Tests
+
+ Enhanced Route Optimization allows a correspondent node to send
+ payload packets to a mobile node's new care-of address before the
+ mobile node has been found to be reachable at the care-of address.
+ When the mobile node changes IP connectivity, it first updates its
+ binding at the correspondent node to the new care-of address without
+ providing a proof of reachability. The correspondent node registers
+ the new care-of address on a tentative basis and sets it to
+ UNVERIFIED state. Payload packets can then be exchanged
+ bidirectionally via the new care-of address, while the mobile node's
+ reachability at the new care-of address is verified concurrently.
+ The correspondent node moves the care-of address to VERIFIED state
+ once reachability verification completes.
+
+3.6. Credit-Based Authorization
+
+ Concurrent care-of address tests without additional protection would
+ enable an attacker to trick a correspondent node into temporarily
+ redirecting payload packets, which would otherwise be addressed to
+ the attacker itself, to the IP address of a victim. Such
+ "redirection-based flooding" [5] may be appealing to the attacker
+ because the correspondent node (not the attacker) generates the
+ flooding packets and sends them to the victim. This enables the
+ attacker to amplify the strength of the attack to a significant
+ degree compared to a direct flooding attack where the attacker itself
+ would generate the flooding packets.
+
+ Enhanced Route Optimization protects against redirection-based
+ flooding attacks through the use of Credit-Based Authorization.
+ Credit-Based Authorization manages the effort that a correspondent
+ node expends in sending payload packets to a care-of address in
+ UNVERIFIED state so as to ensure that a redirection-based flooding
+
+
+
+Arkko, et al. Standards Track [Page 9]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ attack cannot be more effective than direct flooding. The ability to
+ send unrequested packets is an inherent property of packet-oriented
+ networks, and direct flooding is a threat that results from this.
+ Since direct flooding exists with and without mobility support, and
+ redirection-based flooding attacks cannot be any more efficient than
+ this, Credit-Based Authorization increases the security level
+ provided by Enhanced Route Optimization with respect to flooding to
+ that of the non-mobile Internet. Enhanced Route Optimization
+ therefore satisfies the objective to provide a security level
+ comparable to that of the non-mobile Internet.
+
+ The measuring and limiting of effort are technically realized through
+ the concept of "credit", which a correspondent node maintains to put
+ its own effort in relation to the effort that a mobile node expends
+ during regular communications with the correspondent node. The
+ correspondent node increases the credit for payload packets it
+ receives from a care-of address of the mobile node in VERIFIED state,
+ and it reduces the credit in proportion to its own effort for sending
+ payload packets to a care-of address of the mobile node in UNVERIFIED
+ state.
+
+3.7. Parallel Home and Correspondent Registrations
+
+ Enhanced Route Optimization enables mobile nodes to pursue a
+ correspondent registration in parallel with the respective home
+ registration. This reduces handoff delays compared to base Mobile
+ IPv6, which requires mobile nodes to wait for a Binding
+ Acknowledgment message indicating a successful home registration
+ before they initiate a correspondent registration.
+
+4. Protocol Operation
+
+ Enhanced Route Optimization allows a mobile node to securely
+ authenticate to a correspondent node based on the CGA property of its
+ home address, and to request a concurrent care-of address test for
+ increased handoff efficiency. Depending on whether the mobile node
+ wishes to take advantage of either or both of these enhancements, the
+ messages exchanged during a correspondent registration are different.
+ This is described in the following.
+
+4.1. Sending Binding Update Messages
+
+ A mobile node may initiate a correspondent registration for any of
+ the following reasons:
+
+ o To establish a new binding at a correspondent node while away from
+ its home link so that subsequent packets will be route-optimized
+ and no longer be routed through the mobile node's home agent.
+
+
+
+Arkko, et al. Standards Track [Page 10]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ o To update an existing binding at the correspondent node while
+ moving from one point of IP attachment to another.
+
+ o To follow up an early Binding Update message with a complete
+ Binding Update message after receiving a Binding Acknowledgment
+ message with a Care-of Test option.
+
+ o To refresh an existing binding at the correspondent node without
+ changing the current point of IP attachment.
+
+ o To request the correspondent node to renew an existing permanent
+ home keygen token shared between the mobile node and the
+ correspondent node (see Section 4.5).
+
+ o To request the correspondent node to deregister an existing
+ binding.
+
+
+ Mobile node Home agent Correspondent node
+ | | |
+ | | |
+ ~ Handoff | |
+ | | |
+ |-Binding Update--------->| |
+ |-early Binding Update + Care-of Test Init option-->|
+ | | |
+ | | |
+ |<------------Binding Ack-| |
+ |<----------early Binding Ack + Care-of Test option-|
+ | | |
+ | | |
+ |-Binding Update----------------------------------->|
+ | | |
+ | | |
+ |<--------------------------------------Binding Ack-|
+ | | |
+
+ Figure 1: Correspondent registration with authentication by a proof
+ of the mobile node's knowledge of a permanent home keygen token;
+ concurrent care-of address test
+
+ In any of these cases, the mobile node sends a Binding Update message
+ to the correspondent node. The Binding Update message is
+ authenticated by one of the following three authentication methods:
+
+ o If the mobile node's home address is a CGA, but the mobile node
+ does not have a permanent home keygen token in its Binding Update
+ List entry for the correspondent node, the mobile node SHOULD
+
+
+
+Arkko, et al. Standards Track [Page 11]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ authenticate the Binding Update message based on the CGA property
+ of its home address. This requires the mobile node to send its
+ CGA parameters and signature to the correspondent node and to pass
+ a check of reachability at the home address.
+
+ o If the mobile node's home address is a CGA, and the mobile node
+ has a permanent home keygen token in its Binding Update List entry
+ for the correspondent node, the mobile node MUST authenticate the
+ Binding Update message by a proof of its knowledge of the
+ permanent home keygen token.
+
+ o If the mobile node's home address is not a CGA, the mobile node
+ MUST authenticate the Binding Update message through a proof of
+ reachability at its home address.
+
+ The lifetime requested by the mobile node in the Lifetime field of
+ the Binding Update message MUST NOT exceed MAX_CGA_BINDING_LIFETIME
+ (see Section 7) if the Binding Update message is to be authenticated
+ based on the CGA property of the mobile node's home address or by a
+ proof of the mobile node's knowledge of a permanent home keygen
+ token. If the selected authentication method is a proof of the
+ mobile node's reachability at the home address, the lifetime MUST NOT
+ exceed MAX_RR_BINDING_LIFETIME [1]. It is RECOMMENDED in all cases
+ that the mobile node requests the maximum permitted lifetime in order
+ to avoid unnecessary binding refreshes and thus reduce signaling
+ overhead. The Lifetime field of a Binding Update message that
+ requests the deletion of an existing binding at the correspondent
+ node MUST be set to zero.
+
+ If the selected authentication method is by way of the CGA property
+ of the mobile node's home address, the mobile node includes its CGA
+ parameters and signature in the Binding Update message by adding one
+ or more CGA Parameters options (see Section 5.1) directly followed by
+ a Signature option (see Section 5.2). This is described in
+ Section 4.5. Once a permanent home keygen token has been obtained
+ from the correspondent node, the mobile node MUST authenticate all
+ subsequent Binding Update messages by a proof of its knowledge of
+ this permanent home keygen token until either the binding lifetime
+ expires, the permanent home keygen token is renewed, or the mobile
+ node explicitly deregisters the binding at the correspondent node.
+ This ensures that an attacker on the path from the correspondent node
+ to the mobile node's home address cannot downgrade the mobile node's
+ chosen authentication method to a proof of reachability at the home
+ address. The mobile node MAY choose to ignore the CGA property of
+ its home address and authenticate Binding Update messages through a
+ proof of reachability at the home address. However, this behavior
+ increases the vulnerability to on-path attackers and is therefore NOT
+ RECOMMENDED.
+
+
+
+Arkko, et al. Standards Track [Page 12]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Mobile node Home agent Correspondent node
+ | | |
+ | | |
+ |-Home Test Init--------->|------------------------>|
+ | | |
+ |<------------------------|<--------------Home Test-|
+ | | |
+ | | |
+ ~ Handoff | |
+ | | |
+ |-Binding Update--------->| |
+ |-early Binding Update + Care-of Test Init option-->|
+ | | |
+ | | |
+ |<------------Binding Ack-| |
+ |<----------early Binding Ack + Care-of Test option-|
+ | | |
+ | | |
+ |-Binding Update----------------------------------->|
+ | | |
+ | | |
+ |<--------------------------------------Binding Ack-|
+ | | |
+
+ Figure 2: Correspondent registration with authentication based on
+ reachability verification at the home address; concurrent care-of
+ address test
+
+ The mobile node also includes its CGA parameters in the Binding
+ Update message when it intends to renew an existing permanent home
+ keygen token shared with the correspondent node. This is
+ accomplished, as before, by adding to the message one or more CGA
+ Parameters options and a Signature option.
+
+ The authenticator for the Binding Update message is calculated based
+ on a permanent or temporary home keygen token. Which type of home
+ keygen token the mobile node uses in calculating the authenticator
+ depends on the authentication method:
+
+ o If the Binding Update message is to be authenticated based on the
+ CGA property of the mobile node's home address, the mobile node
+ MUST use a temporary home keygen token from the correspondent
+ node. The mobile node may already have a valid temporary home
+ keygen token in its Binding Update List entry for the
+ correspondent node, or it may retrieve one through the exchange of
+ a Home Test Init message and a Home Test message.
+
+
+
+
+
+Arkko, et al. Standards Track [Page 13]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ o If the Binding Update message is to be authenticated by a proof of
+ the mobile node's knowledge of a permanent home keygen token, the
+ mobile node MUST use the permanent home keygen token that is has
+ in its Binding Update List entry for the correspondent node.
+
+ o If the Binding Update message is to be authenticated through a
+ proof of reachability at the home address, the mobile node MUST
+ use a temporary home keygen token from the correspondent node. As
+ before, the mobile node may already have a valid temporary home
+ keygen token in its Binding Update List entry for the
+ correspondent node, or it may retrieve one through the exchange of
+ a Home Test Init message and a Home Test message.
+
+ Unless the purpose of the Binding Update message is to delete an
+ existing binding at the correspondent node, the authenticator is also
+ calculated based on a care-of keygen token. The mobile node selects
+ this as follows:
+
+ o If the mobile node has a valid care-of keygen token for the to-be-
+ registered care-of address in its Binding Update List entry for
+ the correspondent node, the mobile node MUST use this in
+ calculating the authenticator for the Binding Update message. The
+ Binding Update message is in this case "complete".
+
+ o If the mobile node does not have a valid care-of keygen token in
+ its Binding Update List entry for the correspondent node, the
+ mobile node SHOULD define the care-of keygen token to be zero and
+ use this in calculating the authenticator for the Binding Update
+ message. The Binding Update message is in this case "early".
+
+ o If the mobile node does not have a valid care-of keygen token in
+ its Binding Update List entry for the correspondent node, the
+ mobile node MAY choose to retrieve a care-of keygen token through
+ the exchange of a Care-of Test Init message and a Care-of Test
+ message, as defined in [1], without sending an early Binding
+ Update message. In this case, the mobile node waits for receipt
+ of the Care-of Test message and uses the care-of
+ keygen token contained therein in calculating the authenticator
+ for a complete Binding Update message. This approach increases
+ the handoff latency, however, and is therefore NOT RECOMMENDED.
+
+ For reduced handoff delays, the mobile node SHOULD simultaneously
+ initiate home and correspondent registrations for a particular
+ care-of address. The mobile node SHOULD also pursue home and
+ correspondent deregistrations in parallel if it wishes to discontinue
+ Mobile IPv6 service while away from its home link. However, when the
+ mobile node commits home and correspondent deregistrations after
+ returning back to the home link after a period of roaming, the mobile
+
+
+
+Arkko, et al. Standards Track [Page 14]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ node MUST initiate the home deregistration first, and it MUST wait
+ for a Binding Acknowledgment message indicating a successful home
+ deregistration before it initiates the correspondent deregistration.
+ This behavior ensures that the home agent does not proxy the mobile
+ node's home address while the mobile node is on the home link, hence
+ preventing interference between the mobile node and the home agent
+ during Duplicate Address Detection. Since a home deregistration
+ consumes only a link-local round-trip time when the mobile node
+ pursues it from the home link, the cost of not parallelizing it with
+ a correspondent deregistration, in terms of increased handoff delay,
+ is typically negligible.
+
+ Moreover, when the Binding Update message for the correspondent
+ registration is to be authenticated based on the CGA property of the
+ mobile node's home address or through a proof of reachability at the
+ home address, the mobile node SHOULD initiate the exchange of Home
+ Test Init and Home Test messages prior to handoff in order to
+ proactively elicit a fresh home keygen token from the correspondent
+ node. This reduces handoff delays further. A Home Test Init message
+ may be sent periodically whenever the home keygen token previously
+ acquired from the correspondent node is about to expire. Tokens are
+ valid for 3.5 minutes [1], so the interval between successive Home
+ Test Init messages should be a little less. Alternatively, the
+ mobile node may be able to send the Home Test Init message right in
+ time if its link layer provides a trigger announcing imminent
+ handoff. Proactive home address tests are technically feasible
+ because a home address does not change across handoffs.
+
+ If the mobile node initiates the home address test from the home
+ link, it MUST address the Home Test Init message directly to the
+ correspondent node. The Home Test message will then be received
+ directly from the correspondent node. If the home address test is
+ initiated from a visited link, the mobile node MUST tunnel the Home
+ Test Init message to the home agent. The Home Test message will then
+ be tunneled back to the mobile node by the home agent. A home
+ address test SHOULD NOT overlap with a home registration or home
+ deregistration since this could result in the loss of the Home Test
+ Init or Home Test message.
+
+ If the Binding Update message is early, the mobile node MUST add a
+ Care-of Test Init option (see Section 5.4) to the message, requesting
+ the correspondent node to return a new care-of keygen token. The
+ Care-of Test Init option MUST follow the CGA Parameters and Signature
+ options, if those exist in the Binding Update message. Once a
+ responding Binding Acknowledgment message with a Care-of Test option
+ (see Section 5.5) is received, the mobile node MUST use the care-of
+
+
+
+
+
+Arkko, et al. Standards Track [Page 15]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ keygen token contained therein in calculating the authenticator for a
+ complete Binding Update message and send this message to the
+ correspondent node.
+
+ If the Binding Update message is authenticated based on the CGA
+ property of the mobile node's home address, the mobile node MAY add a
+ CGA Parameters Request option (see Section 5.6) to the Binding Update
+ message so as to request the correspondent node to prove ownership of
+ its IP address within the Binding Acknowledgment message. This
+ ownership proof enables the mobile node to verify that the permanent
+ home keygen token returned in the Binding Acknowledgment message was
+ generated by the right correspondent node.
+
+ The mobile node includes the nonce indices associated with the
+ selected home and care-of keygen tokens in the Binding Update message
+ using a Nonce Indices option [1]. The home nonce index is thereby
+ determined as follows:
+
+ o If the Binding Update message is to be authenticated based on the
+ CGA property of the mobile node's home address, the mobile node
+ uses a temporary home keygen token to calculate the authenticator
+ for the Binding Update message, and the associated home nonce
+ index MUST be taken from the Home Test message with which the home
+ keygen token was obtained.
+
+ o If the Binding Update message is to be authenticated by a proof of
+ the mobile node's knowledge of a permanent home keygen token, the
+ home nonce index MUST be set to zero.
+
+ o If the Binding Update message is to be authenticated through a
+ proof of the mobile node's reachability at the home address, the
+ mobile node uses a temporary home keygen token to calculate the
+ authenticator for the Binding Update message, and the associated
+ home nonce index MUST be taken from the Home Test message with
+ which the home keygen token was obtained.
+
+ The care-of nonce index is determined according to the following
+ rules:
+
+ o If the Binding Update message is complete, the care-of nonce index
+ is taken from the Care-of Test option or Care-of Test message with
+ which the care-of keygen token (used to calculate the
+ authenticator for the Binding Update message) was obtained.
+
+ o If the Binding Update message is early, the care-of nonce index
+ MUST be set to zero.
+
+
+
+
+
+Arkko, et al. Standards Track [Page 16]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ o If the purpose of the Binding Update message is to delete a
+ binding at the correspondent node, the care-of nonce index MUST be
+ set to zero.
+
+ The Nonce Indices option follows the CGA Parameters, Signature,
+ Care-of Test Init, and CGA Parameters Request options if those are
+ included in the Binding Update message as well.
+
+ The mobile node finally calculates an authenticator for the Binding
+ Update message based on the selected home and care-of keygen tokens,
+ following the rules described in Section 5.2 and Section 6.2.7 of
+ [1]. For a Binding Update message that requests the deletion of an
+ existing binding at the correspondent node, the authenticator is
+ calculated based on only a home keygen token, and it does not
+ incorporate a care-of keygen token. The authenticator is placed into
+ the Authenticator field of a Binding Authorization Data option [1],
+ which the mobile node adds to the Binding Update message as the last
+ option.
+
+ Mobile node Home agent Correspondent node
+ | | |
+ | | |
+ ~ Handoff | |
+ | | |
+ |-Binding Update--------->| |
+ |-Care-of Test Init-------------------------------->|
+ | | |
+ | | |
+ |<------------Binding Ack-| |
+ |<-------------------------------------Care-of Test-|
+ | | |
+ | | |
+ |-Binding Update----------------------------------->|
+ | | |
+ | | |
+ |<--------------------------------------Binding Ack-|
+ | | |
+
+ Figure 3: Correspondent registration with authentication by a proof
+ of the mobile node's knowledge of a permanent home keygen token;
+ explicit care-of address test
+
+ The time-sequence diagrams in Figure 1 through Figure 3 illustrate
+ the operation of Enhanced Route Optimization based on a few selected
+ message exchanges. Figure 1 shows the messages exchanged for a
+ correspondent registration where an early Binding Update message is
+ authenticated by a proof of the mobile node's knowledge of a
+ permanent home keygen token. A Care-of Test Init option in the early
+
+
+
+Arkko, et al. Standards Track [Page 17]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Binding Update message requests the correspondent node to add to the
+ Binding Acknowledgment message a fresh care-of keygen token in a
+ Care-of Test option. The mobile node finally concludes the
+ correspondent registration with a complete Binding Update message.
+ Figure 2 shows the procedure of a correspondent registration where
+ the Binding Update message is authenticated with a proof of
+ reachability at the home address. The home address test is
+ proactively performed prior to handoff, permitting the mobile node to
+ issue a Binding Update message directly after the handoff. The
+ Binding Update message is again early, and a care-of keygen token is
+ delivered to the mobile node along with the Binding Acknowledgment
+ message. Figure 3 depicts a correspondent registration where the
+ mobile node initially obtains a fresh care-of keygen token through
+ the dedicated exchange of Care-of Test Init and Care-of Test
+ messages. It subsequently issues a complete Binding Update message
+ that is authenticated with the CGA property of the home address.
+
+4.2. Receiving Binding Update Messages
+
+ When the correspondent node receives a Binding Update message, it
+ must first verify whether the sending mobile node is the legitimate
+ owner of the home address specified in the message. The
+ correspondent node selects the authentication method based on the
+ home nonce index given in the Nonce Indices option of the Binding
+ Update message, and on the existence of CGA Parameters and Signature
+ options in the Binding Update message:
+
+ o If the home nonce index is set to a non-null value and the Binding
+ Update message includes one or more CGA Parameters options
+ followed by a Signature option, the correspondent node MUST
+ authenticate the Binding Update message based on the CGA property
+ of the mobile node's home address.
+
+ o If the home nonce index is zero and the Binding Update message
+ does not include one or more CGA Parameters options followed by a
+ Signature option, the correspondent node MUST authenticate the
+ Binding Update message by a proof of the mobile node's knowledge
+ of a permanent home keygen token.
+
+ o If the home nonce index is set to a non-null value and the Binding
+ Update message does not include one or more CGA Parameters options
+ followed by a Signature option, the correspondent node MUST
+ authenticate the Binding Update message through a proof of the
+ mobile node's reachability at the home address.
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 18]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ In addition to the validation procedure for Binding Update messages
+ specified in [1], the correspondent node must take the following
+ additional steps to reject Binding Update messages that are
+ inappropriately authenticated:
+
+ o If the Binding Update message includes one or more CGA Parameters
+ options followed by a Signature option and the home nonce index is
+ zero, the correspondent node MUST send a Binding Acknowledgment
+ message with status code 150 ("Non-null home nonce index
+ expected"). This ensures that a Binding Update message that is
+ authenticated based on the CGA property of the mobile node's home
+ address must also provide a proof of the mobile node's
+ reachability at the home address.
+
+ o If the Binding Update message is to be authenticated by a proof of
+ the mobile node's knowledge of a permanent home keygen token, the
+ correspondent node MUST verify that it has a Binding Cache entry
+ for the mobile node that includes a permanent home keygen token.
+ In case the correspondent node does not have a Binding Cache entry
+ for the mobile node, or if the existing Binding Cache entry for
+ the mobile node does not include a permanent home keygen token,
+ the correspondent node MUST reject the Binding Update message by
+ sending a Binding Acknowledgment message with status code 147
+ ("Permanent home keygen token unavailable").
+
+ o If the Binding Update message is to be authenticated through a
+ proof of the mobile node's reachability at the home address, the
+ correspondent node MUST verify that it does not have a permanent
+ home keygen token in its Binding Cache entry for the mobile node.
+ If the correspondent node has a permanent home keygen token in its
+ Binding Cache entry for the mobile node, it MUST reject the
+ Binding Update message by sending a Binding Acknowledgment message
+ with status code 149 ("Permanent home keygen token exists"). This
+ ensures that an attacker cannot downgrade the authentication
+ method to hijack the binding of a legitimate mobile node.
+
+ The authenticator for the Binding Update message is calculated based
+ on a permanent or temporary home keygen token. Which type of home
+ keygen token the correspondent node uses in validating the
+ authenticator, and how it retrieves or recomputes the home keygen
+ token, depends on the authentication method:
+
+ o If the Binding Update message is to be authenticated based on the
+ CGA property of the mobile node's home address, the correspondent
+ node MUST recompute the temporary home keygen token defined by the
+ (non-null) home nonce index in the Nonce Indices option of the
+ Binding Update message, and it MUST use this recomputed token in
+ validating the authenticator of the message.
+
+
+
+Arkko, et al. Standards Track [Page 19]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ o If the Binding Update message is to be authenticated by a proof of
+ the mobile node's knowledge of a permanent home keygen token, the
+ correspondent node MUST use the permanent home keygen token that
+ it has in its Binding Cache entry for the mobile node in
+ validating the authenticator of the Binding Update message.
+
+ o If the Binding Update message is to be authenticated through
+ verification of the mobile node's reachability at the home
+ address, the correspondent node MUST recompute the temporary home
+ keygen token defined by the (non-null) home nonce index in the
+ Nonce Indices option of the Binding Update message, and it MUST
+ use this recomputed token in validating the authenticator of the
+ message.
+
+ Unless the purpose of the Binding Update message is to delete an
+ existing binding at the correspondent node, the authenticator is also
+ calculated based on a care-of keygen token. Which care-of keygen
+ token the correspondent node uses in validating the authenticator
+ depends on whether the Binding Update message is complete or early:
+
+ o If the care-of nonce index in the Nonce Indices option of the
+ Binding Update message is set to a non-null value, the Binding
+ Update message is complete. In this case, the correspondent node
+ MUST recompute the care-of keygen token that is identified by the
+ care-of nonce index, and it MUST use this recomputed token in
+ validating the authenticator of the message.
+
+ o If the care-of nonce index in the Nonce Indices option of the
+ Binding Update message is zero, the Binding Update message is
+ early. The care-of keygen token to be used by the correspondent
+ node in validating the authenticator of the Binding Update message
+ is zero in this case.
+
+ The correspondent node finally validates the authenticator in the
+ Binding Update message based on the selected home and care-of keygen
+ tokens, following the algorithm described in Section 9.5.1 of [1].
+
+ If the validation fails, the correspondent node MUST discard the
+ Binding Update message. The correspondent node may have to send a
+ Binding Acknowledgment message with a status code indicating the
+ failure, as described in [1].
+
+ Provided that the validation of the authenticator in the Binding
+ Update message succeeds, the correspondent node registers the mobile
+ node's new care-of address, either updating an existing Binding Cache
+ entry, if one exists, or creating a new Binding Cache entry. The
+ lifetime granted for the binding depends on the lifetime requested by
+ the mobile node in the Lifetime field of the Binding Update message
+
+
+
+Arkko, et al. Standards Track [Page 20]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ and the method by which the Binding Update message is authenticated.
+ If the Binding Update message is authenticated based on the CGA
+ property of the mobile node's home address or by a proof of the
+ mobile node's knowledge of a permanent home keygen token, the
+ lifetime for the binding SHOULD be set to the maximum of
+ MAX_CGA_BINDING_LIFETIME and the value specified in the Lifetime
+ field of the Binding Update message. If the Binding Update message
+ is authenticated through a proof of the mobile node's reachability at
+ the home address, then the lifetime for the binding SHOULD be set to
+ the maximum of MAX_RR_BINDING_LIFETIME [1] and the value specified in
+ the Lifetime field of the Binding Update message. The correspondent
+ node may in either case grant a further reduced lifetime, but it MUST
+ NOT accept a higher lifetime.
+
+ The state of the new care-of address depends on whether the Binding
+ Update message is complete or early:
+
+ o If the Binding Update message is complete, the new care-of address
+ is set to VERIFIED state. The correspondent node may then
+ immediately send packets to the new care-of address without
+ restrictions.
+
+ o If the Binding Update message is early, the new care-of address is
+ set to UNVERIFIED state. The correspondent node MUST then follow
+ the rules defined in Section 4.10 for sending packets to this
+ care-of address until the care-of address is set in VERIFIED
+ state.
+
+ If the Binding Update message contains one or multiple CGA Parameters
+ options, the mobile node is requesting the correspondent node to
+ accept the included CGA parameters either for establishing a new, or
+ for renewing an existing permanent home keygen token shared between
+ the mobile node and the correspondent node. The correspondent node
+ MUST in this case check if the CGA Parameters options are directly
+ followed by a Signature option and, if so, validate the CGA
+ parameters and signature as described in Section 4.6.
+
+ If the CGA Parameters option is not directly followed by a Signature
+ option, or the validation of the included CGA parameters and
+ signature fails, the correspondent node MUST discard the Binding
+ Update message and send a Binding Acknowledgment message with status
+ code 148 ("CGA and signature verification failed") to the mobile
+ node.
+
+ Provided that the signature included in the Signature option is
+ correct, the correspondent node generates a permanent home keygen
+ token to be shared with the mobile node and stores it in its Binding
+ Cache entry for the mobile node. The permanent home keygen token is
+
+
+
+Arkko, et al. Standards Track [Page 21]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ sent to the mobile node within a Binding Acknowledgment message as
+ described in Section 4.3.
+
+4.3. Sending Binding Acknowledgment Messages
+
+ Upon receipt of a valid Binding Update message, the correspondent
+ node returns to the mobile node a Binding Acknowledgment message in
+ any of the following cases:
+
+ o The Acknowledge flag in the Binding Update message is set.
+
+ o The Binding Update message contains one or multiple CGA Parameters
+ options directly followed by a Signature option, and the signature
+ included in the latter was determined to be correct.
+
+ o The Binding Update message is early and includes a Care-of Test
+ Init option.
+
+ If the Binding Update message further contains a CGA Parameters
+ Request option and the correspondent node's IP address is a CGA, the
+ correspondent node MUST include its CGA parameters and signature in
+ the Binding Acknowledgment message by adding one or more CGA
+ Parameters options directly followed by a Signature option. The
+ correspondent node's CGA parameters and signature enable the mobile
+ node to verify that the permanent home keygen token received in the
+ Binding Acknowledgment message was generated by the right
+ correspondent node. If the Binding Update message contains a CGA
+ Parameters Request option, but the correspondent node's IP address is
+ not a CGA, the correspondent node ignores the CGA Parameters Request
+ option and processes the Binding Update message further as described
+ below.
+
+ If the Binding Update message contains one or multiple CGA Parameters
+ options directly followed by a Signature option, and the signature
+ included in the latter was determined to be correct, the
+ correspondent node MUST add a Permanent Home Keygen Token option (see
+ Section 5.3) with a new permanent home keygen token to the Binding
+ Acknowledgment message. The correspondent node also stores this
+ permanent home keygen token in its Binding Cache entry for the mobile
+ node.
+
+ If the Binding Update message includes a Care-of Test Init option,
+ the correspondent node MUST append to the Binding Acknowledgment
+ message a Care-of Test option with a pseudo-random value in the
+ Care-of Keygen Token field. The Care-of Test option MUST appear
+ after the Permanent Home Keygen Token option in case both options are
+ present in the Binding Acknowledgment message.
+
+
+
+
+Arkko, et al. Standards Track [Page 22]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ A Binding Authorization Data option must be added to the Binding
+ Acknowledgment message as a last option, as described in Section 5.2
+ and Section 6.2.7 of [1].
+
+4.4. Receiving Binding Acknowledgment Messages
+
+ A mobile node first verifies a received Binding Acknowledgment
+ message according to the rules specified in [1]. Provided that the
+ Binding Acknowledgment message is not rejected based on these rules,
+ the mobile node takes the following additional steps.
+
+ If the mobile node included a CGA Parameters Request option in the
+ Binding Update message and the Binding Acknowledgment message
+ contains a Permanent Home Keygen Token option, the mobile node first
+ processes any CGA Parameters and Signature options in the Binding
+ Acknowledgment message in the following manner. If the Binding
+ Acknowledgment message contains one or more CGA Parameters options
+ that are directly followed by a Signature option, the mobile node
+ MUST check the ownership of the correspondent node's IP address by
+ verifying the included CGA parameters and signature as described in
+ Section 4.6. If the validation of the CGA parameters and signature
+ fails, the mobile node MUST silently discard the Binding
+ Acknowledgment message. The mobile node MUST also silently discard
+ the Binding Acknowledgment message if the message includes one or
+ more CGA Parameters options that are not directly followed by a
+ Signature option, or if the Binding Acknowledgment message lacks any
+ CGA Parameters options in the presence of a Signature option.
+
+ If the mobile node did not include a CGA Parameters Request option in
+ the Binding Update message or the Binding Acknowledgment message does
+ not contain a Permanent Home Keygen Token option, the mobile node
+ ignores any CGA Parameters and Signature options that the Binding
+ Acknowledgment message may contain. Careful use of the CGA
+ Parameters Request option in Binding Update messages enables the
+ mobile node to control the processing resources it spends on the
+ verification of a correspondent node's CGA as well as to disable such
+ verification in the case of persistent verification failures, which
+ may be due to misconfigured or outdated CGA software [12] on the
+ correspondent node side or at the mobile node itself. Specifically,
+ if the mobile node repeatedly fails to receive a Binding
+ Acknowledgment message including valid CGA Parameters and Signature
+ options in response to sending a Binding Update message with a CGA
+ Parameters Request option, the mobile node SHOULD refrain from
+ including a CGA Parameters Request option in future Binding Update
+ messages for the same correspondent node.
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 23]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ If the mobile node included a CGA Parameters Request option in the
+ Binding Update message, but the Binding Acknowledgment message does
+ not contain any CGA Parameters or Signature options, the mobile node
+ cannot be sure if the correspondent node's IP address is simply not a
+ CGA, or if the Binding Acknowledgment message originates from an
+ attacker on the path from the mobile node to the correspondent node.
+ To avoid accepting a permanent home keygen token from an on-path
+ attacker, the mobile node MUST give precedence to Binding
+ Acknowledgment messages that include valid CGA Parameters and
+ Signature options over Binding Acknowledgment messages without such
+ options. One possible algorithm for the mobile node to follow in
+ this regard is to always accept the Binding Acknowledgment message
+ received first, and if this message does not contain valid CGA
+ Parameters or Signature options and another Binding Acknowledgment
+ message including such options is received later on, to revert any
+ state changes involved in accepting the first Binding Acknowledgment
+ in favor of this subsequent Binding Acknowledgment message. Giving
+ precedence to Binding Acknowledgment messages with valid CGA
+ Parameters and Signature options over Binding Acknowledgment messages
+ without such options enables the mobile node to communicate with
+ correspondent nodes that do not use a CGA, and at the same time
+ protects against most on-path attackers. The strategy does not
+ protect against an attacker that can intercept Binding Acknowledgment
+ messages from the correspondent node, but such an attacker could
+ preclude mobility management between the mobile node and the
+ correspondent node anyway. When the mobile node has permanently
+ accepted a Binding Acknowledgment message without valid CGA
+ Parameters and Signature options, the mobile node SHOULD refrain from
+ including a CGA Parameters Request option in future Binding Update
+ messages for the same correspondent node.
+
+ If the Binding Acknowledgment message contains a Permanent Home
+ Keygen Token option, the mobile node extracts the permanent home
+ keygen token included in this option and stores it in its Binding
+ Update List entry for the correspondent node. Future Binding Update
+ messages will then be authenticated by a proof of the mobile node's
+ knowledge of this permanent home keygen token.
+
+ If the Binding Acknowledgment message contains a Care-of Test option,
+ the mobile node extracts the care-of keygen token included in this
+ option, stores the token in its Binding Update List entry for the
+ correspondent node, and sends the correspondent node a complete
+ Binding Update message as defined in Section 4.1. Note that the
+ complete Binding Update message will be authenticated based on the
+ CGA property of the mobile node's home address if the Binding
+ Acknowledgment message also includes a Permanent Home Keygen Token
+ option. This is independent of the authentication method that was
+ used for the corresponding early Binding Update message.
+
+
+
+Arkko, et al. Standards Track [Page 24]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ A mobile node MUST ensure that, while it has a binding for a certain
+ home address at a correspondent node, it also has a valid binding at
+ its home agent for the same home address. This may at times require
+ the mobile node to extend the binding lifetime at the home agent,
+ request a correspondent node to use a binding lifetime less than the
+ permitted maximum, or explicitly deregister an existing binding at a
+ correspondent node.
+
+ If the mobile node authenticates Binding Update messages for a
+ particular correspondent node by proving its knowledge of a permanent
+ home keygen token, but registrations at this correspondent node
+ persistently fail, the mobile node SHOULD renew the permanent home
+ keygen token by sending a Binding Update message that is
+ authenticated based on the CGA property of its home address. This
+ Binding Update message includes the mobile node's CGA parameters and
+ signature, and it requests the correspondent node to generate a new
+ permanent home keygen token and send this to the mobile node within a
+ Binding Acknowledgment message.
+
+ If the mobile node persistently receives Binding Acknowledgment
+ messages with status code 148 ("CGA and signature verification
+ failed") from a correspondent node, the mobile node SHOULD
+ authenticate future Binding Update messages for the same
+ correspondent nodes through a proof of its reachability at the home
+ address. This enables the mobile node to recover from misconfigured
+ or outdated CGA software [12] on the correspondent node side or at
+ the mobile node itself.
+
+4.5. Sending CGA Parameters
+
+ A mobile node includes its CGA parameters and signature in a Binding
+ Update message for a correspondent node in any of the following
+ situations:
+
+ o To acquire a permanent home keygen token if the mobile node's home
+ address is a CGA, and the mobile node does not yet have a
+ permanent home keygen token from the correspondent node.
+
+ o To extend the lifetime of an existing binding if the mobile node
+ already has a permanent home keygen token from the correspondent
+ node, and the lifetime of the binding at the correspondent node is
+ about to expire.
+
+ o To renew an existing permanent home keygen token to prevent replay
+ attacks in the imminent event of a sequence number rollover, or
+ for improved protection against cryptanalysis.
+
+
+
+
+
+Arkko, et al. Standards Track [Page 25]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ A correspondent node whose IP address is a CGA includes its CGA
+ parameters and signature in a Binding Acknowledgment message for the
+ mobile node when it receives a Binding Update message with a CGA
+ Parameters Request option.
+
+ CGA parameters are transmitted in the format of the CGA Parameters
+ data structure defined in [2]. The CGA Parameters data structure is
+ split over one or more CGA Parameters options as described in
+ Section 5.1. The last CGA Parameters option MUST be directly
+ followed by a Signature option.
+
+ The value for the Signature field in the Signature option is
+ calculated according to the signature generation algorithm defined in
+ Section 6 of [2]. The value is calculated with the mobile or
+ correspondent node's private key over the following sequence of
+ octets:
+
+ mobility data =
+ care-of address | correspondent node IP address | MH data
+
+ where "|" denotes concatenation. "Care-of address" is the mobile
+ node's care-of address, and "correspondent node IP address" is the IP
+ address of the correspondent node that is visible to protocol layers
+ above IP. In case the correspondent node is mobile, "correspondent
+ node IP address" refers to the correspondent node's home address.
+ "MH data" is the content of the Binding Update or Binding
+ Acknowledgment message including the mobility header and all options
+ up to the last CGA Parameters option. That is, "MH data" excludes
+ the IPv6 header and any IPv6 extension headers other than the
+ mobility header itself. The "mobility data" constitutes what is
+ referred to as the "message" in Section 6 of [2].
+
+ The value for the Signature field is calculated as if the Checksum
+ field in the mobility header was zero. The Checksum field in the
+ transmitted packet is still calculated in the usual manner, with the
+ calculated value in the Signature field being a part of the packet
+ protected by the checksum.
+
+4.6. Receiving CGA Parameters
+
+ Mobile and correspondent nodes that receive a Binding Update or
+ Binding Acknowledgment message including one or more CGA Parameters
+ options directly followed by a Signature option first process the
+ message as described in [1]. This includes a verification of the
+ authenticator in the Authenticator field of the Binding Authorization
+ Data option. If the Binding Update or Binding Acknowledgment message
+ is rejected due to an incorrect authenticator or for any other
+ reason, the message is not processed further.
+
+
+
+Arkko, et al. Standards Track [Page 26]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Otherwise, if the validation of the Binding Update or Binding
+ Acknowledgment message succeeds, the mobile or correspondent node
+ reassembles the CGA Parameters data structure from the CGA Parameters
+ options included in the message as described in Section 5.1, and
+ executes the CGA verification algorithm defined in Section 5 of [2].
+ The CGA verification algorithm takes the to-be-verified CGA and the
+ reassembled CGA Parameters data structure as input. The to-be-
+ verified CGA is the mobile node's home address when the CGA
+ verification algorithm is executed by the correspondent node. When
+ the mobile node executes the CGA verification algorithm, the to-be-
+ verified CGA is the correspondent node's IP address that is visible
+ to protocol layers above IP. This is the correspondent node's home
+ address in case the correspondent node is mobile. The following
+ steps are skipped if the CGA verification fails.
+
+ If the CGA verification succeeds, the mobile or correspondent node
+ performs a more time-consuming check of the signature. It extracts
+ the signature from the Signature field in the Signature option and
+ executes the signature verification algorithm defined in Section 6 of
+ [2]. The signature verification algorithm takes as input the to-be-
+ verified CGA as defined above, the reassembled CGA Parameters data
+ structure, the MH data as defined in Section 4.5, the CGA Message
+ Type tag of Enhanced Route Optimization as defined in Section 7, and
+ the signature itself.
+
+4.7. Sending Permanent Home Keygen Tokens
+
+ A correspondent node assigns a mobile node a new permanent home
+ keygen token after it has received from the mobile node a Binding
+ Update message with included CGA Parameters and Signature options,
+ and these options have been successfully validated as described in
+ Section 4.6. The permanent home keygen token is a 64-bit value
+ randomly generated by the correspondent node. The correspondent node
+ stores the permanent home keygen token in the binding cache entry
+ that it maintains for the mobile node.
+
+ The correspondent node sends the permanent home keygen token to the
+ mobile node in encrypted form within a Permanent Home Keygen Token
+ option in a Binding Acknowledgment message. It sends this message
+ even if the Acknowledge flag in the corresponding Binding Update
+ message was clear. The correspondent node encrypts the permanent
+ home keygen token with the mobile node's public key using the
+ RSAES-PKCS1-v1_5 format [4], and places the ciphertext into the
+ Permanent Home Keygen Token field of the Permanent Home Keygen Token
+ option.
+
+ The Binding Authorization Data option MUST be the last option in the
+ Binding Acknowledgment message. That is, the authenticator in the
+
+
+
+Arkko, et al. Standards Track [Page 27]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Binding Authorization Data option covers the Permanent Home Keygen
+ Token option.
+
+4.8. Receiving Permanent Home Keygen Tokens
+
+ A mobile node that receives a Binding Acknowledgment message first
+ processes the message as described in [1], independent of whether the
+ message includes a Permanent Home Keygen Token option. This includes
+ a verification of the authenticator in the Authenticator field of the
+ Binding Authorization Data option. If the Binding Acknowledgment
+ message is rejected due to an incorrect authenticator or for any
+ other reason, the mobile node does not process the message further.
+
+ Otherwise, if the mobile node accepts the Binding Acknowledgment
+ message and the message includes a Permanent Home Keygen Token
+ option, the mobile node extracts the ciphertext from the Permanent
+ Home Keygen Token field in this option and decrypts it with its
+ private key using the RSAES-PKCS1-v1_5 format [4]. The result of the
+ encryption is the permanent home keygen token to be used in further
+ registrations with the correspondent node. The mobile node stores
+ the permanent home keygen token in the Binding Update List entry that
+ it maintains for the correspondent node.
+
+4.9. Renewing Permanent Home Keygen Tokens
+
+ A mobile node that shares a permanent home keygen token with a
+ correspondent node MUST NOT use the same sequence number twice with
+ this permanent home keygen token in order to protect against replay
+ attacks. The mobile node MUST renew the permanent home keygen token
+ by including its CGA parameters and signature in a Binding Update
+ message for the correspondent node when a sequence number rollover is
+ imminent. In addition, the mobile node MAY renew its permanent home
+ keygen token at any time. Periodic renewal of the permanent home
+ keygen token provides increased protection against cryptanalysis.
+ Finally, the mobile node may in most cases want to renew the
+ permanent home keygen token when the lifetime of its binding at the
+ correspondent node expires.
+
+4.10. Handling Payload Packets
+
+ The immediate exchange of an early Binding Update message after a
+ handoff on the mobile node side enables mobile and correspondent
+ nodes to quickly reestablish route-optimized communications via the
+ mobile node's new care-of address. The mobile node may send payload
+ packets to the correspondent node from the new care-of address as
+ soon as it has dispatched the early Binding Update message. The
+ correspondent node redirects outgoing payload packets for the mobile
+ node to the new care-of address once it has received the early
+
+
+
+Arkko, et al. Standards Track [Page 28]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Binding Update message and registered the new care-of address. Here,
+ a "payload packet" is defined as a packet that originates at a
+ protocol layer above IP.
+
+ Inbound
+ payload packet
+ |
+ |
+ V
+ _________________ _____________________
+ / \ | |
+ / Care-of address \ Yes | Increase credit |
+ | in |---------------------> | counter by |
+ \ VERIFIED state? / | payload packet size |
+ \_________________/ |_____________________|
+ | |
+ | |
+ | No |
+ | V
+ | _____________________
+ | | |
+ | | Deliver payload |
+ +--------------------------------> | packet to upper- |
+ | layer protocol |
+ |_____________________|
+
+ Figure 4: Handling outbound payload packets
+
+ A new care-of address that was registered with an early Binding
+ Update message is maintained in UNVERIFIED state by the correspondent
+ node until the correspondent node receives a complete Binding Update
+ message from the mobile node. The correspondent node then sets the
+ care-of address to VERIFIED state. The state of the care-of address
+ determines the maximum amount of data that the correspondent node is
+ allowed to send to the care-of address, as is necessary to prevent
+ amplified, redirection-based flooding attacks. For this purpose, the
+ correspondent node maintains a "credit counter" for each mobile node
+ with an entry in its Binding Cache. Whenever a payload packet
+ arrives from a mobile node with a care-of address in VERIFIED state,
+ the correspondent node SHOULD increase the mobile node's credit
+ counter by the size of the received payload packet. The
+ correspondent node MAY be restricted by policy to increase the credit
+ counter by a lower value or not to increase the credit at all. The
+ credit counter does not change when an inbound payload packet is
+ received from a care-of address in UNVERIFIED state. Figure 4 shows
+ a flow chart of this procedure.
+
+
+
+
+
+Arkko, et al. Standards Track [Page 29]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Outbound
+ payload packet
+ |
+ |
+ V
+ _________________ _____________________
+ / \ | |
+ / Care-of address \ Yes | Send payload |
+ | in |---------------------> | packet to |
+ \ VERIFIED state? / | care-of address |
+ \_________________/ |_____________________|
+ |
+ | _____________________
+ | No | |
+ | | Discard payload |
+ | +---------> | packet |
+ | | | immediately |
+ V | |_____________________|
+ _________________ | _____________________
+ / \ | | |
+ / Credit counter \ Yes / \ | Send payload |
+ | less than payload |-------> | |-------> | packet to |
+ \ packet size? / \ / | home address |
+ \_________________/ | |_____________________|
+ | | _____________________
+ | | | |
+ | No | | Buffer payload |
+ | +---------> | packet for |
+ | | later transmission |
+ | |_____________________|
+ V
+ _____________________ _____________________
+ | | | |
+ | Reduce credit | | Send payload |
+ | counter by |---------------------> | packet to |
+ | payload packet size | | care-of address |
+ |_____________________| |_____________________|
+
+ Figure 5: Handling outbound payload packets
+
+ When the correspondent node has a payload packet to send to the
+ mobile node, further treatment of the payload packet depends on the
+ state of the mobile node's care-of address and the current value of
+ the mobile node's credit counter, as illustrated in Figure 5: The
+ correspondent node MUST send the payload packet to the mobile node's
+ care-of address if the care-of address is in VERIFIED state. If the
+ care-of address is in UNVERIFIED state and the value of the credit
+ counter is higher than or equal to the size of the payload packet,
+
+
+
+Arkko, et al. Standards Track [Page 30]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ the correspondent node MUST reduce the mobile node's credit counter
+ by the size of the payload packet and send the payload packet to the
+ care-of address as well. However, if the care-of address is in
+ UNVERIFIED state and the credit counter is less than the size of the
+ payload packet, the payload packet MUST NOT be sent to the mobile
+ node's care-of address. The correspondent node SHOULD then discard
+ the payload packet, although it MAY alternatively buffer the payload
+ packet until the care-of address moves to VERIFIED state, or send the
+ payload packet to the mobile node's home address. The credit counter
+ of the mobile node does not change when the correspondent node sends
+ a payload packet to the mobile node's care-of address while the
+ care-of address is in VERIFIED state.
+
+ The amount of data that the mobile node may send to the correspondent
+ node is never restricted due to the state of the mobile node's
+ care-of address. The care-of address state also does not change the
+ addressing and routing of payload packets in either traffic
+ direction: All payload packets that originate from the mobile node
+ have the care-of address in the Source Address field of the IPv6
+ header and the home address in the Home Address option of the IPv6
+ Destination Options extension header. Vice versa, all payload
+ packets from the correspondent node have the care-of address in the
+ Destination Address field of the IPv6 header and the home address in
+ the IPv6 Routing extension header.
+
+4.11. Credit Aging
+
+ A correspondent node ensures that all credit counters that it
+ maintains gradually decrease over time. Each credit counter is
+ multiplied with a factor, CreditAgingFactor, of less than one in
+ fixed time intervals of CreditAgingInterval length. Such "credit
+ aging" limits the total credit that a mobile node can earn, provided
+ that the replenishing rate for the credit is constant or nearly
+ constant. It thereby enforces an upper bound on the rate at which
+ the correspondent node can durably sent to the mobile node's care-of
+ address while the care-of address is in UNVERIFIED state. In the
+ absence of credit aging, a malicious node with poor up-link capacity
+ could adopt the role of a mobile node, build up credit at a very slow
+ speed and over a long period, and spend this credit during a much
+ shorter period on redirecting a burst of payload packets to the IP
+ address of a victim.
+
+ Choosing appropriate values for CreditAgingFactor and
+ CreditAgingInterval is important to facilitate applications where the
+ correspondent node sends at a higher rate than the mobile node. If
+ CreditAgingFactor or CreditAgingInterval is too small, the credit
+ counter might persistently prevent the transmission of payload
+ packets to a care-of address in UNVERIFIED state. The values given
+
+
+
+Arkko, et al. Standards Track [Page 31]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ in Section 7 are RECOMMENDED as they work well when the correspondent
+ node transfers a file to the mobile node via a TCP connection and the
+ end-to-end round-trip time does not exceed 500 milliseconds.
+
+4.12. Simultaneous Movements
+
+ As specified in [1], Binding Update messages are sent to a mobile
+ correspondent node's home address. This makes it possible for two
+ mobile nodes to continue communications even if both of them change
+ IP connectivity at the same time.
+
+5. Option Formats and Status Codes
+
+ Enhanced Route Optimization uses a set of new mobility options and
+ status codes in addition to the mobility options and status codes
+ defined in [1]. These are described below.
+
+5.1. CGA Parameters Option
+
+ The CGA Parameters option is used in Binding Update and Binding
+ Acknowledgment messages. It contains part of the mobile or
+ correspondent node's CGA parameters. [1] limits mobility header
+ options to a maximum length of 255 bytes, excluding the Option Type
+ and Option Length fields. Since the CGA parameters are likely to
+ exceed this limit, multiple CGA Parameters options may have to be
+ concatenated to carry all CGA parameters.
+
+ The format of the CGA Parameters option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ : :
+ : CGA Parameters :
+ : :
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 12.
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 32]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Option Length
+
+ 8-bit unsigned integer representing the length of the CGA
+ Parameters field in octets.
+
+ CGA Parameters
+
+ This field contains up to 255 bytes of the CGA Parameters data
+ structure defined in [2]. The concatenation of all CGA Parameters
+ options in the order they appear in the Binding Update message
+ MUST result in the original CGA Parameters data structure. All
+ CGA Parameters options in the Binding Update message except the
+ last one MUST contain exactly 255 bytes in the CGA Parameters
+ field, and the Option Length field MUST be set to 255 accordingly.
+ All CGA Parameters options MUST appear directly one after another,
+ that is, a mobility option of a different type MUST NOT be placed
+ in between two CGA Parameters options.
+
+5.2. Signature Option
+
+ The Signature option is used in Binding and Binding Acknowledgment
+ Update messages. It contains a signature that the mobile or
+ correspondent node generates with its private key over one or more
+ preceding CGA Parameters options.
+
+ The format of the Signature option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ : :
+ : Signature :
+ : :
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 13.
+
+ Option Length
+
+ 8-bit unsigned integer representing the length of the Signature
+ field in octets.
+
+
+
+Arkko, et al. Standards Track [Page 33]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Signature
+
+ This field contains the mobile or correspondent node's signature,
+ generated with the mobile or correspondent node's private key as
+ specified in Section 4.5.
+
+5.3. Permanent Home Keygen Token Option
+
+ The Permanent Home Keygen Token option is used in Binding
+ Acknowledgment messages. It contains a permanent home keygen token,
+ which the correspondent node sends to the mobile node after it has
+ received a Binding Update message containing one or more CGA
+ Parameters options directly followed by a Signature option from the
+ mobile node.
+
+ The format of the Permanent Home Keygen Token option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ : :
+ : Permanent Home Keygen Token :
+ : :
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 14.
+
+ Option Length
+
+ 8-bit unsigned integer representing the length of the Permanent
+ Home Keygen Token field in octets.
+
+ Permanent Home Keygen Token
+
+ This field contains the permanent home keygen token generated by
+ the correspondent node. The content of this field MUST be
+ encrypted with the mobile node's public key as defined in
+ Section 4.7. The length of the permanent home keygen token is 8
+ octets before encryption, though the ciphertext [4] and, hence,
+ the Permanent Home Keygen Token field may be longer.
+
+
+
+
+Arkko, et al. Standards Track [Page 34]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+5.4. Care-of Test Init Option
+
+ The Care-of Test Init option is included in Binding Update messages.
+ It requests a correspondent node to return a Care-of Test option with
+ a fresh care-of keygen token in the Binding Acknowledgment message.
+
+ The format of the Care-of Test Init option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 15.
+
+ Option Length
+
+ This field MUST be set to zero.
+
+5.5. Care-of Test Option
+
+ The Care-of Test option is used in Binding Acknowledgment messages.
+ It contains a fresh care-of keygen token, which the correspondent
+ node sends to the mobile node after it has received a Care-of Test
+ Init option in a Binding Update message.
+
+ The format of the Care-of Test option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Care-of Keygen Token +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 16.
+
+
+
+
+
+Arkko, et al. Standards Track [Page 35]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Option Length
+
+ This field MUST be set to 8. It represents the length of the
+ Care-of Keygen Token field in octets.
+
+ Care-of Keygen Token
+
+ This field contains the care-of keygen token generated by the
+ correspondent node, as specified in Section 4.3.
+
+5.6. CGA Parameters Request Option
+
+ The CGA Parameters Request option is included in Binding Update
+ messages that are authenticated based on the CGA property of the
+ mobile node's home address. It requests a correspondent node to
+ return its CGA parameters and signature in the Binding Acknowledgment
+ message, enabling the mobile node to verify that the permanent home
+ keygen token returned in the Binding Acknowledgment message was
+ generated by the right correspondent node.
+
+ The format of the CGA Parameters Request option is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Option Type | Option Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Option Type
+
+ 8-bit identifier of the type of this mobility option. Its value
+ is 11.
+
+ Option Length
+
+ This field MUST be set to zero.
+
+5.7. Status Codes
+
+ Enhanced Route Optimization uses the following four new status codes
+ for Binding Acknowledgment messages in addition to the status codes
+ defined in [1]:
+
+ Permanent home keygen token unavailable (147)
+
+ A correspondent node returns a Binding Acknowledgment message with
+ status code 147 to a mobile node if it has received from the
+ mobile node a Binding Update message that was authenticated
+
+
+
+Arkko, et al. Standards Track [Page 36]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ through the CGA property of the mobile node's home address, but
+ the correspondent node either does not have a Binding Cache entry
+ for the mobile node, or the existing Binding Cache entry for the
+ mobile node does not contain a permanent home keygen token. A
+ Binding Acknowledgment message with status code 147 indicates to
+ the mobile node that it should request a new permanent home keygen
+ token from the correspondent node by sending the correspondent
+ node a Binding Update message including its CGA parameters and
+ signature. This in particular enables the mobile node to quickly
+ recover from state loss at the correspondent node.
+
+ [1] does not allow a correspondent node to send a Binding
+ Acknowledgment message with a status code indicating failure when
+ the authenticator of a received Binding Update message turns out
+ to be incorrect. This causes additional handoff latency with high
+ probability because the mobile node can detect the problem only
+ after the expiration of a retransmission timer. The mobile node
+ is furthermore likely to assume packet loss and resend the
+ incorrectly authenticated Binding Update message additional times.
+ A Binding Acknowledgment message with status code 147 helps the
+ mobile node to identify the underlying problem more efficiently
+ when the correspondent node could not verify the CGA property of
+ the mobile node's home address.
+
+ CGA and signature verification failed (148)
+
+ A correspondent node returns a Binding Acknowledgment message with
+ status code 148 to a mobile node if it has received from the
+ mobile node a Binding Update message that includes one or more CGA
+ Parameters options directly followed by a Signature option, but
+ either the CGA property of the home address cannot be verified
+ based on the contents of the CGA Parameters options, or the
+ verification of the signature in the Signature option has failed.
+
+ Permanent home keygen token exists (149)
+
+ A correspondent node returns a Binding Acknowledgment message with
+ status code 149 to a mobile node if it has received from the
+ mobile node a Binding Update message that was authenticated
+ through verification of the mobile node's reachability at the home
+ address and does not include one or more CGA Parameters options
+ directly followed by a Signature option, but the correspondent
+ node has a permanent home keygen token in its Binding Cache entry
+ for the mobile node. The Binding Update message is processed
+ further if it includes one or more CGA Parameters options directly
+ followed by a Signature option. This enables a mobile node to
+ obtain a new permanent home keygen token from the correspondent
+ node in case it has lost the existing one, for instance, due to a
+
+
+
+Arkko, et al. Standards Track [Page 37]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ reboot. Whether the correspondent node accepts the Binding Update
+ message in this case depends on the verification of the CGA
+ parameters and the signature provided in the Binding Update
+ message.
+
+ Non-null home nonce index expected (150)
+
+ A correspondent node returns a Binding Acknowledgment message with
+ status code 150 to a mobile node if it has received from the
+ mobile node a Binding Update message that includes one or more CGA
+ Parameters options directly followed by a Signature option, but
+ the home nonce index specified in the Nonce Indices option is
+ zero. This behavior ensures that a Binding Update message that is
+ authenticated based on the CGA property of the mobile node's home
+ address must also provide a proof of the mobile node's
+ reachability at the home address.
+
+6. Security Considerations
+
+ Enhanced Route Optimization differs from base Mobile IPv6 in that it
+ applies a set of optimizations for increased handoff performance,
+ stronger security, and reduced signaling overhead. These
+ optimizations entail the following conceptual changes to the security
+ model [5] of base Mobile IPv6:
+
+ o Base Mobile IPv6 conducts periodic tests of a mobile node's
+ reachability at the home address as a proof of home address
+ ownership. Enhanced Route Optimization applies an initial
+ cryptographic home address ownership proof in combination with a
+ verification of the mobile node's reachability at the home address
+ in order to securely exchange a secret permanent home keygen
+ token. The permanent home keygen token is used for cryptographic
+ authentication of the mobile node during subsequent correspondent
+ registrations, so that these later correspondent registrations can
+ be securely bound to the initial home address ownership proof. No
+ further periodic reachability verification at the home address
+ tests is performed.
+
+ o Base Mobile IPv6 requires a mobile node to prove its reachability
+ at a new care-of address during a correspondent registration.
+ This implies that the mobile node and the correspondent node must
+ exchange Care-of Test Init and Care-of Test messages before the
+ mobile node can initiate the binding update proper. Enhanced
+ Route Optimization allows the mobile node to initiate the binding
+ update first and follow up with a proof of reachability at the
+ care-of address. Mobile and correspondent nodes can so resume
+ communications early on after a handoff, while reachability
+ verification proceeds concurrently. The amount of data that the
+
+
+
+Arkko, et al. Standards Track [Page 38]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ correspondent node is permitted to send to the care-of address
+ until reachability verification completes is governed by Credit-
+ Based Authorization.
+
+ o The maximum binding lifetime for correspondent registrations is 7
+ minutes in base Mobile IPv6. A mobile node must hence
+ periodically refresh a correspondent registration in cases where
+ it does not change IP connectivity for a while. This protocol
+ increases the maximum binding lifetime to 24 hours, reducing the
+ need for periodic refreshes to a negligible degree.
+
+ The ensuing discussion addresses the implications that these
+ conceptual changes of the Mobile IPv6 security model have. The
+ discussion ought to be seen in context with the security
+ considerations of [1], [2], and [5].
+
+6.1. Home Address Ownership
+
+ Enhanced Route Optimization requires a mobile node to deliver a
+ strong cryptographic proof [2] that it is the legitimate owner of the
+ home address it wishes to use. The proof is based on the true home
+ address owner's knowledge of the private component in a public/
+ private-key pair with the following two properties:
+
+ o As an input to an irreversible CGA generation function along with
+ a set of auxiliary CGA parameters, the public key results in the
+ mobile node's home address.
+
+ o Among the CGA parameters that are fed into the CGA generation
+ function is a modifier that, as an input to an irreversible hash
+ extension function along with the public key, results in a string
+ with a certain minimum number of leading zeroes. Three reserved
+ bits in the home address encode this minimum number.
+
+ The first property cryptographically binds the home address to the
+ mobile node's public key and, by virtue of public-key cryptography,
+ to the private key. It allows the mobile node to claim ownership of
+ the home address by proving its knowledge of the private key. The
+ second property increases the cost of searching in brute-force manner
+ for a public/private-key pair that suffices the first property. This
+ increases the security of a cryptographically generated home address
+ despite its limitation to 59 bits with cryptographic significance.
+ Solely enforcing the first property would otherwise allow an attacker
+ to find a suitable public/private-key pair in O(2^59) steps. By
+ addition of the second property, the complexity of a brute-force
+ search can be increased to O(2^(59+N)) steps, where N is the minimum
+ number of leading zeroes that the result of the hash extension
+ function is required to have.
+
+
+
+Arkko, et al. Standards Track [Page 39]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ In practice, for a legitimate mobile node to cryptographically
+ generate a home address, the mobile node must first accomplish a
+ brute-force search for a suitable modifier, and then use this
+ modifier to execute the CGA generation function. An attacker who is
+ willing to spoof the mobile node's home address, so-called "IP
+ address stealing" [5], then has two options: It could either generate
+ its own public/private-key pair and perform a brute-force search for
+ a modifier which, in combination with the generated public key,
+ suffices the initially described two properties; or it could integer-
+ factor the mobile node's public key, deduce the corresponding private
+ key, and copy the mobile node's modifier without a brute-force
+ search. The cost of the attack can be determined by the mobile node
+ in either case: Integer-factoring a public key becomes increasingly
+ complex as the length of the public key grows, and the key length is
+ at the discretion of the mobile node. The cost of a brute-force
+ search for a suitable modifier increases with the number of leading
+ zeroes that the result of the hash extension function is required to
+ have. This number, too, is a parameter that the mobile node can
+ choose. Downgrading attacks, where the attacker reduces the cost of
+ spoofing a cryptographically generated home address by choosing a set
+ of CGA parameters that are less secure than the CGA parameters the
+ mobile node has used to generate the home address, are hence
+ impossible.
+
+ The CGA specification [2] requires the use of RSA public and private
+ keys, and it stipulates a minimum key length of 384 bits. This
+ requirement that was tailored to Secure Neighbor Discovery for IPv6
+ [13], the original CGA application. Enhanced Route Optimization does
+ not increase the minimum key length because, in the absence of
+ downgrading attacks as explained before, the ability to use short
+ keys does not compromise the security of home addresses that were
+ cryptographically generated using longer keys. Moreover, extensions
+ to [2] may eventually permit the use of public/private-key classes
+ other than RSA. Such extensions are compatible with the CGA
+ application of Enhanced Route Optimization. Care must be taken in
+ selecting an appropriate key class and length, however. Home
+ addresses are typically rather stable in nature, so the chosen
+ parameters must be secure for a potentially long home address
+ lifetime. Where RSA keys are used, a minimum key length of 1024 bits
+ is therefore RECOMMENDED.
+
+ While the CGA generation function cryptographically ties the
+ interface identifier of a home address to the subnet prefix of the
+ home address, the function accepts any subnet prefix and hence does
+ not prevent a node from cryptographically generating a home address
+ with a spoofed subnet prefix. As a consequence, the CGA property of
+ a home address does not guarantee the owner's reachability at the
+ home address. This could be misused for a "return-to-home flooding
+
+
+
+Arkko, et al. Standards Track [Page 40]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ attack" [5], where the attacker uses its own public key to
+ cryptographically generate a home address with a subnet prefix from a
+ victim network, requests a correspondent node to bind this to the
+ attacker's current care-of address, initiates the download of a large
+ file via the care-of address, and finally deregisters the binding or
+ lets it expire. The correspondent node would then redirect the
+ packets being downloaded to the victim network identified by the
+ subnet prefix of the attacker's spoofed home address. The protocol
+ defined in this document performs a reachability test for the home
+ address at the time the home address is first registered with the
+ correspondent node. This precludes return-to-home flooding.
+
+ The verification of the CGA property of a mobile node's home address
+ involves asymmetric public-key cryptography, which is relatively
+ complex compared to symmetric cryptography. Enhanced Route
+ Optimization mitigates this disadvantage through the use of symmetric
+ cryptography after an initial public-key-based verification of the
+ mobile node's home address has been performed. Specifically, the
+ correspondent node assigns the mobile node a permanent home keygen
+ token during the initial correspondent registration based on which
+ the mobile node can authenticate to the correspondent node during
+ subsequent correspondent registrations. Such authentication enables
+ the correspondent node to bind a subsequent correspondent
+ registration back to the initial public-key-based verification of the
+ mobile node's home address. The permanent home keygen token is never
+ sent in plain text; it is encrypted with the mobile node's public key
+ when initially assigned, and irreversibly hashed during subsequent
+ correspondent registrations.
+
+6.2. Care-of Address Ownership
+
+ A secure proof of home address ownership can mitigate the threat of
+ IP address stealing, but an attacker may still bind a correct home
+ address to a false care-of address and thereby trick a correspondent
+ node into redirecting packets, which would otherwise be delivered to
+ the attacker itself, to a third party. Neglecting to verify a mobile
+ node's reachability at its claimed care-of address could therefore
+ cause one or multiple correspondent nodes to unknowingly contribute
+ to a redirection-based flooding attack against a victim chosen by the
+ attacker.
+
+ Redirection-based flooding attacks may target a single node, a link,
+ or a router or other critical network device upstream of an entire
+ network. Accordingly, the attacker's spoofed care-of address may be
+ the IP address of a node, a random IP address from a subnet prefix of
+ a particular link, or the IP address of a router or other network
+ device. An attack against a network potentially impacts a larger
+ number of nodes than an attack against a specific node, although
+
+
+
+Arkko, et al. Standards Track [Page 41]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ neighbors of a victim node on a broadcast link typically suffer the
+ same damage as the victim itself.
+
+ Requiring mobile nodes to cryptographically generate care-of
+ addresses in the same way as they generate home addresses would
+ mitigate the threat of redirection-based flooding only marginally.
+ While it would prevent an attacker from registering as its care-of
+ address the IP address of a specific victim node, the attacker could
+ still generate a different CGA-based care-of address with the same
+ subnet prefix as that of the victim's IP address. Flooding packets
+ redirected towards this care-of address would then not have to be
+ received and processed by any specific node, but they would impact an
+ entire link or network and thus cause comparable damage. CGA-based
+ care-of addresses therefore have little effectiveness with respect to
+ flooding protection. On the other hand, they would require a
+ computationally expensive, public-key-based ownership proof whenever
+ the care-of address changes. For these reasons, Enhanced Route
+ Optimization uses regular IPv6 care-of addresses.
+
+ A common misconception is that a strong proof of home address
+ ownership would mitigate the threat of redirection-based flooding and
+ consequently eliminate the need to verify a mobile node's
+ reachability at a new care-of address. This notion may originate
+ from the specification of a base Mobile IPv6 home registration in
+ [1], which calls for the authentication of a mobile node based on an
+ IPsec security association, but does not require this to be
+ supplemented by a verification of the mobile node's reachability at
+ the care-of address. However, the reason not to mandate reachability
+ verification for a home registration is in this case the existence of
+ an administrative relationship between the home agent and the mobile
+ node, rather than the fact that the home agent can securely verify
+ the mobile node's home address ownership, or that the home
+ registration is IPsec-protected. The administrative relationship
+ with the mobile node allows the home agent, first, to trust in the
+ correctness of a mobile node's care-of address and, second, to
+ quickly identify the mobile node should it still start behaving
+ maliciously, for example, due to infection by malware. Section 15.3
+ in [1] and Section 1.3.2 in [5] explain these prerequisites.
+
+ Assuming trust, an administrative relationship between the mobile
+ node and its home agent is viable, given that the home agent is an
+ integral part of the mobility services that a mobile user typically
+ subscribes to, sets up her- or himself, or receives based on a
+ business relationship. A Mobile IPv6 extension [14] that leverages a
+ shared authentication key, preconfigured on the mobile node and the
+ correspondent node, preassumes the same relationship between the
+ mobile node and a correspondent node. While this assumption limits
+ the applicability of the protocol (Section 2 of [14] acknowledges
+
+
+
+Arkko, et al. Standards Track [Page 42]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ this), it permits omission of care-of address reachability
+ verification as in the case of the home registration. Enhanced
+ Router Optimization does not make assumptions on the relationship
+ between mobile and correspondent nodes. This renders the protocol
+ applicable to arbitrary scenarios, but necessitates that
+ correspondent nodes must verify a mobile node's reachability at every
+ new care-of address.
+
+6.3. Credit-Based Authorization
+
+ Enhanced Route Optimization enables mobile and correspondent nodes to
+ resume bidirectional communications after a handoff on the mobile-
+ node side before the mobile node's reachability at the new care-of
+ address has been verified by the correspondent node. Such
+ concurrency would in the absence of appropriate protection
+ reintroduce the threat of redirection-based flooding, which
+ reachability verification was originally designed to eliminate: Given
+ that the correspondent node is in general unaware of the round-trip
+ time to the mobile node, and since reachability verification may fail
+ due to packet loss, the correspondent node must accept a sufficiently
+ long concurrency period for reachability verification to complete.
+ An attacker could misuse this to temporarily trick the correspondent
+ node into redirecting packets to the IP address of a victim. The
+ attacker may also successively postpone reachability verification in
+ that it registers with the correspondent node anew, possibly with a
+ different spoofed care-of address, shortly before the correspondent
+ node's maximum permitted concurrency period elapses and the
+ correspondent node switches to waiting for the completion of
+ reachability verification without sending further packets. This
+ behavior cannot necessarily be considered malicious on the
+ correspondent node side since even a legitimate mobile node's
+ reachability may fail to become verified before the mobile node's
+ care-of address changes again. This may be due to high mobility on
+ the mobile node side, or to persistent packet loss on the path
+ between the mobile node and the correspondent node. It is generally
+ non-trivial to decide on the correspondent node side whether the
+ party at the other end behaves legitimately under adverse conditions
+ or maliciously.
+
+ Enhanced Route Optimization eliminates the threat of redirection-
+ based flooding despite concurrent reachability verification through
+ the use of Credit-Based Authorization. Credit-Based Authorization
+ manages the effort that a correspondent node expends in sending
+ payload packets to a care-of address in UNVERIFIED state. This is
+ accomplished based on the following three hypotheses:
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 43]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ 1. A flooding attacker typically seeks to shift the burden of
+ assembling and sending flooding packets to a third party.
+ Bandwidth is an ample resource for many attractive victims, so
+ the effort for sending the high rate of flooding packets required
+ to impair the victim's ability to communicate may exceed the
+ attacker's own capacities.
+
+ 2. The attacker can always flood a victim directly by generating
+ bogus packets itself and sending those to the victim. Such an
+ attack is not amplified, so the attacker must be provisioned
+ enough to generate a packet flood sufficient to bring the victim
+ down.
+
+ 3. Consequently, the additional effort required to set up and
+ coordinate a redirection-based flooding attack pays off for the
+ attacker only if the correspondent node can be tricked into
+ contributing to and amplifying the attack.
+
+ Non-amplified redirection-based flooding is hence, from an attacker's
+ perspective, no more attractive than pure direct flooding, where the
+ attacker itself sends bogus packets to the victim. It is actually
+ less attractive given that the attacker needs to maintain a context
+ for mobility management in order to coordinate the redirection. On
+ this basis, Credit-Based Authorization extinguishes the motivation
+ for redirection-based flooding by preventing the amplification that
+ could be reached through it, rather than eliminating malicious packet
+ redirection in the first place. The ability to send unrequested
+ packets is an inherent property of packet-oriented networks, and
+ direct flooding is a threat that results from this. Since direct
+ flooding exists with and without mobility support, it constitutes a
+ reasonable measure in comparing the security provided by Enhanced
+ Route Optimization to the security of the non-mobile Internet.
+ Through the use of Credit-Based Authorization, Enhanced Route
+ Optimization satisfies the objective to provide a security level
+ comparable to that of the non-mobile Internet.
+
+ Since the perpetrator of a redirection-based flooding attack would
+ take on the role of a mobile node, Credit-Based Authorization must be
+ enforced on the correspondent node side. The correspondent node
+ continuously monitors the effort that the mobile node spends in
+ communicating with the correspondent node. The mobile node's effort
+ is then taken as a limit on the effort that the correspondent node
+ may spend in sending payload packets when the mobile node's care-of
+ address is in UNVERIFIED state. The permission for the correspondent
+ node to send a limited amount of payload packets to a care-of address
+ in UNVERIFIED state enables immediate resumption of bidirectional
+ communications once the mobile node has registered a new IP address
+ with the correspondent node after a handoff.
+
+
+
+Arkko, et al. Standards Track [Page 44]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ If what appears to be a mobile node is in fact an attacker who tricks
+ the correspondent node into redirecting payload packets to the IP
+ address of a victim, Credit-Based Authorization ensures that the
+ stream of flooding packets ceases before the effort that the
+ correspondent node spends on generating the stream exceeds the effort
+ that the attacker has recently spent itself. The flooding attack is
+ therefore at most as effective as a direct flooding attack, and
+ consequently fails to produce any amplification.
+
+ Another property of Credit-Based Authorization is that it does not
+ assign a mobile node credit while its care-of addresses is in
+ UNVERIFIED state. This deserves justification since it would
+ technically be feasible to assign credit independent of the state of
+ the mobile node's care-of address. However, the assignment of credit
+ for packets received from a care-of address in UNVERIFIED state would
+ introduce a vulnerability to sustained reflection attacks.
+ Specifically, an attacker could cause a correspondent node to
+ redirect packets for the attacker to the IP address of a victim, and
+ sustain the packet flow towards the victim in that it continuously
+ replenishes its credit by sending packets to the correspondent node.
+ Although such a redirection-based reflection attack would fail to
+ produce any amplification, it may still be appealing to an attacker
+ who wishes to pursue an initial transport protocol handshake with the
+ correspondent node -- which typically requires the attacker to
+ receive some unguessable data -- and redirect the download to the
+ victim's IP address afterwards. Credit-Based Authorization ensures
+ that the attacker in this case cannot acquire additional credit once
+ the download has been redirected, and thereby forces the attack to
+ end quickly.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 45]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+6.4. Time Shifting Attacks
+
+ Base Mobile IPv6 limits the lifetime of a correspondent registration
+ to 7 minutes and so arranges that a mobile node's reachability at its
+ home and care-of addresses is reverified periodically. This ensures
+ that the return routability procedure's vulnerability to
+ eavesdropping cannot be exploited by an attacker that is only
+ temporarily on the path between the correspondent node and the
+ spoofed home or care-of address. Such "time shifting attacks" [5]
+ could otherwise be misused for off-path IP address stealing, return-
+ to-home flooding, or flooding against care-of addresses.
+
+ Enhanced Route Optimization repeats neither the initial home address
+ test nor any care-of address test in order to decrease handoff delays
+ and signaling overhead. This does not limit the protocol's
+ robustness to IP address stealing attacks because the required CGA-
+ based ownership proof for home addresses already eliminates such
+ attacks. Reachability verification does not add further protection
+ in this regard. On the other hand, the restriction to an initial
+ reachability verification facilitates time-shifted, off-path flooding
+ attacks -- either against home addresses with incorrect prefixes or
+ against spoofed care-of addresses -- if the perpetrator can interpose
+ in the exchange before it moves to a different location.
+
+ The design choice against repeated home and care-of address tests was
+ made based on the observation that time shifting attacks are already
+ an existing threat in the non-mobile Internet of today.
+ Specifically, an attacker can temporarily move onto the path between
+ a victim and a correspondent node, request a stream of packets from
+ the correspondent node on behalf of the victim, and then move to a
+ different location. Most transport protocols do not verify an
+ initiator's reachability at the claimed IP address after an initial
+ verification during connection establishment. It enables an attacker
+ to participate only in connection establishment and then move to an
+ off-path position, from where it can spoof acknowledgments to feign
+ continued presence at the victim's IP address. The threat of time
+ shifting hence already applies to the non-mobile Internet.
+
+ It should still be acknowledged that the time at which Enhanced Route
+ Optimization verifies a mobile node's reachability at a home or
+ care-of address may well antecede the establishment of any transport
+ layer connection. This gives an attacker more time to move away from
+ the path between the correspondent node and the victim and so makes a
+ time shifting attack more practicable. If the lack of periodic
+ reachability verification is considered too risky, a correspondent
+ node may enforce reruns of home or care-of address tests by limiting
+ the registration lifetime, or by sending Binding Refresh Request
+ messages to a mobile node.
+
+
+
+Arkko, et al. Standards Track [Page 46]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+6.5. Replay Attacks
+
+ The protocol specified in this document relies on 16-bit base Mobile
+ IPv6 sequence numbers and periodic rekeying to avoid replay attacks.
+ Rekeying allows mobile and correspondent nodes to reuse sequence
+ numbers without exposing themselves to replay attacks. It must be
+ pursued at least once every 24 hours due to the maximum permitted
+ binding lifetime for correspondent registrations. Mobile and
+ correspondent nodes also rekey whenever a rollover in sequence number
+ space becomes imminent. This is unlikely to happen frequently,
+ however, given that available sequence numbers are sufficient for up
+ to 32768 correspondent registrations, each consisting of an early and
+ a complete Binding Update message. The sequence number space thus
+ permits an average rate of 22 correspondent registrations per minute
+ without exposing a need to rekey throughout the 24-hour binding
+ lifetime.
+
+6.6. Resource Exhaustion
+
+ While a CGA-based home address ownership proof provides protection
+ against unauthenticated Binding Update messages, it can expose a
+ correspondent node to denial-of-service attacks since it requires
+ computationally expensive public-key cryptography. Enhanced Route
+ Optimization limits the use of public-key cryptography to only the
+ first correspondent registration and if/when rekeying is needed. It
+ is RECOMMENDED that correspondent nodes in addition track the amount
+ of processing resources they spend on CGA-based home address
+ ownership verification, and that they reject new correspondent
+ registrations that involve public-key cryptography when these
+ resources exceed a predefined limit. [2] discusses the feasibility of
+ CGA-based resource exhaustion attacks in depth.
+
+6.7. IP Address Ownership of Correspondent Node
+
+ Enhanced Route Optimization enables mobile nodes to authenticate a
+ received Binding Acknowledgment message based on a CGA property of
+ the correspondent node's IP address, provided that the correspondent
+ node has a CGA. The mobile node requests this authentication by
+ including a CGA Parameters Request option in the Binding Update
+ message that it sends to the correspondent node, and the
+ correspondent node responds by adding its CGA parameters and
+ signature to the Binding Acknowledgment message within CGA Parameters
+ and Signature options. Proving ownership of the correspondent node's
+ IP address protects the mobile node from accepting a spoofed Binding
+ Acknowledgment message and from storing the included permanent home
+ keygen token for use during future correspondent registrations. Such
+ an attack would result in denial of service against the mobile node
+ because it would prevent the mobile node from transacting any binding
+
+
+
+Arkko, et al. Standards Track [Page 47]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ updates with the obtained permanent home keygen token. Enhanced
+ Route Optimization recommends renewal of a permanent home keygen
+ token in case of persistent correspondent registration failures,
+ allowing mobile nodes to recover from denial-of-service attacks that
+ involve spoofed permanent home keygen tokens.
+
+ The threat of the described denial-of-service attack is to some
+ extent mitigated by requirements on the attacker's location: A
+ Binding Update message that requests a correspondent node to provide
+ a permanent home keygen token is authenticated based on the CGA
+ property of the mobile node's home address. This authentication
+ method involves a home address test, providing the mobile node with a
+ home keygen token based on which it can calculate the authenticator
+ of the Binding Update message. Since the mobile node expects the
+ authenticator of the returning Binding Acknowledgment message to be
+ calculated with the same home keygen token, an attacker that is
+ willing to spoof a Binding Acknowledgment message that includes a
+ permanent home keygen token must eavesdrop on the home address test.
+ The attacker must hence be present on the path from the correspondent
+ node to the mobile node's home agent while the home address test
+ proceeds. Moreover, if the Binding Update message requesting the
+ permanent home keygen token is complete, its authenticator is further
+ calculated based on a care-of keygen token. The attacker must then
+ also know this care-of keygen token to generate the authenticator of
+ the Binding Acknowledgment message. This requires the attacker to be
+ on the path from the correspondent node to the mobile node's current
+ IP attachment at the time the correspondent node sends the care-of
+ keygen token to the mobile node within a Care-of Test message or the
+ Care-of Test option of a Binding Acknowledgment message.
+
+ Since a mobile node in general does not know whether a particular
+ correspondent node's IP address is a CGA, the mobile node must be
+ prepared to receive a Binding Acknowledgment message without CGA
+ Parameters and Signature options in response to sending a Binding
+ Update message with an included CGA Parameters Request option. Per
+ se, this mandatory behavior may enable downgrading attacks where the
+ attacker would send, on the correspondent node's behalf, a Binding
+ Acknowledgment message without CGA Parameters and Signature options,
+ claiming that the correspondent node's IP address is not a CGA.
+ Enhanced Route Optimization mitigates this threat in that it calls
+ for mobile nodes to prioritize Binding Acknowledgment messages with
+ valid CGA Parameters and Signature options over Binding
+ Acknowledgment messages without such options. This protects against
+ downgrading attacks unless the attacker can intercept Binding
+ Acknowledgment messages from the correspondent node. Given that the
+ attacker must be on the path from the correspondent node to the
+ mobile node's home agent at roughly the same time as explained above,
+ the attacker may not be able to intercept the correspondent node's
+
+
+
+Arkko, et al. Standards Track [Page 48]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Binding Acknowledgment messages. On the other hand, an attacker that
+ can intercept Binding Acknowledgment messages from the correspondent
+ node is anyway in a position where it can pursue denial of service
+ against the mobile node and the correspondent node. This is a threat
+ that already exists in the non-mobile Internet, and it is not
+ specific to Enhanced Route Optimization.
+
+ External mechanisms may enable the mobile node to obtain certainty
+ about whether a particular correspondent node's IP address is a CGA.
+ The mobile node may then insist on an IP address ownership proof from
+ the correspondent node, in which case it would discard any received
+ Binding Acknowledgment messages that do not contain valid CGA
+ Parameters and Signature options. One conceivable means for mobile
+ nodes to distinguish between standard IPv6 addresses and CGAs might
+ be an extension to the Domain Name System.
+
+7. Protocol Constants and Configuration Variables
+
+ [2] defines a CGA Message Type namespace from which CGA applications
+ draw CGA Message Type tags to be used in signature calculations.
+ Enhanced Route Optimization uses the following constant, randomly
+ generated CGA Message Type tag:
+
+ 0x5F27 0586 8D6C 4C56 A246 9EBB 9B2A 2E13
+
+ [1] bounds the lifetime for bindings that were established with
+ correspondent nodes by way of the return routability procedure to
+ MAX_RR_BINDING_LIFETIME. Enhanced Route Optimization adopts this
+ limit for bindings that are authenticated through a proof of the
+ mobile node's reachability at the home address. However, the binding
+ lifetime is limited to the more generous constant value of
+ MAX_CGA_BINDING_LIFETIME when the binding is authenticated through
+ the CGA property of the mobile node's home address:
+
+ MAX_CGA_BINDING_LIFETIME 86400 seconds
+
+ Credit aging incorporates two configuration variables to gradually
+ decrease a mobile node's credit counter over time. It is RECOMMENDED
+ that a correspondent node uses the following values:
+
+ CreditAgingFactor 7/8
+ CreditAgingInterval 5 seconds
+
+
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 49]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+8. IANA Considerations
+
+ This document defines the following six new mobility options, which
+ must be assigned type values within the mobility option numbering
+ space of [1]:
+
+ o CGA Parameters Request mobility option (11)
+
+ o CGA Parameters mobility option (12)
+
+ o Signature mobility option (13)
+
+ o Permanent Home Keygen Token mobility option (14)
+
+ o Care-of Test Init mobility option (15)
+
+ o Care-of Test mobility option (16)
+
+ This document allocates the following four new status codes for
+ Binding Acknowledgment messages:
+
+ o "Permanent home keygen token unavailable" (147)
+
+ o "CGA and signature verification failed" (148)
+
+ o "Permanent home keygen token exists" (149)
+
+ o "Non-null home nonce index expected" (150)
+
+ The values to be assigned for these status codes must all be greater
+ than or equal to 128, indicating that the respective Binding Update
+ message was rejected by the receiving correspondent node.
+
+ This document also defines a new 128-bit value under the CGA Message
+ Type namespace [2].
+
+9. Acknowledgments
+
+ The authors would like to thank Tuomas Aura, Gabriel Montenegro,
+ Pekka Nikander, Mike Roe, Greg O'Shea, Vesa Torvinen (in alphabetical
+ order) for valuable and interesting discussions around
+ cryptographically generated addresses.
+
+ The authors would also like to thank Marcelo Bagnulo, Roland Bless,
+ Zhen Cao, Samita Chakrabarti, Greg Daley, Vijay Devarapalli, Mark
+ Doll, Lakshminath Dondeti, Francis Dupont, Lars Eggert, Eric Gray,
+ Manhee Jo, James Kempf, Suresh Krishnan, Tobias Kuefner, Lila Madour,
+ Vidya Narayanan, Mohan Parthasarathy, Alice Qinxia, and Behcet
+
+
+
+Arkko, et al. Standards Track [Page 50]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ Sarikaya (in alphabetical order) for their reviews of and important
+ comments on this document and the predecessors of this document.
+
+ Finally, the authors would also like to emphasize that [15] pioneered
+ the use of cryptographically generated addresses in the context of
+ Mobile IPv6 route optimization, and that this document consists
+ largely of material from [16], [17], and [18] and the contributions
+ of their authors.
+
+10. References
+
+10.1. Normative References
+
+ [1] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in
+ IPv6", RFC 3775, June 2004.
+
+ [2] Aura, T., "Cryptographically Generated Addresses (CGA)",
+ RFC 3972, March 2005.
+
+ [3] Bradner, S., "Key Words for Use in RFCs to Indicate Requirement
+ Levels", IETF BCP 14, RFC 2119, March 1997.
+
+ [4] Jonsson, J. and B. Kaliski, "Public-Key Cryptography Standards
+ (PKCS) #1: RSA Cryptography Specifications Version 2.1",
+ RFC 3447, February 2003.
+
+10.2. Informative References
+
+ [5] Nikander, P., Arkko, J., Aura, T., Montenegro, G., and E.
+ Nordmark, "Mobile IP Version 6 Route Optimization Security
+ Design Background", RFC 4225, December 2005.
+
+ [6] Vogt, C. and J. Arkko, "A Taxonomy and Analysis of Enhancements
+ to Mobile IPv6 Route Optimization", RFC 4651, February 2007.
+
+ [7] Vogt, C. and M. Doll, "Efficient End-to-End Mobility Support in
+ IPv6", Proceedings of the IEEE Wireless Communications and
+ Networking Conference, IEEE, April 2006.
+
+ [8] Mirkovic, J. and P. Reiher, "A Taxonomy of DDoS Attack and DDoS
+ Defense Mechanisms", ACM SIGCOMM Computer Communication Review,
+ Vol. 34, No. 2, ACM Press, April 2004.
+
+ [9] Arkko, J. and C. Vogt, "Credit-Based Authorization for Binding
+ Lifetime Extension", Work in Progress, May 2004.
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 51]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+ [10] O'Shea, G. and M. Roe, "Child-Proof Authentication for MIPv6
+ (CAM)", ACM SIGCOMM Computer Communication Review, ACM Press,
+ Vol. 31, No. 2, April 2001.
+
+ [11] Nikander, P., "Denial-of-Service, Address Ownership, and Early
+ Authentication in the IPv6 World", Revised papers from the
+ International Workshop on Security Protocols, Springer-Verlag,
+ April 2002.
+
+ [12] Bagnulo, M. and J. Arkko, "Support for Multiple Hash Algorithms
+ in Cryptographically Generated Addresses (CGAs)", Work
+ in Progress, April 2007.
+
+ [13] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
+ Neighbor Discovery (SEND)", RFC 3971, March 2005.
+
+ [14] Perkins, C., "Securing Mobile IPv6 Route Optimization Using a
+ Static Shared Key", RFC 4449, June 2006.
+
+ [15] Roe, M., Aura, T., O'Shea, G., and J. Arkko, "Authentication of
+ Mobile IPv6 Binding Updates and Acknowledgments", Work
+ in Progress, March 2002.
+
+ [16] Haddad, W., Madour, L., Arkko, J., and F. Dupont, "Applying
+ Cryptographically Generated Addresses to Optimize MIPv6 (CGA-
+ OMIPv6)", Work Progress, May 2005.
+
+ [17] Vogt, C., Bless, R., Doll, M., and T. Kuefner, "Early Binding
+ Updates for Mobile IPv6", Work in Progress, February 2004.
+
+ [18] Vogt, C., Arkko, J., Bless, R., Doll, M., and T. Kuefner,
+ "Credit-Based Authorization for Mobile IPv6 Early Binding
+ Updates", Work in Progress, May 2004.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 52]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+Authors' Addresses
+
+ Jari Arkko
+ Ericsson Research NomadicLab
+ FI-02420 Jorvas
+ Finland
+
+ EMail: jari.arkko@ericsson.com
+
+
+ Christian Vogt
+ Institute of Telematics
+ Universitaet Karlsruhe (TH)
+ P.O. Box 6980
+ 76128 Karlsruhe
+ Germany
+
+ EMail: chvogt@tm.uka.de
+
+
+ Wassim Haddad
+ Ericsson Research
+ 8400, Decarie Blvd
+ Town of Mount Royal
+ Quebec H4P 2N2, Canada
+
+ EMail: wassim.haddad@ericsson.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 53]
+
+RFC 4866 Enhanced Route Optimization May 2007
+
+
+Full Copyright Statement
+
+ Copyright (C) The IETF Trust (2007).
+
+ 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.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+Arkko, et al. Standards Track [Page 54]
+