One document matched: draft-ietf-mobileip-reg-revok-05.txt

Differences from draft-ietf-mobileip-reg-revok-04.txt


Internet Engineering Task Force                                 S. Glass 
Mobile IP Working Group                                 Sun Microsystems 
Internet Draft                                                M. Chandra 
                                                           Cisco Systems 
                                                           February 2003


                  Registration Revocation in Mobile IPv4
                   draft-ietf-mobileip-reg-revok-05.txt


Status of This Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   This document is a submission to the Mobile IP Working Group of the
   Internet Engineering Task Force (IETF).  Comments should be
   submitted to the MOBILE-IP@SUNROOF.ENG.SUN.COM mailing list.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other
   documents at any time.  It is inappropriate to use Internet-Drafts
   as reference material or to cite them other than as "work in
   progress."

   The list of current Internet-Drafts can be accessed at:
        http://www.ietf.org/ietf/1id-abstracts.txt
   The list of Internet-Draft Shadow Directories can be accessed at:
        http://www.ietf.org/shadow.html.

   Distribution of this memo is unlimited.

Abstract

This document defines a Mobile IPv4 Registration Revocation mechanism
whereby either mobility agent participating in providing Mobile IP
services to the same mobile node can notify the other mobility agent
(or co-located mobile node) of the termination of either a single, or
multiple mobility bindings, and for this notification to be
acknowledged.  A signaling mechanism already defined by the Mobile
IPv4 protocol [1] is leveraged as a way to inform the mobile node(s)
of the revocation of their binding.





S. Glass, M. Chandra      Expires August 2003                   [page i]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

                            Table of Contents

 1.  Introduction and Applicability................................... 1
 2.  Terminology...................................................... 2
 3.  Registration Revocation Extensions and Messages.................. 3
  3.1  Advertising Registration Revocation Support.................... 3
  3.2  Revocation Support Extension................................... 4
  3.3  Registration Revocation Message................................ 7
   3.3.1  Revocation Mask.............................................11
  3.4  Registration Revocation Acknowledgment Message.................13
  3.5  Replay Protection..............................................15
 4.  Registration Revocation Overview.................................17
  4.1  Mobile Node Notification.......................................17
  4.2  Registration Revocation Mechanism - Agent Notification.........19
   4.2.1  Negotiating Revocation Support..............................19
   4.2.2  Home Domain Revoking a Registration.........................20
    4.2.2.1  Home Agent Responsibilities..............................20
    4.2.2.2  Foreign Agent Responsibilities...........................22
    4.2.2.3  Co-located Mobile Node Responsibilities..................22
   4.2.3  Foreign Domain Revoking a Registration......................23
    4.2.3.1  Foreign Agent Responsibilities...........................23
    4.2.3.2  Home Agent Responsibilities..............................25
   4.2.4  Mobile Node Deregistering a Registration....................26
  4.3  The Use of Bits................................................26
   4.3.1  The 'R' Bit in Use..........................................27
   4.3.2  The 'D' Bit in Use..........................................28
 5.  Error Codes......................................................29
 6.  Multiple Binding Support.........................................29
 7.  Security Considerations..........................................30
  7.1  Agent Advertisements...........................................30
  7.2  Revocation Messages............................................30
 Appendix A  Registration Revocation in 'R' and 'D' Bit Worlds........34
 Appendix B  Disparate Address, and Receiver Considerations...........36
 Appendix C  Using Registration Revocation to Help Release Resources..38
 Appendix D  An Example of the New Messages in Use....................39
          D.1  The Registration Phase.................................39
          D.2  The Revocation Phase...................................40
 Acknowledgments......................................................42
 Where To Direct Comments.............................................42
 References...........................................................43
 Full Copyright Statement.............................................44










S. Glass, M. Chandra      Expires August 2003                  [page ii]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


      1.  Introduction and Applicability

Mobile IP [1] defines registration of a mobile node's location to
provide connectivity between the mobile node and its home domain,
facilitating communication between mobile nodes and any correspondent
node.  At any time, either home or foreign agent may wish to cease
servicing a mobile node, or for administrative reasons may no longer
be required to service a mobile node.

A general registration revocation mechanism is defined for Mobile
IPv4, whereby a mobility agent can notify another mobility agent (or
co-located mobile node) of the termination of mobility bindings.  A
mobility agent which receives a revocation notification no longer has
to provide services to the mobile node whose registration has been
revoked.  A signaling mechanism already defined by the Mobile IPv4 
protocol [1] is leveraged as a way to inform a mobile node
of the revocation of its binding.

The registration revocation protocol provides the following
advantages:

1.  Timely release of Mobile IP resources.  Resources being consumed
    to provide Mobile IP services for mobile nodes that have stopped
    receiving Mobile IP services by one agent, can be reclaimed by the
    other agent in a more timely fashion than if it had to wait for
    bindings to expire.  This also applies to the case when mobile
    nodes roam away from a foreign agent to another foreign agent.
    Notification to the previous foreign agent would allow it to
    reclaim resources.

2.  Accurate accounting.  This has a favorable impact on resolving
    accounting issues with respect to the length of mobility bindings
    in both domains, as the actual end of the registration is relayed.

3.  Earlier adoption of domain policy changes with regards to services
    offered/required of a Mobile IP binding.  For example, the home
    domain may now require reverse tunnels, yet there are existing
    bindings that do not use them.  Without a revocation mechanism,
    new services can only be put in place or removed as bindings are
    re-registered.

4.  Timely notification to a mobile node that it is no longer
    receiving mobility services, thereby significantly shortening any
    'black-hole' periods to facilitate a more robust recovery.

The revocation protocol is an active, yet unobtrusive mechanism
allowing more timely communication between the three Mobile IP
entities in the various administrative domains.  Since many mobile


S. Glass, M. Chandra      Expires August 2003                   [page 1]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

nodes may not understand the concept of revocation, care has been
taken to ensure that any mobile node that is designed in accordance
with [1] can continue to operate as described by [1].

The registration revocation protocol does not replace the methods
described in [1] for Mobile IP deregistration, as the purpose of both
mechanisms is fundamentally different.  Deregistration messages are
used by a mobile node to inform its home agent that it has e.g. roamed
back to its home subnet, whereas revocation messages are used between
mobility agents to signal the termination of mobility bindings.  More
specifically, the revocation message defined here is NOT for use by
co-located mobile nodes that are terminating their registration as
deregistration messages are already sufficient for this purpose.  A
co-located mobile node, however, may wish to process revocation
messages as it is a useful mechanism to trigger the re-negotiation of
required services from the home domain.


     2.  Terminology

It is assumed that the reader is familiar with the terminology used in
[1].  In addition, the following terms are defined:

Mobile IP Resources - various functional elements allocated by a
                      mobility agent to support a Mobile IP binding,
                      e.g., memory.

Mobile IP Services - various responsibilities of a mobility agent in
                     supporting a mobile node as defined in [1], e.g,
                     encapsulation of packets addressed to a mobile
                     node by a home agent, decapsulation of these
                     packet by a foreign agent for delivery to a
                     mobile node, etc.

Mobility Agent - the home agent or foreign agent as specified in [1].

Revocation - termination of a mobility binding.


The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [6].









S. Glass, M. Chandra      Expires August 2003                   [page 2]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


    3.  Registration Revocation Extensions and Messages

Registration revocation in Mobile IPv4 is accomplished via the
following messages:

   - Revocation Support in Agent Advertisements (Section 3.1):
      o A flag in the Agent Advertisement extension has been reserved
        for agents to advertise their support of revocation messages.

   - Revocation Support Extension (Section 3.2):
      o This extension is appended to a registration request or
        registration reply by a mobility agent to indicate its support
        of registration revocation.

      o This extension is appended to a registration request by a
        co-located mobile node to indicate its understanding of
        revocation messages.

   - Revocation Message (Section 3.3):
      o A message sent by a mobility agent to inform another mobility
        agent, or co-located mobile node, that it has revoked the
        binding of a[t least one] mobile node.

   - Revocation Acknowledgment Message (Section 3.4):
      o A message sent by mobility agents or co-located mobile nodes
        to indicate the receipt of a revocation message.


   3.1  Advertising Registration Revocation Support

Mobility agents can advertise their support of registration revocation
with a modification to the Mobility Agent Advertisement extension
described in [1].  An 'X' bit is introduced to indicate an agent's
support for Registration Revocation.

    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     |        Sequence Number        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Registration Lifetime      |R|B|H|F|M|G|r|T|X|  reserved   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  zero or more Care-of Addresses               |
   |                              ...                              |

	X   The mobility agent supports Registration Revocation




S. Glass, M. Chandra      Expires August 2003                   [page 3]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

A foreign agent that sets the 'X' bit in an agent advertisement
extension MUST support registration revocation messages on that link,
specifically the Revocation Support Extension (section 3.2),
Revocation message (section 3.3), and Revocation Acknowledgment
(section 3.4).  It is not required that all agents advertising on the
same link support registration revocation, nor is it required that an
agent advertise this support on all of its links.

Note that using this information, a mobile node can select a foreign
agent that supports registration revocation, e.g., should it be
required by home domain policy.  Should a mobile node not understand
this bit, it simply ignores the bit as per [1].

As a bit in the agent advertisement, use of the 'X' bit has no impact
on other messages, such as e.g. Challenge-Response [9].  Security
issues, such as those deployers should be aware of with agent
advertisements, are covered in Section 7 of this document, and [5].


   3.2 Revocation Support Extension

The Mobile IP revocation support extension indicates support of
registration revoction, and so MUST be attached to a registration
request or registration reply by any entity that wants to receive
revocation messages.  Normally, this is either a foreign agent, or a
home agent, however a co-located mobile node MAY also include a
revocation support extension in its registration request.  A foreign
agent advertising the 'X' bit on the link on which the registration
request was recieved, and who has a security relationship with the
home agent identified in the same registration request, MUST attach a
revocation support extention to the forwarded registration request.
A home agent that receives a registration request which does not 
contain a revocation extension SHOULD NOT include a revocation support
extension in the associated registration reply.

The format of the revocation support extension is based on the
Type-Length-Value Extension Format given in [1] and is defined 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
   |     Type      |     Length    |         Timestamp ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
      Timestamp (continued)        |I|M|      Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-





