MIP6 Working Group                                       G. Giaretta
   Internet Draft                                           I. Guardini
   Expires: January 14, 2005                                 E. Demaria
                                                                  TILab
                                                           J. Bournelle
                                                 M. Laurent-Maknavicius
                                                                GET/INT
                                                          July 16, 2004

            MIPv6 Authorization and Configuration based on EAP
              <draft-giaretta-mip6-authorization-eap-01.txt>


Status of this Memo

   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   and any of which I become aware will be disclosed, in accordance
   with RFC 3668.

   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.

   This Internet-Draft will expire on January 14, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

   This draft defines an architecture, and related protocols, for
   performing dynamic Mobile IPv6 authorization and configuration
   relying on a AAA infrastructure. The necessary interaction between
   the AAA server of the home provider and the mobile node is realized
   using EAP, exploiting the capability of some EAP methods to convey


Giaretta, et al.       Expires - January 2005                 [Page 1]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   generic information items together with authentication data. This
   approach has the advantage that the access equipment acts as a simple
   pass-through for EAP messages and therefore does not play any active
   role in the Mobile IPv6 negotiation procedure, which makes the
   solution easier to deploy and maintain.


Table of Contents

   1.   Introduction................................................2
   2.   Terminology.................................................3
   3.   Protocol Overview...........................................3
   4.   Requirements on EAP methods.................................8
   5.   Detailed Description of the Protocol........................9
      5.1  Mobile Node bootstrap....................................9
      5.2  Management of reauthentication events...................14
   6.   Home Agent considerations..................................15
      6.1  Requirements on AAAH-HA communication...................15
      6.2  Management of MIPv6 authorization state.................16
   7.   New EAP TLVs...............................................17
   8.   Security Considerations....................................22
   Acknowledgments.................................................22
   References......................................................22
   Authors' Addresses..............................................24
   Intellectual Property Statement.................................25


1. Introduction

   Mobile IPv6 [1] requires that Mobile Nodes (MNs) and Home Agents
   (HAs) share a set of configuration parameters: the MN must know its
   Home Address, the Home Agent Address and the cryptographic material
   needed to protect MIPv6 signaling (e.g. shared keys or certificates
   to setup an IPsec security association). MIPv6 base protocol does not
   specify any method to automatically acquire this information; which
   means that network administrators are normally required to manually
   set configuration data on MNs and HAs.

   Manual configuration of Home Agents and Mobile Nodes also works as an
   implicit method for Mobile IPv6 authorization, because only the users
   that have been administratively enabled on a specific Home Agent are
   allowed to exploit Mobile IPv6 and its features.

   However, in a large network (e.g. the network of a mobile operator),
   which may include millions of users and many Home Agents, the
   operational and administrative burden of this procedure may easily
   become overwhelming. In addition, the extensive use of manual and
   static configurations limits the flexibility and reliability of the
   system, in that it is not possible to dynamically assign the HA when


