rfc-8047

Host Multihoming with the Host Identity Protocol

T. Henderson (Editor), C. Vogt, J. Arkko
date2017-02 streamIETF areaint wghip statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc8047 doi10.17487/RFC8047
This document defines host multihoming extensions to the Host Identity Protocol (HIP), by leveraging protocol components defined for host mobility.

Extracted elements (29)

design-rationale §4.2.4

Each LOCATOR_SET provides a complete listing of all active locators rather than differential updates, simplifying parameter processing and eliminating the need for explicit protocol extensions to remove individual locators.

mobility

design-rationale §4.2.2

For fault tolerance, a single SA pair for all addresses is generally sufficient. For load balancing across parallel paths, a separate SA pair per active path is recommended because mixing traffic from different paths on a single SA may cause packets to fall outside the ESP anti-replay window due to differing path latencies.

mobility, ipsec

design-rationale §4.2.8

Including LOCATOR_SET in R2 rather than R1 has the advantage that the host avoids divulging additional locators until after the I2 is successfully processed, providing a privacy benefit; the tradeoff is slightly delayed locator discovery compared to announcing in R1.

mobility, privacy

interoperability-note §4.2.9

HIP associations can use the multihoming LOCATOR_SET mechanism to migrate between IPv4 and IPv6 addressing realms. However, if both hosts end up with locators only in different realms, an interworking mechanism must be employed; such techniques are outside the scope of this document.

mobility, ip, v6ops

interoperability-note §4.2.8

Implementations that simultaneously use multiple pre-created R1 packets indexed by Initiator IP addresses may inadvertently fail the puzzle solution of I2 packets when R1 includes a LOCATOR_SET, because the I1 and I2 may arrive from different source addresses. The Responder's puzzle indexing mechanism must be flexible enough to accommodate this case.

mobility, security

normative-requirement §5.2 SHOULD

A host SHOULD be prepared to receive a LOCATOR_SET parameter in R1, I2, R2, and UPDATE packets.

mobility

normative-requirement §4.3 SHOULD

A host SHOULD consistently use the same source interface and address when sending to a particular destination IP address and SPI, because path is often determined by source address and differing paths can cause anti-replay window violations.

mobility, ipsec

normative-requirement §5.2 SHOULD

A host SHOULD first process the ESP_INFO before the LOCATOR_SET in a received UPDATE, since the ESP_INFO may contain a new SPI value mapped to an existing SPI while a Type 1 Locator only contains a reference to the new SPI.

mobility, ipsec

normative-requirement §4.2.8 MUST

A LOCATOR_SET parameter included in an R1 packet MUST be protected by the R1 signature. A LOCATOR_SET parameter included in an I2 packet MUST be protected by the I2 signature.

mobility, security, crypto

normative-requirement §4.2.4 MUST

Each LOCATOR_SET parameter MUST list all locators in use on a connection (a complete listing of inbound locators and SPIs for the host). This avoids the need for explicit protocol extensions to remove locators.

mobility, ip, ipsec

normative-requirement §4.3 SHOULD

Each physical interface SHOULD have a separate SA unless the ESP anti-replay window is extended or disabled, to prevent out-of-order packets arriving via different paths from falling outside the anti-replay window.

mobility, ipsec, security

normative-requirement §4.2.8 MUST

Even if the I2 packet contains LOCATOR_SET parameters, the Responder MUST still send the R2 packet to the source address of the I2.

mobility

normative-requirement §5.1 MUST NOT

Hosts MUST NOT announce broadcast or multicast addresses in LOCATOR_SETs. Link-local addresses MUST NOT be announced to a peer unless that peer is known to be on the same link.

mobility, ip

normative-requirement §4.2.1 SHOULD

Hosts using link-local addresses as source addresses in HIP handshakes SHOULD provide a globally routable address either in the initial handshake or via the LOCATOR_SET parameter, since such hosts may not be reachable by a mobile peer.

mobility, ip

normative-requirement §4.2.8 MUST

If the R1 packet contains LOCATOR_SET parameters with a new preferred locator, the Initiator SHOULD directly set the new preferred locator to status ACTIVE without performing address verification first, and it MUST send the I2 packet to the new preferred locator.

mobility, security

normative-requirement §6 SHOULD

