Embodiments of the present invention relate generally to wireless technology and, more particularly, relate to the secure authentication of a mobile terminal following a handover process.
Security of mobile terminals, such as portable communication devices (PCDs) (e.g., cellular telephones), portable digital assistants (PDAs), laptop computers, or any suitable device that is capable of communicating with a wireless network, is increasingly important to mobile terminal users. Security algorithms are often employed to achieve security between a mobile terminal and another network entity. These security algorithms often rely upon a secret that is shared between the mobile terminal and the other network entity that permits the mobile terminal to be authenticated. Typically, this shared secret is embodied in the form of a key. In order to further enhance the security, many security algorithms require re-keying at various intervals. Re-keying is a process in which new keys are established such that future communications may be protected with the new keys. If a third party obtained one set of keys and therefore compromised the security between the mobile terminal and the other network entity, re-keying would prevent the third party from continuing to be able to access the communication with the mobile terminal once a new set of keys has been established, thereby limiting temporally the security breach.
A Generic Bootstrapping Architecture (GBA) is a framework architecture that allows bootstrapping of a security key between a mobile terminal and a home network, which can then be used to further derive security keys for use between the mobile terminal and a network application server. Recently, GBA has been thought of as a mechanism to provide keys for securing internet protocol (IP) level handovers. For example, Third Generation Partnership Project 2 Wireless Local Area Networks (3GPP2-WLAN) and Third Generation Partnership Project Wireless Local Area Networks (3GPP-WLAN) working groups are developing mechanisms for mobile terminals to be authenticated securely when handing over from one network to another.
The GBA includes a bootstrapping server function (BSF) that is located in the home network of a mobile terminal. The BSF allows the bootstrapping of a shared key, Ks, between the mobile terminal and the BSF. This Ks is generated during the bootstrapping step based on a long-term shared secret that is shared between the mobile terminal and the home network. The long-term shared secret is a very secure code stored securely in the mobile terminal and the home network. The Ks can then be used to derive a further application key, called Ks_NAF, to be used between the mobile terminal and an application server in the network, called a network application function (NAF) in GBA terminology. Ks_NAF is application server specific, i.e., each application server will have a different application key Ks_NAF derived from the Ks, thus ensuring that different application servers do not share the same application key. To ensure maximum security, Ks and all application keys Ks_NAF's derived from it have a limited lifetime and when the lifetime expires, a new bootstrapping is required to generate a new Ks. Thus, the term re-keying in the GBA environment refers to the performance of a bootstrapping procedure to facilitate creation of a new shared secret, Ks, and subsequently new Ks_NAF's. These application keys may then be used between the mobile terminal and an individual NAF to achieve any security services required (e.g. these keys can be used for mutual authentication between the mobile terminal and the NAF, and/or used for encryption/decryption of data, and/or to derive further keys, etc.)
If the GBA is used to authenticate a mobile terminal following handover from the home network to another and re-keying is required due to expiration of the current shared secret, the re-keying must be done while the mobile terminal is physically located in a network, i.e., a foreign network, other than the home network. According to current GBA specifications, the mobile terminal must establish an IP connection with the BSF in its home network and perform a bootstrapping procedure in order to establish the new Ks. However, when a mobile terminal is in a foreign network, for example, a wireless local area network (WLAN) or a WiMAX network, an IP connection may not be allowed until the mobile terminal is authenticated by the home network. In such a case, if Ks has expired, authentication using the GBA will not be possible by the home network without re-keying which, as stated above, requires an IP connection with the BSF. The mobile terminal is thus left in the untenable position of needing an active key to permit the mobile terminal to be authenticated using the GBA by the home network, but being unable to communicate with the home network in order to go through the re-keying process that would be required to obtain an active key. Thus, there is a need to develop a means by which a mobile terminal may be authenticated by the GBA after a handover to a foreign network even if the current keys have expired and re-keying is required.
A system, apparatus and computer program code are therefore provided for re-keying of a mobile terminal in a foreign network even if the current keys are expired and re-keying is required. In accordance with one aspect of embodiments of the present invention, the system, apparatus and computer program code may be embodied in an authentication node disposed in the foreign network. The authentication node of this embodiment is configured to parse an incoming bootstrap request message from a mobile terminal and forward a bootstrap request to a bootstrapping server function (BSF) of a home network of the mobile terminal.
In one exemplary embodiment, a computer program product for re-keying a mobile terminal in a foreign network is provided. The computer program product includes a storage medium, readable by a processing circuit, storing instructions for execution by the processing circuit for receiving a request from the mobile terminal to commence a bootstrapping procedure in a first protocol, and transmitting the request to a bootstrapping server function of a home network of the mobile terminal in a second protocol.
In another exemplary embodiment, an authentication node disposed in or otherwise in communication with a foreign network comprises a memory device and a processor. The memory device is capable of storing instructions and is readable by the processor. The processor is capable of executing the instructions. The instructions comprise a receipt instruction and a transmit instruction. The receipt instruction enables the authentication node to receive a request from a mobile terminal to commence a bootstrapping procedure in a first protocol. The transmit instruction enables the authentication node to transmit the request to a bootstrapping server function of a home network of the mobile terminal in a second protocol.
In another exemplary embodiment, a method for re-keying a mobile terminal in a foreign network is provided. The method includes receiving a request for re-keying a mobile terminal in a foreign network, translating the request for transmission to a home network of the mobile terminal, and transmitting the translated request to a bootstrapping server function of the home network.
In another exemplary embodiment, a computer program product for re-keying a mobile terminal in a foreign network is provided. The computer program product includes at least one computer-readable storage medium having computer-readable program code portions stored therein. The computer-readable program code portions include first, second and third executable portions. The first executable portion is for receiving a request for re-keying a mobile terminal in a foreign network. The second executable portion is for translating the request for transmission to a home network of the mobile terminal. The third executable portion is for transmitting the translated request to a bootstrapping server function of the home network.
In another exemplary embodiment, an apparatus for re-keying a mobile terminal in a foreign network is provided. The apparatus includes a processor configured to receive, at the apparatus which is physically located in the foreign network, a request for re-keying from the mobile terminal in the foreign network. The processor is also configured to translate the request for transmission to a home network of the mobile terminal and to transmit the translated request to a bootstrapping server function of the home network.
In another exemplary embodiment, a system for re-keying a mobile terminal in a foreign network is provided. The system includes a mobile terminal, a bootstrapping server function and an authentication node. The mobile terminal is physically located in a foreign network. The bootstrapping server function is in communication with a home network of the mobile terminal. The authentication node is in communication with the foreign network. The authentication node is configured to receive a request for re-keying from the mobile terminal, to translate the request for transmission to the bootstrapping server function, and to transmit the translated request to the bootstrapping server function
In another exemplary embodiment, an apparatus for re-keying a mobile terminal in a foreign network is provided. The apparatus includes means for receiving a request for re-keying a mobile terminal in a foreign network, means for translating the request for transmission to a home network of the mobile terminal, and means for transmitting the translated request to a bootstrapping server function of the home network.
Embodiments of the invention provide a system, apparatus and computer program product for translating a bootstrap request from a mobile terminal to a home network. As a result, re-keying of a mobile terminal may occur in a foreign network even if current keys are expired.
Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Embodiments of the present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
Although not shown in
BTSs generally connect to one or more base station controllers (BSCs) (e.g., using un-channelized Ti facilities or direct cables, although this is not required). The connection between a BTS and a BSC may use, for example, un-channelized Ti facilities or direct cables. BSCs are used to interface (aggregate) all radio frequency (RF) traffic arriving from the antennas of the BTSs, and to provide this traffic to a mobile switching center (MSC). As known in the art, BSCs are generally responsible for managing the radio resources for one or more BTSs. For example, BSCs may handle radio-channel setup, frequency hopping, and handovers. Moreover, the MSC is responsible for providing the interface between the radio access network (RAN), which includes BTSs, BSCs, and packet control functions (PCFs), and a public switched telephone network (PSTN). In particular, MSC 18 controls the signaling required to establish calls, and allocates RF resources to BSCs and PCFs. In operation, the MSC is capable of routing calls, data or the like to and from mobile stations when those mobile stations are making and receiving calls, data or the like. The MSC can also provide a connection to landline trunks when mobile stations are involved in a call.
PCFs are used to route IP packet data between mobile terminals (when within range of one of BTSs) and a packet data service node (PDSN). A PDSN, in turn, may be used to provide access to one or more IP networks, such as, for example, the Internet, intranets, applications servers, or corporate virtual private networks (VPNs). In this manner, a PDSN acts as an access gateway.
Although not every element of every possible network is shown and described herein, it should be appreciated that the mobile terminal 20 may be coupled to one or more of any of a number of different networks using one or more of any of a number of different modes (also referred to herein as protocols). In this regard, the network can be capable of supporting communication in accordance with any one or more of a number of first-generation (1G), second-generation (2G), 2.5G and/or third-generation (3G) mobile communication protocols or the like. More particularly, the mobile terminal may be coupled to a network capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, the network can be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. In addition, for example, one or more of the network(s) can be capable of supporting communication in accordance with 3G wireless communication protocols such as CDMA2000 and Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Additionally, the network may be capable of supporting wide area network (WAN) communications, such as WLAN (IEEE 802.11) or WiMAX (802.16). Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones).
Reference is now made to
The mobile terminal 20 includes various means for performing one or more functions in accordance with exemplary embodiments of the invention, including those more particularly shown and described herein. It should be understood, however, that the mobile terminal may include alternative means for performing one or more like functions, without departing from the spirit and scope of embodiments of the invention. More particularly, for example, as shown in
It is understood that the controller 72 includes the circuitry required for implementing the audio and logic functions of the mobile terminal 20. For example, the controller may be comprised of a digital signal processor device, a microprocessor device, and various analog-to-digital converters, digital-to-analog converters, and other support circuits. The control and signal processing functions of the mobile node are allocated between these devices according to their respective capabilities. The controller can additionally include an internal voice coder (VC) 72a, and may include an internal data modem (DM) 72b. Further, the controller may include the functionality to operate one or more client software programs such as those indicated above, which may be stored in memory (described below).
The mobile terminal 20 also comprises a user interface including a conventional earphone or speaker 74, a ringer 76, a microphone 78, a display 80, and a user input interface, all of which are coupled to the controller 72. Although not shown, the mobile terminal can include a battery for powering the various circuits that are required to operate the mobile terminal, as well as optionally providing mechanical vibration as a detectable output. The user input interface, which allows the mobile node to receive data, can comprise any of a number of devices allowing the mobile terminal to receive data, such as a keypad 82, a touch display (not shown), a joystick (not shown) or other input device. In embodiments including a keypad, the keypad includes the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the mobile node.
The mobile terminal 20 can also include one or more means for sharing and/or obtaining data. For example, the mobile node can include a short-range radio frequency (RF) transceiver or interrogator 84 so that data can be shared with and/or obtained from electronic devices in accordance with RF techniques. The mobile terminal can additionally, or alternatively, include other short-range transceivers, such as, for example an infrared (IR) transceiver 86, and/or a Bluetooth (BT) transceiver 88 operating using Bluetooth brand wireless technology developed by the Bluetooth Special Interest Group. The mobile terminal can therefore additionally or alternatively be capable of transmitting data to and/or receiving data from electronic devices in accordance with such techniques.
The mobile terminal 20 can further include memory, such as a subscriber identity module (SIM) 90, a removable user identity module (R-UIM), a smart card, or the like, which typically stores information elements related to a mobile subscriber. In addition to the SIM, the mobile node can include other removable and/or fixed memory. In this regard, the mobile node can include volatile memory 92, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The mobile node can also include other non-volatile memory 94, which can be embedded and/or may be removable. The non-volatile memory can additionally or alternatively comprise an EEPROM, flash memory or the like. The memories can store any of a number of software applications, instructions, pieces of information, and data, used by the mobile node to implement the functions of the mobile terminal.
With reference again to
In the network model 10, communication between various elements is established via interfaces. For example, the UE 20 communicates with the NAF 34 via a first interface (Ua) 42. The UE 20 communicates with the BSF 32 via a second interface (Ub) 44. The BSF 32 communicates with the NAF 34 via a third interface (Zn) 46. The BSF 32 communicates with the HSS 36, the HLR 38 and the AAA 40 via a fourth interface (Zh1) 47, a fifth interface (Zh2) 48 and a sixth interface (Zh3) 49, respectively. Thus, in order to commence a bootstrap procedure, the UE 20 submits a bootstrap request to the BSF 32 via the second interface Ub 44, typically as an IP message. Upon receipt of the bootstrap request, the BSF 32 and the UE 20 continue with the bootstrapping procedure over the Ub interface 46, which comprises a message exchange which may involve two or more roundtrips between the UE 20 and the BSF 32, and involves mutual authentication between the UE 20 and the home network 30. The bootstrapping procedure results in a new shared secret Ks (with an associated Bootstrapping Transaction ID (B-TID) and a lifetime) at both the UE 20 and BSF 32. Subsequently, when the UE 20 attempts to communicate with the NAF 34 via the first interface Ua 42, the UE 20 can derive the specific Ks_NAF from the Ks (using a predefined Key Derivation function (KDF), based on information including an identity of the NAF 34). The UE 20 conveys the B-TID to the NAF 34, which will then contact the BSF 32 via the third interface Zn 46. The BSF 32 then derives the Ks_NAF the same way as the UE 20, and returns the Ks_NAF back to the NAF 34. Subsequent communications conducted by the application executed by the UE 20 and the NAF 34 can then be secured by means of the new Ks_NAF.
Since the UE 20 cannot establish an IP connection until the UE 20 has been authenticated (which (in the absence of embodiments of the present invention) will not be possible if re-keying is required), the UE 20 may send a message called a bootstrap request message 58 to the foreign network 54. See block 100 of
In response to receipt of the forwarded bootstrap request 64, the BSF 32 of the home network 30 continues with the bootstrapping procedure initiated by the forwarded bootstrap request 64 as if it were received directly from the UE 20 via the second interface Ub 44. The bootstrapping procedure consists of multiple messages exchanged between the UE 20 and the BSF 32 of the same type as in a conventional re-keying process that would be conducted if the UE 20 were in the home network 30 except in this case the messages are forwarded by the authentication node 60 in both directions. See block 104 of
In an exemplary embodiment, the authentication node 60 includes a processor and a memory device, which may either be dedicated to the authentication node or may be shared with other elements of the foreign network 54. The memory device is configured to store instructions for carrying out the above-described operations, while the processor is configured to retrieve and execute the instructions. In this regard, the processor generally includes the circuitry or other means necessary for implementing the functions of the authentication node and may be comprised of a digital signal processor, a microprocessor or other computing device.
It should be noted that the authentication node 60 of the foreign network 54 must be “GBA-aware”. In other words, the foreign network 54 must have nodes capable of parsing GBA signaling messages and acting in response to instructions contained in the GBA signaling messages. Furthermore, the authentication node 60 applies the above-described procedure regardless of which particular authentication mechanism is used in the bootstrapping procedure. Thus, the authentication node 60 described above is effective to translate EAP message based requests between the UE 20 and the BSF 32 for bootstrapping based on authentication and key agreement (AKA), SMEKEY and MN-AAA Key (SMEKEY and MN-AAA Key based bootstrapping are based on a password-protected Diffie-Hellman mechanism). For example, for bootstrapping based on AKA, one possible implementation of the EAP message could be based on EAP-AKA, in which EAP-AKA messages are used normally, but when EAP-Response/AKA-Challenge is received by an authenticator, an EAP-Request/AKA-Notification message is used to transfer a bootstrapping transaction identifier (B-TID) and a key lifetime to the UE 20. When the UE 20 receives the message, the UE 20 stores parameters received and replies with the EAP-Response/AKA-Notification message to acknowledge that the message was received.
Bootstrapping based on SMEKEY is specified in section 4.5.2.1.1 and illustrated in Figure 4.4 in 3GPP2 specification S.P0109. One possible implementation of the EAP message is illustrated in
Similarly, bootstrapping based on MN-AAA Key is specified in section 4.5.2.1.2 and illustrated in Figure 4.5 in 3GPP2 specification S.P0109. One possible implementation of the EAP message is illustrated in
In an exemplary embodiment, the bootstrap request message 58 is submitted to the authentication node 60 as an IP message. In such a situation, the UE 20 may receive a temporary IP address enabling it to communicate with the authentication node 60 with IP messages. Because the UE 20 cannot communicate directly with the BSF 32 via IP messages until authentication is complete, the authentication node 60 receives the bootstrap request message 58 as an IP message. The bootstrap request message 58 includes an identity of the BSF 32 in the home network 30. Furthermore, in addition to the bootstrap request and identity information, the bootstrap request message 58 may further include a special code to indicate to the authentication node 60 that the bootstrap request message 58 contains a bootstrap request.
It is noted that while the authentication node 60 in the foreign network 54 permits communication between the mobile terminal 20 and the home network 30 for purposes of re-keying, the authentication node of one embodiment only permits communication between the mobile terminal and the home network for this specific limited purpose and not for other purposes, until that time that the mobile terminal has re-keyed and authenticated.
According to one exemplary aspect of embodiments of the invention, the functions performed by one or more of the entities of the system, such as the authentication node 60, the BSF 32, the NAF 34, the UE 20 or any of the other elements, may be performed by various means, such as hardware and/or firmware, including those described above, alone and/or under control of a computer program product. The computer program product for performing one or more functions of exemplary embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and software including computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
In this regard,
Accordingly, blocks or steps of the flowcharts support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that one or more blocks or steps of the flowcharts, and combinations of blocks or steps in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
As shown in
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application claims the benefit of U.S. Provisional Application No. 60/719,002, filed Sep. 21, 2005, the contents of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
60719002 | Sep 2005 | US |