AAA WG Stefano M. Faccin INTERNET-DRAFT Franck Le Date: September 2002 Basavaraj Patil Expires: March 2003 Charles E. Perkins Nokia Research Center Diameter Mobile IPv6 Application Status of This Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract Mobile IPv6 capable mobile nodes can roam between networks that belong to their home service provider as well as others. Roaming in foreign networks is enabled as a result of the service level and roaming agreements that exist between operators. One of the key protocols that allows this kind of a roaming mechanism to be enabled is Diameter. This Internet Draft specifies a new application to Diameter that enables Mobile IPv6 roaming in networks other than its home. Faccin, Le, Patil, Perkins [Page i] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Table of Contents Status of This Memo . . . . . . . . . . . . . . . . . . . . . . . . i Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Advertising Application support . . . . . . . . . . . . . . . . . 2 3. The model and assumptions . . . . . . . . . . . . . . . . . . . . 2 3.1. The model . . . . . . . . . . . . . . . . . . . . . . . . . 2 3.2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Basic features supported in this Internet Draft . . . . . . . . . 5 4.1. Authentication/authorization . . . . . . . . . . . . . . . . 5 4.2. Dynamic Home Agent assignment in Home domain . . . . . . . . 5 4.3. Key distribution . . . . . . . . . . . . . . . . . . . . . . 6 4.4. Optimization of Binding Updates . . . . . . . . . . . . . . 7 4.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. Mobile IPv6 Application Diameter messages . . . . . . . . . . . . 7 5.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . . 8 5.2. AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2.1. MIP-Binding-Update AVP . . . . . . . . . . . . . . . . 8 5.2.2. MIP-Binding-acknowledgement AVP . . . . . . . . . . . . 8 5.2.3. MIPv6-Mobile-Node-Address AVP . . . . . . . . . . . . . 8 5.2.4. MIPv6-Home-Agent-Address AVP . . . . . . . . . . . . . 8 5.2.5. MIPv6-Feature-Vector AVP . . . . . . . . . . . . . . . 9 5.2.6. Security Key AVPs . . . . . . . . . . . . . . . . . . . 9 6. Information exchange between the mobile node and the AAA Client . 9 6.1. MIP Feature Data . . . . . . . . . . . . . . . . . . . . . . 9 6.2. EAP Data . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.3. Security Key Data . . . . . . . . . . . . . . . . . . . . . 10 6.4. Embedded Data . . . . . . . . . . . . . . . . . . . . . . . 10 7. Basic Protocol Overview . . . . . . . . . . . . . . . . . . . . . 10 7.1. Authentication . . . . . . . . . . . . . . . . . . . . . . . 11 7.2. Information flows . . . . . . . . . . . . . . . . . . . . . 11 7.3. MN Considerations . . . . . . . . . . . . . . . . . . . . . 12 7.3.1. Generation of information in MN . . . . . . . . . . . . 12 7.3.2. Replies to MN . . . . . . . . . . . . . . . . . . . . . 13 7.4. AAA Client Operation . . . . . . . . . . . . . . . . . . . . 13 7.5. AAAv Operation . . . . . . . . . . . . . . . . . . . . . . . 14 7.6. AAAh operations . . . . . . . . . . . . . . . . . . . . . . 15 7.7. Home Agent Behavior . . . . . . . . . . . . . . . . . . . . 16 Faccin, Le, Patil, Perkins [Page ii] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 8. Enhanced features . . . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Dynamic Home Agent/ Home Address assignment in Visited domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 8.2. Dynamic Home address assignment in Home Domain . . . . . . . 18 8.3. Enhanced AVPs . . . . . . . . . . . . . . . . . . . . . . . 18 8.3.1. MIPv6-Feature-Vector AVP . . . . . . . . . . . . . . . 18 9. Enhanced Protocol Overview . . . . . . . . . . . . . . . . . . . 19 9.1. Information flow . . . . . . . . . . . . . . . . . . . . . . 19 9.2. MN Considerations . . . . . . . . . . . . . . . . . . . . . 20 9.2.1. Generation of information in MN . . . . . . . . . . . . 20 9.2.2. Replies to MN . . . . . . . . . . . . . . . . . . . . . 22 9.3. AAA Client Operation . . . . . . . . . . . . . . . . . . . . 22 9.4. AAAv Operation . . . . . . . . . . . . . . . . . . . . . . . 23 9.5. AAAh operations . . . . . . . . . . . . . . . . . . . . . . 24 9.5.1. Home Agent Assignement in Visited Network . . . . . . . 25 9.5.2. Home Agent Assignment in Home Network . . . . . . . . . 26 9.6. Home Agent Behavior . . . . . . . . . . . . . . . . . . . . 28 10. Key distribution . . . . . . . . . . . . . . . . . . . . . . . . 28 10.1. Key distribution based on Random numbers . . . . . . . . . 28 10.2. Key distribution based on Diffie Hellman . . . . . . . . . 29 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 30 12. Security Considerations . . . . . . . . . . . . . . . . . . . . 30 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 Faccin, Le, Patil, Perkins [Page iii] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Faccin, Le, Patil, Perkins [Page iv] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 1. Introduction Mobile IP defines a method that allows a Mobile Node to change its point of attachment to the Internet with minimal service disruption. Mobile IP in itself does not provide any specific support for mobility across different administrative domains, which limits the applicability of Mobile IP in a large scale commercial deployment. AAA protocols such as Diameter precisely enable mobile users to roam and obtain service in networks that may not necessarily be owned by their home service provider. For Mobile IP to be deployed in commercial networks, there therefore has to be AAA support for the protocol. Diameter extensions for Mobile IPv4 [1] have already been specified allowing a MIPv4 node to receive services from service providers (home and foreign) and allowing the Diameter servers to authenticate, authorize and collect accounting information for those MIPv4 nodes. Even though MIPv4 and MIPv6 are similar when observed at high level, the two protocols are actually quite different when considering the support for Inter Domain deployment. Mobile IPv6 e.g. does not have the equivalent of a Foreign Agent as defined in Mobile IPv4, and as a result does not define any mechanism by which the visited network can authenticate and authorize access to the network and use of resources. In addition, extending the Diameter Mobile IPv4 Application [1] to support Mobile IPv6 will reduce the flexibility and result in some AAA capability exchange issues: it will be difficult to differentiate which AAA nodes support only Mobile IPv4, which ones support only Mobile IPv6 and which ones support both. This document therefore provides a solution for Mobile IPv6 and AAA interworking and e.g. defines the IPv6 specific solution to support roaming of an IPv6 mobile node between different administrative domains. In order to give access to a mobile node to network resources, the mobile node needs to be authenticated and authorized. Besides supporting mobile node authentication and authorization, the AAA infrastructure can also be used for distributing the security keys needed to support the mobile node roaming. Optionally, the AAA infrastructure can be used to support mobility procedures and to optimize authentication, authorization and mobility in a common procedure. This internet draft defines the Diameter Mobile IPv6 application. It identifies the information that needs to be exchanged between the MN and the AAA Client but it does not specify any particular mechanism to convey information between the mobile node and the AAA Client: the Faccin, Le, Patil, Perkins [Page 1] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 set of information identified in the following internet draft, can be conveyed between the mobile node and the AAA client in a different suitable manner outside the scope of this document (e.g. ICMP, the protocol defined by the PANA WG, etc.). The extensions defined for Diameter allow for any of these alternatives, thus enabling such extensions to be deployed independently of the choice of the protocol used between the MN and the AAA client in the visited or access network. The basic AAA model for inter domain roaming and the assumptions behind the model are described first. The basic features supported by the Diameter Mobile IPv6 application are described next, with the definition of the Diameter messages and AVPs and with the behavior of the various elements. Finally, enhanced features are described and the AVPs and the behavior of the various elements is described. 2. Advertising Application support Diameter nodes conforming to this specification MAY advertise support by including the value of (TBD) in the Auth-Application-Id or the Acct-Application-Id AVP of the Capabilities-Exchange-Request and Capabilities-Exchange-Answer command [7]. 3. The model and assumptions 3.1. The model The following entities are involved in the model: Faccin, Le, Patil, Perkins [Page 2] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Visited Domain Home Domain +--------+ +--------+ |abc.com | (3) |xyz.com | | AAAv |<------------------->| AAAH | +->| server | server-server | server | | +--------+ communication +--------+ | ^ ^ (2) | | (2) client-server | (4) | | communication | v v v +---------+ +---------+ +---------+ | AAA | | AAA | | Home | | Client | | Client | | Agent | +---------+ +---------+ +---------+ ^ | (1) | v +--------+ | Mobile | | Node | mn@xyz.com +--------+ * The Mobile Node * The AAA Client: it is the function that allows the MN to register and be authenticated by the network service provider, by providing identity and authentication information to the local network which then uses a AAA infrastructure to validate the user, generate accounting data for network usage and, authorize use of resources. In addition to authorization and authentication, the MN may provide the AAA Client with mobility management information (e.g. embedded Binding Updates) to perform Mobile IP procedures. The AAA Client can be an attendant, e.g. located in an Access Router, or can be an AA Agent (Auth/Authorization agent) as the one identified in UNAP. * AAAv: is the AAA server in the visited network * AAAh: is the AAA server in the home network of the MN * HA: is a Home Agent Faccin, Le, Patil, Perkins [Page 3] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 3.2. Assumptions 1) Mobile nodes are identified by their Network Access Identifier (NAI) in an unique manner: RFC2794 specifies an identifier for mobile nodes, the MN-NAI. The MN- NAI is used by the AAA infrastructure to authenticate mobile IPv4 nodes. The Mobile IPv6 specification mandates the existence of a security association between the MN and its Home Agent (HA). In certain scenarios and future deployments a MN may not have any Home Agent or a home address assigned to it. A MN may instead have a security association with the home AAA network element and may use this to obtain a home address, and an HA. In this document it is assumed that an IPv6 mobile node SHOULD identified by a MN-NAI in a unique manner, and that an IPv6 mobile node SHOULD be able to use its NAI instead of its home address to get authenticated/authorized by the AAA infrastructure when roaming to foreign domains. In fact, in general the network needs to authenticate the user that is roaming, not the specific device, and in the future there may be cases where a specific user is accessing the network through several devices, or several users are accessing the network through the same device. In general, anyway, it is better to allow identification of an IPv6 mobile node also through the use of its IPv6 home address: this allows users that have not been provided with a NAI by their home domain to get authenticated and authorized by the AAA infrastructure. The assumption made in this document is that: * When the identifier associated with a mobile is the MN-NAI, it SHOULD use the MN_NAI to get authenticated/authorized by the AAA infrastructure, independently of whether the MN has or not a home address * when the MN does not have a MN-NAI but only a home address, the MN MAY use the IPv6 home address to get authenticated/authorized by the AAA infrastructure 2) Mobile Node and AAAh share a long-term key: This long-term key provides network authentication and user authentication; it can also be used in order to derive session keys Faccin, Le, Patil, Perkins [Page 4] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 or local security associations as explained in the following sections. 3) Communications between AAAv and AAAh are secure This inter AAA security association allows the home and visited domain to trust each other, and to exchange information in an authenticated and protected manner. 4. Basic features supported in this Internet Draft 4.1. Authentication/authorization Before giving access to the network, the visited network wants to authenticate the user. The IPv6 mobile node may also want to authenticate the network to prevent network impersonation such as false BTS attacks. The IPv6 mobile nodes SHOULD have the capability to use many different authentication methods: The IPv6 mobile nodes could e.g. use EAP at layer 3 for authentication: This document does not define how the authentication information are exchanged between the Mobile nodes and the network (it could be performed using the protocol defined by the PANA WG, ICMPv6 messages) but the AAA infrastructure allows that authentication and authorization; and the defined Diameter messages support many round trips if the authentication method adopted requires it. 4.2. Dynamic Home Agent assignment in Home domain It is possible that when the mobile node needs to send a Binding Update to its home agent to register its new primary care-of address, the mobile node may not know the address of any router on its home link that can serve as a home agent for it. For example, some nodes on its home link may have been reconfigured while the mobile node has been away from home, such that the router that was operating as the mobile node's home agent has been replaced by a different router serving this role. The dynamic Home agent assignment feature also provides more flexibility to the service provider: in general, a mobile node home network may not assign statically a home agent to the mobile node to maintain flexibility in the allocation of the home agent to achieve better load sharing and fault tolerance. Faccin, Le, Patil, Perkins [Page 5] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 In this case, the mobile node MAY use the dynamic home agent address discovery mechanism to find the address of a suitable home agent on its home link. The current Mobile IPv6 specification describes a dynamic Home Agent discovery procedure; as an alternative, this document describes another home agent assignment procedure relying on the present AAA infrastructure. Whereas the current dynamic home agent address discovery mechanism requires many round trips between the mobile node and its home domain thus resulting in additional signaling over the access link and between the home and visited domains; and also adding more delay in the procedure, the solution relying on the AAA infrastructure only requires one round trip. And instead of sending specific IP address to request for a Home address/Home agent in the Home/Visited domain, the proposed solution is based on flags: less data thus needs to be sent over the access link, and the AAAh (AAAv) instead creates the binding update message when assigning the home agent. 4.3. Key distribution Many security associations need to be dynamically established such as: * the security association between the mobile node and the visited network to protect data (e.g. confidentiality and integrity protection) over the access link * the security association between the mobile node and the home agent, to authenticate the binding update/acknowledgement messages. According to the current specifications, after the dynamic home agent address discovery is performed, the mobile node sends a Binding Update to the selected Home agent to create the to create a forwarding entry in the route table for the home address associated with the MN. This Binding Update MUST be authenticated, therefore a key distribution, e.g. IKE, may need to be executed. This requires many messages to be exchanged between the mobile node and the Home Agent. As an alternative, after the authentication and authorization steps, the AAA servers can be involved and play a role in the key generation and/or the key distribution. Faccin, Le, Patil, Perkins [Page 6] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Diameter Mobile IPv4 Application defines one key distribution mechanism; for Mobile IPv6, many different schemes could be applied thus providing more flexibility and different properties as outlined in the following sections. 4.4. Optimization of Binding Updates As previously explained, in addition to authentication, authorization and key distribution functionalities, the AAA servers can perform mobility procedures such as dynamic home agent assignment. In case, the IPv6 mobile node already has a pre-configured Home Agent, some optimization can also be achieved by having the mobile node encapsulating the binding update to its Home agent in the AAA request message. 4.5. Summary MN authentication is in general required to grant access to a MN to the foreign domain. In fact, this may be needed in most of the cases even if access to the foreign domain resources is free. Due to the fact that the MN is away from its home network and hence considered roaming the MN needs to perform also mobility procedures to obtain reachability in the new location. Optionally, key distribution may be need to take place. Using the AAA infrastructure to achieve these functions can significantly reduce inter domain signaling and time delay of the overall procedure performed by a MN to get access to the foreign domain. Currently the mobile node first gets authenticated using the AAA infrastructure to obtain network access, then it may perform dynamic home agent address discovery [4] and set up a security association (using e.g. Internet Key Exchange [5]) with the selected Home agent before sending a Binding Update. This will require many round trips between the foreign domain and the home domain, whereas the use of the AAA infrastructure provides a more efficient and quicker alternative. 5. Mobile IPv6 Application Diameter messages This memo introduces some new Command codes (AA-Registration-Request, AA-Registration-Answer, Home-Agent-MIPv6-Request, Home-Agent- MIPv6-Answer) and AVPs (MIP-Binding-Update AVP, MIP-Binding- acknowledgement AVP, MIPv6-Mobile-Node-Address AVP, MIPv6-Home-Agent- Address AVP, MIPv6-Feature-Vector AVP, Key-Request AVP, MN-Key- Faccin, Le, Patil, Perkins [Page 7] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Distribution AVP, Key-Distribution AVP) to achieve all the previously identified functionalities. 5.1. Command Codes This document introduces four new Command Codes: * AA-Registration-Request Command (ARR) (Code TBD) * AA-Registration-Answer Command(ARA) (Code TBD) * Home-Agent-MIPv6-Request Command (HOR) (Code TBD) * Home-Agent-MIPv6-Answer Command (HOA) (Code TBD) 5.2. AVPs 5.2.1. MIP-Binding-Update AVP The MIP-Binding-Update AVP (AVP Code TBD) is of type OctetString and contains the Mobile IP Binding Update message. 5.2.2. MIP-Binding-acknowledgement AVP The MIP-Binding-acknowledgement AVP (AVP Code TBD) is of type OctetString and contains the Mobile IP Binding Acknowledgement message sent by the Home Agent to the MN. 5.2.3. MIPv6-Mobile-Node-Address AVP The Mobile-Node-Address AVP (AVP Code TBD) is of type IPAddress and contains the Mobile Node's Home Address. 5.2.4. MIPv6-Home-Agent-Address AVP The Home-Agent-Address AVP (AVP Code TBD) is of type IPAddress and contains the Mobile Node's Home Agent Address. Faccin, Le, Patil, Perkins [Page 8] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 5.2.5. MIPv6-Feature-Vector AVP The MIPv6-Feature-Vector AVP (AVP Code TBD) is of type Unsigned32 and allows for dynamic Home Agent assignment in Home Domain. In the basic proposal, only one flag is defined; the other ones are reserved for the enhanced version and for future utilization. Flag values currently defined include: 1 Home-Agent-Requested: This flag is set to 1 when the mobile node requests for a dynamic home agent assignment. When this flag is set to 1, a dynamic session key to be shared between the MN and the HA is also required in order to authenticate BUs from the MN to the HA: the MN may indicate through some Security Key Request the methods it supports to compute it; or a default method known to the MN and the AAAh should exist(e.g. pre-set by the home domain and communicated to the MN at subscription time). 5.2.6. Security Key AVPs The AAA servers can play a role in key distribution and many methods can be used with their own properties and characteristics. The security keys AVPs format and utilization will be described in more details in the next versions as well as the AAA servers' behaviors. 6. Information exchange between the mobile node and the AAA Client Although this document is not intended to specify any particular mechanism to convey information between the mobile node and the AAA Client, the information that needs to be exchanged is described. The set of information identified in the follow can actually be conveyed between the mobile node and the network in a different suitable manner outside the scope of this document (e.g. ICMP, the protocol defined by the PANA WG, etc.). The extensions defined for Diameter allow for any of these alternatives, thus enabling such extensions to be deployed independently of the choice of the protocol used between the MN and the network. 6.1. MIP Feature Data Contrary to Mobile IPv4 where the Mobile nodes send a Registration Request with specific IP addresses values to request for dynamic home Faccin, Le, Patil, Perkins [Page 9] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 agent assignment in home/visited networks; the IPv6 mobiles nodes SHOULD use some MIP Feature data whose content includes the information required in the previously defined MIPv6 Feature Vector AVP: The IPv6 mobile nodes will not use specific IPv6 addresses values but use flags and this will significantly reduces the amount of data to be sent over the access link. In addition, the attendant will only need to encapsulate that data in the corresponding MIPv6-Feature-Vector AVP. The MIP Feature data could be sent as an extension to ICMPv6 messages, a new Destination Option or carried in any other way. 6.2. EAP Data The IPv6 Mobile Node should be able to use different authentication methods such as the different EAP types. The EAP Data could be sent as an extension to ICMPv6 messages, carried using the protocol defined by the PANA WG or any other protocol. 6.3. Security Key Data This document does not defines the protocol between the mobile nodes and the network but the mobile node SHOULD use some key request to indicate the keys it needs, but also the methods it supports to generate them. Those Security Key data SHOULD contain the relevant information so the AAA client can create the corresponding Security Keys AVPs. 6.4. Embedded Data The embedded data enables the mobile node to send a binding update at the same time the mobile node gets authorized/authenticated by the network (e.g. by mechanism that the protocol defined by the PANA WG will provide) thus saving round trips between the home and the visited domains. 7. Basic Protocol Overview Faccin, Le, Patil, Perkins [Page 10] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 7.1. Authentication Authentication is required before providing network access to the user. Different authentication should be supported to allow more flexibility; but as demonstrated in [6], both network and user authentication should be supported. And current authentication mechanisms, even those recently specified in different standardization fora (e.g. CAVE based security functions in IS41 Systems) have security flaws. For these reasons, even as previously mentioned any existing authentication could be used, in the following illustrations and procedures, a mutual challenge response based authentication method will be suggested and used as default. The authentication mechanism assumed here assumes that a Local Challenge is broadcast over the access link e.g. in Router Advertisement messages. 7.2. Information flows Basic Procedure with dynamic Home Agent assignment in the Home network or pre-configured Home Agent Mobile Node AAA Client AAAv AAAh Home Agent ----------- ----------- ------------ ---------- ---------- Advertisement & <---1.1 - Challenge -1.2 --------> 1.3 ARR-------------> 1.4 ARR------------> 1.5 HOR-------> <------1.6 HOA <---------1.7 ARA <------------1.8 ARA <-------1.9 Faccin, Le, Patil, Perkins [Page 11] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 7.3. MN Considerations 7.3.1. Generation of information in MN 1) When entering a new network or at power up, the MN listens to the router advertisements and retrieves: The Local Challenge The visited network identifier The information to derive the CoA 2) It computes the CoA, and based on the following information, * The NAI * The long-term security key shared with its AAAh * The Home Address: in the basic mode, the mobile node is assumed to have a pre-configured Home IP address * The Home Agent (if any), otherwise MN can request to have one assigned creates a message with the CoA as the Source IP address and the AAA Client address as the Destination IP address. (The MN can learn the IP address of the AAA Client through router advertisements or others mechanisms outside the scope of this document.) As previously explained, the mobile node also sends its NAI. 3) The MN optionally generates a Host Challenge that it will send to the network for both network authentication and anti replay attacks. Then the MN computes the MN authentication data using the long-term key, the host challenge, the visited network identifier, the local challenge, and an authentication algorithm it shares with its home network. The MN authentication data is then sent to the AAA Client, 4) If the MN does not have a Home Agent and requests one, the MN includes some MIP Feature data with the Home-Agent-Requested flag set to 1. The home agent will then be assigned by the home AAA server, and the binding update will be sent by the AAA server to the Home Agent on behalf of the mobile node that, in turn, does not need to send any. If the MN have a pre configured Home Agent, it may creates the binding update message and sends it encapsulated to the AAA client. The Binding Update message will be forwarded to the designated home agent via the AAA infrastructure. This binding update message has the MN IP CoA as the source IP address, the pre-configured HA as the destination IP address and the BU option with the pre-configured Home IP address in the Home address option. Faccin, Le, Patil, Perkins [Page 12] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 5) The MN may also requests for some security keys thanks to the Security Key Request. The MN SHOULD perform authentication in the following cases: * When changing visited domain: MN can know that by listening the router advertisements * When requesting session keys * When requesting a Home Agent assignment 7.3.2. Replies to MN When receiving the reply from the AAA Client, the MN: * Authenticates the network thanks to the network authentication data sent by the AAA Client * If the MN requested a Home agent, it will learn and store the Home Agent address from the source IP address of the Home Binding Acknowledgement. The MN creates the security associations from the keying material received. 7.4. AAA Client Operation As indicated above, the mobile node may interact with the AAA Client to perform authentication/authorization and optionally Mobile IP procedures. Thus, the AAA client may perform authentication functions and optionally Mobile IP functions When the AAA Client receives an authentication request message from a IPv6 Mobile node: The AAA Client first verifies the freshness of the request thanks to the Local Challenge contained in it (i.e. the MN may use an older Local Challenge) and if successful, performs Duplicate Address Detection and creates a Diameter ARR (AA-Registration-Request) [7] message carrying the following information to the AAAh: * User Name AVP [7] carrying the user's NAI * EAP AVP to carry the authentication data for mutual authentication derived from the content of the received authentication data Faccin, Le, Patil, Perkins [Page 13] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 * if some MIP feature data were received from the MN, a MIPv6-Feature-Vector AVP whose content is derived from the MIP feature data, sent within the ARR message it sends to the AAAv * MIP-Binding Update AVP if the MN sent a Home Binding Update as Embedded data * MIPv6-Home-Agent-Address AVP if the MN sent a binding update message: the Home agent address value is extracted from the Destination IP address field of the embedded home binding update. This AVP enables the AAAh to know where to send the MIP-Home- binding-Update AVP if one was present. * if the MN provides some Key Request data, some Security Key AVPs whose content is derived from the Key Request data. When receiving an ARA [7] (AA-Registration-Answer) message from AAAv, the AAA Client converts the message to the appropriate protocol to the MN; this message carries: * the authentication data * Binding Acknowledgement as Embedded Data if MN sent a home Binding Update or requested for a dynamic home agent assignement. The message may also include: * Keying material to set up the different session keys, converted and conveyed in the appropriate protocol by the AAA Client from the Security Key AVPs. When the MN asks for a dynamic Home Agent, AAAh SHOULD compute the security key to be shared between MN and the HA for authenticating subsequent Binding Updates, and sends the corresponding keying material to the MN. 7.5. AAAv Operation When AAAv receives an ARR message [7]: First the AAAv verifies the message is coming from a valid AAA Client and then, checks the MIPv6 Feature Vector AVP, and then sends it to the MN's home AAA server. When receiving a ARA message from the AAAh, the AAAv MAY optionally, according to the behaviour specific for speficic EAPs or other mechanisms defined elsewhere, store locally information contained in the AVPs of the message received from the AAAh (e.g. session keys, etc.) and then forwards the message to the AAA Client. Faccin, Le, Patil, Perkins [Page 14] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 7.6. AAAh operations * When receiving an ARR message from an AAAv, the AAAh first verifies the message is coming from a valid AAAv. Security associations between AAA server are outside the scope of the present document. The AAAh then authenticates the user using the NAI provided by the MN as MN identity. If the mobile Node is successfully authenticated: * AAAh also computes some network authentication data based on the Host Challenge and eventually other information depending on the authentication algorithm adopted. Depending on the authentication method requirements, the AAAh may exchange many messages with the MN via the AAAv (e.g. for a user authentication mechanism that requires more than one round-trip): AAAh may send a ARA Command with the appropriate authentication information and indication, which will be converted to EAP data by the AAA Client to the MN and conveyed to the MN in a suitable manner (outside the scope of this document). The number of round trips varies depending on the authentication mechanism used. * If the MN asks for some security keys, the AAAh performs the appropriate steps and eventually sends the corresponding messages to achieve the key distribution: many mechanisms exist and some of them will be described later on. Such steps may require the AAAh to distribute keys and keying material to the MN, to other AAA servers or other nodes. * If a MIPv6-Home-Agent-Address AVP is present: the AAAh checks that the address is that of a known and valid Home Agent, and one that the Mobile Node is allowed to request. AAAh then forwards the MIP- Home-Binding-Update AVP to the Home Agent in a HOR (Home-Agent- MIP-Request) message. * If no MIPv6-Home-Agent-Address AVP is present, AAAh looks at the MIPv6-Feature-Vector AVP if any. If present, AAAh performs the dynamic home agent assignment in the Home network: Faccin, Le, Patil, Perkins [Page 15] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Mobile Node AAA Client AAAv AAAh Home Agent ----------- ----------- ------------ ---------- ---------- Advertisement & <---1.1 -- Challenge -1.2 --------> 1.3 ARR-------------> 1.4 ARR----------> 1.5 HOR-------> <--------1.6 HOA <-------1.7 ARA <------------1.8 ARA <-------1.9 (1.5) AAAh allocates a Home agent on behalf of the MN: this can be done in a variety of ways, including using a load balancing algorithm in order to keep the load on all HAs equal. * AAAh sends a HOR message to the HA including a newly created binding update. * AAAh sends some security keying material to allow the Home Agent to comupte the key(s) for the security association between the MN and the Home Agent to authenticate future Binding Updates. (1.6) the Home Agent creates the Binding Cache and computes the key(s) for the security association with the MN from the data received. It also generates a Binding Acknowledgement message to be sent encapsulated to the MN. * The HA sends a HOA message to the AAAh including the Binding Ack. (1.7) AAAh may also compute other keying material according to the keys requested by the MN and send it to the MN passing through the AAAv. * AAAh then send an ARA message to the AAAv including the MIP- Binding-acknowledgement AVP if the MN sent an embedded BU or request for a HA. 7.7. Home Agent Behavior Upon receipt of the HOR, the Home Agent first processes the DIAMETER message: if the HOR is invalid, a HOA is returned with the Result- Code AVP set to DIAMETER_ERROR_BAD_HOR. Otherwise, the Home Agent processes the MIP-Binding-update AVP and creates the Binding Faccin, Le, Patil, Perkins [Page 16] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Acknowledgement, encapsulating it within the MIP-binding- acknowledgement AVP. HA also creates the Binding Cache and computes the key(s) for the security association with the MN from the data received. 8. Enhanced features In addition to the previously described features, additional features can be supported by the AAA infrastructure for the inter-domain roaming of an IPv6 mobile node, thus providing more flexibility and allowing new options to the services providers to develop business models. A IPv6 mobile node can have a pre-configured home address, may have a pre-configured home agent or request for one and, as explained in the previous section, the basic features of the Mobile IPv6 Diameter Application allow an optimization of the authentication, the binding update, the optional home agent assignment in the home domain and the key distribution procedures. Optionally, two enhanced features are suggested: * The dynamic Home agent assignment in the Visited Domain * The dynamic Home address assignment 8.1. Dynamic Home Agent/ Home Address assignment in Visited domain The Dynamic Home Agent assignment in visited networks allows more flexibility and allows new business scenarios. As an example, service providers may just own a AAA server for accounting purposes and, thanks to roaming agreements, they may offer Mobile IP services to its subscribers. Another scenario where this can be applied is when IPv6 mobile nodes need to obtain reachability from other CN only at the application level, i.e. through a SIP infrastructure. This may be the case of a basic IPv6 MN supporting only voice services through SIP. In such cases, when a CN needs to reach the MN an identifier at the application level (e.g. MN SIP URL) is used, and the CN does not need to know the home address of the MN. Somebody may argue that Mobile IP is not needed at all in such cases, but it may instead be used to support mobility between the initial point of attachment (i.e. when the MN powered up in the foreign domain) and following points of attachment in the foreign domain. Faccin, Le, Patil, Perkins [Page 17] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 8.2. Dynamic Home address assignment in Home Domain The mobile node may not always have a pre-configured IPv6 address and may need to have one dynamically assigned. In addition since the Home Agent and the mobile node home address need to be on the same link, to support dynamic home agent assignment in visited networks, dynamic home address assignment in visited networks is supported. Finally, this dynamic Home address feature provides more flexibility to the service provider even when the Home agent is to be assigned in the Home network since the Home agent and the home address should be on the same subnet. Additionally, the scenario described in section 7.2 of a MN node needing reachability only at the application layer applies to this case too. 8.3. Enhanced AVPs In addition to the Command Codes and AVPs described in section 4, some new AVP need to be defined to support the enhanced features. 8.3.1. MIPv6-Feature-Vector AVP In the extended mode, dynamic home agent assignment in the visited network is feasible.Additional flags of the MIPv6-Feature-Vector AVP are therefore defined. The following flags allow the Visited AAA server, AAAv, to inform of its capabilities and if the Home agent is assigned in the visited network, the Home address must also be assigned in the visited network. The AAA Client includes a MIPv6-Feature-Vector AVP within the ARR message it sends to the AAAv if the MN sent some MIP Feature data. Flag values currently defined include: 1 Home-Agent-Requested: This flag is set to 1 when the mobile node requests for a dynamic home agent assignment. When this flag is set to 1, a dynamic session key to be shared between the MN and the HA is also required in order to authenticate BUs from the MN to the HA: the MN may indicate through some Security Key Request the methods it supports to compute it; or a default method known to the MN and the AAAh should exist(e.g. pre-set by the home domain and communicated Faccin, Le, Patil, Perkins [Page 18] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 to the MN at subscription time). 2 Mobile-Node-Home-Address-Requested flag: This flag is set to 1 if the mobile node does not have any Home address and requires one. Default value is 0. 4 Home-Address-Allocatable-Only-in-Home-Domain flag: This flags is set to 1 if the mobile node requests for one Home address and wants it to be assigned by its home network. Default value is 0 and means that the MN does not have any preference on whether the Home Address shall be allocated in the home domain and visited domain. 8 Home-Agent-in-Visited-Domain flag: The mobile node indicates its preference to have its Home Agent allocated in the visited domain by having this flag set to 1 16 Visited-Home-Agent-Available flag: The Visited Domain sets this flag to 1 if the MN asks a dynamic Home Agent assignment in the Visited Domain and the Visited Domain agrees to allocate one to the MN. 9. Enhanced Protocol Overview The enhanced mode allows dynamic home agent assignment in the visited network and dynamic home address assignment. The mobile node may not have any preconfigured home address nor any home agent. The following text describes the different entities' behaviors in the Enhanced mode. The authentication procedure is the same than the one described above. All the functionalities (key distribution, optimization of Binding Upate, dynamic Home Agent assignment in Home network) of the basic mode are present but in addition the Home agent can be assigned in the visited network and the home address can be dynamically assigned either in the home or visited domain: the entities behaviours and the way the corresponding AVPs are processed, are explained 9.1. Information flow Enhanced Procedure with dynamic Home agent assignment in the visited network and dynamic home address assignment in home or visited domain Faccin, Le, Patil, Perkins [Page 19] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Mobile Node AAA Client Home Agent AAAv AAAh ----------- ----------- ------------- ---------- ---------- <---2.1 Challenge--- -2.2 -----> ----------2.3 ARR-------------> ---2.4 ARR----> <--2.5 HOR----- <---2.6 HOR--- ----2.7 HOA---> ---2.8 HOA----> <--2.9 ARA----- <-----------2.10 ARA------------ <-2.11-- 9.2. MN Considerations 9.2.1. Generation of information in MN The mobile node performs the same steps as in the basic mode (steps (1), (2), (3) section 6.3.1) and then 4) If the MN does not have a Home Address and requests one, the MN also includes some MIP Feature data with the Mobile-Node-Home- Address-Requested flag set to 1: * If MN wants its Home address to be allocated by its home network, it also sets the value of Home-Address-Allocatable-Only-in-Home- Domain flag to 1. If the MN does not have a Home Agent and requests one, the MN also includes some MIP Feature data with the Home-Agent-Requested flag set to 1. The home agent will then be assigned by the AAA server, and the binding update will be sent by the AAA server to the Home Agent on behalf of the mobile node that, in turn, does not need to send any. * If MN wants its Home agent to be allocated by the visited network, it also sets the Home-Agent-in-Visited-Network flag to 1. The following table describes the different supported cases and the flags that need to be set according to the needs: Faccin, Le, Patil, Perkins [Page 20] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 HD means Home Domain VD means Visited Domain NP means MN has No Preference X means not supported P: Mobile-Node-Home-Address-Requested flag H: Home-Address-Allocatable-Only-in-Home-Domain A: Home-Agent-Requested V: Home-Agent-In-Visited-Network +---------+------------------------------------------------+ | | Home agent Requested | +---------+---+--------------------+-----------------------+ | | | YES | NO | | +---+--+-----+-----+-----+-----------------------+ | | | | HD | VD | NP | | |Home addr| +--+-----+-----+-----+-----------------------+ |Requested| |HD| PAH | x | x | PH | | | +--+-----+-----+-----+-----------------------+ | |YES|VD| x |PAV | x | x | | | +--+-----+-----+-----+-----------------------+ | | |NP| x | x |PA | P | | +---+--+-----+-----+-----+-----------------------+ | | | | | | | | | | NO| | A* | x | x | no MIP Feature data | | | | | | | | | +---------+---+--+-----+-----+-----+-----------------------+ A*: MN already has a home address in its Home network and may request for a Home Agent. The HA can thus only be assigned in the Home Network. While the MN gets authenticated and authorized, if the MN already has a home address and a home agent, it can send a Home Binding Update together with the request to be authorized and authenticated to save one round trip over the access link and between the visited and home networks. This binding update is in this case sent as Embedded Data: The Home Binding Update has: * The H flag set to 1. * The source IP address equals to the CoA * The destination IP address set to the Home agent address * The Home Address option set to the MN Home address 5) The MN may also requests for some security keys thanks to the Security Key Request. Faccin, Le, Patil, Perkins [Page 21] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 The MN SHOULD perform authentication in the following cases: * When changing visited domain: MN can know that by listening the router advertisements * When requesting session keys * When requesting a Home Agent assignment * When requesting a home address assignment 9.2.2. Replies to MN When receiving the reply from the AAA Client, the MN: * Authenticates the network thanks to the network authentication data sent by the AAA Client * If the MN requested a Home agent, it will learn and store the Home Agent address from the source IP address of the Home Binding Acknowledgement. * If the MN did not have a Home IP address and requested for one, the MN will learn and store the assigned home address from the home address option of the Home Binding Acknowledgement (embedded data). The MN creates the security associations from the keying material received. 9.3. AAA Client Operation As indicated above, the mobile node may interact with the AAA Client to perform authentication/authorization and optionally Mobile IP procedures. Thus, the AAA client may perform authentication functions and optionally Mobile IP functions When the AAA Client receives an authentication request message from a IPv6 Mobile node: The AAA Client first verifies the freshness of the request thanks to the Local Challenge contained in it (i.e. the MN may use an older Local Challenge) and if successful, performs Duplicate Address Detection and creates a Diameter ARR (AA-Registration-Request) [7] message carrying the following information to the AAAh: Faccin, Le, Patil, Perkins [Page 22] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 * User Name AVP [7] carrying the user's NAI * EAP AVP to carry the authentication data for mutual authentication derived from the content of the received authentication data * if some MIP feature data were received from the MN, a MIPv6-Feature-Vector AVP whose content is derived from the MIP feature data, sent within the ARR message it sends to the AAAv * MIP-Binding Update AVP if the MN sent a Home Binding Update as Embedded data * MIPv6-Home-Agent-Address AVP if the MN sent a Home binding update: the Home agent address value is extracted from the Destination IP address field of the embedded home binding update. This AVP enables the AAAh to know where to send the MIP-Home-binding-Update AVP if one was present. * if the MN provides a Key Request, some Security Key AVPs whose content is derived from the Key Request. When receiving an ARA [7] (AA-Registration-Answer) message from AAAv, the AAA Client converts the message to appropriate protocol to the MN; this message carries: * the authentication data * Binding Acknowledgement as Embedded Data if MN sent a home Binding Update or requested for a dynamic home agent assignment. The message may also include: * Keying material to set up the different session keys, in different Security Key Data created by the AAA Client from the Security Key AVPs. When the MN asks for a dynamic Home Agent, AAAh must compute the security key to be shared between MN and the HA for authenticating subsequent Binding Updates, and sends the corresponding keying material to the MN. 9.4. AAAv Operation When AAAv receives an ARR message [7]: First the AAAv verifies the message is coming from a valid AAA Client and then, checks the MIPv6 Feature Vector AVP: Faccin, Le, Patil, Perkins [Page 23] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 * If the MN requested a Home Agent by setting the Home-Agent- Requested flag to 1, and does not specify that this one should be assigned only in its Home domain by setting the Home-Address- Allocatable-Only-in-Home-Domain flag to 1, the AAAv checks if it can allocate a Home Agent for the mobile node in the visited domain. If AAAv can allocate a Home Agent in the visited domain, it indicates this to the AAAh by setting the Visited-Home-Agent- Available flag to 1 of the MIPv6 Feature Vector AVP forwarded to the AAAh. When receiving a HOR message from the AAAh for a dynamic Home Agent assignment in the visited network, the AAAv performs the dynamic Home agent assignment and MAY perform some key distribution depending on the mechanisms. When receiving a ARA message from the AAAh, the AAAv MAY optionally, according to the behavior specific for speficic EAPs or other mechanisms defined elsewhere, store locally information contained in the AVPs of the message received from the AAAh (e.g. session keys, etc.) and then forwards the message to the AAA Client. 9.5. AAAh operations * When receiving an ARR message from an AAAv, the AAAh first verifies the message is coming from a valid AAAv. Security associations between AAA server are outside the scope of the present document. The AAAh then authenticates the user using the NAI provided by the MN as MN identity. If the mobile Node is successfully authenticated: * AAAh also computes some network authentication data based on the Host Challenge and eventually other information depending on the authentication algorithm adopted. Depending on the authentication method requirements, the AAAh may exchange many messages with the MN via the AAAv (e.g. for a user authentication mechanism that requires more than one round-trip): AAAh may send a ARA Command with the appropriate authentication information and indication, which will be converted to EAP data by the AAA Client to the MN or conveyed to the MN in other suitable manner (outside the scope of this document). The number of round trips varies depending on the authentication mechanism used. * If the MN asks for some security keys, the AAAh performs the appropriate steps and eventually sends the corresponding messages Faccin, Le, Patil, Perkins [Page 24] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 to achieve the key distribution: many mechanisms exist and will be described later on. Such steps may require the AAAh to distribute keys and keying material to the MN, to other AAA servers or other nodes. * If a MIPv6-Home-Agent-Address AVP is present: the AAAh checks that the address is that of a known and valid Home Agent, and one that the Mobile Node is allowed to request. AAAh then forwards the MIP- Home-Binding-Update AVP to the Home Agent in a HOR (Home-Agent- MIP-Request) message including the appropriate key material to set up the security association between the MN and the Home Agent. * If no MIPv6-Home-Agent-Address AVP is present, AAAh looks at the MIPv6-Feature-Vector AVP if any. Depending on the mobile node request (Home-Agent-in-Visited-Network flag, Home-Address- Allocatable-Only-in-Home-Domain), the visited network capabilities (Visited-Agent-Available AVP) and the local policy, the AAAh decides whether to assign the HA in the home or visited network: 9.5.1. Home Agent Assignement in Visited Network If the AAAh accepts the HA to be assigned in the visited domain, the following exchange of messages takes place: Mobile Node AAA Client Home Agent AAAv AAAh ----------- ----------- ------------- ---------- ---------- <---2.1 Challenge- -2.2 ----> ----------2.3 ARR-------------> ---2.4 ARR----> <--2.5 HOR----- <---2.6 HOR----- ----2.7 HOA-----> ---2.8 HOA----> <--2.9 ARA----- <-----------2.10 ARA------------ <-2.11 --- (2.5): AAAh sends a HOR message to the AAAv with neither any MIPv6-Mobile-Node-Address AVP nor any MIPv6-Home-Agent-Address AVP. * AAAh may send some keying material for HA to derive the key(s) for the security association between the MN and the Home Agent to authenticate future Binding Updates depending on the key distribution mechanism chosen Faccin, Le, Patil, Perkins [Page 25] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 * AAAh may also send other keying material according to the keys requested by the MN (2.6): AAAv assigns a Home agent and then creates and sends it a newly created Binding Update encapsulated in the HOR message. * AAAv may assign Home IP address for the MN and informs the Home Agent by adding a MIPv6-Mobile-Node-Address AVP in the HOR message; or let the Home Agent assigns the Home address by not providing a MIPv6-Mobile-Node-Address AVP in the HOR message. * AAAv may forward to the Home Agent some keying material depending on the key distribution mechanism adopted to set up the security association between the MN and the Home Agent (2.7): The Home agent assigns a Home IP address if requested and creates a Binding Cache for the MN. * The Home agent creates the Security Association according to the mechanism adopted * The Home Agent creates the Binding Acknowledgement to be sent encapsulated to the MN. * The Home Agent sends back a HOA to the AAAv to inform it of the status: it includes the assigned Mobile Node Home Address if the Home Agent assigned one; it also includes the Binding ack created by the Home Agent to be sent encapsulated to the MN. (2.8) The AAAh is informed of the assigned Home IP address (contained in the MIPv6-Mobile-Node-Address AVP) and the Home Agent address (contained in the MIPv6-Home-Agent-Address AVP) by the HOA message sent from the AAAv. (2.9) The AAAh sends the AAAv an ARA carrying the Home IP address, the Home Agent IP address, the keying material with the previous information. 9.5.2. Home Agent Assignment in Home Network If the AAAh decides to assign the HA in the Home network, the following exchange of messages takes place: Faccin, Le, Patil, Perkins [Page 26] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 Mobile Node AAA Client AAAv AAAh Home Agent ----------- ----------- ------------ ---------- ---------- Advertisement & <---3.1 -- Challenge -3.2 -----> 3.3 ARR-------------> 3.4 ARR--------> 3.5 HOR------> <----3.6 HOA <------3.7 ARA <------------3.8 ARA <-------3.9 (3.5) AAAh allocates a Home agent on behalf of the MN: this can be done in a variety of ways, including using a load balancing algorithm in order to keep the load on all HAs equal. * AAAh sends a HOR message to the HA including a newly created binding update and: * The AAAh may allocate a home address for the mobile node and include it in a MIPv6-Mobile-Node-Address AVP within the HOR or else leave this allocation responsibility for the HA by leaving the Home address option of the binding update to zero and not sending any MIPv6-Mobile-Node-Address AVP. * AAAh sends some security keying material to allow the Home Agent to compute the key(s) for the security association between the MN and the Home Agent to authenticate future Binding Updates. (3.6) If the Home Agent does not receive any MIP-Mobile-node-address, and receives a BU with a Home address equals to 0, it assigns a Home IP address for that user; then creates the Binding Cache and computes the key(s) for the security association with the MN from the data received. It also generates a Binding Acknowledgement message to be sent encapsulated to the MN. * The HA sends a HOA message to the AAAh including the Binding Ack and eventually the assigned Home IP address if one was requested. (3.7) AAAh may also compute other keying material according to the keys requested by the MN and send it to the MN passing through the AAAv. * AAAh then send an ARA message to the AAAv including the MIPv6-Mobile-Node-Address and MIPv6-Home-Agent-Address AVPs if the MN did not have any Home address or Home agent. Faccin, Le, Patil, Perkins [Page 27] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 9.6. Home Agent Behavior Upon receipt of the HOR, the Home Agent first processes the DIAMETER message: if the HOR is invalid, a HOA is returned with the Result- Code AVP set to DIAMETER_ERROR_BAD_HOR. Otherwise, the Home Agent processes the MIP-Binding-update AVP and creates the Binding Acknowledgement, encapsulating it within the MIP-binding- acknowledgement AVP. If a home address is needed, the Home Agent assigns one and includes the address in both the Binding acknowledgement message (Home address option) and in the MIPv6-Mobile-Node-Address AVP. HA then creates the Binding Cache and computes the key(s) for the security association with the MN from the data received. 10. Key distribution As identified in the previous sections, many security keys need to be set up and shared between the IPv6 mobile nodes and other network entities, such as: * the key between the mobile node and its Home Agent to authenticate the binding Update and Binding acknowledgement messages * the key between the mobile node and the access router to protect (e.g. for confidentiality and integrity protection) the data over the access link. The AAA entities can play a major role in the computation and distribution of these security keys. Two key distribution methods, relying on this AAA infrastructure and allowing authenticated key distribution, are proposed. 10.1. Key distribution based on Random numbers The home AAA server generates one random number for each required security key. Then taking as inputs, to a key derivation algorithm shared with the mobile node, this random number, the long term key shared with the mobile node and optionally other data, the home AAA server derives the desired security key. This one is securely transmitted to the network entity, the mobile node wants to share the key with. Faccin, Le, Patil, Perkins [Page 28] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 And the random number is sent to the Mobile node which can derive the security session key thanks to the knowledge of the long term key and the key derivation algorithm shared with its home network. This key distribution based on Random numbers is currently used in cellular networks and in the Diameter Mobile IPv4 Application [1] 10.2. Key distribution based on Diffie Hellman As another possibility, the key distribution can be based on the Diffie Hellman mechanism. Diffie Hellman allows two nodes to establish a shared secret key in a secure fashion. It, although, has a major vulnerability since it does not allow a node to figure out with whom it is establishing that secret key. To defeat this vulnerability, the two nodes public values must be authenticated. The AAA infrastructure, and more particularly the security association between the Mobile node and its home network (AAAh) and the security association between the AAAv and AAAh, can provide that authentication. If the mobile node wants to set up a securiy association with an entity in the visited domain (e.g. home agent assigned in the visited domain), the mobile node first sends its public Diffie Hellman value DH_MN authenticated with the long term security association shared with its AAAh. If the entity with whom the MN wants to set up a security association is in the visited domain, AAAv retrieves the entity's Diffie Hellman public value using intra domain security and sends this value, authenticated with the security association it shares with the AAAh, to the home network of the MN together with the message from the MN. AAAh authenticates the Diffie Hellman Public values of the entity and the MN. It then sends the MN's Diffie Hellman Public Value to the AAAv using the security association it shares with AAAv, and sends the entity's Diffie Hellman Public Value to the MN, authenticated with the security association shared with the MN. In this way, AAAh is used to authenticate the Diffie Hellman public values but as a difference with the previous method, since it does not have knowledge of the secret values, it can not derive the value of the session key. This method thus allow to securely distribute the security keys without having the AAA servers being aware of the value of those keys. AAA servers are here used as certificate authorities. Faccin, Le, Patil, Perkins [Page 29] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 11. Conclusions The Diameter Mobile IPv6 application defined in this document allows for support of authentication and authorization of IPv6 mobile nodes roaming between different domains. In addition, it support key distribution and mobility by optimizing these procedures. The application defines also new enhanced features that introduce flexibility in the definition of business models for service providers and allow for different types of terminals. This first version focuses on the different functionalities involved in the support by the AAA infrastructure of inter domain roaming of Mobile IPv6 nodes. 12. Security Considerations The Diameter Mobile IPv6 application defined in this document does not create new security breaches for the IPv6 MN and the foreign and visited domain. On the contrary, it allows for an effective and efficient MN authentication and authorization when roaming between different domains. Faccin, Le, Patil, Perkins [Page 30] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 13. References [1] Pat R. Calhoun, Charles E. Perkins, "Diameter Mobile IPv4 Application" Internet draft, Internet Engineer Task Force, November 2001 [2] Diffie, W. and Hellman, M., "New Directions ijn Cryptography", IEEE Transactions on Information Theory, Vol. IT-22, Nov. 1976, pp. 664-654 [3] Franck Le, Stefano M. Faccin, "Key distribution mechanisms for Mobile IPv6" Internet draft, Internet Engineer Task Force, February 2001 [4] David B. Johnson, Charles Perkins, "Mobility Support in IPv6" Internet draft, Internet Engineer Task Force, November 2001 [5] D. Harkins, D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, Internet Engineer Task Force, November 1998 [6] Sarvar Patel, "Weaknesses of North American Wireless Authentication Protocol", IEEE Personal Communications, June 1997 [7] Pat R. Calhoun, Haseeb Akhtar, Jari Arkko, Erik Guttman, Allan C. Rubens,Glen Zorn, "Diameter Base Protocol" Internet draft, Internet Engineer Task Force, November 2001 Faccin, Le, Patil, Perkins [Page 31] INTERNET-DRAFT Diameter Mobile IPv6 Application September 2002 14. Authors' Addresses Stefano M. Faccin Nokia Research Center 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972 894-4994 E-mail: stefano.faccin@nokia.com Franck Le Nokia Research Center 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972 374-1256 E-mail: franck.le@nokia.com Basavaraj Patil Nokia Corporation 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972-894-6709 E-Mail: basavaraj.patil@nokia.com Charles E. Perkins Nokia Research Center 313 Fairchild Drive Mountain View, California 94043 USA Phone: +1 650-625-2986 E-Mail: charles.perkins@nokia.com Faccin, Le, Patil, Perkins [Page 32]