Implementations SHOULD provide a mechanism to allow the host administrator to block the exposure of selected addresses or address ranges, addressing privacy concerns about IP address disclosure through multihoming.

privacy, security

normative-requirement §6 SHOULD

Implementations supporting multihoming extensions SHOULD avoid accepting large numbers of peer locators and SHOULD rate-limit UPDATE messages exchanged, to prevent resource-exhaustion attacks by a malicious multihomed peer.

security, mobility

normative-requirement §5.3 SHOULD

When address verification is in progress for a new preferred locator, the host SHOULD select a different locator listed as ACTIVE to continue communications until verification completes. Alternatively, the host MAY use the new preferred locator while UNVERIFIED to the extent Credit-Based Authorization permits.

mobility, security

privacy-consideration §6

Advertising a host's IP addresses through HIP multihoming extensions may reveal its location even when the administrator intends to conceal it via VPN or virtual interfaces. Similar issues arise in WebRTC. Implementations SHOULD allow administrators to block exposure of selected addresses.

privacy, mobility, vpn

protocol-element §5.2

ESP_INFO processing when received with LOCATOR_SET in an UPDATE covers four cases: (1) OLD==NEW existing SPI is gratuitous for middleboxes; (2) OLD!=NEW non-zero means rekeying existing SA; (3) OLD SPI zero means new SA creation; (4) NEW SPI zero means SA deprecation, setting all uniquely bound locators to DEPRECATED.

ipsec, mobility

protocol-element §4.2.3

For host multihoming for fault tolerance, a single SA pair is used for all addresses. The multihomed host creates a LOCATOR_SET including the existing address and SPI as a Type 1 Locator and the new address as a Type 0 Locator, sent in an UPDATE with SEQ, acknowledged by the peer.

mobility, ipsec

protocol-element §4.2.4

For load balancing, a host sends LOCATOR_SET with ESP_INFO in an UPDATE to create new SA pairs. A new SA is requested by setting OLD SPI to zero and NEW SPI to the newly created incoming SPI, with a Type 1 Locator associating the new address with the new SPI.

mobility, ipsec

protocol-element §4.2.1

LOCATOR_SET may be sent in R1, I2, or R2 packets (in addition to UPDATE packets defined in RFC 8046), enabling multihoming address advertisement during the HIP base exchange itself for fault-tolerance or load-balancing purposes.

mobility, ip

protocol-element §4.2.4

When processing inbound LOCATOR_SETs that establish new SAs on an interface with multiple addresses, a host uses the destination address of the UPDATE containing the LOCATOR_SET as the local address to which the LOCATOR_SET plus ESP_INFO is targeted, because a host may send UPDATEs from the same locator IP to different peer addresses.

mobility, ipsec

security-consideration §6

A malicious host engaged in HIP multihoming may attempt resource-exhaustion attacks by sending excessive candidate locators, inducing state bloat in the peer's SPD/SAD. Implementations should rate-limit UPDATEs and cap the number of accepted peer locators.

security, mobility

security-consideration §6

HIP multihoming is resistant to redirection attacks because locators are listed in HIP packets signed using the host's identifier key, cryptographically binding locators to the host identity. Address verification (from RFC 8046) prevents third-party flooding-based DoS redirection attacks.

security, mobility, crypto

security-consideration §6

VPN tunnel leakage risk: use of multiple addresses in HIP multihoming may cause data sessions intended to be ESP-protected to be sent in the clear if some addresses fall outside the configured security policy or association database range. Implementors must prevent such leakage.

security, vpn, ipsec

state-machine §5.2

Locators transition through states UNVERIFIED, ACTIVE, and DEPRECATED. Newly learned addresses start UNVERIFIED; after address verification they become ACTIVE; addresses not listed in a received LOCATOR_SET are set to DEPRECATED; a DEPRECATED address reappears as UNVERIFIED when re-listed in a LOCATOR_SET.

mobility, ip

state-machine §5.4

Preferred locator change procedure: (1) if ACTIVE, change immediately; (2) if UNVERIFIED, start verification and use another ACTIVE locator meanwhile or use UNVERIFIED under Credit-Based Authorization; (3) if no preference indicated, pick randomly from ACTIVE; (4) if DEPRECATED and non-deprecated exists, pick non-deprecated (applying verification if UNVERIFIED).

mobility, ip