Giaretta, et al.           Expires - January 2005            [Page 2]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   the user enters the network, which would help to optimize performance
   and resource utilization (e.g. assignment of the HA closest to the
   MN's point of attachment).

   This is generally referred as the Mobile IPv6 bootstrapping problem.
   As discussed in [2], several bootstrapping scenarios can be
   identified depending on the relationship between the network operator
   providing IP services to the MN (Access Service Provider, ASP) and
   the service provider managing the HA (Mobility Service Provider,
   MSP). This document describes a solution to the bootstrapping problem
   that is applicable in a scenario where the ASP and the MSP are the
   same provider (Integrated ASP, IASP).

   The proposed solution performs dynamic Mobile IPv6 authorization and
   configuration together with MN authentication for network access.
   MIPv6 negotiation and bootstrapping is controlled by the AAA server
   of the home provider (IASP), that interacts with the mobile node
   relying on AAA routing and EAP, exploiting the capability of some EAP
   methods (e.g. PEAPv2 [4], EAP-FAST [5]) to convey generic information
   items together with authentication data.


2. Terminology

   General mobility terminology can be found in [3]. The following
   additional terms are used here:

   ASP     Access Service Provider

   IASP    Integrated Access Service Provider

   MSP     Mobility Service Provider

   AAA     Authentication Authorization Accounting

   AAAH    AAA server of the Home domain


3. Protocol Overview

   The basic idea behind the solution proposed herewith is to perform
   Mobile IPv6 authorization and configuration during the authentication
   procedure undertaken by the Mobile Node to gain network access.
   In particular, this draft defines a method to:

   - explicitly authorize the use of Mobile IPv6 based on the service
     profile of the user, its position within the network, etc.

   - dynamically allocate a Home Agent to the Mobile Node;


Giaretta, et al.           Expires - January 2005            [Page 3]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004



   - dynamically configure Mobile IPv6 start-up parameters (i.e. MIPv6
     bootstrapping) on both the Home Agent and the Mobile Node. These
     parameters include the Home Address and the cryptographic material
     needed to set-up the IPsec Security Association used to protect
     Mobile IPv6 signaling (i.e. Binding Updates and Binding
     Acknowledgements);

   - allow the MN to negotiate additional Mobile IPv6 service options,
     such as the assignment of a HA within the visited domain.

   Figure 1 shows the overall architecture of the solution proposed in
   this draft. The central element of the architecture is the AAA server
   of the Home Domain (i.e. AAAH), which interacts with both the MN and
   the selected HA to perform service authorization and configuration.


                                  AAA
                                 Client
                 IEEE 802.1x    +------+      RADIUS
                   or PANA      |      |    or Diameter
    +--------+ /--------------EAP Exchange-----------------\ +--------+
    | Mobile |/ <------------Authentication---------------> \|  AAAH  |
    |  Node  |\ <--MIPv6 authorization and configuration--> /| Server |
    +--------+ \-------------------------------------------/ +--------+
                                |      |                         /\
                                +------+                        /||\
                                 Router                          ||
                                 or AP                 AAAH-HA   ||
                             (pass through)            Protocol  ||
                                                                \||/
                                                                 \/
                                                             +--------+
                                                             |  Home  |
                                                             |  Agent |
                                                             +--------+

                     Figure 1 - Solution architecture

   The solution is applicable to any access network relying on EAP [6]
   for user authentication and works with all EAP methods supporting the
   exchange of general purpose information elements, in the form of TLVs
   or AVPs, between EAP peers. Exploiting this capability, MN and AAAH
   can embed MIPv6 negotiation signaling within the same EAP
   conversation used to carry out user authentication.

   This kind of operation is already supported by several tunneled (e.g.
   PEAPv2 [4]) and non tunneled (e.g. EAP-IKEv2 [8]) EAP methods, that
   also include native support for encryption, authentication and


Giaretta, et al.           Expires - January 2005            [Page 4]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   integrity protection of exchanged configuration information (e.g. HA
   address).

   Figure 2 shows an overview of the procedure defined to handle MIPv6
   bootstrap on the Mobile Node. For the sake of simplicity it is
   assumed that the employed AAA protocol is Diameter, but obviously
   RADIUS is suitable as well.

   The whole procedure can be divided in six steps:

   1.EAP identity exchange (i.e. exchange of EAP Request Identity and
     EAP Response Identity messages);

   2.set-up of a protected channel (e.g. TLS tunnel) for the delivery
     of subsequent EAP signaling. This is an optional step that is
     present only if the EAP method provides confidentiality support.
     It is mandatory only if the MIPv6 negotiation procedure involves
     the exchange of sensible information;

   3.authentication phase. The actual authentication procedure and its
     security properties depend on the selected EAP method. In tunneled
     EAP methods (e.g. PEAPv2) this step may involve one or more
     complete EAP conversations occurring within a previously
     negotiated TLS session. Each EAP conversation may accomplish user
     authentication relying on any available EAP method (e.g. EAP-MD5,
     EAP-SIM, EAP-AKA);

   4.Mobile IPv6 service authorization and configuration. MN and AAAH
     exchange a sequence of signaling messages to authorize and
     configure Mobile IPv6. Those messages are encapsulated in TLVs (or
     AVPs) delivered as part of the on-going EAP session. If the EAP
     method provides confidentiality this protocol handshake is
     encrypted using the previously negotiated ciphersuite. During this
     phase, AAAH selects a suitable Home Agent for the MN and exchanges
     authorization and configuration data with it using a AAAH-HA
     protocol (e.g. SNMPv3 [16], COPS-PR [15], a new Diameter
     application), whose specification is out of the scope of the
     present document. At the end of this phase, the MN knows its own
     Home Address, the address of the correspondent Home Agent and the
     cryptographic material (i.e. pre-shared key) needed to set-up an
     IPsec security association with IKE [12]. The IKE pre-shared key
     can be either constructed by AAAH and then delivered to MN in a
     proper TLV or can be independently derived by MN and AAAH from the
     EAP key hierarchy;

   5.EAP session termination. Assuming the mobile node has been
     successfully authenticated, the AAAH server sends a Diameter EAP
     Answer message with Result-Code equal to SUCCESS and, optionally,
     other authorization AVPs containing some filtering rules to be


Giaretta, et al.           Expires - January 2005            [Page 5]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


     enforced on the NAS (e.g. the AP if the access network is a WLAN,
     or the Enforcement Point in case of an IP network running the PANA
     [13] protocol). Then the NAS extracts the EAP Success message from
     the Diameter EAP Answer and forwards it to the MN terminating the
     EAP session;

   6.set-up of IPsec Security Association and MIPv6 registration. At
     the end of the EAP communication, the MN gains network access and
     acquires a valid Care-of Address within the visited subnet (e.g.
     via stateless autoconfiguration); then, using the cryptographic
     material collected during the MIPv6 negotiation phase (step 4), it
     performs an IKE exchange to establish the IPsec Security
     Association with the HA. Finally, the MN performs MIPv6
     registration, sending a Binding Update (protected with IPsec) to
     the HA.


         EAP over
       IEEE 802.1x        EAP over Diameter             AAAH-HA
         or PANA    AAA      (or RADIUS)      AAAH      Protocol
    MN +---------+ Client +----------------+ Server +-------------+ HA

   1) <--Req. Id.---
      --Identity--->    --Diameter EAP Req.-->
       /-------------------------------------\
   2) /      Set-up of protected channel      \
      \      e.g. TLS Tunnel (optional)       /
       \-------------------------------------/
       /-------------------------------------\
   3) /            Authentication             \
      \                 Phase                 /
       \-------------------------------------/
       /-------------------------------------\ +-+ /--------------\ +-+
   4) /           Mobile IPv6 service         \| |/ HoA selection  \| |
      \    authorization and configuration    /| |\ and HA config. /| |
       \-------------------------------------/ +-+ \--------------/ +-+
                                            Home Agent             State
                                            Selection             Set-up

   5) <-----EAP-----    <-----Diameter EAP----
      Success/Failure   Answer (Success/Failure
                        and authorization AVPs)

       /----------------------------------------------------------\
   6) /           Set-up Security Association MN-HA and            \
      \     Mobile IPv6 registration (exchange of BU and BA)       /
       \----------------------------------------------------------/

          Figure 2 - Overview of Mobile IPv6 bootstrap procedure


