Abstract:
The invention disclose a method for verifying the validity of a user, making full use of a TID as the bridge for establishing confidence between a NAF and a user equipment, and the BSF assigning a term of validity for the TID, thereby extending the function of the TID, enabling the NAF to verify the term of validity for using the TID, and accordingly, achieving a further verification of the validity to the user. By using the method of the invention, it is possible to avoid the situation in which one TID is permanently valid for one or more NAFs, enhance the system security, decrease the risks caused by the theft of users&#39; TID and corresponding secret keys, and at the same time, implement TID management by the NAF. In addition, a combination of the method with billing system makes it easy to implement the function of charging a user.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a Continuation Application of International Application Number PCT/CN2004/001209, filed on Oct. 25, 2004, which claims priority of Chinese Patent Application Number 200310113230.0, filed on Nov. 7, 2003. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to the third generation (3G) wireless communication technology, and more specifically to a method for verifying the validity of a user. 
     BACKGROUND OF THE INVENTION 
     In the 3G wireless communication standards, the generic authentication architecture describes a generic architecture adopted by a number of Network Application Functions (NAFs) for verifying the validity of users. By means of generic authentication architecture, it is possible to implement the authentication and verification of a user requesting a service. The above various application functions may include multicast/broadcast service, subscribers certificates service, and instant message supply service, as well as proxy service, e.g. multiple services functions entities may be connected with a proxy entity. The generic authentication architecture handles the proxy as a kind of service where the construction may be very flexible. Moreover, the generic authentication architecture may be adopted for the authentication and verification of users requesting newly developed services. 
       FIG. 1  is a schematic structure diagram of the generic authentication architecture. Typically, the generic authentication architecture includes a User Equipment (UE)  101 , a Bootstrapping Server Function (BSF)  102 , a Home Subscriber System (HSS)  103  and an NAF  104 . The BSF  102  is used for mutual authentication with the UE  101 , and simultaneously generating a secret key shared with the UE  101 . A Profile document used for describing the subscriber information is stored in the HSS  103  which will generate authentication information. 
     When a UE requests a service, if the UE knows that the service requires a mutual authentication procedure in the BSF, the UE will perform a mutual authentication in the BSF directly; otherwise, the UE will first contact the NAF corresponding to the service. If the NAF applying the generic authentication architecture requires the UE to perform a bootstrapping authentication in the BSF, the NAF will instruct the UE to perform a bootstrapping authentication by means of the generic authentication architecture; otherwise, the NAF executes other appropriate processing. 
       FIG. 2  is a flowchart for authentication by the generic authentication architecture in the prior art. 
     Step  201 : A UE sends to an NAF an application request message. 
     Step  202 : Upon receiving the message, the NAF finds that the UE has not performed a mutual authentication in a BSF, and then instructs the UE to perform a bootstrapping authentication in the BSF. 
     Step  203 : The UE sends to the BSF a bootstrapping request message. 
     Step  204 : Upon receiving the bootstrapping request message from the UE, the BSF conducts inquiry of the necessary authentication information of the UE and the profile document thereof to the HSS, and receives a response from the HSS. 
     Step  205 : Upon receiving the response message from the HSS containing the information inquired, the BSF performs an Authentication and Key Agreement (AKA) protocol based mutual authentication with the UE using the information inquired. When completing the AKA protocol based mutual authentication with the UE, i.e. passing the mutual authentication, the BSF generates a secret key shared with the UE (Ks). 
     Step  206 : The BSF assigns the UE a Transaction Identifier (TID) including only the identity and valid for one or more than one NAFs. The TID is associated with the Ks. 
     Step  207 : Upon receiving the TID assigned by the BSF, the UE resends to the NAF an application request message which contains the information of the TID. 
     Step  208 : Upon receiving the application request message containing the information of the TID sent from the UE, the NAF will first conduct local inquiry, if the NAF finds the information of the TID locally, proceed directly to Step  210 ; otherwise, send to the BSF a TID inquiring message containing local identity of the NAF, and then proceed to Step  209 . 
     Step  209 : Upon receiving the TID inquiring message from the NAF, the BSF will, if finding the TID inquired by the NAF, send to the NAF a response message of success. The NAF stores the contents of the response message and proceeds to Step  210 ; otherwise, the BSF will send to the NAF a response message of failure, notifying the NAF that there is no information of the UE. The NAF will instruct the UE to perform a bootstrapping authentication in the BSF, and end the procedure. 
     The response message of success includes the TID found, the Ks corresponding to the TID or a derived secret key generated from the Ks according to the security level of the NAF. As long as receiving a response message of success from the BSF, the NAF will believe that the UE is a legitimate UE passing authentication by the BSF and share the Ks or the derived secret key with the UE. 
     Step  210 : The NAF makes normal communications with the UE, i.e. data transmission, and protects further communications using the Ks or the derived secret key. 
     After the first communication process between the UE and the NAF is over, the authenticated TID is used for further communications between the UE and the NAF. Since the TID may be used repeatedly and any NAF may inquire the corresponding TID from the BSF if it can not find the TID locally, as long as obtaining a legitimate TID, the UE may make communications with the NAF using the TID for an indefinite period. 
     SUMMARY OF THE INVENTION 
     The present invention provides a method for verifying the validity of a user by means of checking whether a TID of a user is valid. 
     The solution in accordance with the present invention is implemented as follows: 
     According to an aspect of the present invention, when an NAF receives an application request message containing TID information, it determines whether the TID information exists locally, if exists, determines whether the TID expires. If the TID expires, the NAF will make normal communications with the UE; otherwise, the NAF will instruct the UE to perform a bootstrapping authentication in a BSF again; 
     If there is no TID information in the NAF, the NAF will send to the BSF a TID inquiring message containing the identity of the NAF. If the BSF finds the TID inquired by the NAF, it will return to the NAF a response message of success containing the TID found and the term of validity for the TID, the NAF first stores the contents in the response message from the BSF and then makes normal communications with the UE. If the BSF fails to find the TID required by the NAF, it will return to the NAF a response message of failure, and the NAF will instruct the UE to perform a bootstrapping authentication in the BSF. 
     According to another aspect of the present invention, when an NAF receive an application request message containing a transaction identifier (TID), it determines whether the TID information exists locally, if exists, determines whether the TID expires. If the TID expires, the NAF will make normal communications with the UE; otherwise, the NAF will instruct the UE to perform a bootstrapping authentication in a BSF again. 
     It can be seen from the above-mentioned scheme that, the present invention takes full advantage of the TID being a bridge of establishing confidence relationship between the NAF and the UE, through a BSF assigning a term of validity for a TID, extends the functions of the TID and enables an NAF to verify the term of validity of the TID used by the UE, thereby implements a further verification of the validity to the UE. By the method of the present invention, it is possible to avoid the situation where a TID is permanently valid for an NAF, improve the system security, lower the possibility of a UE&#39;s TID and the corresponding secret key thereof being stolen, and implement the management of TIDs by an NAF. In addition, a combination of the method with the billing system will make it easy to implement the charging of a user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic structure diagram illustrating the generic authentication architecture. 
         FIG. 2  is a flowchart of a UE authentication using the generic authentication architecture in the prior art. 
         FIG. 3  is a flowchart of verifying the validity of a UE in accordance with an embodiment of the present invention. 
         FIG. 4  is a flowchart of verifying the validity of a UE in accordance with another embodiment of the present invention. 
         FIG. 5  is a flowchart of verifying the validity of a UE in accordance with yet another embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In order to make the technical solution of the present invention clearer, a further and detailed description of the present invention is hereinafter given with reference to the accompanying drawings and specific embodiments. 
     According to an aspect of the present invention, when an NAF receives an application request message containing the information of a TID, it determines whether the information of the TID exists locally, if exists, determines whether the UE is legitimate by determining whether a preset term of validity for the TID used by the UE is overrun. If the UE is legitimate, the NAF will make normal communications with the UE; otherwise, the NAF will instruct the UE to perform a bootstrapping authentication in a BSF again; 
     If there is no information of the TID in the NAF, the NAF will send to the BSF a TID inquiring message containing the identity of the NAF. If the BSF finds the TID inquired by the NAF, it will return to the NAF a response message of success containing the TID found and the term of validity for the TID, the NAF first stores the contents in the response message from the BSF and then makes normal communications with the UE. If the BSF fails to find the TID required by the NAF, it will return to the NAF a response message of failure, and the NAF will instruct the UE to perform a bootstrapping authentication in the BSF. 
     The invention is hereinafter described in detail by several specific embodiments. 
     First Embodiment 
     A BSF assigns a UE a TID which is valid for one or more NAFs while not enciphering the TID. 
       FIG. 3  is a flowchart for verifying the validity of a UE in accordance with the first embodiment of the present invention. 
     Step  301 : A UE sends an application request message to an NAF. 
     Step  302 : Upon receiving the message, the NAF finds that the UE has not performed a mutual authentication with a BSF, and then instructs the UE to perform a bootstrapping authentication in the BSF. 
     Step  303 : The UE sends to the BSF a bootstrapping request message. 
     Step  304 : Upon receiving the bootstrapping request message from the UE, the BSF conducts inquiry of the authentication information and profile of the UE to an HSS, and receives a response message from the HSS. 
     Step  305 : Upon receiving the response message containing the information found sent from the HSS, the BSF performs an AKA protocol based mutual authentication with the UE using the information found. When completing the AKA protocol based mutual authentication with the UE, i.e. passing the mutual authentication, the BSF generates a secret key shared with the UE (Ks). 
     Step  306 : the BSF assigns the UE a TID containing only an identity and valid for one or more NAFs at the same time. 
     Step  307 : Upon receiving the TID assigned by the BSF, the UE resends to the NAF an application request message containing the information of the TID. 
     Step  308 : Upon receiving the application request message containing the information of the TID sent from the UE, the NAF determines whether the information of the TID exists locally, if exists, the NAF determines whether the valid lifetime or the valid times of use for the TID is overrun, if overrun, proceeds to Step  309 ; otherwise, proceeds to Step  310 . 
     If there is no information of the TID in the NAF, the NAF will send to the BSF a TID inquiring message containing the identity of the NAF, if the BSF finds the TID, the BSF will first generate a derived secret key valid for the inquiring NAF based on the user identity, the NAF identity and the root secret key corresponding to the TID, and then assign, according to the security level of the inquiring NAF and the profile information of the UE, a term of validity for the derived secret key generated for the inquired TID, where the term of validity is a valid lifetime and/or valid times of use and is valid only for the inquiring NAF. The BSF, thereafter, sends a response message of success to the NAF, and the NAF stores the contents of the response message of success and proceeds to Step  310 . If the BSF fails to find the TID, the BSF will send to the NAF a response message of failure and proceed to Step  309 . 
     The above mentioned response message of success includes the TID inquired by the NAF, the derived secret key corresponding to the TID and generated for the inquiring NAF as well as the term of validity of the derived secret key. The derived secret key for the inquiring NAF has been generated when the UE sends the application request to the NAF using the TID assigned by the BSF. When the NAF receives the response message of success from the BSF, the NAF starts to share the derived secret key generated for the inquiring NAF with the UE. 
     Step  309 : the NAF instructs the UE to perform a bootstrapping authentication in the BSF, and ends this procedure. 
     Step  310 : the NAF makes normal communications with the UE, i.e. data transmission, and protects further communications using the secret key derived from the Ks. 
     Though the TID used by a UE is valid for one or more NAFs at the same time, the derived secret keys for different NAFs as well as the terms of validity thereof assigned by the BSF are different, i.e. the same TID, when used for different NAFs, corresponds to different derived secret keys and different terms of validity thereof. In terms of one NAF, however, the TID of the UE and the corresponding derived secret key thereof is unique. 
     When the TID used by the UE and the corresponding secret key for a certain NAF expires, the UE will perform a bootstrapping authentication in the BSF again. After the authentication succeeds, the BSF will assign the UE a new TID and generate a new shared secret key (Ks&#39;) corresponding to the new TID. Upon receiving the new TID, the UE will send a new application request message using the new TID while the new request message also contains the information of the old TID. Thus the NAF using the old TID and the derived secret key thereof will not be affected, and a new TID will not be used unless the UE sends an application request again or the NAF requires that the UE update the TID, thereby avoiding the impact by the NAF requesting to update the TID on other NAFs currently using the TID. 
     When an NAF receives a new TID, the NAF will always conduct inquiry of the TID in the BSF, if the inquiry succeeds, the BSF will return to the NAF a response message of success which also includes the TID inquired by the NAF, the secret key derived for the TID based on such parameters as the identity of the inquiring NAF and the root secret key, and the term of validity corresponding to the derived secret key. Upon receiving the response message of success from the BSF, the NAF will store the new TID in the response message of success, the derived secret key corresponding to the TID and the term of validity thereof. At the same time, the NAF will disable or delete the old TID stored in it and the secret key corresponding to the old TID. 
     Since the old TID used by a UE corresponds to multiple NAFs at the same time, when the TID expires for a certain NAF, it is quite possible that the TID is still valid for other NAFs. Since each NAF receiving a new TID will conduct inquiry in the BSF, for the sake of system security, each NAF receiving a new TID will replace the old TID and the related information thereof with the new TID of the UE and the related information thereof. In this way, not only TID management becomes less complex, but the security of TID and the corresponding secret keys is enhanced. 
     In Step  306  of this embodiment, the BSF may assign the UE a TID only valid for a certain NAF and including only an identity. Accordingly, in Step  308 , upon receiving an application request message containing the information of the TID from the UE, the NAF first determines whether the TID is valid for the NAF, if invalid, the NAF will prompt the UE with an error message, if valid, continues with the subsequent steps. The rest steps of the procedure are the same as those shown in  FIG. 3  and no further description is hereby given. 
     The method for assigning a UE a TID only valid for a certain NAF and the method for determining whether the TID is valid for the NAF have been described in detail in the patent application submitted by this inventor and titled as “method for assigning bootstrapping transaction identities” with the application number “200310113233.4”, and no further description is hereby given. 
     In this embodiment, the term of validity of the secret key corresponding to a TID is actually the term of validity of the TID, for the TID is associated with the secret key corresponding to the TID. If a secret key corresponding to a TID expires, it means that the term of validity of the TID for an NAF expires. 
     Second Embodiment 
     A BSF assigns a UE a TID valid for only a certain NAF, and the TID is enciphered. 
       FIG. 4  is a flowchart for verifying the validity of a UE in accordance with the second embodiment of the present invention. 
     Step  401 : A UE sends an application request message to an NAF. 
     Step  402 : Upon receiving the message, the NAF finds that the UE has not performed a mutual authentication with the BSF, thus instructs the UE to perform a bootstrapping authentication in the BSF. 
     Step  403 : The UE sends to the BSF a bootstrapping request message. 
     Step  404 : Upon receiving the bootstrapping request message from the UE, the BSF conducts inquiry of the authentication information and profile of the UE to an HSS, and receives a response message from the HSS. 
     Step  405 : Upon receiving the response message containing the information found sent from the HSS, the BSF performs an AKA protocol based mutual authentication with the UE using the information found. When completing the AKA based mutual authentication with the UE, i.e. passing the mutual authentication, the BSF generates a secret key with the UE (Ks). 
     Step  406 : the BSF assigns the UE an identity valid only for a certain NAF, and then, based on the identity or name of the NAF and the profile information of the UE, assigns a term of validity for the identity of the UE, where the term of validity is a valid lifetime and/or valid times of use. The BSF then enciphers the identity valid for the NAF and the term of validity of the identity using the preset secret key shared between the BSF and the NAF (Knb), takes the enciphered information as a TID and sends the TID to the UE. Since the UE does not have Knb the UE is unable to modify the term of validity of the TID. 
     Step  407 : Upon receiving the TID assigned by the BSF, the UE sends to the NAF an application request message containing the enciphered TID. 
     Step  408 : Upon receiving the application request message containing the information of the TID sent from the UE, the NAF first determines whether the information of the TID exists locally, if exists, the NAF deciphers the TID using Knb and determines whether the valid lifetime or valid times of use is overrun, if overrun, proceeds to Step  409 ; otherwise, proceeds to Step  410 . 
     If there is no information of the TID in the NAF, the NAF will first decipher the TID using Knb and then determine whether the TID is valid for the NAF, where the specific method for performing the determination has been described in detail in the patent application submitted by this inventor and titled as “method for assigning bootstrapping transaction identities” with the application number “200310114069.9”. If the TID is valid for the NAF, the NAF will send to the BSF a TID inquiring message containing the identity of the NAF; otherwise, the NAF will prompt the UE with an error message. 
     If the BSF finds the information of the TID, it will send to the NAF a response message of success containing the TID inquired by the NAF and Ks, the secret key shared between the UE and the BSF and corresponding to the TID or a derived secret key generated from Ks, i.e. the derived secret key generated for the inquiring NAF. Upon receiving the response message of success from the BSF, the NAF starts to share with the UE the derived secret key generated for the inquiring NAF. The derived secret key corresponding to the inquiring NAF has been generated by the UE when the UE sent the application request to the NAF using the TID assigned by the BSF. After the NAF stores the contents in the response message of success from the BSF, proceeds to Step  410 . If the BSF fails to find the information, it will send a response message of failure to the NAF and proceeds to Step  409 . 
     Step  409 : the NAF instructs the UE to perform a bootstrapping authentication in the BSF, and ends the procedure. 
     Step  410 : the NAF makes normal communications with the UE, i.e. data transmission, and protects the further communications using the Ks or the derived secret key from Ks. 
     When the TID used by the UE has expired for a certain NAF, the UE will perform mutual authentication in the BSF again. After the authentication succeeds, the BSF will assign the UE a new TID and generate a new shared secret key, Ks&#39;, corresponding to the new TID, where the new TID is also enciphered. When the UE sends an application request to the NAF again, the request message contains the information of both the new TID and the old TID. 
     When an NAF receives a new TID, the NAF will always conduct inquiry of the TID in the BSF. If the inquiry succeeds, the BSF will return to the NAF a response message of success which also contains the TID inquired by the NAF, and Ks&#39; or the derived secret key generated from Ks&#39;. Upon receiving the response message of success from the BSF, the NAF starts to share Ks&#39; or the derived secret key from Ks&#39; with the UE. The NAF will store the new TID and the Ks&#39;, and disable or delete the locally-stored old TID and the Ks. 
     Third Embodiment 
     The BSF assigns a UE a TID valid only for a certain NAF, and does not encipher the TID. 
       FIG. 5  is a flowchart for verifying the validity of a UE in accordance with the third embodiment of the present invention. 
     Step  501 : A UE sends an application request message to an NAF. 
     Step  502 : Upon receiving the message, the NAF finds that the UE has not performed a mutual authentication with the BSF, thus instructs the UE to perform a bootstrapping authentication in the BSF. 
     Step  503 : The UE sends to the BSF a bootstrapping request message. 
     Step  504 : Upon receiving the bootstrapping request message from the UE, the BSF conducts inquiry of the authentication information and profile of the UE to an HSS, and receives a response message from the HSS. 
     Step  505 : Upon receiving the response message containing the information found sent from HSS, the BSF performs an AKA protocol based mutual authentication with the UE using the information found. When completing the AKA based mutual authentication with the UE, i.e. passing the mutual authentication, the BSF generates a secret key shared with the UE (Ks). 
     Step  506 : the BSF assigns the UE an identity valid only for a certain NAF, and takes the identity as a TID. Then, based on the identity or name of the NAF and the profile information of the UE, the BSF assigns and stores a term of validity for the TID of the UE, where the term of validity is a valid lifetime and/or valid times of use, and sends the assigned TID to the UE. 
     Step  507 : Upon receiving the TID assigned by the BSF, the UE sends to the NAF an application request message containing the information of the TID again. 
     Step  508 : Upon receiving the application request message containing the information of the TID sent from the UE, the NAF first determines whether the TID is valid for the NAF, if invalid, the NAF will prompt the UE with an error message; if valid, the NAF will further determine whether the information of the TID exists locally. If the information of the TID exists, the NAF determines whether the valid lifetime or valid times of use is overrun, if overrun, proceeds to Step  509 ; otherwise, proceeds to Step  510 . 
     If there is no information of the TID in the NAF, the NAF will send to the BSF a TID inquiring message containing the identity of the local NAF. If the BSF finds the TID, it will send to the NAF a response message of success containing the TID inquired by the NAF, the term of validity corresponding to the TID, and Ks, the secret key for the TID shared between the UE and the BSF or the derived secret key generated from Ks, i.e. the derived secret key generated for the inquiring NAF. Upon receiving the response message of success from the BSF, the NAF starts to share with the UE the derived secret key generated according to the inquiring NAF, which has been generated by the UE when the UE sent the application request to the NAF using the TID assigned by the BSF. After the NAF stores the contents in the response message of success from the BSF, proceeds to Step  510 . If the BSF fails to find the information, it will send a response message of failure to the NAF, informs the NAF that there is no information of the UE, and proceeds to Step  509 . 
     Step  509 : the NAF instructs the UE to perform a bootstrapping authentication in the BSF, and ends this procedure. 
     Step  510 : the NAF makes normal communications with the UE, i.e. data transmission, and protects further communications using the Ks or the derived secret key from Ks. 
     When the TID used by a UE has expired for a certain NAF, the UE will perform a bootstrapping authentication in the BSF again. After the authentication succeeds, the BSF will assign the UE a new TID and generate a new shared secret key, Ks&#39;, corresponding to the new TID. When the UE sends an application request again to the NAF, the request message will contain the information of both the new TID and the old TID. 
     When an NAF receives a new TID, the NAF will conduct inquiry of the new TID in the BSF. If the inquiry succeeds, the BSF will return to the NAF a response message of success which also contains the TID inquired by the NAF, the term of validity corresponding to the TID, and Ks&#39; or the derived secret key generated from Ks&#39;. Upon receiving the response message of success from the BSF, the NAF starts to share Ks&#39; or the derived secret key from Ks&#39; with the UE. The NAF will store the new TID and the secret key associated with the TID, and disable or delete the locally-stored old TID and the secret key associated with the old TID. 
     In the third embodiment, when assigning a TID for a UE, the BSF may not assign the term of validity corresponding to the TID at first. Instead, the BSF may assign a term of validity corresponding to the TID according to the identity of the NAF and the profile information of the UE when the NAF conducts inquiry of the TID in the BSF. 
     The term of validity of the TID may be used in billing. If the billing is based on time, a TID may be taken as a time unit, and charging for one day&#39;s use may be made whenever a new TID is assigned. If the billing is based on times of use, a TID may be charged according to the times of use it is assigned. The billing operation may be implemented when a BSF assigns a TID, or implemented when an NAF uses a TID. 
     The foregoing is only preferred embodiments of the present invention and is not inclined to limit the present invention. Any modification, equivalent substitution, or improvement made without departing from the spirit and principle of the present invention should be covered by the scope set forth in the appended claims.