Abstract:
The use of suitable measures in a method for agreeing on a security key between at least one first and one second communication station to secure a communication link is improved so that the security level for the communication is increased and the improved method can be combined with already available methods. A first parameter is determined from an authentication and key derivation protocol. In addition, an additional parameter is sent securely from the second to the first communications station. A security key is then determined from the first parameter and the additional parameter.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based on and hereby claims priority to German Application No. 10 2005 026 982.6 filed on Jun. 10, 2005, the contents of which are hereby incorporated by reference. 
       BACKGROUND 
       [0002]    Described below are a method and a computer program product for agreeing between at least one first and one second communication subscriber to a security key for the purpose of securing a communication link. 
         [0003]    For third generation mobile radiocommunication systems a method is known, from the 3 GPP specifications, according to which a short-term security relationship between a user and a communication network device is derived from the long-term security relationship between a user and a network operator. The long-term security relationship is based on a long-term secret cryptographic key, which is stored in a security module of the user, a so-called UMTS-SIM card (technically more accurately: a USIM application on a UICC card), and in the network operator&#39;s authentication centre. From this long-term key, a short-term key Ks is derived by the so-called GBA method (GBA=generic bootstrapping architecture), in that messages are exchanged between a terminal device (UE=user equipment), a computational unit in the communication network (BSF=bootstrapping server function) together with a communication network subscriber&#39;s system (HSS=home subscriber system). Using a further key derivation function, this short-term key is used as Ks_NAF to secure communications between a user&#39;s mobile communication terminal device and another communication network device (NAF=network application function). The GBA method, which is specified in 3 G TS 33.220 (available at ftp.3gpp.org/Specs/), is based on the UMTS AKA protocol (AKA=authentication and key agreement). This protocol is specified in 3 G TS 33.102 (available at ftp.3gpp.org/Specs/), and a mandatory requirement of it is the presence of a USIM application at the user end. Here, the UMTS AKA protocol generates in a secure manner session keys CK and IK, each having a length of 128 bits. As laid down in TS 33.220, the short-term key Ks_NAF, used to secure the communications between a user&#39;s mobile communication terminal device and a communication network device, is derived from the session keys CK and IK. 
         [0004]    The spread of mobile communication terminal devices conforming to the UMTS standard is, however, still far from being as advanced as the spread of mobile communication terminal devices conforming to the GSM standard. Hence too, SIM cards like those used in every GSM mobile radio telephone are significantly more widespread than the UMTS-SIM cars which are as yet still rarely found. However, even for GSM network operators there is a strong interest in providing GSM users with secure links between a mobile communication terminal device and a communication network device. For this reason, the objective of a current standardization project with the name 2 G GBA is to define a method of securing a communication which corresponds to the GBA method and which uses, instead of UMTS-SIM cards and the UMTS AKA protocol, either a SIM card or a SIM application on a UICC card and the GSM AKA protocol. 
         [0005]    One reason for pursuing this project is the expectation that a future 2 G GBA method, to achieve secure communication from a mobile communication terminal device to a communication network device, will not need to establish a new long-term security relationship with the user. Accordingly, the intention would be to avoid the need to distribute new UMTS SIM cards to the users, something which always has high associated costs for the network operator. The SIM cards or SIM applications on the UICC card, already available to the users, should thus continue to be used, so that a relationship which already exists between a user and a network operator can be used. 
         [0006]    One problem with this is that the GSM AKA protocol offers substantially lower security than the UMTS AKA protocol. Apart from this, the session keys generated by the GSM AKA protocol are for many purposes too short (maximum 64 bits). Furthermore, the session keys are used by insecure algorithms, such as for example the GSM encryption algorithms A5/1 and A5/2. There is therefore a danger that a hacker can find out this session key, and the security of the 2 G GBA method could thereby be completely compromised. 
       SUMMARY 
       [0007]    Hence, an aspect is to enhance a GBA method, known from third generation mobile radiocommunication systems, by the least possible modifications, making use of the GSM AKA protocol and the SIM, in such a way that the level of security for communication between a mobile communication terminal device and a communication network device is further increased compared to the GSM AKA protocol. 
         [0008]    A further aspect is to agree on a security key by at least one first and one second communication subscriber, for the purpose of securing a communication link, in such a way that the security level for the communication is increased, and in doing this the improved method is based on methods which already exist. 
         [0009]    As described below, in a method for agreeing between at least one first and one second communication subscriber a security key, for use in securing a communication link, at least one first parameter is determined from an authentication and key derivation protocol. In addition to this, the second communication subscriber transmits to the first communication subscriber an additional parameter, in a confidential manner such that the confidentiality of the transmission is ensured independently of the authentication and key derivation protocol. Finally, a security key is determined from the first parameter and the additional parameter. 
         [0010]    In accordance with one embodiment, the additional parameter is a random number or a concatenation of a random number with additional data. 
         [0011]    In accordance with a further embodiment, the random number contained in the additional parameter is a component of the authentication and key derivation protocol from which the first parameter is determined. 
         [0012]    In accordance with a further embodiment, the first communication subscriber takes the form of a mobile communication terminal device, and the second communication subscriber is a communication network device. 
         [0013]    In accordance with an advantageous development, the second communication subscriber authenticates itself to the first communication subscriber via a certificate with a public key. 
         [0014]    In accordance with a further advantageous development, the first communication subscriber authenticates itself to the second communication subscriber via the authentication and key derivation protocol from which the first parameter is derived. 
         [0015]    In accordance with a further advantageous development, the first communication subscriber authenticates itself to the second communication subscriber with the help of a third communication subscriber which specializes in the administration of the users of the communication network. 
         [0016]    In accordance with a preferred embodiment variant, the first communication subscriber takes the form of a user equipment conforming to the mobile radiocommunication specification as per 3 GPP, the second communication subscriber is in the form of a bootstrapping server function conforming to the mobile radiocommunication specification 3 G TS 33.220, and the third communication subscriber is in the form of a home subscriber system conforming to the mobile radiocommunication specification 3 G TS 33.220. 
         [0017]    In accordance with another preferred embodiment variant, the Transport Layer Security Protocol according to the specification RFC 2246 (available at www.ietf.org/rfc.html), or with enhancements according to the specification RFC 3546, is used as the security protocol for the confidential transmission of the additional parameter. 
         [0018]    In accordance with another preferred embodiment variant, the authentication and key derivation protocol for the determination of the first parameter is implemented in conformity with the mobile radiocommunication specification 3 G TS 43.020 (available at ftp.3gpp.org/Specs/). 
         [0019]    In accordance with another embodiment, the parameters of the authentication and key derivation protocol, for the determination of the first parameter, are communicated in a suitable form in fields which are defined in accordance with the specification RFC 3310 for the HTTP Digest AKA (Authentication and Key Agreement, available at www.ietf.org/rfc.html). 
         [0020]    According to another embodiment, the parameters are transmitted in accordance with the specification TS 33.220. 
         [0021]    In accordance with another embodiment, the additional parameter is communicated in a suitable form in fields which are defined in accordance with the specification RFC 3310 for the HTTP Digest AKA (Authentication and Key Agreement). 
         [0022]    According to a further embodiment, the fields include “RAND” and “Server Specific Data”. 
         [0023]    In the course of the execution of the computer program product, for agreeing a security key between at least one first and one second communication subscriber for the purpose of securing a communication link, at least one first parameter is determined from an authentication and key derivation protocol. In addition to this, the second communication subscriber transmits to the first communication subscriber an additional parameter, in a confidential manner such that the confidentiality of the transmission is ensured independently of the authentication and key agreement protocol. From the first parameter and the additional parameter, a security key is determined when the control program is executed in the program execution control device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0024]    These and other aspects and advantages will become more apparent and more readily appreciated from the following description of an exemplary embodiment, taken in conjunction with the accompanying drawings of which: 
           [0025]      FIG. 1  is a block diagram of a network model of the entities which are involved in a bootstrapping method, and the reference points used between the entities, 
           [0026]      FIG. 2  is a processing sequence diagram of a bootstrapping method with 2 G authentication vectors. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0027]    Reference will now be made in detail to the preferred embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. 
         [0028]    Before communication can start between the user equipment (UE)  101  and the network application function (NAF)  103 , the UE and the NAF must first reach agreement on whether they wish to proceed in accordance with the generic bootstrapping architecture (GBA). In a first step, the UE  101  starts the communication with the NAF  103  via a reference point Ua  102  with no parameters relevant to the GBA. If the NAF requires the use of keys which are obtained by a GBA method, but the request from the UE contains no parameters relevant to the GBA, the NAF replies with a bootstrapping initiation message. 
         [0029]    If the UE  101  wishes to interact with a NAF  103  and knows that the process will be in accordance with the bootstrapping procedure, it should first undertake a bootstrapping authentication. Otherwise, the UE should only undertake a bootstrapping authentication if has received from the NAF a message about a requirement to initiate bootstrapping or a request to renegotiate the bootstrapping, or if the period of validity of the key Ks has expired in the UE. 
         [0030]    For this purpose, the UE  201  transmits an HTTPS request  204  via the reference point Ub  105  (see  FIG. 1 ) to the bootstrapping server function (BSF)  202 . This initiating HTTPS request and all further communications between the UE and the BSF are transmitted via a protected transport layer security (TLS) channel. When this TLS channel is being set up, the UE authenticates the BSF using a certificate provided by the BSF. In doing this, the UE checks whether the “REALM” attribute contains the same fully qualified domain name (FQDN) for the BSF as that which is contained in the certificate provided by the BSF. 
         [0031]    Via the reference point Zh (see  FIG. 1 ,  104 ), the BSF  202  requests authentication vectors and GBA user security settings (GUSS)  205  from the home subscriber system (HSS)  203 . The HSS transmits back via the reference point Zh the complete set of GBA user security settings (GUSS) and one 2 G authentication vector (AV=RAND, SRES, Kc)  205 . From the AV type, the BSF knows that the UE is equipped with a 2 G SIM. The BSF converts the 2 G authentication vector (RAND, Kc, SRES) to the parameters RAND UMTS , RES UMTS  and AUTN UMTS  of a pseudo-3 G authentication vector. Doing this does not require a conversion to the session keys CK and IK of a 3 G authentication vector):
       RAND UMTS =RAND   RES UMTS =KDF (Key, “3 GPP−GBA−RES”||SRES), truncated to 128 bits   AUTN UMTS =KDF(Key, “3 GPP−GBA−AUTN”||RAND), truncated to 128 bits, where Key=Kc||Kc||RAND and KDF is the key derivation function specified in Annex B of TS 33.220. “Truncated to 128 bits” means here that of the 256 output bits from the KDF, the 128 bits numbered 0 to 127 are selected.       
 
         [0035]    The BSF must also select a random number “Ks-input” and set the server specific data=Ks-input in the “aka-nonce” field of HTTP Digest AKA. 
         [0036]    In order to request the UE to authenticate itself, the BSF forwards on to the UE the server specific data (i.e. Ks-input), RAND UMTS  and AUTN UMTS  in a “401” message  206 . 
         [0037]    The UE extracts RAND from the message and calculates the corresponding Kc and SRES values  207 . Following this, the UE calculates from these values the pseudo-3 G authentication vector parameters RAND UMTS , RES UMTS  and AUTN UMTS . The UE compares the calculated AUTN UMTS  with the corresponding value which has been obtained from the BSF. The UE will terminate this procedure if the values do not agree. 
         [0038]    The UE transmits a further HTTP request with a Digest AKA reply to the BSF  208 , in doing which RES UMTS  is used as the password. 
         [0039]    The BSF authenticates the UE by verifying the Digest AKA reply  209 . If this authentication fails, the BSF should not use this authentication vector in any further communication. 
         [0040]    The BSF generates key material Ks  210  by calculating Ks=KDF (Key||Ks-input, “3GPP−GBA−Ks”||SRES). The bootstrapping transaction identifier (B-TID) value should be generated in the NAI format, by referring to a base-64-encoded 
         [0000]    RAND UMTS  value and the BSF server name, for example Base64encode 
       (RAND UMTS )@BSF_Server_Domain_Name. 
       [0041]    The BSF transmits a  200  OK message together with the B-TID to the UE  211 , to confirm the success of the authentication. In addition, the BSF communicates the validity period of the key Ks in the  200  OK message. 
         [0042]    The UE generates the key material Ks in the same manner as does the BSF  212 . 
         [0043]    Both the UE and the BSF use the key material Ks for the purpose of deriving the key material Ks_NAF for protecting the reference point Ua. Ks_NAF is calculated from Ks_NAF=KDF (Ks, key derivation parameters), where KDF is the key derivation function specified in Annex B and the key derivation parameters include the user IMPI, the NAF_ID and the RAND_UMTS. The NAF_ID contains the complete DNS name of the NAF. In order to ensure consistent key derivation on the basis of the NAF name in the UE and the BSF, at least one of the following three prerequisites should be satisfied:
       1. In DNS, the NAF is known under only one domain name (FQDN) so, for example there should not be two different domain names which refer to the IP address of the NAF. This is achieved by administrative means.   2. Each DNS entry for the NAF refers to a different IP address. The NAF responds to all these IP addresses. Each IP address is linked to the corresponding FQDN by configuration of the NAF. From the IP address, the NAF can recognize which FDQN should be used for the key derivation.   3. The reference point Ua uses a protocol which communicates the host name to the NAF. This forces the NAF to check the validity of the host name in order to use this name in all communications with the UE, if it is appropriate, and to communicate this name to the BSF in order to ensure the correct derivation of the key material Ks_NAF.       
 
         [0047]    The UE and the BSF should store the key Ks together with its associated B-TID until the period of validity of the key Ks has expired or until the key Ks is renewed. 
         [0048]    When the key Ks_NAF is available for the corresponding key derivation parameter NAF_ID, the UE and the NAF can start a secure communication via the reference point Ua. 
         [0049]    To date, two proposed solutions for such a 2 G GBA method are known, these having been presented to the relevant standardization group 3 GPP SA3 in the contributions S3-050053 from Nokia and S3-050097 from Qualcomm (available at ftp.3gpp.org/TSG_SA/WG3_Security/TSGS3_ 37 _Sophia/Docs/). 
         [0050]    Contribution S3-050053 from Nokia solves the problem of the excessively short GSM session key Kc by using for each instance of the 2 G GBA method several instances of the GSM AKA protocol, the so-called GSM triplets. In this way, one obtains several session keys Kc which are then combined into one short-term key of sufficient length. Here, the GSM AKA protocol is used for authenticating the user to the network, for authenticating the network to the user and for the agreement of session keys. The HTTP Digest AKA protocol conforming to the specification RFC 3310 is used as the carrier protocol for the GSM AKA protocol, with the parameters of the GSM AKA protocol being suitably modified by conversion functions. 
         [0051]    Contribution S3-050097 from Qualcomm uses the Diffie Hellman method for the agreement of session keys. Authentication of the network to the user is based on the use of certificates and a digital signature using parameters of the Diffie Hellman method. The GSM AKA protocol is only used for authenticating the user to the network, with the GSM key Kc being used to form a message authentication code (MAC) using parameters of the Diffie Hellman method. 
         [0052]    By contrast with these, the problem, described above is solved by an exemplary embodiment as follows: 
         [0053]    The method uses, as the carrier protocol for the GSM AKA protocol, the HTTP Digest AKA protocol in accordance with specification RFC 3310, with the parameters of the GSM AKA protocol modified by suitable conversion functions. Here, only one instance of the GSM AKA protocol is used per 2 G GBA instance. In addition, a transport layer security (TLS) link between the mobile communication terminal device and the BSF is set up in accordance with the specification RFC 2246. With this TLS link, strong encryption is activated. The BSF is authenticated to the mobile communication terminal device on the basis of certificates when this TLS link is set up. However, the mobile communication terminal device is not authenticated when the TLS link is set up. Authentication of the mobile communication terminal device to the BSF is effected by the use of GSM AKA embedded in the HTTP Digest AKA protocol. 
         [0054]    An advantageous effect which results from this is that the security of the short-term key in accordance with the present method is based both on the security of GSM and also on the security of TLS. It can only be compromised if both the GSM and TLS methods are compromised in the environment in which they are used, or such a serious attack on GSM becomes possible that the GSM method can be compromised during the running of the bootstrapping method described here. 
         [0055]    Inputs to the calculation of the short-term key by the key derivation function are the parameters Kc and SRES (signed response), obtained from the GSM protocol, and random numbers which are transmitted confidentially from the BSF to the mobile communication device as part of the HTTP Digest AKA protocol, protected by the TLS encryption. These random numbers can be transmitted, for example, in the “AKA-NONCE” field in accordance with the specification RFC 3310, both as a Challenge RAND and also as part of the “Server Specific Data”. 
         [0056]    The proposed measures of the method described above result in the following particular advantages:
       In order to find the short-term key which has been derived, a hacker must find out both the GSM parameters Kc and SRES, and also the random numbers transmitted confidentially over the TLS, that is they must make an attack on both the GSM method and also the use of the TLS method. This substantially increases the security against attacks.   The effective length of the short-term key which is derived can be significantly increased compared to the proposal in S3-050053 by the use of random numbers Ks-input as part of the additional parameter, a parameter which is not a component of GSM AKA. In this way, the security against hacking attacks is yet further increased.   It is only necessary to use a single instance of GSM AKA per 2 G GBA instance. This leads to a significant reduction in the load on the GSM authentication centre compared to the proposal in S3-050053.   The security of the proposal in S3-050053 generally requires reliable prevention of the possibility that an attacker ever reuses, in another context, GSM triplets which have been used in 2 G GBA. This would enable the parameters Kc and SRES to be determined, for example by an attack on an A5/1 or A5/2 encryption algorithm, and thereby also the short-term key of the 2 G GBA. But it will in practice only be possible with difficulty to realize this. On the other hand, an attack on the method described here would only be possible if the attacker could determine the GSM parameters Kc and SRES during a protocol run of 2 G GBA. However, according to present-day understanding this is possible for a period of a few seconds and only for the A5/2 algorithm, but this is no longer permitted on terminal devices which will support 2 G GBA. For this reason, the proposed method is not only significantly more practicable than the proposal in S3-050053 but it also significantly increases the security.   A further advantage compared to the proposal in S3-050097 is that the security of the method is based on several independent factors. In particular, the UE can also authenticate the BSF by comparing the calculated and received AUTN UMTS . By contrast, the security of the proposal in accordance with Qualcomm is based solely on the secure authentication of BSF based on a certificate.       
 
         [0062]    The system also includes permanent or removable storage, such as magnetic and optical discs, RAM, ROM, etc. on which the process and data structures of the present invention can be stored and distributed. The processes can also be distributed via, for example, downloading over a network such as the Internet. The system can output the results to a display device, printer, readily accessible memory or another computer on a network. 
         [0063]    A description has been provided with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in  Superguide v. DIRECTV,  358 F3d 870, 69 USPQ2d 1865 (Fed. Cir. 2004).