Giaretta, et al.           Expires - January 2005            [Page 6]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   This draft also defines the procedures to handle re-authentication
   events and to manage the termination of the Mobile IPv6 session.

   In summary, the proposed architecture has the following advantages:

   - allows the operator to maintain a centralized management (on the
     AAA server) of the user profiles and the authentication,
     authorization and accounting procedures for any type of service,
     including Mobile IPv6;

   - improves the reliability and performance of the Mobile IPv6
     protocol, in that the HA to be dynamically assigned to the MN can
     be freely chosen among those that are closest to the user's point
     of attachment, thus optimizing network usage and reducing the
     transfer delay for data traffic in bi-directional tunneling;

   - can be deployed, or extended with new features, without having to
     update the access equipment and the AAA protocols in use. Only
     minor changes in the AAA servers, the Home Agents and the mobile
     terminals are required, in that the AAA client does not play any
     active role in MIPv6 negotiation (i.e. it is a pass-through for
     EAP signaling). This reduces the deployment costs and makes the
     solution easy to use even when a Mobile Node is roaming with a
     provider different from its own;

   - allows the usage of any AAA protocol supporting the transport of
     EAP messages for the communication between the AAA client and
     server (i.e. not just Diameter, but also RADIUS). This
     significantly simplifies the deployment of MIPv6 in existing
     communication networks, where support for Diameter protocol in
     access equipment is not so extensive.

   As a whole, the solution adds a maximum of 2 RTTs (see the detailed
   protocol description in section 5) to the EAP conversation carried
   out by the mobile node to authenticate itself and gain network
   access. The number of extra RTTs can be reduced if the employed EAP
   method has the capability of transporting MIPv6 negotiation TLVs (or
   AVPs) together with authentication data. Nonetheless, it should be
   noted that the full negotiation procedure can be undertaken by the MN
   only during its initial bootstrap, and therefore the performance
   requirements are not so strict.








Giaretta, et al.           Expires - January 2005            [Page 7]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


4. Requirements on EAP methods

   In EAP methods, the EAP peer and EAP server exchange data in order
   to authenticate the EAP peer and eventually the EAP server (mutual
   authentication). This draft proposes the use of these exchanges to
   transport MIPv6 parameters, as part of an handshake that requires at
   maximum 2 RTTs. Thus, the main requirement for the applicability of
   our proposal is:

   - the EAP method must provide a way to carry arbitrary parameters
     during or after the authentication phase. This implies that the
     EAP method must provide messages and mechanisms for this purpose.

   Then, for security reasons, the EAP method must provide the following
   properties:

   - mutual authentication: the EAP method must provide mutual
     authentication. The access network must authenticate users
     before granting them Mobile IPv6 service and the EAP peer should
     authenticate the access network before delivering sensitive
     data;

   - integrity: the exchanged MIPv6 parameters must be protected
     against any alteration and thus the EAP method must provide
     integrity protection;

   - replay protection: the EAP messages containing MIPv6 parameters
     must be protected against Replay Attack, so that an attacker is
     not able to get previous given data by replaying an old request;

   - confidentiality: depending on which data the AAA server provides
     to the mobile node (e.g. an IKE pre-shared key), it may be
     necessary to protect the message exchange against eavesdropping.

   The table below checks some existing EAP methods against the
   requirements listed above.















Giaretta, et al.           Expires - January 2005            [Page 8]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


     M-A: Mutual Authentication
     R-P: Replay Protection

                  +---+----------+---+---------------+-------------+
                  |   |          |   |               | Exchange    |
                  |M-A| Integrity|R-P|Confidentiality| of arbitrary|
                  |   |          |   |               | Parameters  |
     +------------+---+----------+---+---------------+-------------+
     | PEAPv2     | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-FAST   | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-TTLS   | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-IKEv2  | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-SIM    | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-AKA    | x |    x     | x |        x      |     x       |
     +------------+---+----------+---+---------------+-------------+
     | EAP-TLS    | x |    x     | x |        x      |             |
     +------------+---+----------+---+---------------+-------------+
     | EAP-MD5    |   |          |   |               |             |
     +------------+---|----------|---|---------------|-------------|


   In summary, it is possible to note that the procedure described in
   this draft can be successfully undertaken with several tunneled
   (PEAPv2, EAP-FAST and EAP-TTLS) and non tunneled EAP methods (EAP-
   IKEv2, EAP-SIM, EAP-AKA, EAP-TLS), that all support the transport of
   arbitrary parameters in the form of TLVs or AVPs.


