Mobile IPv4 Challenge/Response Extensions
obsoleted by
- rfc-4721 — Mobile IPv4 Challenge/Response Extensions (Revised)
Extracted elements (30)
A mobile node is permitted to use either the challenge from the latest Advertisement or from the last Registration Reply, enabling it to re-register without waiting for a new Agent Advertisement cycle.
The Generalized Authentication Extension collects authentication data for all new authentication relationships (beyond HA and FA) into a single extension type with subtypes, avoiding an explosion of distinct extension types as Mobile IP is extended.
The original Mobile-Foreign Authentication extension lacks ironclad replay protection from the Foreign Agent's perspective and cannot leverage existing CHAP-style authentication; the Challenge/Response extensions were introduced to close both gaps.
The verification infrastructure (AAA) model is described as motivation for the protocol design but is deliberately left unspecified, so that foreign agents may use any means—including separate FA-HA protocols invisible to the mobile node—to verify mobile node credentials.
Because the Challenge extension type (132 for MN-FA) falls in the range 128–255 (skippable), a Home Agent that does not recognize it MUST still process the Registration Request per RFC 2002, but will send a Reply without the Challenge extension.
Each mobile node MUST support HMAC-MD5 as the default algorithm for computing the MN-AAA authenticator, and this default MUST be configurable at any 32-bit SPI outside the reserved range 0–255.
If a Registration Request contains the Challenge extension but neither a Mobile-Foreign nor a MN-AAA Authentication extension after it, the Foreign Agent MUST silently discard the message.
If the Agent Advertisement contains the Challenge extension and the mobile node has no security association with the Foreign Agent, it MUST include the Challenge value in a MN-FA Challenge extension in the Registration Request.
If the Home Agent receives a Registration Request containing the MN-FA Challenge extension and recognizes it, it MUST include the Challenge extension in the Registration Reply, placed after the Mobile-Home authentication extension.
If the mobile node has a security association with the Foreign Agent, it MUST include a Mobile-Foreign Authentication extension per the base Mobile IP specification, and the Mobile-Foreign Authentication MUST follow the Challenge extension when one is present.
If the mobile node has no security association with the Foreign Agent, it MUST include the MN-AAA Authentication extension and SHOULD include the NAI extension to enable the FA to use available verification infrastructure.
The Foreign Agent MUST NOT accept any Challenge in the Registration Request unless it was offered in the last successful Registration Reply or among the last CHALLENGE_WINDOW (default 2) advertised challenge values; otherwise it SHOULD send UNKNOWN_CHALLENGE.
The Foreign Agent MUST NOT remove the MN-AAA Authentication Extension from the Registration Request prior to the completion of AAA-infrastructure authentication; if it does not remove the Challenge extension, it MUST reject any Registration Reply from the Home Agent that omits the Challenge Extension with the same value.
The MN-FA Challenge extension and the applicable authentication extension MUST follow the Mobile-Home Authentication extension, if present, in the Registration Request.
Upon receiving a Registration Request, if the Foreign Agent issued a Challenge and has no SA with the mobile node, it MUST verify the MN-FA Challenge extension exists and contains a previously unused challenge value; if missing, it MUST reply with MISSING_CHALLENGE.
CHAP_SPI (value 2) is a reserved SPI designating a RADIUS-compatible authentication computation: MD5 applied over the high-order challenge byte, the shared key, an MD5 hash of preceding Mobile IP data with extension header fields, and the least-significant 237 bytes of the challenge.
The Generalized Mobile IP Authentication Extension (Type 36, not skippable) provides a single extensible extension type with subtypes to carry authentication data for entities beyond the home agent and foreign agent, including a 4-byte SPI and a variable-length Authenticator.
The MN-AAA Authentication subtype (Subtype 1 of the Generalized Auth Extension) is used when the mobile node lacks a security association with the Foreign Agent; the authenticator is HMAC-MD5 over all preceding Mobile IP data concatenated with Type, Subtype, Length, and SPI.
The MN-FA Challenge Extension (Type 132, skippable) is carried in the Registration Request to echo back the challenge value from the Agent Advertisement, enabling the Foreign Agent to verify freshness and prevent replay.
The Mobile IP Agent Advertisement Challenge Extension (Type 24) is inserted by the Foreign Agent into Router Discovery advertisements to communicate a fresh challenge value that the mobile node uses to compute authentication for its Registration Request, providing replay protection.
IANA assigns Type 132 (skippable) for the MN-FA Challenge Extension, a router-advertisement extension.
IANA assigns Type 36 (not skippable) for the Generalized Mobile IP Authentication Extension, and creates a new subtype number space for it; new subtypes require designated-expert approval. Subtype 1 is assigned for MN-AAA Authentication.
IANA records four Registration Reply error codes: UNKNOWN_CHALLENGE (104), MISSING_CHALLENGE (105), STALE_CHALLENGE (106), and BAD_AUTHENTICATION (67, pre-existing). A new reserved-SPI section assigns CHAP_SPI=2; SPI 0 and 1 must not be assigned.
If the Foreign Agent chooses a Challenge shorter than 4 bytes, it SHOULD also record the Identification field for each mobile node to ensure Registration messages are unique and not replayed.
Replay attacks using an old MN-FA Challenge authenticator are defeated because the Foreign Agent tracks which challenge values it has recently advertised (within CHALLENGE_WINDOW), and rejects any reused challenge.
The RADIUS-compatible MD5 authenticator computation defined in Section 8 is less secure than HMAC-MD5 and should be avoided whenever possible; HMAC-MD5 is the preferred default.
When a Foreign Agent modifies a Registration Reply field, it invalidates the Home Agent's MN-HA authentication data, creating a window where a bogus rejection Reply could be injected to mislead the mobile node into thinking its registration failed.
Challenge Extension format: 1-byte Type (24), 1-byte Length (SHOULD be at least 4), followed by the Challenge value (a random value SHOULD be at least 32 bits).
Generalized Auth Extension format: 1-byte Type (36), 1-byte Subtype, 2-byte Length (MUST be at least 20), 4-byte SPI, then variable-length Authenticator. Length field is 4 plus the number of Authenticator bytes.
MN-FA Challenge Extension format: 1-byte Type (132), 1-byte Length, followed by the Challenge field copied verbatim from the Agent Advertisement Challenge extension.