S. Glass, M. Chandra      Expires August 2003                   [page 4]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

        Type            
                Skippable. To be assigned by IANA.

        Length
                Length (in bytes, currently 8).  Does NOT include Type
                and Length fields(in accordance with section 1.9 of
                [1]).  This allows for a longer extension length
                should more bits be required in the future.

	Timestamp
		Current 4-byte timestamp of the mobility agent.  This
		is used to identify the ordering of registrations as
		they're forwarded by the agent, how they relate to the
		sending of any revocation messages, and to identify
		the approximate offset between the clocks of the
		mobility agents providing support for this binding..

        'I' Bit 
                This bit is set to '1' by a mobility agent to indicate
                it supports the use of the 'I' bit in revocation
                messages (section 3.3).

                When sent by a foreign agent in a registration request:

                If set to 1, indicates to the home agent that the
                foreign agent is willing to have the 'I' bit as set by
                the home agent in the revocation process determine
                whether the mobile node is informed of the revocation,
                or not.

                If set to 0, indicates to the home agent that the
                foreign agent will follow its own policy with regards
                to informing the mobile node in the event of a
                revocation.  The recommended default to maintain
                protocol robustness is that the mobile node SHOULD be
                informed.

                When sent by a home agent in response to a revocation
	        extension in which the 'I' bit was set to 1:

                If set to 1, the home agent agrees to use the 'I' bit
                in the revocation process to indicate to the foreign
                agent if the mobile node should be informed or not.

                If set to 0, the home agent will not use the 'I' bit
                in the revocation process, thereby yielding to the
                foreign agent's default behavior with regard to
                informing the mobile node.  Again, the recommended
                behavior to preserve protocol robustness is that the
                mobile node SHOULD be informed.

S. Glass, M. Chandra      Expires August 2003                   [page 5]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

        'M' Bit
                This bit is set to '1' by a mobility agent to indicate
                it supports the use of Masks in revocation messages.
                See section 3.3.1.

                When sent by a co-located mobile node, this bit MUST
                be set to '0'.

        Reserved
                Reserved for future use.  MUST be set to 0 on sending,
                MUST be ignored on receiving.

When appearing in a registration request, or registration reply, the
Mobile IP registration support extension MUST be protected either by a
foreign-home authentication extension, a mobile-home authentication
extension, or any other equivalent mechanism [1], e.g. via AAA [A],
[B], or perhaps IPSec.  If the extension appearing in either of these 
registration messages is NOT protected, the appropriate action as 
described by [1] MUST be taken.  This is due to the security risks as 
described by Section 7.

Support of the 'I' bit is OPTIONAL.  If a mobility agent does not
support the specified behavior, it MUST set the 'I' bit to zero.  Note
that the home agent setting the 'I' bit to '1' in response to a
revocation extension from the foreign agent in which the 'I' bit was
set to '0' is undefined, and SHOULD NOT be done.

'I' bit support has been negotiated when both agents have set the 'I'
bit to '1' in their revocation support extensions.

Support of the 'M' bit is OPTIONAL.  If a mobility agent does not
support the specified behavior, it MUST set the 'M' bit to zero.
Note that a mobility agent MUST NOT use the mask in a revocation 
message it is sending to another agent unless
receiving a revocation extension from that agent in which the 'M' bit
was set to '1'.  See Section 7 on security recommendations when using
the 'M' bit to revoke multiple MN bindings with a single revocation
message. 

It is important to note that this extension is of the skippable
variety, that is if the receiving mobility agent doesn't understand
this extension, it MUST skip it, and continue processing the remainder
of the registration request.  This is to prevent registration
black-holing.  For example, a home agent which doesn't understand
registration revocation will continue to process the registration
request which has been forwarded to it, and reply as if the extension
was never included, rather than silently discarding it.  This also
means if local policy in the foreign domain requires registrations to
be made only with home agents which support this feature, the foreign


S. Glass, M. Chandra      Expires August 2003                   [page 6]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

agent may actively deny the registration with this home agent (after
receiving a registration reply which doesn't contain a revocation
support extension), and indicate this to the mobile node (e.g. via 65
"administratively prohibited").  In contrast, if this extension were
not skippable, a home agent which doesn't understand the revocation
extension would silently discard the registration, and there would be
no feedback to either the foreign agent, or the mobile node as to why
this was occurring.  In this way, use of registration revocation can
be negotiated for each registration, and each domain has a clear
understanding of what is expected.


   3.3  Registration Revocation Messages

A revocation message is sent by a mobility agent to inform another
mobility agent, or co-located mobile node, that it is revoking the
binding of a[t least one] mobile node. 

The format of revocation message is analogous to registration reply 
messages from [1].

   IP fields:

        Source Address       In the case of the home agent issuing the 
                             registration revocation, the address
                             registered with the care-of address as
                             that of the home agent.

                             In the case of the foreign agent issuing
                             the registration revocation:

                             If the registration being revoked is NOT
                             for a co-located mobile node, the address
                             registered with the home agent as the
                             care-of address.

                             In the case of the revocation of a
                             co-located mobile node, any of the
                             addresses of the foreign agent associated
                             with the foreign agent NAI which MUST
                             have been included in the most recent 
                             registration request to the home agent.

        Destination Address  In the case of the home agent issuing the
                             registration revocation:

                             In the case where the revocation is not
                             for a co-located mobile node, the address
                             identified as the care-of address of the
                             mobile node.

S. Glass, M. Chandra      Expires August 2003                   [page 7]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

                             In the case where the home agent is
                             notifying the foreign agent servicing a
                             co-located mobile node, any of the
                             addresses associated with the NAI of the
                             foreign agent included in the most recent
                             approved registration request.

                             In the case of the foreign agent issuing 
                             the registration revocation, the address
                             registered as that of the home agent by
                             the mobile node whose registration is
                             being revoked.

   UDP fields:

        Source Port          variable
        Destination Port     434

   The UDP header is followed by the Mobile IP fields shown below

    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      |     Mask      |I|          reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Home Address                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Home Domain Address                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Foreign Domain Address                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Revocation Identifier                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Type    To be assigned by IANA.  (Registration Revocation)

        Mask    A set of flags indicating the applicability of the
                registration revocation.  See Section 3.2.1 for
                definitions.

        I       Inform bit.

                This bit MUST NOT be set to '1' unless 'I' bit support
                was negotiated in the revocation extension messages 
                passed in the registration process, otherwise the
                results can be unpredictable.





S. Glass, M. Chandra      Expires August 2003                   [page 8]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

                When sent by the home agent to a foreign agent:

                Set to '0' to request the mobile node SHOULD NOT be 
                informed of the revocation, or because the use of the
                'I' bit was not agreed upon.

                Set to '1' to request that the mobile node be informed
                of the revocation.

                When sending a revocation message to a co-located mobile
                node, this bit is essentially irrelevant, but SHOULD be 
                set to '1'.

                When sent by the foreign agent:

                Set to '0' to indicate to the home agent that the
                foreign agent is not asking the home agent whether the
                mobile node should be informed of the revocation, or
                because 'I' bit support was not agreed upon.

                Set to '1' to ask the home agent if the mobile node
                should be informed of the revocation. 

        reserved MUST be sent as 0, ignored when received.

        Home Address
                The home IP address of the mobile node whose
                registration is being revoked, or a subnet address to
                indicate bindings for all mobile nodes whose home
                address belongs to the identified subnet are being
                revoked, or the zero address to indicate all mobile
                nodes registered using this home agent and this
                care-of address are being revoked.  See Section 3.3.1.

        Foreign Domain Address
                The relevant IP address in the foreign domain to
                identify which bindings are being revoked.  This is
                one of the following: (i) the foreign agent's IP
                address, (ii) the co-located care-of address, or (iii)
                a subnet address of either (i) or (ii) indicating all
                mobile nodes using a care-of address on the identified
                subnet are having their bindings revoked.  The zero
                address MAY be used to indicate "all subnet addresses"
                See Section 3.3.1.







S. Glass, M. Chandra      Expires August 2003                   [page 9]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

        Home Domain Address
                The IP address in the home domain to identify which
		bindings are being revoked.  This can be one of the
		following: (i) the home agent's IP address, (ii) the
                subnet address indicating that all mobile nodes using
                a home agent on the identified subnet are having their
                bindings revoked.  See Section 3.3.1.  The zero
                address MUST NOT be used, as discussed in Appendix B.

        Revocation Identifier
                Protects against replay attacks.  The revoking agent
                MUST insert its current 4-byte timestamp running off
                the same clock as it is using to fill in the timestamp
                in its revocation extensions.  See section 3.5.

A registration revocation message MUST be protected by either a valid
authenticator as specified in [1], namely a home-foreign authenticator
if the communication is between home and foreign agents, or a
mobile-home authenticator if the communication is being sent from a
home agent to a co-located mobile node, or another security mechanism
at least as secure, and agreed upon by the home and foreign domains,
e.g., IPSec and IKE.  If any agent, or co-located mobile node receives
a registration revocation message that does not contain a valid
authenticator, and is not adequately protected, the revocation message
MUST be ignored, and silently discarded.  See Section 7 for a
discussion on the security considerations involved with sending
revocation messages.

A revocation message MUST NOT be sent for any registration that has
expired, and MAY only be sent prior to the expiration of a mobile
node's registration.  Note, however, due to the nature of datagram
delivery, this does not guarantee these messages will arrive before
the natural expiration of any binding.

An agent MUST NOT send more than one revocation message with the same
value in the home address field per second.

An agent MUST NOT send more than one revocation message or
registration message per second for the same binding.  Note this
updates [1] by including revocation messages in the limit specified in
[1] that an agent MUST NOT send more than one registration message per
second for the same binding.

An example of the use of revocation messages is given in Appendix D.







S. Glass, M. Chandra      Expires August 2003                  [page 10]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

   3.3.1  Revocation Mask