5. Detailed Description of the Protocol

   This section details the procedures and message exchanges that can be
   adopted by the network operator to explicitly authorize the
   activation of Mobile IPv6 support for a specific user as well as
   enable dynamic bootstrapping of MIPv6 protocol parameters (e.g. Home
   Address, Home Agent Address).

5.1 Mobile Node bootstrap

   If EAP is used for access control, when the MN enters the network it
   is immediately polled for its identity, by means of an EAP Request
   Identity message. This message is used to start the EAP
   communication. The MN replies sending its identity, in the form of a
   NAI (Network Access Identifier), within an EAP Response Identity
   message, that is received by a local attendant (e.g. the Access Point


Giaretta, et al.           Expires - January 2005            [Page 9]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   in the case of a Wireless LAN) and forwarded via AAA routing to the
   AAAH server using the Diameter EAP Application (or the RADIUS EAP
   extensions). Then the AAAH server selects an EAP method (e.g. based
   on the user service profile) and proposes it to the MN in subsequent
   EAP messages. In order to enable the Mobile IPv6 negotiation
   procedure defined in this document, the EAP method chosen by the AAAH
   server must be an EAP method supporting the transport of general
   purpose and variable length information elements, in the form of TLVs
   (or AVPs), together with authentication data (see section 4).

   After this initial handshake, MN and AAAH undertake the actual
   authentication phase, that may require the exchange of a variable
   number of EAP Request/Response messages. In many EAP methods, like
   PEAPv2 or EAP-IKEv2, the authentication phase is preceded by the
   establishment of an encrypted channel between MN and AAAH that
   provides protection capabilities (i.e. privacy, integrity protection,
   etc.) for all the messages exchanged during the rest of the EAP
   conversation.

   As soon as the authentication phase is completed, the procedure for
   MIPv6 bootstrapping may take place. In order to do that, the MN and
   the AAAH server exploit the on-going EAP communication to exchange a
   sequence of signaling messages encapsulated in a new TLV, called
   MIPv6-Authorization-TLV. This TLV is used as a generic container for
   other, more specific, TLVs.

   The whole bootstrapping procedure is depicted in Figure 3.
























Giaretta, et al.           Expires - January 2005           [Page 10]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


                                          AAAH
       MN +----------------------------+ Server +----------------+ HA

                      <---------------------
                       MIPv6-Authorization-TLV(
                       Service-Status,
                       [Service-Options])

        ----------------------->
        MIPv6-Authorization-TLV(
        Service-Selection, [Service-Options],
        [Home-Agent-Address], [Home-Address],
        [Interface-Identifier])
                                             +-+                  +-+
                                             | |/----------------\| |
                                             | |\----------------/| |
                                             +-+                  +-+
                                          Home Agent              HA
                                          Selection              Conf.

                      <---------------------
                       MIPv6-Authorization-TLV(
                       Home-Address, HA-Address,
                       [IKE-PSK])

        ----------------------->
        MIPv6-Authorization-TLV(
        Negotiation-Result)

                Figure 3 - MIPv6 bootstrapping procedure

   AAAH starts the MIPv6 negotiation phase sending to the MN a MIPv6-
   Authorization-TLV including the following TLVs:

   - Service-Status-TLV: used to communicate whether the home domain is
     willing to provide Mobile IPv6 service to the MN. This might
     depend on the user service profile or on other administrative
     rules (e.g. service accountability);

   - Service-Options-TLV (optional): used to specify other service
     options the MN can ask for (e.g. allocation of a HA in the visited
     domain).

   MN replies to this first message confirming its intention to start
   Mobile IPv6 and, optionally, providing a set of hints on the desired
   service capabilities; this is achieved delivering a MIPv6-
   Authorization-TLV including the following TLVs:


