Patent Abstract:
Traditional circuit-switched cellular systems first authorise the mobile terminal and then secure the wireless access link between the cellular radio access network and the users mobile terminal. The IP protocol is then allowed to run as an application over that access link. Internet access systems traditionally use an unsecured access link and use IP messaging to authorise the Mobile Node (IP host) on the mobile terminal, and the resulting communications. Cellular systems therefore authorise and secure at layer 2 (with respect to IP) whilst Internet systems authorise and secure at layer 3 in general. An Internet compliant cellular system needs to potentially authorise and secure both the MACand IP layers and traditionally this is done with two phases using two independent AAA systems (Authentication, Authorisation and Accounting) with L3 following L2 which results in unnecessary complexity, cost and delay when gaining access to a communications network. This invention proposes an integrated process with the order reversed whereby L2 follows L3. The L3 process treats the wireless link as any normal IP access link, and the L3 authorisation provides L3 processing, but also includes the L2 terminal authentication identifiers so that the L2 security parameters can also be returned. This means that the wireless link and the IP layer are not secured until after the L3 authorisation has completed and therefore the first IP messages that trigger authorisation are sent insecurely. This invention also provides methods to avoid these insecure messages presenting any opportunities to an attacker. Finally, the inventions include methods to enable L3 before L2 authorisation when a user is roaming in a foreign network. These enable different types of AAA servers in the foreign domain to work with different types of AAA servers in the home domain provide dynamic assignment of foreign mobility agents and the associated security associations between home and foreign mobility agents, as well a temporary account in the foreign domain. These methods apply both to standard MIP as well as Nested MIP, and to different types of Mobile Node apparatus and a range of user, host and terminal authentication models.