The use of the revocation mask in the revocation message is OPTIONAL.
The revocation mask MUST NOT be used unless the 'M' bit was set to '1'
in the last revocation extension received from the agent peer for all
bindings identified by the revocation message.  When it is not being
used, the revocation mask MUST be set to all zeros.  The registration
revocation message uses a non-zero mask to indicate the "extent" of
the revocation is more than a single binding.  The mask is used in
combination with the address fields defined above to identify certain
special cases when multiple bindings can be revoked with a single
revocation message.  The following bit-values are defined.  Note the
four low-order bits apply to addresses, and the four high-order bits
apply to NAIs.  For those applying to addresses, prefix length
extensions are required.  For those applying to NAIs, NAI extensions
are required.

   Value   Meaning
   -----   -----------------------------------------------------------

    0x01   Applies to all bindings where the mobile node home address
           belongs to the same subnet as the address appearing in the
           home address field.  The address appearing in the home
           address field MUST either be that of a registered mobile
           node, or a subnet address.  The issuing agent MUST include
           a prefix-length extension defined by [1] appearing after
           the revocation message to indicate the bits of address
           effected.

           e.g. revoke: 10.1.1.128, prefixLen: 25 means all mobile nodes
           whose addresses fall within the range 10.1.1.128 - 10.1.1.254
           and revoke: 10.1.1.129, prefixLen: 25 has the same meaning,
           but revoke: 10.1.1.0, prefixLen:25 means all mobile nodes 
           whose addresses fall within the range 10.1.1.0 - 10.1.1.127.

    0x02   Applies to all bindings where the registration is using the
           same home domain address appearing in the Home Domain
           Address field.  The address appearing in the Home Domain
           Address field MUST either be the address registered as the
           home agent address, or a subnet address.  The issuing agent
           MUST include a prefix-length extension as defined by [1]
           appearing after the revocation message to indicate the bits
           of address effected.

           (e.g. revoke: 10.1.1.240, prefixLen: 28).

           Note that this address MUST NOT be the zero address, see
           Appendix B.



S. Glass, M. Chandra      Expires August 2003                  [page 11]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

    0x04   Applies to all bindings where the care-of address belongs
           to the same subnet as the address appearing in the foreign
           domain address field.  The address appearing in the foreign
           domain address field MUST either be the co-located address
           belonging to a mobile node, or a subnet address.  The
           issuing agent MUST include a prefix-length extension as
           defined by [1] appearing after the revocation message to
           indicate the bits of address being effected.

           (e.g. revok: 10.1.1.192, prefixLen: 26).

    0x08   Applies to all bindings where the registration is using the
           same foreign address appearing in the foreign domain
           address field.  The address appearing in the foreign domain
           address filed MUST either the address registered as the
           foreign agent address, or a subnet address in which case
           the issuing agent MUST include a prefix-length extension as
           defined by [1] appearing after the revocation message to
           indicate the bits of address being effected

           (e.g. revoke: 10.1.1.224, prefixLen: 27).

    0x10   Applies to all bindings within the same administrative
           domain as the mobile node.  The issuing agent MUST include
           the NAI of [one of] the mobile nodes whose registration is
           being revoked in an NAI extension, appearing after the
           revocation message.

    0x20   Applies to all bindings with the same administrative domain
           as the home agent.  The issuing agent MUST include the home
           agent NAI in an NAI extension appearing after the
           revocation message.

    0x40   Applies to all bindings with the same administrative domain
           as the care-of address.  The issuing agent MUST include the
           NAI from the care-of domain in an NAI extension, appearing
           after the revocation message.

    0x80   Applies to all bindings with the same administrative domain
           as the foreign agent.  The issuing agent MUST include the
           foreign agent NAI in an NAI extension appearing after the
           revocation message.

When multiple flags are set, the corresponding prefix-length and NAI
extensions MUST appear in the same order as the flags appearing in the
mask field of the revocation message.  This means NAI extensions MUST
proceed prefix length extensions.  For example, if the 0x01 and 0x02
bits are set, the first prefix length extension identifies the prefix
to be used with the care-of address to identify the care-of address


S. Glass, M. Chandra      Expires August 2003                  [page 12]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

subnet, and the second prefix length extension is to identify the
prefix to be used with the home address to identify the home address
subnet.  If the 0x01 bits and 0x20 bits are set instead, the home
agent NAI extension MUST proceed the home address prefix length
extension.

For authentication where domain bindings are being revoked, the
appropriate NAI extension MUST be appended to the revocation message.
For example, a foreign agent revoking all bindings from the same NAI
domain as mn@home.domain would set the mask to 0x10, and include an
NAI extension after the revocation message including the NAI
mn@home.domain.  When the foreign agent receives an authenticated
message in which the mask is set to 0x10, it understands that all
mobile nodes that use an NAI containing "@home.domain" have been
revoked.

Note that the scope of the revocation MUST only apply to the subset of
bindings between the revoking agent, and the agent receiving the
revocation message. For example, if foreign agent x.y.z.t sends a
revocation message to home agent a.b.c.d for mobile node subnet
a.b.c.0, and sets the revocation mask to 0x01, the home agent MUST NOT
revoke all of its bindings for mobile nodes on the same home link as
the revoked mobile node, but only those mobile nodes that are also
visiting the foreign agent sending the revocation message.

Note: the distinction between bindings in the same subnet as the CoA
(0x02), and bindings in the same subnet as the foreign agent (0x04) is
to be able to discern, for example, bindings which may be on different
links but being served by the same foreign agent, e.g., a foreign
agent may be servicing different classless subnets [7], each with
their own NAI, or it may be multihomed but using the same CoA for all
its subnets (e.g. disparate address support).  See Appendix B in [2]
on disparate address support for a related discussion.

See Section 7 for a discussion on security considerations when
revoking multiple MN bindings with a single revocation message.


   3.4  Registration Revocation Acknowledgment Message

A revocation acknowledgment message is sent by mobility agents or
co-located mobile nodes to indicate the successful receipt of a
revocation message.

The format of revocation acknowledgment message is analogous to the
revocation message.





S. Glass, M. Chandra      Expires August 2003                  [page 13]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

   IP fields:

        Source Address       Copied from the destination address of
                             the received registration revocation
                             message for which this registration
                             revocation acknowledgment message is
                             being generated.

        Destination Address  Copied from the source address of the
                             received registration revocation message
                             for which this registration revocation
                             acknowledgment message is being
                             generated.

   UDP fields:

        Source Port          434 (copied from the destination port of
                             the revocation message)

        Destination Port     Copied from the source port of the
                             revocation message.

   The UDP header is followed by the Mobile IP fields shown below:

    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    |I|         reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Home Address                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Revocation Identifier                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Type       To be assigned by IANA. (Revocation Acknowledgment)

   Length     (in bytes) 10. The length of the revocation acknowledgment
              message in octets, not including Type and Length fields.

   I          Inform bit.

              The 'I' bit MUST NOT be set to '1' in the revocation
              acknowledgment messages unless it was set to '1' in the
              revocation message.  If an agent receives a revocation
              acknowledgment message in which the 'I' bit is set to '1',
              but for which the revocation message being acknowledged 
              had the 'I' bit set to '0', the 'I' bit in the revocation
              acknowledgment message MUST be ignored.


S. Glass, M. Chandra      Expires August 2003                  [page 14]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

              When sent by the home agent:

              Set to '1' by the home agent to request the foreign
              agent inform the mobile node of the revocation.

              Set to '0' by the home agent to request the foreign
              agent not inform the mobile node of the revocation.

              When sent by a foreign agent:

              Set to '1' to indicate to the home agent that the mobile
              node was informed.

              Set to '0' to indicate to the home agent that the mobile
              node was not informed.

   reserved   MUST be sent as 0, ignored when received.

   Home Address
              The home address copied from the revocation message
              for which this acknowledgment is being sent.

   Revocation Identifier
              Copied from the Revocation Identifier of the revocation
	      message for which this acknowledgment is being sent.
	      See Section 3.5.

A registration revocation acknowledgment message MUST be sent in
response to a valid and authenticated registration revocation message.

A registration acknowledgment message MUST be protected by either a
valid authenticator as specified in [1], namely a home-foreign
authenticator if the communication is between home and foreign agents,
or a mobile-home authenticator if the communication is between home
agents and co-located mobile nodes, or another security mechanism at
least as secure and agreed upon by the home and foreign domains, e.g.,
IPSec and IKE. 

An example of the use of the revocation messages is given in Appendix D.


   3.5  Replay Protection

As registration revocation messages are designed to terminate service
for a mobile node, or multiple mobile nodes simultaneously, replay
protection is crucial to prevent denial of service attacks by
"malicious repeaters" - those who store datagrams with the intent of
replaying them at a later time, or by "malicious reflectors" - those
who reflect packets back at their original source (both a form of


S. Glass, M. Chandra      Expires August 2003                  [page 15]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

"man-in-the-middle" attack).  See Section 7 for a discussion of these
security considerations.

Replay protection is handled with a simple timestamp mechanism, using
a single 32-bit identifier field in the registration revocation
message, in conjunction with the home address field, to associate any
revocation acknowledgment messages with its revocation messages.  To
do this:

   - The revoking agent sets the Revocation Identifier field in the
     registration revocation message to a valid 32-bit timestamp from
     the same clock it is using to set the timestamp field of its
     revocation extensions included in registration messages.   

   - Upon receipt of an authenticated revocation message, the
     receiving agent MUST check the value of the Revocation Identifier
     to make sure this revocation message is neither a replay of an
     old revocation message received from the same agent, nor a
     reflection of a revocation message it sent in relation to the
     identified bindings.  If the Identifier field implies this packet
     is a replay, the revocation message MUST be silently discarded.

   - When building a revocation acknowledgment message, the
     acknowledging agent copies the values of the Home Address and
     Revocation Identifier fields from the revocation message into the 
     Home Address and the Revocation Identifier of the revocation 
     acknowledgment message.  This is so the revoking agent can match 
     this revocation acknowledgment to its corresponding revocation 
     message. 

   - Upon receiving a valid revocation acknowledgment, the revoking
     agent MUST check the Home Address and  Identifier fields to make 
     sure they match those fields from a corresponding revocation 
     message it sent to the acknowledging agent.  If not, this
     revocation acknowledgment message MUST be silently discarded.

Note that since the Identifier in an incoming revocation message is a
32-bit timestamp, it is possible for an agent to check the validity of
the Identifier fields without having to remember all identifiers sent
by that corresponding agent.  Implementors are encouraged to see the
information in Section 7.

Note: as it is possible for a mobile node to register at different
times with different home agents, and at different times with
different foreign agents, it is crucial that it not be required that
the Identifier fields be unique in messages from different agents as
there is no guarantee that clocks on different agents will be
synchronized.  For example, if a mobile node has simultaneous bindings
with multiple foreign agents, and two or more are being revoked