Giaretta, et al.           Expires - January 2005           [Page 11]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   - Service-Selection-TLV: used by the MN to specify if it is willing
     to activate Mobile IPv6 protocol operation;

   - Service-Options-TLV (optional): used by the MN to communicate
     which service options, among those previously advertised by AAAH,
     it would like make use of;

   - Home-Agent-Address-TLV (optional): used by the MN to suggest a
     preferred Home Agent. This can be a HA with whom the MN has a pre-
     configured Security Association or a HA acquired through dynamic
     HA address discovery. The AAAH server treats this indication just
     as a hint, which means that, for administrative reasons, the MN
     may be assigned a Home Agent different from the one previously
     requested;

   - Home-Address-TLV (optional): used by the MN to suggest a preferred
     Home Address (e.g. an address pre-configured on one of its network
     interfaces); like the previous TLV, this indication is considered
     only as a hint by the AAAH server;

   - Interface-Identifier-TLV (optional): through this TLV, the MN can
     suggest a preferred Interface Identifier (selected according to
     [9] or following other criteria) to be used by the AAA
     infrastructure to build the Home Address starting from the
     selected home prefix. Also in this case, this information, if
     present, is treated as a pure hint by AAAH.

   If in the Service-Selection-TLV the MN has chosen not to make use of
   Mobile IPv6, AAAH terminates the EAP communication sending an EAP
   Success message, since the authentication procedure has been
   accomplished successfully.

   Otherwise, if the MN has confirmed its willingness to start MIPv6
   service, AAAH selects a suitable Home Agent through a Home Agent
   Selection Algorithm. Possible parameters to be taken into account by
   this algorithm include: current load of available HAs (e.g. number of
   active bindings), location of the MN and, eventually, the preferences
   provided by the MN itself in the previous message exchange (i.e.
   Service-Options-TLV, Home-Agent-Address-TLV, Home-Address-TLV). For
   example, based on the knowledge of the MN's current point of
   attachment (i.e. the current NAS), the AAAH server may select, among
   the HAs available in the home domain, the one that is closest to the
   MN in terms of IP routing hops. This approach is normally expected to
   improve performance. However, the detailed definition of a Home Agent
   Selection Algorithm is out of the scope of this document.

   After a suitable HA has been identified, AAAH interacts with it to
   dynamically configure all the state needed to enable subsequent MIPv6
   protocol operations, including the authorization lifetime of the


Giaretta, et al.           Expires - January 2005           [Page 12]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   MIPv6 service granted to the MN. Possible protocols that can be used
   for this purpose include Diameter (through a new Diameter
   Application), SNMPv3 or COPS-PR. Further details about this
   communication are provided in section 6. Anyway, the detailed
   specification of the interface between AAAH and HA is out of the
   scope of this document.

   As soon as the AAAH server has configured the state on the HA, it
   continues the EAP session communicating to the MN all the MIPv6
   configuration data it is waiting for. This is achieved delivering to
   the MN an EAP Request containing a MIPv6-Authorization-TLV and the
   following sub-TLVs: Home-Address-TLV (i.e. the home address) and
   Home-Agent-Address-TLV (i.e. the address of the HA).

   The pre-shared key needed to bootstrap the IKE session with the Home
   Agent, and set-up the correspondent IPsec Security Association, can
   be derived by the MN from the keying material exported by the
   employed EAP method. This approach provides excellent security
   guarantees but requires the definition of a specific Application
   Master Session Key (AMSK) [14] bound to MIPv6. Alternatively, if the
   on-going EAP session provides confidentiality support, the AAAH
   server can override the default behaviour by explicitly delivering a
   valid PSK to the MN within an IKE-PSK-TLV.

   After the MN has received all the configuration data from the AAAH
   server (i.e. HA address, Home Address and optionally the PSK), it
   sends back an EAP Response containing a Negotiation-Result-TLV,
   stating whether it accepts, or refuses, the proposed arrangement. If
   the MN refuses the configuration, the AAAH server should immediately
   release the resources previously allocated on the Home Agent.

   After the completion of the EAP session, MN holds all data needed to
   perform Mobile IPv6 registration: the MN knows its Home Address, the
   address of the correspondent Home Agent and all cryptographic data
   needed to establish the IPsec security association with it;
   furthermore, since it has been successfully authenticated, the MN can
   acquire an IPv6 address to be used as Care-of Address.

   The first operation carried out by the MN after the acquisition of
   the Care-of Address is the establishment of the IPsec Security
   Association with the HA, that is mandated by [1] to protect MIPv6
   location update signaling. Set-up of the IPsec SA can be accomplished
   following the procedure detailed in [11]. In this regard, it is
   important to note that:

   - since the mutual authentication in IKE Phase 1 is based on a Pre-
     Shared Key (PSK), Aggressive Mode must be used. This is because
     Aggressive Mode is the only way to use PSK authentication with a

Giaretta, et al.           Expires - January 2005           [Page 13]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


     NAI as peer identifier [12]. Indeed, the NAI of the MN is the only
     identity information stored in the HA (see section 6.2);

   - in IKE phase 1 messages, the source address used by the MN has to
     be the Care-of Address, as described in [11]; the Home Address is
     used only in IKE phase 2;

   - in IKE phase 2 (Quick Mode), while still using the CoA as source
     address of IKE messages, the MN has to use the Home Address as its
     peer identifier, so that the HA can correctly set the MN entries
     in its Security Policy Database (SPD) and in the Security
     Association Database (SAD).

   As soon as the IPsec Security Association is established, MN can send
   a Binding Update to the HA, thus starting up Mobile IPv6 service.

