RFC 4636

Foreign Agent Error Extension for Mobile IPv4

๐Ÿ“… published October 2006, from ietf

Foreign Agent Error Extension for Mobile IPv4 ๐ŸŽ€

Okay bestie, this is RFC 4636 โœจ, written by C. Perkins (that's Charles E. Perkins) at Nokia Research Center for the Network Working Group ๐ŸŒธ. It's a Standards Track doc dated October 2006, and it updates RFC 3344 (the Mobile IP base spec) ๐Ÿ’…. Section 4 explains that update.


Status of This Memo โœจ

This document specifies an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements ๐Ÿซถ. For the standardization state and status of this protocol, check the current edition of "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2006).

Abstract ๐Ÿฆ‹

This doc adds a new extension that Foreign Agents can use when they run Mobile IP for IPv4. Right now, a foreign agent can't share status info without wrecking the mobile node's ability to verify the authentication data the home agent sent ๐Ÿ˜ญ. This extension fixes that by giving the foreign agent a better spot to put its status info for the mobile node.

1. Introduction โœจ

This doc specifies a new non-skippable extension for Foreign Agents running Mobile IP for IPv4 [4] ๐Ÿ’–. It lets a foreign agent send an error code without messing with the data the Home Agent put in the Registration Reply message. So the mobile node can still confirm that the Home Agent made that Registration Reply, even when the foreign agent is required by protocol to add new status info to it. Iconic, right? ๐Ÿ‘‘

2. Terminology ๐Ÿ“š

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in RFC 2119 [1] ๐Ÿ”ฅ. Any other terms are used the way they were already defined in [4].

3. FA Error Extension Format ๐Ÿงš

The FA Error Extension follows the Short Extension format that's specified for Mobile IPv4 [4]. It's not skippable, so no skipping allowed, bestie ๐Ÿ™ˆ.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |   Length      |    Sub-Type   |     Status    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Here's what each field holds:

Type

   45

Length

   2

Sub-Type

   0

Status

   A status code used by the foreign agent to supply status
   information to the mobile node.

4. Operation and Use of the FA Error Extension ๐Ÿ”ฅ

The FA Error Extension is only valid inside Mobile IPv4 Registration Reply messages, and it's still not skippable ๐Ÿ™…โ€โ™€๏ธ. If a mobile node can't correctly interpret what's in the FA Error Extension, it MUST NOT use the care-of address from that Registration Reply message. This holds until it sends another Registration Request message and gets a successful Registration Reply back ๐Ÿ’€.

The status codes you're allowed to use in the FA Error Extension are in the range 64-127 ๐Ÿ“. The currently specified codes are:

64 reason unspecified
65 administratively prohibited
66 insufficient resources
68 home agent failed authentication
71 poorly formed Reply
77 invalid care-of address
78 registration timeout

These are defined in RFC 3344 [4] for use by the Foreign Agent. Status codes used with the FA Error extensions must not be defined differently for the Code field of Registration Reply messages, so keep them consistent, babe ๐Ÿซถ.

When a foreign agent tacks an FA Error Extension onto a Registration Reply it got from the Home Agent, it has to update the UDP Length field in the UDP header [5] to cover the extra 4 bytes ๐Ÿงฎ.

This doc updates the Mobile IP base spec [4] for what the foreign agent does when the home agent fails authentication โœจ. Rather than changing the "status" field of the Registration Reply to 68, the foreign agent should now append the Foreign Agent Error Extension with the status value 68 ๐Ÿ’….

5. Mobile Node Considerations ๐Ÿ“ฑ

Say a mobile node gets a successful Registration Reply (status code 0 or 1), but the FA Error Extension shows the foreign agent isn't honoring that reply. Then the mobile node SHOULD send a deregistration message to the home agent ๐Ÿซ . That way, the home agent won't keep a registration status that doesn't match what the foreign agent has.

6. Foreign Agent Considerations ๐Ÿฆ‹

When a foreign agent denies a successful Registration Reply, it SHOULD send a Registration Revocation message [2] to the Home Agent, as long as a mobility security association exists between them ๐Ÿ”. If the foreign agent does have that required security association, this way of telling the home agent avoids the weak spot where malicious foreign agents could cause damage, which section 8 covers.

7. IANA Considerations ๐ŸŒธ

This spec reserves one number for the FA Error Extension (see section 3). That number comes from the space of non-skippable mobility extensions, which runs 0-127 and is defined in the Mobile IPv4 spec [4] ๐Ÿ”ข.

This spec also creates a new number space of sub-types for the type number of this extension. Sub-type zero gets allocated from this space for the extension in this document. Like the other Mobile IP number spaces [4], future allocations from this space need expert review [3] ๐Ÿง.

The status codes allowed in the FA Error Extension are a subset of the status codes defined in the Mobile IPv4 spec [4]. If new status codes get defined for Mobile IPv4 later, each new one has to say whether it's allowed in the FA Error Extension ๐Ÿ’….

8. Security Considerations ๐Ÿ”

Real talk, this section is the spicy one ๐ŸŒถ๏ธ. Read it carefully.

The extension in this doc makes Mobile IPv4 more secure, because it lets the mobile node be sure the information in a Registration Request is authentic ๐Ÿ”’. Before this, whenever a foreign agent had to share status info with the mobile node, the only way to do it was to wreck the mobile device's ability to verify the Mobile-Home Authentication Extension data ๐Ÿ˜ฉ.

In lots of common cases, the mobile node won't have a security association with the foreign agent that sent the extension ๐Ÿ™ƒ. So the mobile node can't tell whether the foreign agent that sent this extended Registration Reply is the same one that got the mobile node's Registration Request. Because of that, a malicious foreign agent could make a mobile node act like its registration failed, even though both the home agent and a properly working foreign agent had accepted the Registration Request ๐Ÿšจ. To cut down on this risk from malicious Registration Reply messages with the unauthenticated extension, the mobile node MAY hold off on processing these denied Registration Reply messages for a short time. That gives it a chance to see whether another successful Registration Reply shows up from the foreign agent ๐Ÿ•ต๏ธโ€โ™€๏ธ.

9. Acknowledgements ๐Ÿ’œ

Huge thanks to Kent Leung and Henrik Lefkowetz for suggesting improvements to this spec ๐Ÿฅฐ.

10. Normative References ๐Ÿ“š

  • [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [2] Glass, S. and M. Chandra, "Registration Revocation in Mobile IPv4", RFC 3543, August 2003.
  • [3] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
  • [4] Perkins, C., "IP Mobility Support for IPv4", RFC 3344, August 2002.
  • [5] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.

Author's Address ๐Ÿ–Š๏ธ

Charles E. Perkins
Palo Alto Systems Research Lab
Nokia Research Center
975 Page Mill Road, Suite 200
Palo Alto, CA 94304-1003

Phone: +1 650-496-4402
Fax:   +1-650-739-0779
EMail: charles.perkins@nokia.com

Copyright (C) The Internet Society (2006).

This document is subject to the rights, licenses and restrictions in BCP 78. Except as BCP 78 says otherwise, the authors keep all their rights ๐Ÿ’….

This document and the information in it are provided on an "AS IS" basis. THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ๐Ÿ™.

Intellectual Property โš–๏ธ

The IETF doesn't take a position on whether any Intellectual Property Rights or other rights claimed around this technology are valid or in scope, or whether licenses for them are available. It also doesn't say it has searched for any such rights. Info about rights in RFC documents is in BCP 78 and BCP 79.

Copies of IPR disclosures sent to the IETF Secretariat, along with any assurances of licenses, or the results of any attempt to get a general license or permission for implementers or users, are available from the IETF's online IPR repository at http://www.ietf.org/ipr.

The IETF invites anyone to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. Send that info to ietf-ipr@ietf.org ๐Ÿ“ฉ.

Acknowledgement ๐Ÿซถ

Funding for the RFC Editor function comes from the IETF Administrative Support Activity (IASA) ๐Ÿ’–.

๐Ÿ“ฆ where this page comes from