S. Glass, M. Chandra      Expires August 2003                  [page 16]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

simultaneously, it is possible the revocation message from one of
these foreign agents may contain Identifier fields that happens to
match that of any or all the other foreign agents.  This MUST NOT
result directly in either of these revocation message being ignored.



   4.  Registration Revocation Overview

Registration Revocation consists of two disjoint pieces: a signaling
mechanism between tunnel endpoints, and a signaling mechanism between
foreign agent and mobile node.  A co-located mobile node MAY implement 
revocation extensions and revocation acknowledgment in order to receive
and respond to revocation messages from its home agent, however, a 
co-located mobile node MUST NOT send a revocation message as 
deregistration messages defined in [1] are sufficient for this purpose.


   4.1  Mobile Node Notification

A mechanism which provides a foreign agent a way to actively notify a
mobile node that its binding has been reset already exists in [1],
though it has been overlooked for this purpose.

A brief overview of the mechanics of the sequence number in agent
advertisement from [1] is given so that the mechanism by which the
foreign agent 'implies' to the mobile node that its binding is no
longer active is clearly understood.

When a foreign agent begins sending agent advertisements, it starts
with a sequence number of 0, and [monotonically] increments the
sequence number with each subsequent agent advertisement.  In order
for a mobile node to be able to distinguish between a foreign agent
that has simply exhausted the sequence number space from one which has
been reset, and thereby lost the mobile node's binding information, a
foreign agent sets the sequence number to 256 instead of rolling to 0.
In this way, a mobile node would have to miss, at that time, 256
advertisements in a row to mistake a reset as a roll-over.  Moreover,
the lifetimes contained within an agent advertisement should be set in
such a way that when a mobile node believes it has missed 3 beacons,
the entry for this foreign agent should time out, and if the mobile
node is registered there, it should send an agent solicitation [1].
If, however, an agent is somehow reset, it will begin advertising with
a sequence number of 0, and the mobile node can presume this foreign
agent has lost its binding, and the mobile node SHOULD re-register to
make sure it is still obtaining Mobile IP services through this
foreign agent.




S. Glass, M. Chandra      Expires August 2003                  [page 17]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

Leveraging this mechanism, a foreign agent may consciously notify all
mobile nodes currently bound to it that it has "reset" all of their
bindings, even if the agent itself has not been reset, by simply setting
the sequence number of the next agent advertisement to 0.  Moreover, a
foreign agent may inform all mobile nodes currently bound to it they
should re-register with a different foreign agent by simultaneously
setting the 'B' bit in the advertisement to 1, indicating this foriegn
agent is busy and is not accepting new registrations [1].  In these
situations, any mobile node in compliance with [1] will presume the
foreign agent has lost its binding, and must re-register if they wish to
re-establish Mobile IP functionality with their home subnet.

To indicate to any registered mobile node that its binding no longer
exists, the foreign agent with which the mobile node is registered may
unicast an agent advertisement with the sequence number set to 0 to
the mobile node [1], [3].  Moreover, if such a foreign agent wishes to
indicate to the mobile node that its binding has been revoked, and
that the mobile node should not attempt to renew it's registration
with it, the foreign agent MAY also set the 'B' bit to 1 in these
agent advertisements, indicating it is busy, and is not accepting new
registrations [1].  All mobile nodes compliant with [1] will
understand this means the agent is busy, and MAY either immediately
attempt to re- register with another agent in their foreign agent
cache, or MAY solicit for additional agents.  In the latter case, a
foreign agent can optionally remember the mobile node's binding was
revoked, and respond to the solicit in the same way, namely with the
'B' bet set to 1.  It should be noted, though, that since the foreign
agent is likely to not be setting the 'B' bit to 1 in its broadcasted
agent advertisements (sent to the entire link), the revoked mobile
node, upon hearing this agent's multicast agent advertisement without
the 'B' bit set, may attempt to [re]register with it.  If this
happens, depending of foreign domain policy, the foreign agent can
simply deny the mobile node with an appropriate error code (e.g.,
"administratively prohibited").  At this time, a mobile node can use
foreign agent fallback to attempt to register with a different foreign
agent as described in [1].

Mobile nodes which understand the revocation mechanism described by this
document may understand that a unicast agent advertisement with the
sequence number reset to 0 could indicate a revocation, and may attempt
to re-register with the same foreign agent, register with a different
foreign agent, or co-locate.

Agent Advertisements unicast to a mobile node MUST be sent as
described in [1] in addition to any methods currently in use on the
link to make them secure or authenticatable.  Such mechanisms are
highly desirable to protect from denial-of-service attacks.
Implementors and deployers may wish to see section 7 of this document,
and [5].


S. Glass, M. Chandra      Expires August 2003                  [page 18]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


   4.2  Registration Revocation Mechanism - Agent Notification

   A foreign agent that is currently supporting registration
revocation on a link MUST set the 'X' bit in its Agent Advertisement
Extensions being sent on that link.  This will encourage mobile nodes
from domains wishing to use registration revocation to register with
those foreign agents advertising its support.  Implementors and those
deploying registration revocation should read section 7 for an
understanding of security issues specific to registration revocation.

   4.2.1  Negotiation of Revocation Support

During the registration process, if the foreign agent wishes to
participate in revocation messages with the home domain, it MUST have
an existing security association with the home agent identified in the
registration request, and append a revocation support extension
(defined in Section 3.2) to it.  If the corresponding registration
reply from this home agent does not contain a revocation support
extension, the foreign agent SHOULD assume the home agent does not
understand registration revocation, or is unwilling to participate.
If this is unacceptable to the foreign agent, it MAY deny the
registration with e.g. "Administratively Prohibited."  Note that in
this case where a security association exists, as specified in [1],
both registration request and registration reply MUST still contain
home-foreign authenticators.

If a home agent wishes to participate in revocation messages with the
foreign domain, it MUST have an existing security association with the
foreign agent who relayed the registration request, and it MUST append
a revocation support extension to the registration reply.  If the
registration request from a foreign agent did not contain a revocation
support extension, the home agent SHOULD assume the foreign agent does
not understand registration revocation, or is unwilling to participate
specifically for this binding.  If this is unacceptable to the home
agent, it MAY deny the registration with e.g. "Administratively
Prohibited" The home agent MAY include a revocation support extension
in the registration reply anyway.

If a co-located mobile node wishes to be informed of a released
binding by the home agent, it MUST insert a revocation support
extension into the registration request.

The 'I' bit in the revocation extension is used to indicate whether the
decision to inform the mobile node that its binding is terminated will
be left to the home agent.  This functionality is offered by the foreign
agent, and accepted by the home agent.  More precisely, by sending a
revocation extension attached to a registration request in which the
'I' bit is set to 1, the foreign agent is indicating to the home agent


S. Glass, M. Chandra      Expires August 2003                  [page 19]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

that it MAY leave the decision to inform this mobile node that its
registration is terminated up to the home agent. (The term "MAY" is used
here because it is recognized that domain policy may change during the
lifetime of any registration).  The home agent can acknowledge that it
wishes to do this by setting the 'I' bit to 1, or it can indicate it
will not do so by setting the 'I' bit to 0, in the revocation extension
appearing in the registration reply.

The 'M' bit in the revocation extension is used to indicate support of
the revocation mask in the registration revocation message.  By
sending a revocation extension in which the 'M' bit is set to '1' that
agent is indicating it is willing to accept non-zero Mask values in
the revocation message.  Thus, the agent is agreeing to revoke
multiple bindings by receiving a single revocation message.  Note that
unlike the 'I' bit, it is not necessary for both sides to agree on
revocation mask support.  A mobility agent MUST NOT send a revocation
message with a non-zero mask to an agent that did not set the 'M' bit
to '1' in its most recent revocation extension for that binding.  If
an agent that did not set the 'M' bit to '1' in its most recent
revocation extension, receives a revocation message with a non-zero
mask, it MUST silently discard the revocation message.

Revocation support is considered to be negotiated for a binding when
both sides have included a revocation support extension during a
successful registration exchange.


   4.2.2  Home Domain Revoking/Releasing a Registration

The following section details the responsibilities of each party
depending on the functionality negotiated in the revocation support
extension when the home domain is revoking a registration.

   4.2.2.1  Home Agent Responsibilities

In the case where a home agent is revoking/releasing a mobile node's
binding, and revocation support has been negotiated, the home agent
MUST notify the foreign domain address it is terminating the tunnel
entry point by sending a revocation message.  Note that the foreign
domain address can either be the foreign agent care-of address, or a
co-located care-of address.

When a revocation message is being sent to a foreign agent, and the
use of the 'I' bit was negotiated in the registration process, the
home agent MUST set the 'I' bit to 1 if the home agent would like the
foreign agent to inform the mobile node of the revocation.  Conversely,
if the home agent does not want the mobile node notified, it MUST set
the 'I' bit to 0. 



S. Glass, M. Chandra      Expires August 2003                  [page 20]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

If the 'M' bit was set to '0' in the last revocation extension from
the foreign agent, the home agent MUST set the Mask to 0x00.  If the
'M' bit was set to '1' in the last revocation extension from this
foreign agent, the home agent MAY set the mask to a non-zero value as
described by section 3.3.1.

Whenever a home agent is sending a revocation message to a co-located
mobile node, the revocation mask MUST be set to 0x00.

Note also that if a reverse tunnel is in place, it may be necessary
for the home agent to keep the reverse-tunnel de-capsulation active in
order to receive the revocation acknowledgment from that mobile node.

The home agent MUST set the Identifier field as defined in Section
3.5, and MUST include a valid authenticator as specified in Section
3.3.

If the home agent does not receive a revocation acknowledgment message
within a reasonable amount of time, it MUST retransmit the revocation
message.  How long the home agent waits to retransmit, and how many
times the message is retransmitted is only limited by the
requirements:

    - every time the home agent is about to retransmit the revocation
      message, it MUST update the value of the timestamp in the
      revocation identifier with a current value from the same clock
      used to generate the timestamps in the revocation extensions
      sent to this foreign agent.  Note that this also necessarily
      means updating any fields derived using the revocation
      identifier (e.g. a home-foreign authenticator).

    - the home agent MUST NOT send more than one revocation per second
      for a particular binding, or set of bindings,

    - the time between retransmissions SHOULD fall-back in analogy
      with the registration guidelines in [1], and

    - the home agent MUST NOT retransmit revocation messages beyond
      the normal life of the bindings identified by the revocation
      message.