5.2 Management of reauthentication events

   At the expiration of AAA session time-outs or after a change in the
   point of attachment to the network (e.g. change of Access Point), a
   re-authentication procedure is performed leading to the user identity
   to be checked again along with its right to continue exploitation of
   network resources. To that purpose the AAAH server may repeat a full
   authentication or, alternatively, decide to use optimizations in
   order to make the procedure faster. Once this phase is completed the
   AAAH server also undertakes the re-negotiation of the MIPv6 service.

   Since the MIPv6 bootstrapping procedure is assumed to be completely
   stateless, when a re-authentication event occurs the AAAH server may
   not know the state of the MIPv6 service on the MN. For this reason
   the AAAH server starts the MIPv6 negotiation as in the bootstrap
   case: it delivers a MIPv6-Authorization-TLV containing a Service-
   Status-TLV and optionally a Service-Options-TLV.

   If the MIPv6 service is not active on the MN the procedure continues
   as described in section 5.1. Otherwise, the MN replies with a MIPv6-
   Authorization-TLV containing a Service-Selection-TLV indicating that
   the MIPv6 service is already in use. Furthermore, the MN inserts the
   Home-Agent-Address-TLV and the Home-Address-TLV to inform the AAAH
   server about its current state. The AAAH server can then get in touch
   with the HA to check the integrity of the state and eventually renew
   the MIPv6 authorization lifetime. If this procedure is accomplished
   successfully, the AAAH server terminates the EAP communication
   sending an EAP Success message. Otherwise, the AAAH server should
   continue the EAP communication renegotiating the MIPv6 service (i.e.
   allocation of a new HA and related Home Address).

   This solution can be easily deployed even within a network including
   several AAA servers, each one managing a subset of the available


Giaretta, et al.           Expires - January 2005           [Page 14]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   Network Access Servers (NASs). This is because the re-negotiation
   procedure does not assume to have any long term state related to
   Mobile IPv6 stored on the AAAH server. In this way, everything works
   correctly even if, due to MN's movements within the network, the AAAH
   server that handles the re-authentication is not the same server that
   authenticated the MN for the first time and performed the MIPv6
   bootstrapping procedure.


6. Home Agent considerations

   This section provides further thougths about the AAAH-HA
   communication and lists specific features that have to be supported
   by the Home Agent to allow dynamic negotiation of Mobile IPv6
   protocol parameters.

6.1 Requirements on AAAH-HA communication

   This draft details only the message exchange between the MN and the
   AAAH server. Obviously a complete Mobile IPv6 bootstrapping solution
   requires also the definition of a mechanism for the communication
   between the Home Agent and the AAAH server. Possible protocols that
   may be used for this purpose include SNMPv3, COPS-PR or Diameter.

   The selected protocol should allow the AAAH server to:

   - verify if the selected HA is available to serve the MN (e.g. based
     on current traffic load and on the number of active bindings);

   - send to the HA the MN's NAI, the authorization lifetime of the
     Mobile IPv6 service granted to the MN, the IKE PSK to be used to
     bootstrap the IPsec Security Association and, optionally, a set of
     hints for the construction of the Home Address (i.e. a preferred
     Home Address or a preferred Interface Identifier);

   - obtain from the selected Home Agent a valid Home Address to be
     assigned to the MN;

   - force the termination of the Mobile IPv6 service for a specific MN
     removing the state stored on the correspondent HA;

   - manage the extension of the authorization lifetime for a specific
     MN;

   - retrieve the state associated to a specific MN from the
     correspondent HA.


Giaretta, et al.           Expires - January 2005           [Page 15]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   Moreover, the protocol selected to implement the communication
   between the AAAH server and the HA should fulfill the following
   general requirements:

   - inactive peer detection: the AAAH server should be able to
     promptly detect an HA failure. This may be useful to aid the HA
     selection algorithm;

   - mutual-authentication: the AAAH server and the HA must be able to
     authenticate each other in order to prevent the installation of
     unauthorized state on the HA;

   - confidentiality: since the IKE pre-shared key is derived by the
     AAAH server and then delivered to the HA, the correspondent
     message exchange must be protected against eavesdropping. This
     implies that confidentiality is one of the main requirements;

   - integrity: the exchanged configuration parameters must be
     protected against any alteration and thus the protocol must
     provide integrity protection.

6.2 Management of MIPv6 authorization state

   The Home Agent is required to store some authorization data for each
   of the MNs it is serving. A new data structure may be used for this
   purpose and it should include at least the following fields:

   - NAI of the user;

   - Home Address assigned to the MN;

   - Cryptographic Data: this field includes all the information to be
     used for bootstrapping IKE, that is the PSK value and its
     lifetime;

   - Authorization Lifetime: it is the lifetime of the Mobile IPv6
     service granted to the MN;

   At the expiration of the Authorization Lifetime the HA should check
   if there is an active entry for the MN in its Binding Cache in order
   to verify if the MN is still using Mobile IPv6. If the entry is
   available the Home Agent should negotiate with the AAAH server an
   extension of the Authorization Lifetime granted to the MN. Otherwise,
   the HA should immediately release the authorization state associated
   to that MN and eventually notify the session termination to the AAAH
   server (e.g. by means of a Session Termination Request if the
   employed AAAH-HA protocol is Diameter).


