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 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]