Note that if a co-located mobile node included a revocation support
extension in its registration request, and passed it to a foreign
agent (because the 'R' bit was set) which also included a revocation
support extension, there may be a need to send a revocation message to
both mobile node and foreign agent.  When a home agent is revoking the
binding of a co-located mobile node which is registered with a foreign
agent, the home agent SHOULD send the revocation message to the
co-located mobile node first so that the revocation acknowledgment has


S. Glass, M. Chandra      Expires August 2003                  [page 21]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

a chance of making it back to the home agent.  The revocation message
to be sent to the foreign agent SHOULD be sent after receiving the
revocation acknowledgment from the mobile node.

Alternatively, if a home agent is revoking the binding of a co-located
mobile node which is registered with a foreign agent, the home agent
MAY simply send a revocation message to the foreign agent requesting
the mobile node be informed of the revocation by setting the 'I' bit
to '1'.  In this way the mobile node will be informed should the
foreign agent agree to do so.  If the foreign agent does not inform
the mobile node, however, it may be impossible for the home agent to
notify the mobile node of its revoked binding.

    4.2.2.2  Foreign Agent Responsibilities

Upon receiving a registration revocation message, the foreign agent
MUST check that the validity of the authenticator, and of the home
address and identifier field against replay as defined by Section 3.5.
The foreign agent MUST then identify the binding(s) described by the
home agent as being released using the information in the revocation
message, namely the addresses identified by the mobile node address,
the foreign domain address, the home domain address, any prefix and/or
NAI extensions, as well as the timestamp in the revocation message,
and also the timestamp in the last accepted registration message;
revocations are only valid for existing registrations, and so the
timestamp of a registration MUST proceed the revocation message (note
that both of those timestamps were set by the same home agent).  Upon
locating such bindings, the foreign agent MUST revoke them, and MUST
respond with a revocation acknowledgment sent to the source address of
the revocation message.  If the 'I' bit was negotiated, the foreign
agent MUST check the value of the 'I' bit in the revocation message
and act accordingly.

If notifying the mobile node by the methods described in Section 4.1,
the foreign agent MUST set the 'I' bit to '1' in the revocation
acknowledgment to be sent to the home agent, or if not notifying the
mobile node, the foreign agent MUST set the 'I' bit to '0'.

The foreign agent may discontinue all Mobile IP services, and free up
any resources that were being used by the former binding(s).

S. Glass, M. Chandra      Expires August 2003                  [page 22]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

The foreign agent MUST then generate a revocation acknowledgment,
setting the Home Address and Identifier field in the revocation
acknowledgment message as described by Section 3.5, and protect it
with a valid authenticator as specified in Section 3.3.

    4.2.2.3  Co-located Mobile Node Responsibilities

Upon receiving a revocation message, the co-located mobile node MUST
validate the authenticator, and check the home address and identifier
specified in the revocation message for replay.  If the packet passes
authentication, and the identifier reveals this revocation to be new,
the mobile node MUST verify that the information contained in the
revocation messages identifies the home agent with which it has a
current binding, that this binding identifies correctly this mobile
node and any foreign domain address it is currently using.  If the
mobile node is able to identify such a binding, the mobile node SHOULD
first generate a revocation acknowledgment message which MUST be sent
to the IP source address of the revocation message.  The mobile node
may then terminate any reverse tunnel encapsulation it is using to
this home agent, and consider its binding revoked, and free up any
other resources associated with the former binding.

   4.2.3  Foreign Domain Revoking/Releasing a Registration

The following section details the responsibilities of each party
depending on the functionality negotiated in the revocation support
extensions when the foreign domain is revoking a registration.

   4.2.3.1  Foreign Agent Responsibilities

If the use of the 'I' bit was negotiated, and the foreign domain
policy of informing the mobile node has not changed since the last
successful registration exchange, the foreign agent MUST NOT inform
any mobile node of its revocation at this time.  Instead, the foreign
agent MUST set the 'I' bit to '1' in the revocation message, thereby
asking the home agent to use the 'I' bit in the revocation
acknowledgment to indicate if it should notify the effected mobile
nodes.  If the policy on the foreign domain was to not notify the
mobile node, or if it has changed since the most recent successful
registration, and the foreign agent is no longer able to use the 'I'
bit, the foreign agent MUST set the 'I' bit to '0', and follow the
policies of the foreign domain with regard to notifying the mobile
node.

To preserve the robustness of the protocol, the recommended default is
that the foreign agent SHOULD inform the mobile node of its revocation
as described in Section 4.1 either before sending the revocation
message to the home agent, just after sending the revocation message
to the home agent, or after it receives a revocation acknowledgment
message from the home agent.

S. Glass, M. Chandra      Expires August 2003                  [page 23]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

If the 'M' bit was set to '0' in the last revocation extension from
the home agent, the foreign agent MUST set the Mask to 0x00.  If the
'M' bit was set to '1' in the last revocation extension from this
home agent, the foreign agent MAY set the mask to a non-zero value as
described by section 3.3.1.

Before transmitting the revocation message, the foreign agent MUST set
the revocation identifier as described by section 3.5, and MUST
include an authenticator as described by section 3.3.

If the foreign agent does not receive a revocation acknowledgment
message within a reasonable amount of time, it MUST retransmit the
revocation message.  How long the foreign agent waits to retransmit,
and how many times the message is retransmitted is only limited by the
specification that the foreign agent:

    - every time the foreign agent is about to retransmit the
      revocation message, it MUST update the value of the timestamp in
      the revocation identifier with a current value from the same
      clock used to generate the timestamps in the revocation
      extensions sent to this home agent.  Note that this also
      necessarily means updating any fields derived using the
      revocation identifier (e.g. a home-foreign authenticator).

    - MUST NOT send more than one revocation per second for a
      particular set of bindings,

    - SHOULD set its retransmissions to fall-back in analogy with the
      registration guidelines in [1], and

    - MUST NOT retransmit revocation messages beyond the normal life
      of any of the bindings identified by the revocation message.

If the most recent registration request indicated the mobile node is
using a co-located care-of address (the 'D' bit was set), and hence
the registration request was unlikely to contain any information about
the foreign agent, the foreign agent MUST include an NAI extension for
identification by the home agent in the revocation message.  (Note: it
is presumed the foreign agent had the 'R' bit set when such a
co-located mobile node last registered, but even if not, obviously the
foreign agent is aware of this binding.  In this case, the foreign
agent is implying to the home agent this it and/or the foreign domain
in general have some way of controlling communications between the
mobile node and home agent, and therefore a revocation message in this
case implies to the home agent that such lines of communication are
going away.  See Section 4.3.1 "Use of the 'R' bit").





S. Glass, M. Chandra      Expires August 2003                  [page 24]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

    4.2.3.2  Home Agent Responsibilities

Upon receiving a registration revocation message, the home agent MUST
check the authenticator, and identifier field.  If the packet is
acceptable, the home agent MUST locate the binding(s) identified by
the foreign agent as being released using the information in the
revocation message, namely the addresses identified by the home
address, the foreign domain address, the home domain address fields,
any prefix-length or NAI extensions, as well as the timestamp in the
revocation message, and also the timestamp in the last accepted
registration message; revocations are only valid for existing
registrations, and so the timestamp of a registration MUST proceed the
revocation message (note that both of those timestamps were set by the
same foreignagent).  Since these bindings are no longer active, the
home agent can free up any resources associated with the former
bindings and discontinue all Mobile IP services for them.

If a home agent receives a registration revocation from a foreign
agent indicating the registration for a co-located mobile node has
been revoked, the home agent MUST verify this message is coming from
the same foreign agent that relayed the registration request for this
binding.  If this can not be verified, or it can be determined that
the foreign agent issuing this registration revocation is not the
foreign agent which relayed the registration request for the current
binding, the home agent MUST silently ignore this revocation message.
This means if a mobile node has one or more bindings with different
co-located care-of addresses, and in addition has one or more bindings
using care-of addresses provided by this foreign agent (as in the case
of multi-homed foreign agent), each set of bindings must be revoked
separately.

Upon processing a valid registration revocation message, the home
agent MUST send a revocation acknowledgment to the IP source address
of the registration revocation message.  

If use of the 'I' bit was negotiated, and the 'I' bit is set to '1' in
the revocation message, the home agent SHOULD decide if it wants the
mobile node informed of the revocation of this binding.  If it does
want the mobile node informed, it MUST set the 'I' bit in the
revocation acknowledgment message to '1'. If it does not want the
mobile node informed, it MUST set the 'I' bit to '0'.

The home agent MUST set the Home Address, and Revocation Identifier
fields as described by Section 3.5, and protect the revocation
acknowledgment message with a valid authenticator as specified in
Section 3.3.





S. Glass, M. Chandra      Expires August 2003                  [page 25]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

   4.2.4  Mobile Node Deregistering a Registration

The cases where a mobile node is registered with its home agent,
whether it is registered directly with its home agent, or registered
via a foreign agent (and in either case may be co-located), and wishes
to terminate it's own binding, the mobile node MUST NOT send a
revocation message, but SHOULD simply deregister the appropriate
care-of address with its home agent as described by [1].

Note that when a co-located mobile node includes a revocation extension
in its registration request, it will expect to see a revocation
extension in the registration reply from the home agent acknowledging
that the home agent is willing to send revocation messages to such a
mobile node.  However, the home agent should understand that it will not
receive revocation messages from such a mobile node, so the decision to
include a revocation extension in the registration reply MUST NOT be
made based on the home agent's desire to see such messages.


   4.3  The Use of Bits

Several of the bits used in the registration process play an important
role in the topology of the binding, and therefore the revocation.

The 'R' bit in the agent advertisement is an effective way to assure
that the foreign domain is provided with the binding information
necessary to revoke it.  This is especially important in the case of a
co-located mobile node whose registration request may otherwise
by-pass the foreign agent.  How the foreign domain enforces this
policy is beyond the scope of this document, but a few examples are
through either restricted access to topologically correct addresses
with which to co-locate, some form of access control lists on the
routers, etc.