Giaretta, et al.           Expires - January 2005           [Page 16]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   Moreover, the release of the resources previously allocated on the
   Home Agent can be undertaken at any time by the AAAH server.
   Typically this happens at credit exhaustion or when the MN
   disconnects from the network.

   The policies adopted by the AAAH server to release the resources
   allocated to the MN may vary depending on the user service profile.
   For instance, the AAAH server may decide to postpone the release of
   the resources on the HA in order to allow the MN to continue using
   the Mobile IPv6 service even if it has moved to an access network for
   which no roaming agreements are in place (e.g. a corporate network or
   a network providing cost-free access). In that case, the MN can
   continue to rely on the IPsec SA previously negotiated with the HA
   and the respective authorization is managed through the Mobile IPv6
   Authorization Lifetime.


7. New EAP TLVs

   The general format of an EAP-TLV is depicted below.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |M|R|             Type          |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                              Value...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   TLVs defined in this draft are:

   - MIPv6-Authorization-TLV. This is a generic TLV which carries all
     TLVs related to MIPv6 authorization and configuration. It is
     defined as follows:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |M|R|             Type          |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                              Value...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      M

         0 - Non-mandatory TLV

      R

         Reserved, set to zero (0)


Giaretta, et al.           Expires - January 2005           [Page 17]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


      Type

         TBD - MIPv6-Authorization

      Length

         The length of the Value field in octets

      Value

         This field carries the subsequent TLVs


   - Service-Status-TLV. This TLV is sent by the AAAH to inform the MN
     about the status of Mobile IPv6 service. It is defined as follows:

       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=Service-Status      |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Code      |
      +-+-+-+-+-+-+-+-+

      Type

         TBD - Service-Status

      Length

         1

      Code

         0 = MIPv6 service is available
         1 = MIPv6 service is not available


   - Service-Selection-TLV. This TLV is sent by the MN to inform the
     AAAH whether it wants to activate MIPv6 service or whether the
     service is already active.

       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=Service-Selection     |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Code      |
      +-+-+-+-+-+-+-+-+




Giaretta, et al.           Expires - January 2005           [Page 18]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


      Type

         TBD - Service-Selection

      Length

         1

      Code

         0 = activate MIPv6 service
         1 = MIPv6 service already active
         2 = do not activate MIPv6 service


   - Service-Options-TLV. This TLV is used by the AAAH server to
     advertise the service options the MN can ask for. It is also used
     by the MN to communicate its selection to the AAAH. So far only
     the HA in visited domain option has been defined. The TLV has the
     following format:

       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=Service-Options     |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V|        Reserved             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         TBD - Service-Options

      Length

         2

      V
         from AAAH to MN:
            0 = AAAH cannot provide a HA in the visited domain
            1 = AAAH can provide a HA in the visited domain

         from MN to AAAH:
            0 = MN does not specify any preference on HA location
            1 = MN is requesting a HA in the visited domain

      Reserved

         15 bit reserved set to 0



Giaretta, et al.           Expires - January 2005           [Page 19]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   - Home-Agent-Address-TLV. It is defined as follows:

       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=HA-Address          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                      Home Agent Address                       |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         TBD - Home-Agent-Address

      Length

         16

      Value

         Home Agent Address


   - Home-Address-TLV. It is defined as follows:

       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=Home-Address        |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                        Home Address                           |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         TBD - Home-Address

      Length

         16

      Value

         Home Address



Giaretta, et al.           Expires - January 2005           [Page 20]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004



   - IKE-PSK-TLV. This TLV carries data related to IKE bootstrap; the
     value field contains the PSK lifetime and the PSK value.

       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=IKE-PSK                |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Key Lifetime                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Key Value...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         TBD - IKE-PSK

      Length

         4 + Key length

      Value

         Key Lifetime - the lifetime of the PSK in seconds. A value of
                        all ones means infinite

         Key Value - the value of the PSK


   - Negotiation-Result-TLV. It is defined as follows:

       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=Negotiation-Result    |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Result-Code   |
      +-+-+-+-+-+-+-+-+


   Type

         TBD - Result

      Length

         1





Giaretta, et al.           Expires - January 2005           [Page 21]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


      Value

           0 = Success
         128 = Failure


8. Security Considerations

   The Mobile IPv6 bootstrapping procedure described in this document
   assumes the MN and the AAA server of the home domain exchange the
   necessary parameters exploiting the EAP communication established for
   network access authentication. Therefore, to secure the bootstrapping
   procedure, the employed EAP method must support mutual authentication
   as well as integrity and replay protection. Moreover, if the pre-
   shared key needed to bootstrap the IPsec SA with the Home Agent is
   not derived from the EAP key hierarchy but explicitly delivered to
   the MN by the AAAH server, the EAP method must also provide
   confidentiality. Several tunneled and non tunneled EAP methods, like
   PEAPv2 and EAP-IKEv2, fulfill all of these security requirements.


Acknowledgments

   The authors would like to thank Simone Ruffino, Tom Hiller, Hannes
   Tschofening, Rafael Marin Lopez, Hiroyuki Ohnishi, Mayumi Yanagiya
   and Yoshihiro Ohba for their valuable comments.