Full Description:
RELATED APPLICATIONS  
       [0001]    The present application claims the benefit of U.S. Provisional Patent Application S. No. 60/418,526 filed Oct. 15, 2002 titled “METHODS AND APPARATUS TO SECURE A COMMUNICATIONS ACCESS LINK AND MOBILITY SESSION IN A FOREIGN NETWORK” which is hereby expressly incorporated by reference. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention is directed to methods and apparatus for providing authentication, authorization and accounting services to mobile nodes which are located in a foreign network domain.  
         BACKGROUND  
         [0003]    Internet AAA systems provide Authentication, Authorisation and Accounting (AAA) for Internet Service Providers (ISPs) so that End Nodes (ENs) and/or their users can be identified, and given access to a controlled set of service capabilities for which consumption can then be measured. End nodes may be, e.g., fixed devices such as desk top PCs or mobile devices such as PDAs and/or portable computers which may connect to a network via a wireless communications link. End nodes and their corresponding users are normally identified by a network access identifier (NAI). While in their home domain, Internet service is normally provided to an end node from a home ISP which uses a first, e.g., home, AAA system. The AAA system typically includes a AAA server that is used to provide AAA functionality.  
           [0004]    The Internet AAA architecture has a roaming capability whereby a user outside his home domain can obtain service from a second, e.g., foreign, ISP who has a business relationship either with the home ISP or a third party broker/settlement system. The user is authenticated and authorised by the home ISP, so that the foreign ISP can generate accounting records and receive payment for the service provided to the roaming user. Roaming is facilitated by the user providing its Network Access Identifier (NAI), e.g., username@realm such as john_smith@home_ISP.com, to the foreign ISP. The second ISP uses the NAI realm for AAA routing, to identify the target AAA system of the home ISP and to then proxy the AAA request for the user authentication to the identified AAA system, potentially via a third AAA system corresponding to a broker. This AAA proxying relies on security associations that are in place between the home and foreign ISPs, or between the third settlement service and both the home and foreign ISPs, to secure the AAA transactions that flow between the home and foreign ISPs. For the purpose of authentication with the home AAA server, the user and its home AAA server share a secret that is used in combination with its NAI. The shared secret may be stored in the home AAA server and the user device and as needed, is accessed for use in performing authentication and/or encryption/decryption functions.  
           [0005]    Since the foreign AAA system has no knowledge of the user&#39;s NAI, it simply passes the Access_Request to the home AAA and receives back an access response (accept/reject). If the access response is accept, e.g., an Access_Accept, the response constitutes a commitment by the home AAA system that the charges incurred by the user will be met. Specifically, the user normally does not at any time have a user account created in the database of the foreign AAA (AAAF) and there is no need for the user and AAAF to have any form of shared secret. This is because the user requires only a single shot authorization provided by the home AAA system and is subsequently granted connectivity. This model however is insufficient if various additional services are to be consumed in the foreign domain by the user for which either unilateral or mutual authentication with the foreign domain is required. This is because in the described system a shared secret is only available in the home AAA system (AAAH) and is therefore unavailable in the AAAF, i.e. there is no shared secret present between the AAAF and the user device. For example, if link layer encryption keys need to be derived for security/privacy reasons then, with the existing model, these keys can only be derived by the home AAA system although the communication links used belong to the foreign AAA system where the user happens to be. Other security associations between the user and the foreign network may also be needed such as security associations with application specific servers like Session signalling servers, mobility agents, paging agents etc. The inability of the AAAF to perform authentication/authorization is limiting and can interfere with the ability to provide service to a node visiting a foreign domain.  
           [0006]    We note here that if the foreign (or home) wireless network were to use a public key infrastructure for its security needs, then there would be no need for a shared secret between the user and the AAAF: instead, a certification authority would vouch for the public keys of the user and the AAAF. It is well known in the art that the public key system is computationally burdensome for power-limited wireless devices, and thus it is rarely employed in real-life wireless networks.  
           [0007]    Based upon the above discussion, it is clear that a need exists for a better AAA system and method to satisfy the security needs of wireless networks, particularly concerning how security is handled between home and foreign domains during roaming.  
         SUMMARY OF THE INVENTION  
         [0008]    The present invention is directed to methods and apparatus for supporting authentication, authorization and/or accounting operations in both home and foreign network domains. The methods and apparatus of the present invention are well suited for use with mobile devices, e.g., mobile end nodes, and cellular systems. The techniques of the present invention utilize security systems, e.g., AAA systems, in each of the home and foreign domains to avoid the need and overhead of a public key infrastructure to service the security needs associated with providing services to mobile devices.  
           [0009]    A home AAA system is located in a home domain, e.g., home network, while a foreign AAA system is located in a foreign domain, e.g., foreign network. The home and foreign AAA systems are coupled together in a secure manner so that they can communicate in a reliable and secure manner.  
           [0010]    Various features of the invention are directed to separating security between the user and the home AAA system from security between the user and a foreign AAA system, after an initial authentication operation involving the home AAA system. Following the initial authentication operation, the methods of the present invention provide the foreign AAA system and the user with a dynamically generated shared secret, from which other keys can be generated for commnunications in the foreign domain. The dynamically generated shared secret can be used by the foreign AAA system and visiting end node to support additional authentication and/or authorization operations which may take place in the foreign domain as additional services are requested. In accordance with one feature of the invention, a second NAI associated with the end node may be generated and assigned as part of the initial authentication and authorization process. The generated NAI is associated with the generated shared secret by both the user end node and the AAA system in the foreign network. The assigned NAI is used by the end node in the foreign domain when requesting additional services.  
           [0011]    To gain network access, an end node needs to be authenticated to the network. In accordance with the present invention, some times it is considered to be the end node itself that authenticates and some other times it is considered to be the user of the end node that authenticates. In accordance with another feature of the invention, it is also possible that the user authentication information is placed in a given end node so that the end node can authenticate on behalf of the user automatically. Any of the various above discussed alternatives may be used in accordance with the present invention. The end node can be a fixed or a mobile node e.g.: a mobile terminal.  
           [0012]    A home cellular operator can use its AAA system to authenticate an end node, e.g., a Mobile Terminal (MT), and authorise service capabilities. If the user is seeking access to the system, then it sends some form of ‘connect’ message from the Mobile Terminal to the access node, e.g., an access router, which itself triggers an Access_Request message to the local AAA server. The ‘connect’ message includes the username and realm of that user in the form of a home NAI to facilitate AAA routing. The Access_Request to the AAA should also include the access interface type and/or access router type, so that the AAA system understands what interface-specific home AAA processing to apply to that Access_Request and what specific parameters should be returned in the Access_Accept. When in a foreign domain the foreign AAA server proxies the Access_Request acting as an intermediary between the end node and the home AAA server.  
           [0013]    The user and home AAA server share a root key, e.g., value, having a predetermined format, that is provided as part of service creation. This root key is not shared with the foreign AAA server. The root key can be used by the home AAA server for an Extensible Authentication Protocol (EAP)-based mutual authentication between the Mobile Terminal and the AAA server. The EAP based authentication is triggered by an Access_Request comprising of a username and access link type. During the EAP mutual authentication, the user device (end node) and the home AAA system (AAAH), e.g., server, generate a Home Session (HS) key that is subsequently used to undertake any additional security procedures with the AAAH during the lifetime of that session key. The HS key is used to derive subsequent keys, which can be used for security processes. The root key normally is not itself used directly for securing communications, in order to limit exposure of the root key, which would otherwise offer opportunities for security analysis, and hence the potential compromise of the root key over time.  
           [0014]    The lifetime of the HS key maybe pre-defined as a result of the root key length and/or entropy EAP method details, HS key usage and the threat model. The operator, through network management procedures, may adjust this lifetime and it is the responsibility of the MT to manage the HS key and refresh it as required by the MT usage of that key. Optionally/alternatively, some of the HS key management can be offloaded to the AAAH server, such as in the case where with each EAP mutual authentication, the AAAH forces the derivation of a new HS key.  
           [0015]    An example of EAP-based mutual authentication procedure would employ a challenge, RandS, from the AAAH Server to which the Mobile Terminal replies with a response, RespM, and its own challenge, RandM. The AAAH then issues its response, RespS to the Mobile Terminal challenge, RandM. The Mobile Terminal and AAAH use the following algorithms to calculate the required responses and the resulting HS key, and to mutually authenticate each other.  
           HS=PRF{RandS|RandM, root key} 
           RespS,RespM=PRF{RandS|RandM, HS} 
           [0016]    where the | indicates concatenation and the PRF is any keyed one-way pseudo-random function, e.g., HMAC, taking Msg and Key to produce Output=PRF (Msg, Key). If the user is in the home domain then the completion of the mutual authentication leads to the derivation of security parameters in the Home Authentication Server (potentially part of the AAAH) to secure the basic facilities to be used by the user such as the access link security and other keys.  
           [0017]    If the user is in a foreign domain then it is the air-link and other facilities in the foreign domain that should be secured. The processes and protocols for undertaking this are a matter for the foreign domain and therefore should be conducted under the control of the foreign AAA system (AAAF), e.g., foreign AAA server. This is done so that multiple Mobile Terminals, air-link and fixed link technologies can be supported under the same overall authentication model. In accordance with the invention, the AAAF should, and is provided with, access to a secret shared with the Mobile Terminal so that subsequent security parameters can be securely and efficiently derived. The derivation of this shared secret is a matter for standardisation as it will be undertaken between AAA domains (foreign and home) and should be applicable to multiple access technologies. In this discussion of the invention, the shared secret, generated for use by the AAAF from information, e.g., the HS key, is called the Roaming Session (RS) key. In an exemplary embodiment, the RS key is derived indirectly from the HS key and has a lifetime no greater than, and often less than, the lifetime of the HS key from which it is generated.  
           [0018]    The AAAH can determine whether or not the user is in the home domain by the originator and contents of an Access_Request. For example, the AAAH can determine if the Access_Request has been proxied by a AAAF and is from a AAAF providing a MT identifier used to indicate the mobile associated with the request. In one embodiment of this invention, if the MT is in a foreign domain, then the Access_Request will have traversed the AAAF and the AAAF will add a new Attribute—Value Pair AVP requesting a Roaming Session (RS) key. In an alternative embodiment, the AAAH returns an RS key to the AAAF when the Access_Request indicates a roaming user based on policy without the need for specific request for such a key. While roaming, mutual authentication of the MT and the AAAH should still take place. In one embodiment of the invention, if the MT is roaming, and the AAAH knows it supports RS key derivation, then during the subsequent EAP based mutual authentication between the MT and the AAAH, the MT and AAAH derive the RS key via the mutual authentication based on the HS key. This is the additional RS key in the equations below corresponding to an exemplary embodiment of the present invention.  
           RS, RespS,RespM=PRF{RandS|RandM, HS} 
           [0019]    The RS key has a lifetime equal to, or less than, that of the HS key and is securely transferred to the AAAF, using the AAAH-AAAF Security Association (SA), in a new and novel AVP containing both the RS key and its lifetime. In one embodiment of the invention the AAAH, may then discard the RS key. If the MT or AAAH is not capable, or willing, to derive the RS key then the AAAF is informed of this fact in the access response message sent back from the AAAH.  
           [0020]    According to this present invention if an Access_Accept received by a AAAF includes an RS key and, optionally, lifetime information indicating the key lifetime, then the AAAF creates an account, e.g., a temporary account, for the roaming user in the AAAF database. The username@home realm is stored in the database along with the RS key and the profile of the MT also returned in the Access_Accept. The RS key is known to the AAAH. In one particular embodiment of this invention the AAAF considers it as being unsuitable, for policy reasons, to be used directly to secure the communication between service elements in the foreign domain. In such a case, the AAAF undertakes its own EAP-based mutual authentication with the Mobile Terminal, to derive a Foreign Session (FS) key from the RS shared key, both of which are now known to the Mobile Terminal and the AAAF. While the shared secret for the mutual authentication is the RS, the resulting FS key is not known to the AAAH making it suitable for use in the AAAF from a policy standpoint. In one embodiment of the invention, the EAP mutual authentication is the same as, or similar to, that conducted with the AAAH but with different RandM, RandS and root key inputs. The authentication may be as follows:  
           FS=PRF{RandS|RandM, RS} 
           RespS,RespM=PRF{RandS|RandM, FS} 
           [0021]    In other embodiments of the invention, a different EAP method is used in the MT to AAAF EAP exchange used to generate the FS key from the RS key from the one used in a MT to AAAH EAP exchange.  
           [0022]    In one embodiment of the invention, the FS key and lifetime are stored by the AAAF so that it can be used as a shared foreign secret for additional security processes in the foreign domain with the Mobile Terminal. The Mobile Terminal then has a shared secret with both the AAAH and the AAAF that is only known to each specific Authentication Server.  
           [0023]    In an exemplary embodiment, the lifetime of the FS key is by default equal to that of the HS and RS keys and once the FS is derived then the RS key is no longer required and may be forgotten, e.g., deleted, by the AAAF and the Mobile Terminal. However, in some implementations the FS key lifetime is made to be significantly smaller than the HS or RS lifetimes so that the AAAF can force the MT to periodically repeat the EAP mutual authentication with the AAAF. In such cases the RS key should, and is, kept by the AAAF and mobile node.  
           [0024]    A default lifetime of the temporary account for clean-up purposes, used to store the RS and/or FS keys, and the homeNAI and tempNAI, is the remaining lifetime of the RS or FS key. The account lifetime can be a fixed time under policy control of the AAAF with the remaining lifetime transferred to the access node, e.g. access router (AR) in the MT profile, or it can be as long as the current access session as required by the user, with temporary account clean-up being triggered by the session termination indication within a AAA message from an access node, e.g. AR. However, the default lifetime is still required to deal with the loss of such AAA messages due to, e.g., an access router failure for instance. The MT profile can include temporary account management information, which indicates how the AAAH wishes the AAAF to manage the users account. For example, the AAAH may wish the temporary account to last for a specific bounded period of time, a specific number of bytes, until a certain credit limit is reached or until an absolute date and time is passed. The MT profile can also include a maximal interval within the temporary account lifetime for which the MT profile does not need to be updated. This can be used to create medium term temporary accounts that avoid the repeated transfer of the MT profile and account management information when the Mobile Terminal is with a foreign operator for a sustained period of time, such as is likely with international roaming. Such management on the MT profile also avoids the need for the AAAF to incrementally transfer accounting records to the AAAH whilst the user is within accounting limits agreed between the AAAH and AAAF. This therefore ensures that the AAAH does not lose account control during the existence of the temporary account. The Mobile Terminal then simply needs to ensure it undertakes periodic mutual authentications, or on each access invocation, during the account lifetime to ensure that the HS and FS keys are valid. To deal with all these scenarios, the MT has knowledge of, e.g., shares, the account management policy in the AAAH, and the AAAF is able to return the account ‘lifetime’ to the access router and the MT via the Access_Accept message. The access router can then know when to terminate the access session and the MT can appreciate why and under what policy the access session and temporary account were terminated.  
           [0025]    In either case, the FS key has a lifetime no greater than the lifetime of the home secret and therefore as the expiry of the HS key approaches then the Mobile Terminal should undergo a mutual authentication with the AAAH and regenerate the HS, RS and FS session keys using, e.g., the same procedure detailed above. In one embodiment of this invention this procedure is MT-initiated. In such an embodiment it is a MT message that triggers the start of the authentication task.  
           [0026]    In some embodiments of this invention the foreign domain may not wish to generate the FS key. In such embodiments the RS key is used as the FS key. One or more foreign domain security keys may then be derived from the RS key which serves as the FS key.  
           [0027]    The derivation, lifetime and use of the RS and FS keys from a protocol perspective are issues local to the foreign domain and may be of little or no concern to the home domain.  
           [0028]    As already discussed, according to this present invention the AAAF may generate a temporary NAI for the user so that the user can trigger AAA functions both with its home and foreign domain. This tempNAI provides subsequent privacy to the user when included in protocol messages. In one embodiment of this invention, the username is a unique name in the whole of the foreign domain. In an exemplary embodiment, the unique user name is the unique link layer address of the MT (e.g.: its EUI64); in another embodiment it is it&#39;s the MT&#39;s home NAI coded (username%home_realm). Yet in another embodiment, it is a randomly generated username that includes a number, e.g., an increasing number, such as one representing time. In the above embodiments, the realm of the tempNAI is the realm of the foreign operator and hence the new user account is stored in the database of the foreign operator that can be accessed by any AAAF in the said operator domain.  
           [0029]    In an alternative embodiment of the invention the username part of the tempNAI would be allocated out of a unique sequence number within each Foreign Authentication Server (AAAF) with each AAAF having its own unique realm within the foreign domain e.g.: &lt;unique in AAAF number@AAAF specific realm&gt;. It also provides a level of indirection and aggregation between the wide-range of home NAIs. Other more structured user namespaces can be envisaged to enable temporary users from the same corporate customer or Mobile Virtual Network Operator to have a username field that includes the ‘group’ name, plus a sequence number space for use by that group, and also to clearly identify the service level of the user. All that is required from the namespace is that uniqueness of the username and the realm in tempNAIs is assured, whilst providing flexibility to the foreign operator over the privacy and grouping features of the temporary namespace.  
           [0030]    In one embodiment of this invention, the AAAF keeps both the home and tempNAIs in the temporary account to assist with AAA routing and fraud prevention, as well for account and fault correlation due to the re-use of tempNAIs between different homeNAIs overtime. In such an implementation, the AAAF system therefore also keeps the start and stop time of the temporary account, along with the matching homeNAI. This information can be transferred into off-line long-term storage when the account is closed or the information can be provided to the home AAA system for inter-operator billing.  
           [0031]    In various embodiments, once generated, the tempNAI is also returned to the MT so it can use either the tempNAI or homeNAI in its service invocations and updates with the home or foreign domain where assistance from the AAA system is required. In other embodiments, the MT generates its tempNAI in the same manner that the AAAF system generates the tempNAI. In one embodiment of the invention the tempNAI is generated by the AAAF and delivered to the MT in the last EAP message of the EAP session between the MT and the AAAH. In this case, the AAAH returns the last EAP message encapsulated in the AAA Access_Accept and thus the AAAF intercepts it and adds the locally generated tempNAI. The Access_Accept is then sent to the Access Router which decapsulates the EAP message and the new tempNAI and delivers it to the MT.  
           [0032]    In one embodiment of this invention, if the user includes its homeNAI in a message to the access router located in the foreign domain along with a MT-AAAH authenticator, then that triggers a AAAF request but the message will be onward routed through the AAAF to the AAAH. The AAAF compares the homeNAI to its roaming database entries to see if this is a new or existing roaming MT, and whether or not a new RS key needs to be derived. Note that having the RS and HS key lifetimes the same implies that the RS key derivation also triggers a HS key regeneration through the EAP mutual authentication with the AAAH. If the user instead includes the tempNAI and a newly defined MT-AAAF authenticator, then the AAA request will instead be handled by the AAAF, as if the MT was at home. If the MT includes the homeNAI but the access router needs AAA support from the AAAF, then the access router can add the tempNAI into the AAA message to enable the AAAF to process the message and avoid the routing via the AAAH. Additionally, if the MT includes the tempNAI but the AR or AAAF needs assistance from the AAAH then the AR or AAAF can add the homeNAI into the AAA request and forward to the AAAH before undertaking its own processing when the AAA reply returns from the AAAH.  
           [0033]    In an alternative embodiment of this invention, if the MT requests access with the homeNAI, the whole process is repeated i.e.: an EAP session takes place between the MT and the AAAH, the RS key generated and returned to AAAF and a new account is generated in the AAAF domain. The old AAAF account for the user, if it still exists, will naturally timeout when the old RS key expires. If the tempNAI is used then the EAP exchange takes place between the MT and the AAAF and the AAAH is not involved provided that the RS key is still valid. If not, the AAAF rejects the access request and forces the MT to request access using the homeNAI and thus repeat the initial process and create a new account in the foreign domain.  
           [0034]    Once the foreign secret key, e.g., the RS or FS key, is in place, then the AAAF is able to use that secret key, that is shared with the Mobile Terminal, to derive security keys for the foreign domain infrastructure and service elements.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0035]    [0035]FIG. 1 illustrates an exemplary access node implemented in accordance with the present invention.  
         [0036]    [0036]FIG. 2 illustrates an exemplary end node implemented in accordance with the present invention.  
         [0037]    [0037]FIG. 3 illustrates an exemplary Authentication Authorization and Accounting (AAA) node implemented in accordance with the present invention.  
         [0038]    [0038]FIG. 4 illustrates a network diagram of an exemplary communications system in which the invention is applicable.  
         [0039]    [0039]FIG. 5 illustrates signalling and operations associated with the authentication of an end node in two phases and the creation of its temporary foreign identity in accordance with this invention. 
     
    
     DETAILED DESCRIPTION  
       [0040]    [0040]FIG. 1 illustrates an exemplary access node, e.g., access router or base station  12 , implemented in accordance with the invention. The access node  12  includes antennas  203 ,  205  and corresponding receiver, transmitter circuitry  202 ,  204 , respectively. The receiver circuitry  202  includes a decoder  233  while the transmitter circuitry  204  includes an encoder  235 . The circuitry  202 ,  204  is coupled by a bus  230  to an I/O interface  208 , a processor (e.g., CPU)  206  and memory  210 . The I/O interface  208  couples the base station  12  to the Internet. The memory  210  includes routines, which when executed by the processor  206 , cause the access node  12  to operate in accordance with the invention. Memory includes communications routines  223  used for controlling the access node  12  to perform various communications operations and implement various communications protocols. The memory  210  also includes an access node control routine  225  used to control the access node&#39;s  12 , e.g. base station&#39;s, operation and signalling to implement the steps of the method of the present invention. The access node control routine  225  includes a scheduler module  222  used to control transmission scheduling and/or communication resource allocation. Thus, module  222  may serve as a scheduler. The memory  210  also includes a AAA client software module  230  used to control end node access to the network via said access node  12  via authentication, authorization and accounting routines. AAA client software module  230  operates in accordance with this invention described in detailed below. Memory  210  also includes information  212  used by communications routines  223 , control routine  225 , and AAA client software routine  230 . The information  212  includes an entry  213 ,  213 ′ for each active end node user, which includes a list of the active sessions  243 ,  243 ′ being conducted by the user and includes information identifying the end node being used by a user to conduct the sessions. In particular, information for user  1   213  includes active session list  243 , listing exemplary sessions A and B, ID_home  241  and ID_foreign  242 . The presence of both home and foreign IDs  241 ,  242  indicates that the user  1  end node, e.g., MT, is a visiting end node that belongs to a domain different from the domain of access node  12 . ID_home  241  and ID_foreign  242  are typically in the form of Network Access Identifiers (NAIs). Information about user N  213 ′ as depicted in FIG. 1 includes ID_home  241 ′, but does not include an ID_foreign, indicating an end node belonging to the same domain as access node  12 .  
         [0041]    [0041]FIG. 2 illustrates an exemplary end node  14  implemented in accordance with the present invention. The end node  14  may be used by a user as a mobile terminal (MT). The end node  14  includes receiver and transmitter antennas  303 ,  305  which are coupled to receiver and transmitter circuitry  302 ,  304  respectively. The receiver circuitry  302  includes a decoder  333  while the transmitter circuitry  304  includes an encoder  335 . The receiver transmitter circuits  302 ,  304  are coupled by a bus  308  to a memory  310  and processor  306 . Processor  306 , under control of one or more routines stored in memory  310 , causes the end node  14  to operate in accordance with the methods of the present invention. In order to control operation of the end node  14 , memory  310  includes communications routine  323  and end node control routine  325 . The end node communications routine  323  is used for controlling the end node  14  to perform various communications operations and implement various communications protocols. The end node control routine  325  is responsible for insuring that the end node operates in accordance with the methods of the present invention and performs the steps described in regard to end node operations and signalling. The memory  310  also includes user/device/session /resource information  312  which may be accessed and used to implement the methods of the present invention and/or data structures used to implement the invention. In particular, User/Device/Session/Resource information  312  includes home identity information  330  and foreign identity information  330 ′. This information  330  can be in the form of an identifier, ID_home,  331  associated in memory with a secret S 1   332 , and foreign identity information  330 ′ can be in the form of an identifier ID_foreign  331 ′ associated in memory with another secret S 2   332 ′. Arrows are used in FIG. 2 to show the association between the identifiers  331 ,  331 ′ and the corresponding secrets. Secret S 1   332  and Secret S 2   332 ′ may be, e.g., encryption keys or may be, e.g., information from which encryption keys can be derived in accordance with the present invention. For example secret S 1   332  may be a home session (HS) key while secret S 2  may be a Roaming session (RS) key. In addition to the RS key  332 ′ the end node may store a third secret  332 ″, e.g., a foreign session (FS) key which is associated with the foreign ID  331 ′ and which is derived from the second secret S 2   332 ′. In some cases the RS key is used as the third secret  332 ″. The home identity information  330  may include secret lifetime information  329  which indicates the lifetime of secret S 1   332 . Similarly, foreign identity information  330 ′ normality includes secret lifetime information  329 ′ which indicates the lifetime of secrets S 2   332 ′ and S 3   332 ″. In an alternative embodiment secrets S 2   332 ′ and S 3   332 ″ have separate lifetimes.  
         [0042]    Home identity information  330  ( 331 ,  332 ) is used to identify the end node when requesting access to a network via an access node like the one depicted in FIG. 1. Using home identity information  330  ( 331 ,  332 ), the end node  14  can participate in authentication processes according to this invention which result in the creation and subsequent use of foreign identity information  330 ′ ( 331 ′,  332 ′) when the end node is in a foreign domain and according to this present invention.  
         [0043]    [0043]FIG. 3 illustrates an exemplary AAA Server node  100 , implemented in accordance with the invention. The AAA Server node  100  includes I/O interface  108  which couples the AAA Server node  100  to the Internet. The I/O interface  108  is coupled by a bus  124  to a processor, e.g., CPU,  105  and memory  110 . The memory  110  includes routines, which when executed by the processor  105 , cause the AAA Server node  100  to operate in accordance with the invention. Memory  110  includes communications routines  116  used for controlling the AAA Server node  100  to perform various communications operations and implement various communications protocols. The memory  110  also includes a AAA Server software module  130  used to provide authentication, authorization and accounting services. AAA Server software module  130  operates in accordance with this invention as described in detail below. Memory  110  also includes information used by communications routines  116 , and AAA Server software module  130 . The information is located in a database  112  which includes home user records  113  and foreign user records  113 ′. The database  112  may be internal to the AAA server node  100  as shown in FIG. 3 or external with database communication protocols used to transfer information and data between the AAA server node  100  and said database  112 . In the FIG. 4 embodiments of AAA server&#39;s at least a portion of the database  112  is maintained externally to the AAA servers. The home user records  113  include user records for authentication, authorization and accounting functions including user&#39;s identification and secret information as well as policy regarding services and resources they are allowed to use as well as what type of accounting should be observed when said users are accessing the network. Home user records  113  include a plurality of information about home users, e.g., mobile terminals. In the exemplary, AAA server  100  of FIG. 3, home user records  113  includes information about home user  1   114  and information about home user  2   114 ′. In FIG. 3, information about home user  1 ,  114 , includes home identity information  140 . Home identity information  140  includes an identifier, ID_home  141  e.g., a home NAI, a secret S 1   142 , and secret lifetime information  143 . Information about home user  2   114 ′ includes home identity information  140 ′ which can be in the form of an identifier ID_home  141 ′, secret S 1   142 ′ and secret lifetime information  143 ′.  
         [0044]    Foreign user records  113 ′ include similar information to the information included in the home user records  113 , but they are created dynamically in accordance with the present invention as described below. Foreign user records  113 ′ include a plurality of information about foreign users, e.g., visiting mobile terminals. In the exemplary AAA server  100  of FIG. 3, foreign user records  113 ′ include information about foreign user  1   154  and information about foreign user  2   154 ′. In FIG. 3, information about foreign user  1   154 , includes foreign identity information  160 . Foreign identity information  160  includes, e.g., an identifier ID_foreign  161 , e.g., an NAI corresponding the foreign user  1  MT in the foreign domain, and a corresponding secret S 2   162  and a corresponding secret S 3   163  along with secret lifetime information  164 . Secret S 2  and S 3  may be, e.g., a RS key and a FS key, respectively. Information  164  may indicate different lifetimes for the RS and FS keys. Information about foreign user  2   154 ′, includes foreign identity information  160 ′. Foreign identity information  160 ′ includes information of the same type as included in information  160  but relates to the second user, e.g., a visiting end node other than the foreign user  1  end node.  
         [0045]    [0045]FIG. 4 illustrates an exemplary system  400  including two domains, a visited, e.g., foreign, domain  480  and a home domain  470  separated by dashed line  475 . Terms home and foreign are used with respect to exemplary end node N  430  which belongs to domain  470 . Thus domain  470  is the home domain of end node  430 . End node N  430  is shown visiting foreign domain  480  for the purpose of explaining the present invention. System  400  comprises a plurality of access nodes  410 ,  410 ′ implemented in accordance with the present invention. FIG. 4 also depicts communication cells  401 ,  401 ′ surrounding each access node  410 ,  410 ′, respectively, which represents the coverage area of corresponding access node  410 ,  410 ′, respectively. The same physical and functional elements are depicted in each of the communication cells,  401 ,  401 ′ thus the following description of the elements in the cell  401  surrounding access node  410  is directly applicable to each of the cells  401 ,  401 ′. The depiction of the access node  410  is a simplified representation of the access node  12  depicted in FIG. 1. FIG. 4 illustrates the access node  410  providing connectivity to a plurality of N end nodes  420 ,  430  via corresponding access links  402 ,  403 . End nodes  420 ,  430  are simplified versions of the end node  14  depicted in FIG. 2.  
         [0046]    Interconnectivity between the access nodes  410 ,  410 ′ is provided through network links  404 ,  405  and an intermediate network node  415 . The intermediate network node  415  also provides interconnectivity via link  411  to a AAA Server  450 , serving as a AAA server for the foreign domain  480 . AAA Server  450  is a simplified version of the AAA Server  100  depicted in FIG. 3 with a portion of the database  112  stored external to the AAA server  460  in database  462 . In FIG. 4, AAA Server  450  is shown to include state  451  and is connected to database  452  via link  409 . Database  452  includes user profile, identity and secret information.  
         [0047]    Home network  490  in the home domain  470  is connected to foreign network  480  via link  412  and node  415 . In particular, home network  490  includes network node  425  connected to link  412 . Home Network  430  further includes AAA Server  460  operating as Home AAA server of domain  470  connected to network node  425  via link  413 . In FIG. 4, AAA Server  460  is shown to include state  461  and is connected to a database  462  via link  419 . Database  462  includes user profile, identity and secret information.  
         [0048]    [0048]FIG. 5 illustrates an exemplary message exchange according to the present invention between end node X  430 , Access Node  410 , AAAF Server  450 , database  452 , AAAH Server  460  and database  462  of FIG. 4. The messaging is illustrated in a ladder diagram for purposes of explaining the invention.  
         [0049]    End node  430  is identified with a home network access identifier (NAI_home) which includes a username part and a realm part. The NAI_home may be in the form username@home_realm where home_realm is the realm of the home domain  470  of FIG. 4 and username is the username corresponding to end node X  430 . End node X  430  sends a connect request message  502  including its NAI_home to access node  410 , requesting network access.  
         [0050]    Access node  410  checks in its memory  210  of FIG. 1 to find state regarding said end node  430 . Assuming it does not find any corresponding state, e.g., because message  502  corresponds to an initial request, access node  410  sends access request message  504  to its local AAA Server, in this case AAAF  450 . The access request message  504  includes the NAI_home of end node  430  which was included in message  502 .  
         [0051]    On reception of access request message  504 , AAAF  450  checks the realm part of NAI_home included in message  504  and recognizes the realm part of said NAI_home as not belonging to its own domain. Using AAA routing, e.g., a lookup table with routing information for realms other than domain  480 , the AAAF  450  forwards access request message  506  to the AAA server responsible for the realm part of the NAI_home, in this case AAAH  460 .  
         [0052]    On reception of access request message  506 , AAAH  460  checks the realm part of NAI_home included in message  506  and recognizes the realm part of said NAI_home as belonging to its own domain. AAAH  460  sends read message  507  to its database  462  including NAI_home from message  506  and receives the end node&#39;s record in read response message  508  from database  462 . The record, typically includes the required security procedures for authenticating an end node as well as an authorization profile for said end node. For illustration purposes, we assume that the Extensible Authentication Protocol (EAP) is used to authenticate the end node but this invention does not depend on the use of EAP and other protocols could be used. Thus, AAAH  460  initiates EAP message exchange with appropriate EAP method. The EAP exchange between AAAH  460  and end node  430  is represented by double-sided arrow  510 .  
         [0053]    In an alternative embodiment of the invention, the EAP method is initiated by the message  504  from the access node which includes the identity (NAI_home) of the end node.  
         [0054]    According to this present invention, at the end of a successful EAP exchange  510 , the end node  430  is successfully authenticated to AAAH  460 , and vice versa if mutual authentication was used, and at least one key, a roaming session (RS) key, was generated by both ends of the EAP exchange for the purpose of being shared between end node  430  and the visited/foreign domain  480  of FIG. 4, in which the end node  430  happens to be in at the moment. The RS key generated by AAAH  460  is normally generated from the shared secret stored in the AAAH and also in the mobile terminal but not in the AAAF.  
         [0055]    AAAH  460  generates and sends Access_Accept message  512  to the originating AAAF  450  including NAI_home of end node  430 , the authorization profile of said end node and at least the RS key to be shared between end node  430  and AAAF  450 . Message  512  also includes lifetime information which indicates the lifetime assigned to the RS key after which the RS key is invalid and, if still needed, should be re-generated. Length of the RS key lifetime is based on policy and security requirements of AAAH  460  but is normally no longer than the lifetime of the session shared secret from which the RS key was generated by the AAAH.  
         [0056]    According to this invention on reception of message  512  AAAF  450 , extracts the NAI_home, the authorization profile and the RS key from message  512  and creates a record in its database  452 , e.g., a new foreign user record  154  of the type shown in FIG. 3. According to this invention AAAF  450  also generates an NAI to be used by end node  430 , e.g., when obtaining access to one or more services in the foreign domain  480  of FIG. 4. The newly created foreign user record in database  452  includes, and is searchable via, this new foreign NAI referred to from now on as NAI_foreign. Exemplary methods for generating the foreign NAI, NAI_foreign, are discussed later on in this patent application.  
         [0057]    The new foreign user record is created with write message  513  being sent to the AAAF&#39;s database  452 . The message  513  includes the NAI_foreign, the RS key, the NAI_home and the authorization profile. The database  452  responds with write accept message  514  which is sent to AAAF  450 . Message  514  confirms the creation of the record corresponding to NAI_foreign.  
         [0058]    In an alternative embodiment of this invention, the AAAF  450  modifies the authorization profile of the user received from AAAH  460  in message  512  before including it in message  513  to the database  452 . Said modifications reflect local policy in terms of what a roaming end node like, e.g., end node  430  is authorized to do in domain  480  of FIG. 4. As an example, the authorization profile returned from AAAH  460  for end node  430  may, and in some embodiments does, include authorization for use of multicast services. If however, according to roaming agreements, local policy multicast services are not granted to roaming end nodes, in such a case AAAF  450  removes the corresponding part of the authorization profile before storing it in its database  452 . In one embodiment of the invention, policy is local to AAAF  450 , while in another embodiment, policy follows, i.e., is determined in accordance with, bilateral agreements between domain  470  and domain  480 .  
         [0059]    On reception of message  514 , AAAF  450  sends access accept message  515  to access node  410 . Message  515  includes the NAI_foreign assigned to end node  430 . In one embodiment of the invention, message  515  includes a code indicating that authentication was successful, but end node  430  should assume a new identity indicated by NAI_foreign.  
         [0060]    On reception of message  515 , access node  410  sends a connect granted message  516  to end node  430  including said code and NAI_foreign from message  515 . This message  516  confirms that authentication was completed successfully and that end node  430  should now assume a new identity using the assigned foreign network identifier NAI_foreign, in order to access services in the foreign domain.  
         [0061]    According to this invention on reception of message  515 , end node  430  extracts and stores the NAI_foreign in its foreign identity record  330 ′ together with the RS key derived earlier.  
         [0062]    At this stage and according to this present invention, end node  430  has a new identity, i.e.: NAI_foreign, in visited/foreign domain  480  of FIG. 4 and shares a secret with the domain  480 . Now, security requirements in this foreign domain  480  can be implemented independently from home domain  470 , and authentication and security association required in the foreign domain  480  can be enforced and derived with the sole participation of end node  430  and elements in foreign domain  480 , such access node  410  and AAAF  450 . As part of this second AAA process, the NAI_foreign may be, and normally is used as an MT identifier, e.g., particularly where the MT is a device corresponding to an individual user.  
         [0063]    The description below, based on FIG. 5, illustrates one exemplary usage of the NAI_foreign identity and RS key of end node  430  in the foreign domain  480  of FIG. 4.  
         [0064]    In one embodiment of this invention, end node  430  sends a new connect request message  522  including its new identifier, NAI_foreign, requesting access to the network. The process, as described previously above, restarts, but due to the new identity, the process continues somewhat differently.  
         [0065]    Specifically, on reception of message  522 , access node  410  checks in its memory  210  of FIG. 1 to find state regarding said end node  430  and since it does not find any state (e.g., since this is an initial access request using NAI_foreign) access node  410  sends Access_Request message  524  to its local AAA Server, in this case AAAF  450 . Said Access_Request message  524  includes NAI_foreign of end node  430 .  
         [0066]    On reception of Access_Request message  524 , AAAF  450  checks the realm part of NAI_foreign included in message  504  and recognises the realm part of said NAI_home as belonging to its own domain.  
         [0067]    AAAF  450  sends read message  525  to its database  452  including NAI_foreign from message  524  and receives the end node&#39;s record in read response message  526  from database  452 . The record, typically includes the required security procedures for authorizing an end node as well as an authorization profile for said end node. For illustration purposes we will assume that the Extensible Authentication Protocol (EAP) is used to authenticate the end node  430 . Thus, AAAF  450  initiates EAP message exchange with appropriate, for the foreign domain  480  of FIG. 4, EAP method. The EAP exchange between AAAF  450  and end node  430  is represented by double-sided arrow  530 .  
         [0068]    At the end of a successful EAP exchange  530  the end node  430  is successfully authenticated by AAAF  450 , and vice versa if mutual authentication was used. AAAF  450  sends an access accept message  532  to access node  410 . Message  532  includes the NAI_foreign assigned to end node  430  and the authorization profile for said end node.  
         [0069]    On reception of message  532 , access node  410  extracts and stores in its memory  210  information  212 , including the end node identifier, NAI_foreign, and the authorization profile of end node  430  included in said message  532 . Access node  410  also sends a connect granted message  534  to end node  430  confirming that authentication was successful and that access was granted.  
         [0070]    The foreign network access identifiers used to identify end nodes when in a foreign domain may be generated in a plurality of ways. In one embodiment of this invention the NAI_foreign is generated by making a user part, e.g., a user name, equal to the whole of the NAI_home (username@home_realm) of end node  430  but replacing the character @ to another character such as % so that the new username is username%home_realm. Then, appending this username with the realm of the foreign domain  480  of FIG. 4, which results in the NAI_foreign being:  
         [0071]    username%home_realm@foreign_realm  
         [0072]    In an alternative embodiment, the NAI_foreign is derived by amending the foreign_realm to a concatenation of an identifier used to identify AAAF Server  450  and a sequence number of sufficient size incremented for each new account created by said AAAF  450 . The resulting NAI_foreign is:  
         [0073]    AAAF-ID_Number@foreign_realm  
         [0074]    In another embodiment of this invention, the NAI_foreign is derived by amending the foreign_realm to a pseudorandom string generated out of a keyed one way hash function using the RS key and a locally generated challenge, e.g.: a random or pseudo random number.  
         [0075]    Username=PRF (challenge, RS)  
         [0076]    In this case the NAI_foreign is not returned to end node  430 . Instead, only the challenge and the realm_foreign are returned. End node  430  then applies the PRF with the RS key and the received challenge to recreate the username part of the NAI_foreign.  
         [0077]    In various embodiments nodes described herein are implemented using one or more modules to perform the steps corresponding to one or more methods of the present invention, for example, signal processing, message generation and/or transmission steps. Thus, in some embodiments various features of the present invention are implemented using modules. Such modules may be implemented using software, hardware or a combination of software and hardware. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. Accordingly, among other things, the present invention is directed to machine-readable medium including machine executable instructions for causing a machine, e.g., processor and associated hardware, to perform one or more of the steps of the above-described method(s).  
         [0078]    Numerous additional variations on the methods and apparatus of the present invention described above will be apparent to those skilled in the art in view of the above description of the invention. Such variations are to be considered within the scope of the invention. The methods and apparatus of the present invention may be, and in various embodiments are, used with CDMA, orthogonal frequency division multiplexing (OFDM), and/or various other types of communications techniques which may be used to provide wireless communications links between access nodes and mobile nodes. In some embodiments the access nodes are implemented as base stations which establish communications links with mobile nodes using OFDM and/or CDMA. In various embodiments the mobile nodes are implemented as notebook computers, personal data assistants (PDAs), or other portable devices including receiver/transmitter circuits and logic and/or routines, for implementing the methods of the present invention.

Technology Classification (CPC): 7