The 'D' bit in the registration request is a sign to a home domain
that a foreign agent address likely does NOT appear in the 
registration request, and so the home agent may be missing the
necessary information to be able to notify the foreign domain in the
event of a registration revocation.  A home agent that receives a
registration request in which the 'D' bit is set SHOULD look for a
foreign agent NAI extension appearing after the mobile-home
authenticator, indicating the foreign agent to which any revocation
messages are to be sent.  Note that if the registration request came
from a foreign agent (e.g. the 'R' bit was set), then the source
address of the registration request could be that of the foreign
agent.  The home agent MAY check to see if that address is the care-of
address identified in the care-of address field of the registration
request (if not, the source address of the registration request is
likely that of the foreign agent).  Alternatively, as any such NAI


S. Glass, M. Chandra      Expires August 2003                  [page 26]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

extension MUST be secured via a foreign-home authenticator [1], the
security association identified by the foreign agent's NAI MAY be used
to identify an IP address to which any revocation message is to be
sent.

More information, and an example, is provided in "Appendix A:
registration revocation in 'R' and 'D' Bit Worlds."

   4.3.1  The 'R' Bit in Use

If the foreign agent wishes to be able to revoke a mobile node's
registration, it MUST set the 'R' bit in its agent advertisements.  A
foreign agent advertising the 'R' bit requests every mobile node, even
one that is co-located, to register with the foreign agent, making the
foreign agent then capable of revoking the mobile node's registration
as it is now privy to the information in the registration request,
namely the mobile node's link address, home IP address, and the
address of the mobile node's home agent.  The foreign agent will then
be capable of unicasting an agent advertisement to the mobile node,
and sending a registration revocation message to the home agent, as
described in Sections 4.1 and 4.2.3.  This makes advertising the 'R'
bit attractive in domains that wish to have control over registered
mobile nodes, and moreover, sending revocation notification to the
home domain may be a contractual necessity.

Enforcement of the 'R' bit is beyond the scope of this document, and
when the foreign domain wishes to be able to enforce the revocation,
and/or to notify the home domain of revoked registrations, such an
enforcement mechanism is crucial.  Since the co-located care-of
address is by definition topologically correct, the reader must
understand that a co-located mobile node may send the registration
request directly to the home agent, and perhaps receive a registration
reply from the home agent even in the presence of agent advertisements
in which the 'R' bit is set (though this is considered "bad form", and
the 'R' bit is a "hint" to the mobile node that such direct contact is
policed in some way).  In the event a foreign domain wishes to enforce
the revocation of a co-located mobile node's registration, the foreign
domain MUST be able to control the flow of datagrams to, and/or from,
the mobile node.  The easiest way to do this is for local policy to
not provide a mechanism for co-location, or for the foreign agent to
simply not accept registration requests from co-located mobile nodes,
though there are enforcement mechanisms available which allow
co-location.








S. Glass, M. Chandra      Expires August 2003                  [page 27]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

   4.3.2  The 'D' bit in Use

If the mobile node has set the 'D' bit in the registration request,
and forwards the registration via a foreign agent (see Section 4.3.1),
and the foreign agent determines it will accept the registration from
the mobile node, then the foreign agent MUST append a revocation
extension if it wants to be notified of registration revocations for
this mobile node (in addition to any already included by the mobile
node and protected by the mobile-home authenticator).  The foreign
agent MAY also append the prefix length extension [1] that appears in
the agent advertisements on the link from which the mobile node is
registering.  The inclusion of the prefix length extension is so the
home agent understands the topology of the link the mobile node is
visiting in the event it wants to issue a single registration
revocation for multiple mobile nodes visiting the same link.  In order
to authenticate these extensions, the foreign agent MUST append its
NAI extension so the home agent may know how to validate the
foreign-home authenticator.

Note that registration requests where the 'D' bit is set, and which
are relayed through a foreign agent due to the advertising of the 'R'
bit can contain the foreign agent address as the source address of the
registration request as received by the home agent.  A home agent MAY
verify that the source address of this registration request is not the
same as the care-of address contained in the registration request, and
is therefore likely to be the address of a foreign agent.  The reader
should note that according to [1] the home agent is required to send
the registration reply to the source IP address of the registration
request.

If the home agent wishes to support registration revocation for this
binding, which can be conveyed to either the co-located mobile node,
and/or the foreign agent whose NAI appears in the registration
request, it MUST include a revocation support extension in the
mobile-home portion of the registration reply if it agrees to notify
the mobile node of a release of this registration, and/or MUST include
a revocation support extension in the foreign-home portion of the
registration reply if it agrees to notify the foreign agent of a
release of this registration.  Note that, as determined by the
security association with the foreign agent, it may be necessary for
the home agent to include its NAI extension for use by the foreign
agent in authenticating the registration reply.

Upon release of this registration, if revocation support was
negotiated with BOTH the co-located mobile node, and the foreign
agent, revocation messages for this binding MUST be first sent to the
mobile node's co-located care-of address to ensure that they reach it.
This includes the time for any necessary retransmissions should a
revocation acknowledgment not be forthcoming.  A revocation message


S. Glass, M. Chandra      Expires August 2003                  [page 28]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

MUST then be sent to the foreign agent.  If a revocation message was
sent to the foreign agent first, there may be no way for a revocation
message to then reach the mobile node.  Also, in order for the home
agent to be able to send a revocation message to the foreign agent, it
is presumed that the source IP address of the most recently accepted
registration request is that of the foreign agent, or that the
security association between the home and foreign agents contains
(among other things) the NAI and IP addresses of the foreign agent.



   5.  Error Codes

As the intent of a registration revocation message is not a request to
discontinue services, but is a notification that Mobile IP services
are discontinued, there are no new error codes.



   6.  Multiple Binding Support

RFC 3344 [1] allows a mobile node to register multiple care-of
addresses with its home agent.  Each one of these bindings is it's own
discrete registration, and hence can be treated as a separate case for
registration revocation.  Consider the situation where a mobile node
has multiple care-of addresses registered with a single foreign agent
(either because the mobile node has multiple co-located care-of
addresses on a single link, and the foreign agent has the 'R' bit set,
or because the foreign agent is multi-homed and the mobile node has
registered all these care-of addresses using multiple binding support
[1]).  Either agent can indicate the revocation of all these bindings
by identifying the mobile node's home address, and home agent address,
and setting the care-of address field to the zero address (and their
addresses in the correct places), indicating all care-of addresses
being used by the indicated mobile node that are bound to the agent
identified by this revocation message.

If a foreign agent revokes a particular mobile node's binding(s), the
home agent MAY or MAY NOT then revoke any of the mobile node's other
bindings (with other foreign agents).  If a home agent is revoking one
of a mobile node's bindings, it MAY revoke none, or all of the mobile
node's other bindings as it sees fit.  If a home agent decides to
revoke a single binding for a mobile node, the foreign agent MAY
decide to revoke other bindings for the same mobile node as it sees
fit.

The revocation mask is designed to make revoking multiple bindings
easy to specify, be they for multiple mobile nodes, or
multiply-registered mobile nodes, even in situations where network


S. Glass, M. Chandra      Expires August 2003                  [page 29]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

topologies make revoking multiple mobile node bindings difficult to
specify numerically through the use of NAIs.



   7.  Security Considerations

There are two basic susceptibilities, one in agent advertisement
mechanism, and one relating to unauthorized revocation messages.


   7.1  Agent Advertisements

Although the mechanisms defined by this document do not introduce this
problem, it has been recognized that agent advertisements as defined
in [1] subject mobile nodes to a denial-of-service potential.  This is
because the agent advertisements as defined in [1] may be spoofed by
other machines residing on the link.  This makes it possible for such
nodes to trick the mobile node into believing its registration has
been revoked either by unicasting an advertisement with a reset
sequence number to the link-local address of the mobile node, or by
broadcasting it to the subnet, thereby tricking all mobile nodes
registered with a particular foreign agent into believing all their
registrations have been lost.  For particulars regarding this issue,
the reader is referred to [5].

There has been some work in this working group and others (e.g. IPSec)
to secure such router advertisements, though at the time of this
publication, no solutions have become common practice.  To help
circumvent possible denial of service issues here, bringing their
potential for disruption to a minimum, mobile node implementors should
ensure that any agent advertisement which doesn't conform to a strict
adherence to [1], specifically those whose TTL is not 1 or e.g. which
do not emanate from the same link-address (when present) as the last
successful registration reply, be silently discarded.


    7.2  Revocation Messages

As registration revocation, when performed, terminates Mobile IP
services being provided to the mobile node, it is crucial that all
security and replay protection mechanisms be verified before a
mobility agent believes that the other agent has revoked any bindings.
Messages which are sent link-local (e.g. between mobile node and
foreign agent) MAY also be secured by methods outlined in [1], namely
the use of mobile-foreign authenticators, but these have no direct
relation to registration revocation.




S. Glass, M. Chandra      Expires August 2003                  [page 30]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

RFC 3344 [1] defines a security mechanism that MUST be used between
home agents and mobile nodes, and MAY used between home agents and
foreign agents, namely the use of authenticators.  Revocation messages
defined in this document which are passed between home and foreign
agents in the revocation process MUST be protected by either the same
foreign-home authenticators defined in [1], or another authentication
mechanism at least as secure and agreed upon by the end agents, e.g.,
IPSec and IKE.  It is important that domains using registration
revocation negotiate security associations commensurate with the level
of protection needed to secure these messages.  When the mechanism to
revoke multiple mobile node bindings with a single revocation message
is employed (namely the revocation mask), it is advised that domain
policy allow for strong authentication such as IPSec and IKE between
the end agents to be used.  This is recommended since the Mobile IP
authentication used to set up a MN binding is between a particular MN
and home agent, and may not be sufficient to authorize the revoking of
multiple MNs.  Robust security policy between the end agents will
thwart denial-of-service attacks that may arise if multiple MN
bindings are revoked and cleared without proper authorization.

Revocation messages for single bindings are at least as secure as
registration messages passed between home and foreign agents and
containing home-foreign authenticators as defined in [1].  Thus, there
are no new security threats introduced by the revocation mechanism
than those present in [1] with respect to the compromise of the shared
secret which is used to generate the home-foreign authenticators.