References

   [1]   Johnson, D., Perkins, C. and J. Arkko, "Mobility Support in
         IPv6", RFC 3775, June 2004.

   [2]   Patel, A. et al. "Problem Statement for bootstrapping Mobile
         IPv6", draft-ietf-mip6-bootstrap-ps-00 (work in progress), July
         2004.

   [3]   Manner, J., Kojo, M. "Mobility Related Terminology", RFC 3753,
         June 2004.

   [4]   Palekar, A. et al., "Protected EAP Protocol (PEAP) Version 2",
         draft-josefsson-pppext-eap-tls-eap-07 (work in progress),
         October 2003.


Giaretta, et al.           Expires - January 2005           [Page 22]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   [5]   N.Cam-Winget, D. McGrew, J. Salowey, H.Zhou, "EAP Flexible
         Authentication via Secure Tunneling (EAP-FAST)", draft-cam-
         winget-eap-fast-00.txt (work in progress), February 2004

   [6]   B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, H. Levkowetz,
         "Extensible Authentication Protocol (EAP)", RFC 3748, June
         2004.

   [7]   Funk, P., Blake-Wilson, S., "EAP Tunneled TLS Authentication
         Protocol (EAP-TTLS)", draft-ietf-pppext-eap-ttls-04 (work in
         progress), April 2004.

   [8]   Tschofenig, H., Kroeselberg, D., Ohba, Y., "EAP IKEv2 Method",
         draft-tschofenig-eap-ikev2-03, February 2004.

   [9]   Narten, T., Draves, R., "Privacy Extensions for Stateless
         Address Autoconfiguration in IPv6", RFC 3041, January 2001.

   [10]  Faccin, S., Perkins, C., Le, F., Patil, B., "Diameter Mobile
         IPv6 Application", draft-le-aaa-diameter- mobileipv6-03
         (expired), April 2003.

   [11]  Arkko, J., Devarapalli, V., Dupont, F., "Using IPsec to Protect
         Mobile IPv6 Signaling between Mobile Nodes and Home Agents",
         RFC 3776, June 2004.

   [12]  Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC
         2409, November 1998.

   [13]  Forsberg, D. et al., "Protocol for Carrying Authentication for
         Network Access (PANA)", draft-ietf-pana-pana-04 (work in
         progress), May 2004.

   [14]  Aboba, B., Simon, D., Arkko, J., Levkowetz, H., "EAP Key
         Management Framework", draft-ietf-eap-keying-02 (work in
         progress), July 2004.

   [15]  K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, F.
         Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, "COPS Usage for
         Policy Provisioning,", RFC 3084, March 2001.


Giaretta, et al.           Expires - January 2005           [Page 23]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


   [16]  Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction
         and Applicability Statements for Internet-Standard Management
         Framework", RFC 3410, December 2002.


Authors' Addresses

   Gerardo Giaretta
   Telecom Italia Lab
   via G. Reiss Romoli, 274
   10148 TORINO
   Italy
   Phone: +39 011 2286904
   Email: gerardo.giaretta@tilab.com

   Ivano Guardini
   Telecom Italia Lab
   via G. Reiss Romoli, 274
   10148 TORINO
   Italy
   Phone: +39 011 2285424
   Email: ivano.guardini@tilab.com

   Elena Demaria
   Telecom Italia Lab
   via G. Reiss Romoli, 274
   10148 TORINO
   Italy
   Phone: +39 011 2285403
   Email: elena.demaria@tilab.com

   Julien Bournelle
   GET/INT
   9 rue Charles Fourier
   Evry  91011
   France
   Email: julien.bournelle@int-evry.fr

   Maryline Maknavicius-Laurent
   GET/INT
   9 rue Charles Fourier
   Evry  91011
   France
   Email: maryline.maknavicius@int-evry.fr







Giaretta, et al.           Expires - January 2005           [Page 24]


Internet-Draft     MIPv6 Authorization based on EAP          July 2004


Intellectual Property Statement

  The IETF takes no position regarding the validity or scope of any
  Intellectual Property Rights or other rights that might be claimed to
  pertain to the implementation or use of the technology described in
  this document or the extent to which any license under such rights
  might or might not be available; nor does it represent that it has
  made any independent effort to identify any such rights. Information
  on the procedures with respect to rights in RFC documents can be
  found in BCP 78 and BCP 79.

  Copies of IPR disclosures made to the IETF Secretariat and any
  assurances of licenses to be made available, or the result of an
  attempt made to obtain a general license or permission for the use of
  such proprietary rights by implementers or users of this
  specification can be obtained from the IETF on-line IPR repository at
  http://www.ietf.org/ipr.

  The IETF invites any interested party to bring to its attention any
  copyrights, patents or patent applications, or other proprietary
  rights that may cover technology that may be required to implement
  this standard.  Please address the information to the IETF at
  ietf-ipr@ietf.org.


Disclaimer of Validity

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


Copyright Statement

  Copyright (C) The Internet Society (2004).  This document is subject
  to the rights, licenses and restrictions contained in BCP 78, and
  except as set forth therein, the authors retain all their rights.


Acknowledgement

  Funding for the RFC Editor function is currently provided by the
  Internet Society.

Giaretta, et al.           Expires - January 2005           [Page 25]