Abstract:
There is disclosed a method of establishing a connection between a mobile station and a serving domain, in which a first security association exists between the mobile node and an associated home domain, and a second security association exists between the serving domain and the home domain, the method comprising: transmitting a first message from the mobile node to the serving domain, the first message being encrypted in accordance with the first security association; transmitting the first message from the serving domain to the home domain; decrypting the first message in the home domain in accordance with the first security association; transmitting a second message from the home domain to the serving domain, the second message being encrypted according to the first security association; transmitting the second message from the serving domain to the mobile node; decrypting the second message in the mobile node in accordance with the first security association.

Description:
FIELD OF THE INVENTION  
         [0001]    This invention is related to Mobile IP (Internet Protocol) based network architecture and more particularly Mobile IP based cellular networks.  
         BACKGROUND TO THE INVENTION  
         [0002]    Many developing network architectures are based on Mobile IP. However, using the Mobile IP protocol for mobility, the mobile node (MN) needs to share a security association with its Home Agent (HA) in its home domain or home network. In addition if hierarchical mobility mechanisms (such as MIPv6RR-regional registration or HMIPv6-Hierarchical Mobile IPv6) are used to optimise signalling in the network, at least one other security association needs to be set up between the mobile node and the Mobility Agent in the visited or serving domain.  
           [0003]    If the mobile node is also accessing the network through an access network with a link layer connection that requires ciphering of the data transmitted over the access link in order to protect the data from eavesdropping, another security association must be agreed upon between the MN and some entity in the access network to cipher the data carried over the access link.  
           [0004]    Therefore three set of keys need to be distributed for a MN in a Mobile IP network:  
           [0005]    i) The Mobile IP key set to be shared between the MN and its Home Agent, termed Km.  
           [0006]    ii) The key for the hierarchical mobility mechanism set to be shared between the MN and the Mobility Agent in the visited domain termed Ks.  
           [0007]    iii) The Ciphering key to encrypt data over the access link if the MN is accessing the network through an access network with a link layer connection that requires ciphering of the data, termed Kc.  
           [0008]    Today many key distribution protocols exist such as Internet Key Exchange [RFC 2409], Kerberos, etc. to distribute the keys. However these protocols require many messages to be exchanged. As in radio access networks radio resources are limited, such current solutions which rely on many message are not appropriate. When the access network uses a wireless access link (e.g. in cellular networks), it is highly desirable to reduce the number of messages to be sent over the air interface.  
           [0009]    For authentication of the MN and for key distribution some generic mechanisms such as IKE, Kerberos, etc. exist, but they also require many messages to be exchanged, and are thus not suitable for networks using a wireless access link such as cellular networks. In addition many of these solutions distribute the keys by sending them encrypted. However this must be avoided in networks using a wireless access link such as cellular networks, since the wireless link is easily subject to eavesdropping and thus there is the danger of having the keys intercepted. Even if the keys are distributed over the access link by encrypting them, the danger of having the keys intercepted is still too large and this type of solution has traditionally been avoided for networks using a wireless access link such as cellular networks.  
           [0010]    One internet draft, ‘AAA Registration Keys for Mobile IP (draft-ietf-mobileip-aaa-key-01.txt)’, suggests a way to derive the Mobile IP security associations. However the Mobile IP key is sent over the air interface (encrypted), and this must be avoided in cellular networks. In addition this Internet Draft just suggests how to derive the Mobile IP keys. It is an object of the present invention to provide an improved technique for the authentication of the mobile nodes and distribution of keys in a network, and particularly a mobile IP network.  
         SUMMARY OF THE INVENTION  
         [0011]    This invention describes two methods to distribute the necessary keys in an optimised way. An authentication method is also provided. The authentication procedure provides both user authentication and network authentication.  
           [0012]    This invention introduces an optimised authentication and key distribution mechanisms for a mobile node in a Mobile IP based cellular network.  
           [0013]    The authentication mechanism provides mutual authentication and is based on challenge-response mechanism. The key distribution procedure requires a minimal number of messages. The key distribution procedure does not require any key, even encrypted, to be sent over the air interface.  
           [0014]    Two specific key distribution methods are described in two embodiments. A first method is based on random values, and a second is based on Diffie Hellman values.  
           [0015]    This invention enables a network to authenticate a mobile node and a mobile node to authenticate the network. The required security associations in a Mobile IP network architecture are set up without sending an excess of messages over the air interface, and without sending any keys (even encrypted) over the air interface.  
           [0016]    The present invention describes a way to authenticate the keys as well as derive them. The authentication and key distribution are advantageously combined in order to reduce the number of messages, but these two procedures may also be performed separately.  
           [0017]    The technique of the present invention has a number of significant advantages. The procedure does not require many messages to be sent over the air interface. The key distribution mechanisms do not require the key to be sent over the air interface. The key distribution method based on Diffie Hellman is more flexible for a future evolution towards Public Key Infrastructure (PKI). 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0018]    The invention will now be described with regard to illustrative examples by way of reference to the accompanying drawings, in which:  
         [0019]    [0019]FIG. 1 illustrates a first embodiment of the present invention;  
         [0020]    [0020]FIG. 2 illustrates a second embodiment of the present invention;  
         [0021]    [0021]FIG. 3 illustrates a first modification to the first embodiment of the present invention,  
         [0022]    [0022]FIG. 4 illustrates a second modification to the first embodiment of the present invention; and  
         [0023]    [0023]FIG. 5 illustrates a third modification to the first embodiment of the present invention. 
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0024]    The present invention is described herein with reference to particular, non-limiting examples. One skilled in the art will appreciate the applicability of the present invention in applications other than those specifically disclosed herein.  
         [0025]    The process of initial registration, that may occur when a mobile node (MN) powers on or when a MN enters a new visited network, is described in the following. The user is identified by a Network Address Identifier (NAI) and is authenticated by the network.  
         [0026]    At the initial registration, the MN may not have any home agent (HA) assigned to serve it, and may not have the appropriate security keys for communication. In such case, home agent assignment and key distribution happen upon user request during the initial registration.  
         [0027]    The mobile node actually requires three sets of key:  
         [0028]    i) A Mobile IP key set to be shared between the mobile and its home network including the associated home agent, termed Km.  
         [0029]    ii) A key for the hierarchical mobility mechanism set to be shared between the MN and the visited or serving domain, termed Ks.  
         [0030]    iii) A Ciphering key to encrypt the data over the access link if the MN is accessing the network through an access network with a link layer connection that requires ciphering of the data, termed Kc.  
         [0031]    Notations: K (data 1 , data 2 ): (data 1 , date 2 ) are sent encrypted with the key K.  
         [0032]    Notations: CK, IK (data 1 , data 2 ): (data 1 , data 2 ) are sent encrypted with the key CK and integrity protected with the key IK.  
         [0033]    The first embodiment of the invention, described hereinbelow with reference to FIG. 1, is based on random numbers. The second embodiment, discussed hereinafter with reference to FIG. 2, is based on DH exchange.  
         [0034]    In describing the first embodiment with reference to FIG. 1, it is assumed that: the MN and the home network have a long term secret Ki defining a security association therebetween; the home and visited networks share a security association allowing data to be set between these two networks securely; and the AAA-H and home agent also share a security association.  
         [0035]    In this embodiment the key distribution is combined with the authentication procedure: before giving keys to any entity, the entity distributing the keys authenticates the parties first. However, the authentication procedure may also be performed separately.  
         [0036]    The first embodiment of the present invention is described with reference to the various network elements shown in FIG. 1. The network elements comprise a mobile node (MN)  100 , an access network router (ANR)/mobile agent (MA)  102 , an AAA-V  104 , a AAA-H/AuC  106 , and a home agent (HA)  108 .  
         [0037]    In a first step, the access network router (ANR)/mobile agent (MA)  102  of the visited domain generates a first random number, RAND_VD, and pages it over the air interface as represented by arrow  110 . The mobile node  100  powers on (or moves to a new visited network) and listens to the router advertisements, and the paged random numbers from the network. The MN also receives a current care-of-address (CoA), and a regional care-of-address (RCoA), from the network.  
         [0038]    From the received random number, RAN_DVD, and the secret key Ki common to the mobile node and the home network, the mobile node  100  computes a master key Kc 1  which is a function of these two numbers, i.e. Kc 1 =Fn(Ki, RAD_VD). The mobile node then derives the access network specific ciphering key (CK 1 ) and the the access network specific integrity protection key (IK 1 ) from Kc 1  using functions L and M, i.e. L(Kc 1 )=CK 1  and M(Kc 1 )=IK 1 . The ciphering and integrity protection keys are used to encrypt the data transmitted over the access link.  
         [0039]    The mobile node then generates a second random number for network authorization being a mobile node random value RAND_MN for use in authenticating the network, and computes authentication data. The authentication data is computed from the value RAND_VD by using the key Ki and an authentication algorithm. Thus the authentication data can be identified as MN_AuthData.  
         [0040]    All these computations are carried out in step  113 .  
         [0041]    The mobile node then sends a binding update (BU) to the ANR/MA as indicated by the arrow  112 . The binding update includes the MN regional care-of-address MN_RCoA, the ciphered and integrity protected random number and authentication data MN_AuthData, i.e. CK 1 ,IK 1  (RAND_MN, MN_AuthData), the key request, a MAC value, and the visited domain random number RAND_VD.  
         [0042]    The ANR/MA  102  receives the BU from the MN, and forwards it to the visited domain AAA server  104 . Since this message carries a user authentication extension and a key request extension, the visited domain AAA server  104  forwards the request to the home AAA server  106  associated with the mobile node  100 .  
         [0043]    From the user identity, i.e. the identity of the mobile node, the server  106  retrieves Ki. The server  106  uses the RAND_VD value and computes the key Kc 1  using Ki. The server  106  derives the keys CK 1  and IK 1  from Kc 1  using the functions L and M, i.e. L(Kc 1 )=CK 1  and M(Kc 1 )=IK 1 . The server  106  applies CK 1  and IK 1  to decipher and verify the integrity of the RAND_MN and MN_AuthData. . . The sever  106  computes a MN_AuthData based on RAND_MN and Ki. . The server deciphers the RAND_MN and MN_Auth Data and authenticates the MN based on Ki and MN AuthData. The server computes NW-Auth Data based on Ki and RAND-MN Based on Ki, AuC computes three sets of keys:  
         [0044]    i) MIP Key: Km, Rand_KM  
         [0045]    ii) Key for hierarchical mobility model: Ks, RAND_KS  
         [0046]    iii) Cipjering Key:Kc 2 , RAND_Kc 2   
         [0047]    These computations are carried out in step  115 .  
         [0048]    The server  106  then verifies the MAC value to make sure the message has not been modified, and generates three further random values: RAND_Km, RAND_Ks, and RAND_Kc 2 . From these two values, it computes three sets of keys using functions G, H and J:  
         [0049]    i) G (RAND_Km, Ki)=Km;  
         [0050]    ii) H (RAND_Ks, Ki)=Ks; and  
         [0051]    iii) J (RAND_Kc 2 , Ki)=KC 2 .  
         [0052]    The AA-H/AuC  106  then chooses a home agent for the mobile node  100 , and sends to the chosen home agent  108 , as represented by arrow  118 , the Mobile IP Key Km to share with the MN to authenticate subsequent Binding Updates (MN-HA authentication extensions), and requests the HA to make a binding between the Home address and the Regional Care of Address MN_RCoA of the MN. The Home Agent confirms the reception of the key Km and the Binding Updtae as represented by arrow  120 .  
         [0053]    The AAA-H/AuC  106  then sends all the keying material to the visited domain in a second message as represented by arrow  122 . The second message comprises the network authentication data NW_AuthData, and the random values RAND_km, RAND_Kc 2  and RAND_Ks ciphered and integrity protected by CK 1  and IK 1 , i.e. CK 1 , IK 1  (RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData). Message  122  comprises also the keys Ks and Kc 2 , and the MAC value. The AAA-H/AuC  106  includes the RAND_MN used to compute the NW_AuthData to allow the MN to verify the network authentication data correctly in case the MN has sent multiple RAND_MN to the home network for different authentication procedures, The AAA-V  104  keeps a copy of the master key Kc 2  and the key Ks for the hierarchical mobility mechanism in step  121 .  
         [0054]    The AAA-V  104 , after storing the values Kc 2  and Ks, then transmits all the received information to the ANR/MA  102  as represented by arrow  124 , which also stores the keys Kc 2  and Ks in step  123 . The content of the message represented by arrow  124  corresponds to that represented by arrow  122 .  
         [0055]    Kc 2  is used in steps  123  to derive the access network specific ciphering key CK 2  and integrity protection key IK 2 , which are used to cipher and protect data over the air interface, using the functions L and M, i.e. L(Kc 2 )=CK 2  and M(Kc 2 )=IK 2 .  
         [0056]    Ks is used to authenticate the binding updates for the hierarchical mobility model from the MN (MN-MA authentication extensions).  
         [0057]    The ANR/MA  102  knows from the message received from the mobile node&#39;s home network that the user is a valid one, and as such the mobile node has been authenticated. The ANR/MA  102  therefore performs a Binding Update for the hierarhical mobility model as represented by block  125 .  
         [0058]    The ANR/MA  102  then sends a binding acknowledgement to the mobile node, as represented by arrow  126 , to inform it of the success of the binding updates. The ANR/MA  102  also sends to the MN the network authentication data NW_AuthData, and the random values RAND_km, RAND_Kc 2  and RAND_Ks ciphered and integrity protected by CK 1  and IK 1 , i.e. CK 1 , IK 1  (RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData). Message  126  comprises also a MAC value. MN verifies thanks to the MAC that the message has not been altered. MN deciphers and verity for integrity the RAND_Km, RAD_Ks, RAND_KC 2 , RAND_MN, NW_AuthData, MN authenticates the network based on NW_AuthData and Ki. MN uses Ki, F, H and J functions (see above) to compute Ks, Km and Kc 2 . The MN derives CK 2  and IK 2  from Kc 2  using the functions L and M, i.e. L(Kc 2 )=CK 2  and M(Kc 2 )=IK 2 , and can then use CK and IK 2  to cipher and protect data sent over the access link to the ANR/MA.  
         [0059]    If the registration for the hierarchical mobility mechanism fails, the mobile node must send a binding update to its home agent informing the regional CoA MN_RCoA is not valid, and requesting the home agent to use its current CoA.  
         [0060]    A number of alternatives to the technique described with reference to FIG. 1 are described hereinbelow with reference to FIGS.  3  to  5 .  
         [0061]    In a second embodiment, it is proposed that the keys may also be computed using the well known Diffie Hellman (DH) algorithm. The mobile node and the other entity with which it is communicating only need to exchange their DH public values in an authenticated way. An example embodiment utilising this technique is described hereinbelow with reference to FIG. 2.  
         [0062]    In the following, a key establishment between the mobile node and the serving or visited domain is described, (i.e. establishment of Ks).  
         [0063]    It is assumed that the MN and the Home Domain share a security association based on Ki, and that the visited domain and home domain share a security association based on K 1 .  
         [0064]    In a first step, the access network router (ANR)/mobile agent (MA)  202  of the visited domain generates a first random number, RAND_VD, and pages it over the air interface as represented by arrow  206 . The mobile node  200  powers on (or moves to a new visited network) and listens to the router advertisements, and the paged random RAND_VD from the network.  
         [0065]    The mobile node  200  then generates its Diffie Hellman value DH using the Diffie Hellman algorithm. The MN  200  also computes a key Kc from Ki and RAND_VD using function J as indicated above, i.e. J(RAND_Kc, Ki)=Kc. The MN  200  derives the keys CK and IK from Kc using the functions L and M, ie L(Kc)=CK and M(Kc)=IK. As represented by arrow  208 , the MN  200  sends its DH value, encrypted with CK and integrity protected with IK, i.e. CK, IK (DH_MN). Message  208  comprises also of RAND_VD. The Visited Domain  202  receives the first message but cannot decrypt it since it does not know how to compute Kc, and transmits it to the home domain  204  as represented by arrow  210 . Before transmitting it to the home domain, the visited domain adds its own DH value encrypted with K 1 , i.e. the security association shared between the visited domain  202  and the home domain  204 . At this point it should be noted that the visited domain may also be referred to as the serving domain.  
         [0066]    The Home Domain  204  derives Kc from Ki and RAND_VD, and derives the keys CK and IK from KG using the functions L and M, ie. L(Kc)=CK and M(Kc)=IK. The Home Domain  204  can then decrypt both CK, IK (DH_MN) and K 1  (DH_VD) to recover the mobile node DH value MN_DH, and the visited domain DH value VD_DH. The home domain then encrypts mobile node DH value, DH_MN, using K 1 , and the visited domain DH value, DH_VD, using CK and IK. The thus encrypted DH values are transmitted to the visited domain  202  as represented by arrow  212 .  
         [0067]    The visited domain receives DH_MN encrypted with K 1 . Since the visited domain has an established relationship with the home domain and trusts the home domain, it can decrypt the mobile node DH value encrypted with key K 1  to recover the mobile node DH value. It knows DH_MN is the DH public value of the mobile node.  
         [0068]    The visited domain forwards a message  214  comprising the visited domain DH value encrypted with key CK and integrity protected by IK, compiled by the home domain  201 , to the mobile node  200 .  
         [0069]    In the same way as the visited domain, when the MN receives CK, IK (DH_VD), it can decrypt using CK and IK. Since it trusts its home domain, it knows DH_VD is the DH public value of the visited domain,  
         [0070]    The mobile node and the visited domain have at this point exchange the respective DH public values in an authenticated way and can both compute the DH key Ks by using DH_MN and DH-VD. The keys Kc 2  and Km may be established in the same way, using the DH mechanism and different DH values, one for each of the three keys to be established. This procedure has the advantage to set up keys at points in the network (namely MN  200  and Visited Domain  202 ) without having to send any key over the network.  
         [0071]    In the described embodiments, the home domain is used to authenticate the DH public value of the different network entities. In the future, when PKI is implemented, the PKI infrastructure may be used to substitute the home domain role and authenticate the DH public values. This scheme therefore allows easy evolution towards PKI.  
         [0072]    In addition, in the above-described embodiments, user authentication is based on symmetric key mechanisms (Ki). However if the mobile node and the home domain have Public Keys, Public Key authentication mechanisms can also be used.  
         [0073]    The solution may be implemented in existing networks by adding: new extensions in Diameter; or new extensions in Mobile IP.  
         [0074]    In the embodiment illustrated in FIG. 1, the random number is generated by the visited network. Compared to generation by the home network, this saves one round trip between the visited and the home networks. However, if the network operators prefers, the home network may generate the random value. The random value may still be paged over the air, but as an alternative the mobile node may first send a challenge request to the visited domain and the visited domain forwards it to the home network, and receive the random number responsive thereto.  
         [0075]    In the embodiment illustrated in FIG. 1, the random value generated by the serving system is used for user authentication and ciphering key computation. In an alternative, this random value may be used for user authentication only, and the home domain may generate the ciphering key Kc in the same way chat it computes the keys Km and Ks.  
         [0076]    There are three possibilities for sending the keying material to the mobile node over the air interface, as detailed hereafter.  
         [0077]    “In cleartext”: Any user which captures RAND_Km, Kc_mat and RAND_Ks, does not know Ki and therefore can not compute Km, Kc nor Ks. For that reason, the keying material can be sent in “cleartext” 
         [0078]    Encrypted with a temporal Key shared between the MN and the Home Domain: A temporal key Kt may be derived from Ki and used to encrypt RAND_Km, RAND_Ks and Kc_mat. This adds another level of protection: to know Km, Ks and Kc, two levels of security must be broken: Kt and Ki. But Kt needs to be re-freshed.  
         [0079]    Encrypted with the session key. The mobile node and the visited domain must first share the session key Kc. This can be realized as indicated in the case above (generation of the challenge number by the visited domain). Then RAND_Km and RAND_Ks can be sent encrypted over the air interface.  
         [0080]    For integrity protection, a MAC can be computed over every message or if preferred, a MAC can be computed over RAND_Km, another over RAND_Ks, and eventually one over Kc_mat.  
         [0081]    Computing different MACs, the user may know which one is corrupted, and request a new value for this specific set. However, this results in more MACs being sent over the air interface.  
         [0082]    Depending on the access link technology, the access link may have a limited ability to carry information and may not be able to carry all the parameters such as the key request, the random value generated by the MN to authenticate the network, etc.  
         [0083]    Therefore the procedure may be split into different parts. After receiving the challenge, the user only sends back the user authentication data; and then once the user is authenticated and a dedicated channel assigned, the mobile node can request key distribution and network authentication.  
         [0084]    The operators may not let the user send too much information over the air before authentication.  
         [0085]    In the embodiments described hereinabove, there is described the combination of the authentication procedure, the key distribution, the mobile IP hierarchical mobility mechanism and the mobile IP home registration. However, one skilled in the art will appreciate that all these procedures can be performed separately or ordered differently. Various possibilities will be presented and described with reference to FIGS.  3  to  5 . However, further modifications may exist and the variations described below are in no way limiting. It should be noted that in FIGS.  3  to  5  a number of operations are shown which correspond directly to those described hereinabove with reference to FIGS.  1  and  2 . For conciseness, only those message exchanges necessary for an understanding of the modifications presented are described in detail.  
         [0086]    Reference is now made to FIG. 3. The MN  300  powers on or moves to a new visited domain and listens to the router advertisements. The MN  300  creates and sends (arrow  316 ) a Binding update (BU) request: the destination address is the Mobility Agent (AR)  302  whose address has been provided during the router advertisement. The BU includes the identity of the user, which is the user&#39;s NAI, and also include a Challenge Request to indicate to the home network the need to register and be authenticated.  
         [0087]    The AR receives the BU from the MN and since this message carries a Challenge Request, it forwards the request (arrow  318 ) to the local AAA server  310 , which transfers it to the Home Network of the user (arrow  320 ). The AAA-H/AuC  312  generates a random number RAND_HD and sends it to the MN (arrows  322 ,  324 ,  326 ).  
         [0088]    This random number provides a strong authentication mechanism, and also serves for anti replay attacks. Timestamp is a possible alternative: it requires fewer messages but requests secured synchronized clocks between the MN  300  and the AAA-H/AuC  312 .  
         [0089]    From the received random number, RAND_HD, and the secret key Ki common to the mobile node and the home network, the mobile node  300  computes a master key Kc 1  which is a function of these two numbers, i.e. Kc=Fn(Ki, RAND_HD). The mobile node then derives the access network specific ciphering key (CK 1 ) and the the access network specific integrity protection key (IK 1 ) from Kc 1  using the functions L and M, i.e. L(Kc 1 )=CK 1  and M(Kc 1 )=CK 1  and M(Kc 1 )=IK 1 . The ciphering and integrity protection keys are used to encrypt the data transmitted over the access link.  
         [0090]    The mobile node then generates a second random number being a mobile node random value RAND_MN for use in authenticating the network, and computes authentication data MN_AuthData. The authentication data is computed from the value RAND_HD by using the key Ki and an authentication algorithm.  
         [0091]    The MN then sends a BU including the authentication data MN_AuthData, computed with Ki, and a Key Request (arrow  328 ) The binding update includes the ciphered and integrity protected random number and authentication data MN_AuthData, i.e. CK 1 ,IK 1  RAND_MN, MN_AuthData), the key request, a MAC value, and the home domain random number RAND_HD.  
         [0092]    The BU is forwarded to the AAA-H (arrows  330 ,  332 ). The AAA-H/(AuC  312  verifies the MAC value to make sure the message has not been modified. From the user identity, i.e. the identity of the mobile node, the server AAA-H(AuC  312  retrieves Ki. The AAA-H/AuC  312  derives Kc 1  from Ki and RAND_HD, and derives CK 1  and IK 1  from Kc 1 . The AAA-H/AuC  312  will then decipher and verify the integrity of RAND_MN and MN_AuthData, and authenticates the user by using MN_AuthData and Ki. The AAA-H/AuC  312  computes NW_AuthData based on Ki and RAND_MN. Finally, the AAA-H/AuC  312  generates three further random values: RAND_Km, RAND_Ks, and RAND_Kc 2 . From these three values, the AAA-H/AuC  312  computes three sets of keys using functions G, H and J:  
         [0093]    i) G (RAND_Km, Ki)=Km;  
         [0094]    ii) H (RAND_Ks, Ki)=Ks; and  
         [0095]    iii) J (RAND_Kc 2 , Ki)=KC 2 .  
         [0096]    Thus in box  331  the AAA-H/AuC derives Kc 1  from Ki and Rand-HD, derives CK 1  and IK 1  from Kc 1 , authenticates the MN based on MN_AuthData and Ki. Further NW_AuthData is computed based on Ki and RAND_MN. Based on Ki, AuC computes three sets of keys:  
         [0097]    i) MIP Key: Km, RAND_Km  
         [0098]    ii) Key for hierarchical mobility model: Ks, RAND_Ks  
         [0099]    iii) Ciphering Key: Kc 2 , RAND_Kc 2   
         [0100]    The AAA-H/AuC  312  then chooses a Home Agent and sends the Mobile IP key Km to the selected HA.  
         [0101]    The AAA-H then sends the keying material to the AAA-V (arrow  334 ) in a message containing the ciphered and integrity protected RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData, i.e. CK 1 , IK 1  (RAND_Km , RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData). Message  334  comprises also the keys Ks and Kc 2 , and a MAC. The AAA-v  310  stores the keys Kc 2  and Ks (step  336 ). A security association between the home and visited domains enables the AAA-H and the AAA-V servers to exchange data in a secure way.  
         [0102]    The AAA-V  310  transfers the keying material to the AR which will enable the MN to compute the required keys, including the network authentication data the MN will use to authenticate the network (arrow  338 ). Message  338  contains the ciphered and integrity protected RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData, i.e. CK 1 , IK 1  (RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData). Message  338  comprises also the keys Ks and Kc 2 , and a MAC.  
         [0103]    The AR  302  stores the key Ks (step  340 ) and the key Kc 2 , and derives CK 2  and IK 2  from Kc 2  using the functions L and M, i.e. L(Kc 2 )=CK 2  and M(Kc 2 )=IK 2 . The AR  302  forwards the the ciphered and integrity protected RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData, i.e. CK 1 , IK 1  (RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData), the MAC to the MN (arrow  342 ).  
         [0104]    MN (steps  344 ) verifies thanks to the MAC that the message has not been altered. MN deciphers and verify for integrity the RAND_Km, RAND_Ks, RAND_KC 2 , RAND_MN, NW_AuthData. MN authenticates the network based on NW_AuthData and Ki. MN uses Ki, F, H and J functions (see above) to compute Ks, Km and Kc 2 . The MN derives CK 2  and IK 2  from Kc 2  using the functions L and M, i.e. L(Kc 2 )=CK 2  and M(Kc 2 )=IK 2 , and can then use CK 2  and IK 2  to cipher and protect data sent over the access link to the ANR/MA.  
         [0105]    The MN then performs a BU for the hierarchical mobility mechanism with the Visited Network (arrow  346 ).  
         [0106]    Once the registration for the hierarchical mobility mechanism (step  348 ) has succeeded, as indicated by arrow  350 , the MN executes a BU with its HA (arrows  352 ,  354 ).  
         [0107]    An alternative embodiment is shown in FIG. 4. Reference is now made to FIG. 4, which illustrates a modification in which the key request and the registration for the hierarchical mobility mechanism are combined.  
         [0108]    The first BU (arrow  416 ,  418 ) requests the Challenge. The second BU (arrows  420 ,  422 ) carries the authentication data and the key request. After the Home network has authenticated the user, the AR knows that the MN is a valid one and since it has the key for the hierarchical mobility mechanism, it can initiate the registration procedure for the hierarchical mobility mechanism thus saving one round trip over the air interface.  
         [0109]    The third BU (arrows  424 ,  426 ) is a BU with the MN&#39;s Home Agent: the AR cannot perform this BU because it does not have the Mobile IP Key.  
         [0110]    In the example of FIG. 4, the number of messages sent over the air interface is reduced to six.  
         [0111]    An alternative embodiment is shown in FIG. 4. Reference is now made to FIG. 5. A first BU  516  requests the Challenge A second BU  518  carries the authentication data and the keying material.  
         [0112]    A thud BU  521  includes two BUs: one  520  for the hierarchical mobility mechanism and one  522  for the HA BU (this latter one will be computed with MN Mobile IP key). The AR will first perform the registration for the hierarchical mobility mechanism; if it fails then the AR informs the MN without executing the HA BU. Inn the case of success, it transmits the HA BU to the MN&#39;s Home Agent.