That said, there are two types of replay attacks which use messages
captured "in flight" by a man-in-the-middle between the home and
foreign agents - "malicious repeaters" and "malicious reflectors".

In the case of a "malicious repeater", a man-in-the-middle captures a
revocation message then replays it to the same IP destination address
at a later time.  Presuming the authenticator of the original packet
was deemed valid, without replay protections the home-foreign
authenticator of the replayed packet will (again) pass authentication.
Note that since datagrams are not guaranteed to arrive unduplicated, a
replay may occur by "design".

In the case of a "malicious reflector" where a man-in-the-middle
captures a revocation message then returns it to its originator at a
later time.  If the security association between home and foreign
domains uses a security association involving a (single) shared secret
which only protects the contents of the UDP portion of the packet
(such as home-foreign authenticators as defined by [1]), without
replay protection the sender of the packet will also believe the
revocation message to be authentic.




S. Glass, M. Chandra      Expires August 2003                  [page 31]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

The replay protection mechanism used by the revocation messages
defined by this document is designed to protect against both of these
man-in-the-middle attacks.  As a benefit, by using a 32-bit timestamp
it can be more quickly determined if revocation messages are replays,
though the reader is advised to use caution in this approach.  An
agent which receives an authenticated revocation message can compare
the Identifier field to that of a previously received revocation
message, and if the timestamp in the new message is found to have been
generated after that of the time-stamp in the last revocation message
received, it can immediately be determined as not being a replay.
Note however that since datagrams are not guaranteed to arrive in
order, it should not be presumed that because the values contained in
an Identifier field are timestamps that they will necessarily be
increasing with each successive revocation message received.  Should
an implementor decide to base his replay detection mechanism on
increasing timestamps, and therefore increasing Identifier values, a
suitable time window should be defined in which revocation messages
can be received.  At worst, ignoring any revocation message should
result in the retransmission of another revocation message, this time
with timestamp later than the last one received.

Note that any registration request or reply can be replayed.  With the
exchanging of time-stamps by agents in revocation extensions, an agent
should have a belief that such messages have been delivered in a
timely manner.  For purposes of registration revocation, the
timeliness of a registration packet is simply based on the granularity
of each registration.  Since [1] provides a replay mechanism for the
home agent to use, it has a way to tell if the registration request
being presented to it is new.  The foreign agent, however, has no such
mechanism in place with the mobile node.  Foreign agents are advised
to continue to consider registrations 'outstanding' until the
associated registration reply is returned from the home agent before
using the information in either in its visitor entries.  Even so, this
leaves the foreign agent open to a potential denial of service attack
in which registration requests and replies are replayed by multiple
nodes.  When this happens, the foreign agent could be lead to believe
such registrations are active, but with old information, which can
have adverse effects on them, as well as to the ability of that agent
to successfully use the procedures outlined in this document.
Sufficient protection against this scenario is offered by the
challenge-response mechanism [9] by which a foreign agent generates a
live challenge to a mobile node for the purposes of making sure, among
other things, that the registration request is not a replay.

RFC 2794 [4] describes the use of the Network Access Identifier in
Mobile IP.  Its relevant use here is for agents to be able to identify
each other in a revocation message.  In cases where foreign and home
domains are going to approve registrations from co-located mobile
nodes (registering with the 'D' bit [1]), and in topologies where the


S. Glass, M. Chandra      Expires August 2003                  [page 32]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

foreign agent is setting the 'R' bit in its agent advertisements [1],
if the agents are going to use their NAIs to identify themselves the
security association they share MUST include the IP address the
registration revocation messages are to be sent to, and will be sent
from.  For a more involved discussion, see Appendix A.














































S. Glass, M. Chandra      Expires August 2003                  [page 33]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Appendix A:  Registration Revocation in 'R' and 'D' Bit Worlds.

Two issues influence the registration of a mobile node on a foreign
subnet.  First is the mobile node's desire to co-locate (use of the
'D' bit).  Second is whether the foreign domain is requiring
registration through foreign agents (the infamous 'R' bit).  This
leads to several different registration topologies in Mobile IP (note:
cases where the mobile node is using a private address are considered
in Appendix B):

        - The most generic is the mobile node that doesn't co-locate,
          and registers using a foreign agent's care-of address
          (regardless of the state of the 'R' bit in the foreign agent
          advertisements) to its home agent.  In this case, all the
          necessary information to revoke a mobile node's registration
          is contained in the registration.  The security association
          between the agents can be based on IP address, or NAI.

        - Second is a mobile node that co-locates, then registers
          directly to its home agent without registering through a
          foreign agent (foreign agents ignored, 'R' bit irrelevant).
          In this case, the home agent MAY notify the mobile node that
          its registration is being revoked, but it isn't possible
          through Mobile IP for the foreign domain to revoke a mobile
          node's registration in this way, nor is it possible for a
          foreign domain to suspend Mobile IP services being provided
          to a co-located mobile node as the mobile node is doing its
          own tunnel decapsulations.

        - Lastly is a mobile node that co-locates setting the 'D' bit,
          then due to the presence of the 'R' bit in the agent
          advertisement(s), registers through a foreign agent with its
          home agent.

In the last case, the mobile node has set MNaddr in the registration
request to it's home address, HAaddr to that of its home agent, and
COaddr to its co-located address.  Note that nowhere in this
registration request appears the IP address of any foreign agent.
Upon sending the registration request to a foreign agent, that foreign
agent processes the registration, remembering the information it
contains.  If the foreign agent shares a security association with the
identified home agent, it MUST append its NAI, and a foreign-home
authenticator.  The foreign agent then sends the registration request
to the identified home agent using its IP address as the source
address of the datagram.  Upon receiving such a registration request,
the home agent MUST check the foreign-home authenticator.  It does so
by using the NAI if present, or perhaps the source address of the
request. The registration reply the home agent sends MAY contain the


S. Glass, M. Chandra      Expires August 2003                  [page 34]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

home agent's NAI, but it MUST contain a home-foreign authenticator if
a foreign-home authenticator was present in the registration request,
and the home agent MUST send the registration reply to the source
address of the registration request [1], in this case the IP address
of the foreign agent.

Note that in cases where a foreign agent is able to revoke the
registration of a co-located mobile node, it is expected that such a
foreign agent has the power to control the data-flow of a co-located
mobile node even though tunnel datagrams are being addressed directly
to the mobile node.  This is akin to how such a foreign agent would
enforce the 'R' bit, preventing the mobile node from sending the
registration request directly to the home agent.






































S. Glass, M. Chandra      Expires August 2003                  [page 35]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Appendix B:  Disparate Address, and Receiver Considerations

Since the registration revocation message comes from a source address
that is topologically routable from the interface receiving the
datagram, the agents, by definition, are topologically connected (if
this were not the case, the initial registration mechanism would have
failed).  If either are the ultimate hop from this topologically
connected region to one or more disparate address spaces, no problems
are foreseen.  In order for the mobile node to have successfully
registered with its home agent, it MUST have provided to the network
(foreign agent) to which it is currently attached a routable address
of its home agent.  Conversely, the care-of address being used by the
mobile node must also be topologically significant to the home agent
in order for the registration reply to have been received, and the
tunnel initiated.  By definition, then, the home agent address and the
care-of address must each be significant, and either address must form
a unique pair in the context of this mobile node to both agents.

Another way of understanding this is that the tunnel endpoint are in
some way connected, and hence each are unique as far as the other end
is concerned.  The address at the other end of the tunnel, in
combination with the address of the mobile node, must therefore form a
unique pair that can be identified by the agent receiving the
registration revocation message.

As an example, consider a mobile node who's home address lies in
disparate address space A behind it's home agent.  In the following
diagram, [*] indicates an interface of the entity in which it appears.

    MN[a]-----[c]FA[b]=====((()))=====[b]HA[a]-----[a]CN

        Address      Some topologically      Address
        Space C       connected network       Space A

We presume a binding for MN exists, and hence a tunnel between FA[b]
and HA[b] exists.  Then, since the address assigned to MN[a] MUST be
unique in address space A, the pair {FA[b],MN[a]} is guaranteed to be
unique in the binding table of HA, and the pair {HA[b],MN[a]} is
guaranteed to be unique in the foreign agent's visitor list.

As a result, a home agent receiving a registration revocation message
and foreign-home authenticator for MN[a] from FA[b] is able to
determine the unique mobile node address(es) being deregistered.
Conversely a foreign agent receiving a registration revocation message
and home-foreign authenticator for MN[a] from HA[b] is able to
determine the exact mobile node address being deregistered.
For this reason, if a foreign agent receives a registration revocation
message with the home domain field set to the zero address it MUST be


S. Glass, M. Chandra      Expires August 2003                  [page 36]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

silently discarded.  This is to prevent confusion in the case of
overlapping private addresses; when multiple mobile nodes are
registered via the same care-of address and coincidentally using the
same (disparate/private) home address, the home agent address
appearing in the home domain field is the only way a foreign agent can
discern the difference between these mobile nodes.













































S. Glass, M. Chandra      Expires August 2003                  [page 37]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Appendix C:  Using Registration Revocation to Help Release Resources

When a mobile node moves out/around a foreign domain from where it had
registered, relevant resources at a previous foreign agent may be
consumed until its visitor entry for the mobile node expires.  For
example, consider a cdma2000 network deployment using Mobile IP.  The
Wireless IP Network Standard [8] defines foreign agent/Packet Data
Servicing Node (PDSN) procedures for managing the PPP session for a
mobile node, i.e., when the Radio Network opens an R-P session for an
mobile node, the foreign agent/PDSN initiates establishment of a PPP
session. As a mobile node moves from one foreign domain serviced by a
foreign agent/PDSN (source PDSN) to another PDSN (target PDSN) during
an inter-PDSN handoff, a Mobile IP registration is sent to the home
agent and a new PPP session is established at the target PDSN.  The
PPP session at the source PDSN remains exhausted until the PPP
inactivity timer expires. Maintaining these PPP sessions may consume
valuable resources at the source PDSN that could otherwise be used to
support additional mobile nodes.

Registration revocation messages can be used to help identify
resources that could be released (without actually having an
administrative revocation).

To accomplish this, the revocation support extension would need to be
appended to a registration request as it is forwarded by a foreign
agent that supports registration revocation.  Note that the revocation
support extension is protected by the foreign-home authenticator.  When
a home agent that supports registration revocation receives such a
registration request, as required by this specification it MUST record
the capability of this foreign agent. The home agent may then use a
registration revocation message to notify this foreign agent if the
mobile node's care-of address changes, e.g., when the mobile node
moves from one foreign agent to another, or when the mobile node
deregisters with the home agent.  As a result, upon receipt of an
authenticated revocation message, the foreign agent can delete the
visitor entry for this mobile node, thereby releasing the resources
being used to support it.













S. Glass, M. Chandra      Expires August 2003                  [page 38]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Appendix D: An Example of the New Messages in Use

For clarity, the following examples are meant to illustrate the use of
these messages in the registration phase, and the revocation phase.
In cases where there may be some question to the order of processing,
any order indicated by [1] MUST be followed.


   D.1  The Registration Phase

A foreign agent that supports registration revocation, and has a
security association with a home agent to which it is forwarding a
registration request MAY include the revocation support extension
after the mobile-home authenticator. If the foreign agent supports the
use of the 'I' bit, and is willing to let the home agent decide if the
mobile node should be informed of the revocation of its registration,
it MAY set the 'I' bit to '1'.  If the foreign agent is willing to
process revocation messages with a non-zero mask, it SHOULD set the
'M' bit to '1'.  Additionally, the foreign agent MUST append a
foreign-home authenticator to the registration request, and include
any other extension needed by the foreign agent to verify the
authenticator [1].

Upon receiving a registration request containing a revocation
extension, a home agent that supports registration revocation MAY
include a revocation support extension in the registration reply.  If
the foreign agent set 'I' bit to '1' in its revocation extension, and
the home agent supports the use of the 'I' bit, and wishes to
determine whether this mobile node is to be informed in the event that
its registration has been revoked, the home agent MUST set the 'I' bit
in its registration extension to '1'.  The home agent should note the
value of the 'M' bit, and if the home agent is willing to process
revocation messages with a non-zero mask, it SHOULD set the 'M' bit in
its revocation extension to '1'.  Additionally, the home agent MUST
append a home-foreign authenticator to the registration request, and
include any other extension needed by the foreign agent to verify the
authenticator [1].

Upon receiving the authenticated registration reply, the foreign agent
MUST check the revocation support extension.  If none is present, the
foreign agent SHOULD assume that the home agent doesn't understand
revocation messages, or is unwilling to participate.  If a revocation
support extension is present, and if the foreign agent included the
revocation extension in the registration request with the 'I' bit set
to '1', the foreign agent MUST check the 'I' bit to see if the home
agent wants to decide if the mobile node should be notified in the
event this registration is revoked.  The foreign agent SHOULD also
note the value of the 'M' bit as set by the home agent.


S. Glass, M. Chandra      Expires August 2003                  [page 39]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


   D.2  The Revocation Phase

If a foreign agent wishes to inform a home agent that is is revoking a
mobile node's registration, it generates a revocation message.  If the
'I' bit was negotiated in the revocation extensions, and the foreign
agent is willing to let the home agent indicate whether this mobile
node should be informed that its registration has been revoked, it
will set the 'I' bit to '1'.  The foreign agent will also place the
address of the mobile node whose registration it wishes to revoke in
the home address field, the address that mobile node registered as the
care-of address in the foreign domain field, and the address the
mobile node registered in the home domain address field.
Alternatively, if the home agent set the 'M' bit to '1' in its most
recent revocation extension, the foreign agent MAY set any of the
addresses to a subnet-like value, and set the mask to a corresponding
non-zero value.  The foreign agent MUST set the Revocation Identifier
to the current 32-bit timestamp.  If the Mask was set to a non-zero
value, the foreign agent MUST attach the necessary prefix length or NAI
extensions as described by section 3.3.1.  The foreign agent MUST also
append a foreign-home authenticator, and any additional information it
needs to include for the home agent to validate it (e.g. if the
care-of address is not its own, it can use its NAI extension).

Upon receiving the above revocation message, the home agent assures
the revocation is protected with a valid foreign-home authenticator.
The home agent uses either the foreign agent NAI if present, or the
address identified as the foreign domain address to identify the
security association, and authenticate the revocation message.  If the
authenticator is bad, the home agent MUST ignore, and silently discard
the revocation message.  If the authenticator is good, the home agent
MUST check to make sure the Identifier does NOT indicate this
revocation is a replay.  The home agent then uses the mobile node home
address, foreign domain address, and home domain address to locate the
mobile node(s) whose registration(s) is/are being revoked.  If the
Mask is set to a non-zero value, and the home agent is unwilling to
process multiple revocations, it MUST silently ignore the revocation
message.

Upon processing a valid registration revocation message, the home
agent MUST generate a revocation acknowledgment message.  If the 'I'
bit was negotiated in the registration phase for the binding(s)
identified, the home agent will check to see if the 'I' bit is set to
'1' in the revocation message.  If so, and the home agent wishes for
the identified mobile node(s) to be informed of the revocation, it
MUST set the 'I' bit in the revocation acknowledgment to '1', or if
the home agent does not wish the identified mobile node(s) to be
informed of the revocation, it MUST set the 'I' bit in the revocation
acknowledgment to '0'.  The home agent then copies the home addresses,


S. Glass, M. Chandra      Expires August 2003                  [page 40]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003

and the Revocation Identifier field into the reply.  The home agent
MUST protect the revocation acknowledgment with either a home-foreign
authenticator (and any other extension necessary for the foreign agent
to authenticate the home-foreign authenticator, e.g. its NAI
extension), or any method deemed suitable by the home-foreign security
association.

Upon receiving a valid revocation acknowledgment (in which the
authenticator and Identifier fields are acceptable), if the foreign
agent set the 'I' bit in the revocation message to '1', it MUST check
the 'I' bit in the revocation acknowledgment, and if set to '1', MUST
notify the mobile node of the revocation, or if the 'I' bit is set to
'0' in the revocation acknowledgment, the foreign agent MUST NOT
notify the mobile node of the revocation.





































S. Glass, M. Chandra      Expires August 2003                  [page 41]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Acknowledgments

The authors would like to thank Rajesh Bhalla, Kent Leung, and Alpesh
Patel for their work on draft-subbarao-mobileip-resource-00.txt
"Releasing Resources in Mobile IP" from which the revocation support
extension, and the acknowledgment mechanism contained in this document
were derived.  The authors would also like thank Pete McCann for his
discussions on replay mechanisms, and security concerns, and Ahmad
Muhanna for pointing out a problem with the initial replay mechanism,
which eventually lead to the addition of the timestamp in the
Revocation Extension.



Where To Direct Comments

   Questions and comments about this draft should be directed at the

   Mobile IP working group:
        mobile-ip@sunroof.eng.sun.com

   Questions and comments about this draft may also be directed to the
   authors:

      Steven M. Glass                    Madhavi W. Chandra
      Solaris Network Technologies       IOS Technologies Division
      Sun Microsystems                   Cisco Systems
      1 Network Drive                    7025 Kit Creek Road
      Burlington, MA.  01801             Research Triangle Park,
                                           NC 27709

      Phone:  1.781.442.0504             Phone: 1.919.392.8387
      Fax:    1.781.442.1706               
      E-mail: steven.glass@sun.com       E-mail: mchandra@cisco.com
















S. Glass, M. Chandra      Expires August 2003                  [page 42]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


References

[A] Mobile IP Authentication, Authorization, and Accounting Requirements
    RFC 2977, October 2000
    S. Glass, T. Hiller, S. Jacobs, C. Perkins.

[B] Criteria for Evaluating AAA Protocols for Network Access
    RFC2989, November 2000
    B. Aboba, P. Calhoun, S. Glass, T. Hiller, P. McCann, H. Shiino,
    P. Walsh, G. Zorn, G. Dommety, C. Perkins, B. Patil, D. Mitton,
    S. Manning, M. Beadles, X. Chen, S. Sivalingham, A. Hameed,
    M. Munson, S. Jacobs, B. Lim, B. Hirschman, R. Hsu, H. Koo,
    M. Lipford, E. Campbell, Y. Xu, S. Baba, E. Jaques

[1] IP Mobility Support for IPv4
    RFC3344, August 2002
    C. Perkins, Editor.

[2] Reverse Tunneling for Mobile IP, revisited
    RFC3024, January 2001
    G. Montenegro, Editor.

[3] ICMP Router Discovery Messages
    RFC 1256, September 1991
    S. Deering, Editor.

[4] Mobile IP Network Access Identifier Extension for IPv4
    RFC 2794, March 2000
    P. Calhoun, C. Perkins.

[5] Security Issues in Mobile IP
    draft-glass-mobileip-securities-issues-02.txt
    S. Glass.

[6] Key Words for us in RFCs to Indicate Requirement Levels
    RFC 2119, March 1997
    S. Bradner

[7] CIDR and Classful Routing
    RFC 1817, August 1995
    Y. Rekhter
 
[8] TIA/EIA/IS-835, Wireless IP Network Standard, June 2000.

[9] Challenge/Response in Mobile IPv4
    RFC 3012, November 2000
    C. Perkins, P. Calhoun



S. Glass, M. Chandra      Expires August 2003                  [page 43]

Internet Draft   Registration Revocation in Mobile IPv4    February 2003


Full Copyright Statement

     "Copyright (C) The Internet Society (2001 - 2002).  All Rights
     Reserved."

     This document and translations of it may be copied and furnished
     to others, and derivative works that comment on or otherwise
     explain it or assist in its implementation may be prepared,
     copied, published and distributed, in whole or in part, without
     restriction of any kind, provided that the above copyright notice
     and this paragraph are included on all such copies and derivative
     works.  However, this document itself may not be modified in any
     way, such as by removing the copyright notice or references to
     the Internet Society or other Internet organizations, except as
     needed for the purpose of developing Internet standards in which
     case the procedures for copyrights defined in the Internet
     Standards process must be followed, or as required to translate
     it into languages other than English.

     The limited permissions granted above are perpetual and will not
     be revoked by the Internet Society or its successors or assigns.

     This document and the information contained herein is provided on
     an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
     ENGINEERING TASK FORCE DISCLAIMS 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.





















S. Glass, M. Chandra      Expires August 2003                  [page 44]

PAFTECH AB 2003-20262026-04-21 10:07:54