Title of Invention

METHOD AND DEVICE FOR UPDATING A KEY

Abstract A method for updating a secret key includes: a. the network side sets the prearranged value for the authentication management field AMF, and generates the corresponding authentication membered group, when sending the authentication requirement to the terminal, sends the corresponding parameter in the authentication membered group to the terminal, and generates a new authentication secret key to be used in the next authentication; b. when the terminal receives the authentication requirement and determines that the authentication for the network passes and the authentication management field AMF in the said corresponding parameter is the said special value, generates a new authentication secret key corresponding to the network side to be used in the next authentication. The method of updating a secret key of the invention expediently updates the secret key and advances the security of the network without adding or modifying the present signal resource or authentication parameter.
Full Text FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
"METHOD AND DEVICE FOR UPDATING A KEY"

HUAWEI TECHNOLOGIES CO., LTD.,
Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdonj.
Province 518129, P.R.China
The following specification particularly describes the invention and the manner in which it is to be performed.

PCT_amended_clean 0510696IN
OP6506159IN
METHOD AND DEVICE FOR UPDATING A KEY
Field of the Invention
[0001] The present invention relates to communication security technology, in particular, to a method and device for updating a key.
Background of the Invention
[0002] In Global System for Mobile Communications (GSM) network and Wideband Code Division Multiple Access (WCDMA) network, authentication is realized synergically by Mobile station (MS), Mobile Switching CenterA/isit Location Register (MSCA/LR) or Serving GPRS Support Node (SGSN), and Home Location Register/Authentication center (HLR/AUC). An authentication key Kl is stored in a Subscriber Identity Module (SIM) card or a UMTS Subscriber Identity Module (USIM) card. The HLR/AUC also contains an authentication key Kl, the value of which is consistent with the value of the Kl in the SIM card or the USIM card. An authentication parameter is computed by the MS and the AUC respectively, and compared by the MSCA/LR or the SGSN. Therefore, the validity of the MS may be verified by the network.
[0003] In the authentication in a 3rd Generation (3G) system, such as Universal Mobile Telecommunication System (UMTS), an authentication quintuplet is used, and the mobile terminal and the network authenticate each other; and the mobile terminal and the network both store the authentication key Kl.
[0004] The authentication quintuplet generated by the network includes: a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN. This quintuplet is used by the terminal subscriber card USIM and the network to authenticate each other. The authentication token AUTN is 16 bytes in length and comprises: 1) SQNHEA AK, in which the sequence number SQNHE and the anonymity key AK are 6 bytes in length respectively; the USIM will check whether the SQNHE generated by the AUC is up to date, which is an important part of the authentication process; 2) an authentication management field AMF, which is 2 bytes in length; 3) a message authentication code MAC-A, which is 8 bytes in length and used to


PCT_amended_clean 0510696 IN
OP6506159IN
verify the data integrity of the RAND, SQNHE and AMF, and is used by the USIM to
Authenticate the network.
[0005] In addition, to authenticate the USIM via the network during resynchronization, the USIM sends a message authentication code MAC-S to the network.
[0006] By means of the aforementioned authentication method, the security of the network may be improved. But, similar to the 2nd Generation (2G) communication network, the keys Kl stored in the HLR/AUC and the USIM are usually constant, so it will bring about some hidden troubles to the security. For example, if a USIM is cloned, the subscriber cloned may suffer a loss due to free calls on the subscriber's expense through illegal means by a cloner; the service provider may also suffer a loss. For example, the call charge as a reward to one subscriber may be used by two individuals. In another example, in order to reduce operation cost, some service providers entrust a card manufacturer to manufacture a batch of USIM cards and write corresponding data including Kl into the subscriber card in advance. If the Kl data of these USIM cards divulge from the card manufacturer, it may also cause hidden troubles to the security.
[0007] In addition, during the network-locked terminal-lease process, handset manufacturers need to set an initial security key IKey in a User Equipment (UE) and store the IKey on the network; the mobile terminal authenticates the validity of the network according to this IKey, so as to ensure security of the mobile terminal. In such a case, problems also exist. For example, IKey may divulge from handset manufacturers passively, such as, being carried over and brought to light by vicious employees, or being embezzled by hackers. In the aforementioned cases, if the key is not updated, the network may face a great threat to security.
[0008] Therefore, it has become an urgent problem that how the key can be updated conveniently so as to improve the network security without modifying the existing communication protocols, adding signaling or authentication parameters and increasing the operation cost.
Summary of the Invention
[0009] In view of the aforementioned technical problem, it is an object of the present


PCT_amended_clean 05106961N
OP6506159IN
invention to provide a method and a device for updating the key, by means of which the key can be conveniently updated and no additional communication protocol, signaling or authentication parameter is required. Therefore, the network security can be improved.
[0010] The invention provides a method for updating the key, which includes: a) assigning a predetermined value to the authentication management field AMF via the network and generating a corresponding authentication tuple, sending corresponding parameters in the authentication tuple to a terminal, and generating a new authentication key; b) generating a new authentication key corresponding to the network when the terminal receives the corresponding authentication parameters and determines that the authentication for the network is passed and the authentication management field AMF in the corresponding parameters is with the predetermined value.
[0011] Preferably, the Step b further includes: sending a message about successful update of the key to the network via the terminal after it generates the new authentication key.
[0012] In a preferred implementation, the process of sending the message about successful update of the key is realized by returning a synchronization request message to the network and assigning a stipulated specific value to the sequence number SQNMS
[0013] Preferably, the method further includes: sending a request for updating the key to the network via the terminal before the Step a.
[0014] Preferably, the authentication tuple includes a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN; during the generation of the corresponding authentication tuple, only the RAND and the AUTN may be generated, or the RAND, AUTN and only any one or more of the XRES, CK and IK may be generated.
[0015] The invention resolves the aforementioned technical problem with another solution as follows:
[0016] a method for updating the key, which includes at least the following steps: a) assigning a predetermined value to the authentication management field AMF via the network and generating a corresponding authentication tuple, sending corresponding

PCT_amended_clean 0510696IN
OP6506159IN
parameters in the authentication tuple to a terminal; b) generating a new authentication key corresponding to the network and returning a message about successful update of the key via the terminal when the terminal receives the corresponding parameters and determines that the authentication for the network is passed and the authentication management field AMF in the corresponding parameters is the predetermined value; c) generating a new authentication key via the network after it receives the message about successful update of the key returned by the terminal.
[0017] Preferably, the process of returning a message about successful update of the key in the Step b is realized by returning the sequence number SQNMS with the stipulated specific value when a synchronization request message is returned to the network.
[0018] Preferably, the method further includes sending a request for updating the key to the network by the terminal before the Step a.
[0019] Preferably, the authentication tuple includes a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN; during the generation of the corresponding authentication tuple, only the RAND and the AUTN may be generated, or the RAND, AUTN and only any one or more of the XRES, CK and IK may be generated.
[0020] The invention provides another method for updating the key, which includes:
sending parameters including at least a random challenge and an authentication token to a terminal via the network, wherein the authentication management field in the authentication token is a predetermined value;
generating a new authentication key via the terminal according to the random challenge after the authentication for the network with the authentication token is passed; and
generating a new authentication key via the network according to the random challenge.
[0021] The method further includes: sending a request for updating the key to the network via the terminal before sending parameters including at least a random challenge


PCT_amended_clean 0510696IN
OP6506159IN
and an authentication token to the terminal via the network.
[0022] Wherein, sending a request for updating the key is realized by initiating a synchronization process to the network; or, via short message or Unstructured Supplementary Data Service or Over-the-Air (OVA).
[0023] Wherein, the parameters including at least the random challenge and the authentication token are sent when the network sends an authentication request to the terminal.
[0024] The method further includes sending a message indicating the execution result of key update to the terminal and the message indicating the execution result of key update includes message about successful update of the key and message about failed update of the key.
[0025] Wherein, the sending of the message indicating the execution result of key update is performed when a synchronization process is initiated to the network; or it is realized via short message, Unstructured Supplementary Data Service and/or Over-the-Air (OVA).
[0026] Wherein, the synchronization process is a process for synchronizing the sequence number; and the sequence number having a predetermined value is sent when the synchronization request message is sent.
[0027] Wherein, the process of generating a new authentication key via the network according to the random challenge is performed after the message about successful update of the key returned by the terminal is received, or before the parameters including at least the random challenge and the authentication token are sent to the terminal. [0028] The method further includes generating an authentication tuple with the new authentication key via the network after it receives the message about successful update of the key returned by the terminal.
[0029] The method further includes: determining whether the location of the terminal is updated by the network before it receives the message about successful update of the key returned by the terminal; if it is updated, the network generates the authentication tuple with the new authentication key; otherwise, the new authentication key is not used


PCT_amended_clean 0510696IN
OP6506159IN
when an authentication tuple is generated.
(0030] The method further includes: determining whether an old authentication tuple still exists on the network when the network generates the authentication tuple with the new authentication key; if it still exists, the old authentication tuple will be deleted.
[0031] The method further includes generating an authentication tuple with the new authentication key via the network.
[0032] Wherein, the parameters further include any one or more of the expected response, the cipher key and the integrity key.
[0033] The invention provides another method for updating the key, which includes:
sending parameters including at least a key generation reference and an authentication token to a terminal via the network, the authentication token carries a key update identification;
generating a new authentication key according to the key generation reference via the terminal after the authentication for the network with the authentication token is passed; and
generating a new authentication key via the network according to the key generation reference.
[0034] The invention further provides a device for updating the key, which includes:
a first unit, which is set on the network for assigning a predetermined value to the authentication management field when the key needs to be updated, generating a corresponding authentication tuple, and generating a new authentication key; and
a second unit, which is set on the network for sending corresponding parameters in the authentication tuple to the terminal.
[0035] The device further includes a third unit, set on the network for generating a new authentication tuple with the new authentication key.
[0036] The invention further provides a device for updating a key, the device is set on the terminal and includes:
a first unit, for determining whether the authentication for the network is passed and determining whether the authentication management field in corresponding parameters is

PCT_amended_clean 0510696IN
OP6506159IN
with a predetermined value, after the corresponding parameters from the network are received; and
a second unit, for generating a new authentication key corresponding to the network when the authentication for the network is passed and the authentication management field in the corresponding parameters is with the predetermined value.
[0037] The device further includes: a third unit, for sending a message about successful update of the key to the network after the new authentication key is generated.
[0038] In summary, according to the method for updating a key of the invention, the authentication management field takes a predetermined value, and the key will be updated when the authentication for the network by the terminal is passed and the authentication management field takes the predetermined value. Therefore, the existing signaling resources or the authentication parameters do not need to be added or modified, so that the key may be updated conveniently and network security may be improved.
Brief Description of the Drawings
[0039] Figure 1 is a flow chart of the method for updating the key according to the first implementation of the invention;
[0040] Figure 2 is a flow chart of the method for updating the key according to an embodiment of the first implementation of the invention;
[0041] Figure 3 is a flow chart of the method for updating the key according to another embodiment of the first implementation of the invention;
[0042] Figure 4 is a flow chart of the method for updating the key according to the second implementation of the invention; and
[0043] Figure 5 is a flow chart of the method for updating the key according to an embodiment of the second implementation of the invention.
Detailed Description of the Embodiments
[0044] According to the method for updating the key according to the invention, when an authentication key Kl needs to be updated, a stipulated specific value is assigned to the authentication management field AMF by the network and a corresponding authentication

PCT_amended_clean 0510696IN
OP6506159IN
tuple is generated, and the corresponding parameters in the authentication tuple are sent !to a terminal; and a new authentication key NewKI is generated by use of the random challenge RAND and the Kl generated, and the NewKI is used in place of Kl to generate an authentication tuple for the next time. After the terminal receives the authentication request and determines that the authentication at network is passed, it determines whether the AMF is the specific value. If No, proceed as in a normal process; otherwise, it determines that the key needs to be updated, and a new authentication key NewKI is generated by use of the received random challenge RAND and the stored authentication key Kl, and the new authentication key NewKI is used in place of Kl in the next authentication for authenticating the validity of the network or responding to the authentication request from the network.
[0045] After the key is updated by the terminal, it may further send a message indicating the execution result of key updating to the network, so that the network knows whether the key update operation is executed successfully or not. The message indicating the execution result of key updating may be message about successful update of the key and/or message about failed update of the key, etc. The message indicating the execution result of key updating may be obtained by a synchronization request message. For example, after the authentication for the network via the terminal is passed and the key update operations such as new key generation is executed, a synchronization request message may be sent, and in combination with the authentication key Kl and the random challenge RAND, an stipulated specific value may be used in place of the sequence number SQNMS to generate a resynchronization token AUTS which is returned to the network. When the network processes the synchronization request message, it determines whether the sequence number SQNMS received has the stipulated specific value. If No, the procedure is as in a normal process; otherwise, the network determines whether the key is updated successfully by the terminal.
[0046] The aforementioned authentication tuple may be generated by the network by use of a new authentication key NewKI after the message about successful update of the key returned by the terminal is received. After the message about failed update of the key returned by the terminal is received by the network, if a new authentication tuple is

PCT_amended_clean 0510696IN
OP6506159IN
generated, the old authentication key Kl is still used. Practically, in such a case, the
network may not generate a new authentication tuple before it receives a message
indicating the update of the key in the terminal; when it times out in waiting for the message indicating the execution result of key update returned by the terminal, if a new authentication tuple is generated, the old authentication key Kl is still used.
[0047] The network may generate a new authentication key NewKI with the generated random challenge RAND and key Kl after it determines that the terminal key is updated successfully. In such a case, the network needs to obtain the corresponding random challenge RAND after it receives a message about successful update of the key returned by the terminal. In practice, during the authentication, the RAND is contained in the corresponding authentication tuple stored on the network. Therefore, after the network determines that the key on the terminal side is updated successfully, it may generate a new authentication key NewKI with the random challenge RAND and key Kl, and it may use the NewKI in place of the Kl to generate the authentication tuple.
[0048] Referring to Figure 1, a flow chart of the first implementation of the invention is
illustrated.
[0049] When the authentication key Kl stored on the network and in the terminal MS
needs to be updated:
[0050] First, in Step 101, when the HLR/AUC on the network is to generate an authentication tuple, it assigns a stipulated specific value to the authentication management field AMF. The authentication tuple may include a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN. The specific value may be understood as follows: the AMF is 2 bytes in length, and it is stipulated that the AMF takes hexadecimal number "AAAA" or binary number "1010101010101010" as its specific value to indicate that the key is updated. For convenience, the specific value is referred to as TmpAMF in the following.
[0051] In the existing Third Generation Partnership Project (3GPP) authentication protocols, it is specified that the message authentication code MAC-A is generated by use of the random challenge RAND, the sequence number SQNHE, the authentication key Kl and the authentication management field AMF, etc.; a message authentication code

PCT_amended_clean 0510696IN
OP6506159IN
MAC-S is generated by use of the random challenge RAND, the sequence number
SQNMS, the authentication key Kl and the authentication management field AMF, etc., i.e.
the authentication management field AMF needs to be used; and an authentication token AUTN is generated by use of SQNHE, AMF and MAC-A, i.e., the authentication management field AMF needs to be used.
[0052] The authentication token AUTN is 16 bytes in length, which includes: 1)SQNHE^AK, in which the sequence number SQNHE or the anonymity key AK is respectively 6 bytes in length; the USIM will check whether the SQNHE generated by the AUC is up to date, which is an important part of the authentication process; 2) authentication management field AMF, which is 2 bytes in length; and 3) message authentication code MAC-A or MAC-S, which is 8 bytes in length, wherein MAC-A is used to verify the data integrity of the RAND, SQNHE and AMF and it is used by the USIM to authenticate the AUC, while message authentication code MAC-S is sent to the AUC by USIM for the authentication for USIM via AUC during the resynchronization.
[0053] It can be known from the above that the authentication management field AMF is a part of the authentication token AUTN for generating the message authentication code MAC-S and MAC-A. The AMF is 2 bytes in length, i.e. 16 bits.
[0054] After the AMF takes the stipulated specific value TmpAMF, the message authentication code MAC-A in the authentication token AUTN may be computed according to the random challenge RAND, sequence number SQNHE, authentication key Kl and TmpAMF.
[0055] It should be noted that for the generation of the authentication tuple wherein the authentication management field AMF takes the stipulated specific value TmpAMF, the authentication management field AMF may take the specific value TmpAMF only when the key needs to be updated, and its original value stored in the HLR/AUC may keep unchanged, i.e. the authentication management field AMF still uses its original value when the HLR/AUC generates an authentication tuple next time. In other words, the stipulated specific value TmpAMF may be taken only when the present authentication tuple is generated. However, this specific value TmpAMF may also be used when the authentication tuple is generated next time. The AMF may take the stipulated specific

PCT_amended_clean 0510696IN
OP6506159IN
value TmpAMF by assigning the stipulated value to some or all bits of the authentication management field AMF.
[0056] However, according to the 3GPP protocol specification, when an authentication tuple is generated practically, the expected response XRES, the cipher key CK, the integrity key IK and the anonymity key AK in the authentication tuple should be computed respectively according to the random challenge RAND and the authentication key Kl. Therefore, the random challenge RAND, the authentication token AUTN, the expected response XRES, the cipher key CK and the integrity key IK constitute the authentication quintuplet.
[0057] In the method for updating the key according to the invention, only the random challenge RAND and the authentication token AUTN may be generated when an authentication tuple is generated; or during the generation of the corresponding authentication tuple, the random challenge RAND, the authentication token AUTN and only any one or more of the expected response XRES, the cipher key CK and the integrity key IK may be generated. In other words, when a quintuplet is to be constituted, any one or more of the expected response XRES, the cipher key CK and the integrity key IK may take any value, rather than be generated according to the random challenge RAND and the authentication key Kl.
[0058] After the HLR/AUC generates the authentication tuple, or before the HLR/AUC generates the authentication quintuplet, or at the time when the authentication quintuplet is generated, the random challenge RAND and authentication key Kl is used to generate a new key NewKI, which is used in place of the Kl to generate the authentication tuple for the next time. After the HLR/AUC generates the authentication tuple, the corresponding International Mobile Subscriber Identification Number (IMS!) and the authentication quintuplet including the random challenge RAND, the cipher key CK, the integrity key IK, the expected response XRES and the authentication token AUTN are sent to MSCA/LR or SGSN. The MSCA/LR is a Circuit Switched Domain device, and for the network of the Packet Switched Domain, the corresponding device may be an SGSN.
[0059] In Step 103, the MSCA/LR or SGSN on the network transmits the random challenge RAND and the authentication token AUTN in the received authentication tuple

PCT_amended_clean 0510696IN
OP6506159IN
to the terminal MS.
[0060] Step 105, after the terminal MS receives the authentication request message sent by the network, it determines whether the authentication for the network is passed; if the authentication for the network is not passed, then an authentication failure message or a resynchronization request message is returned to the network, and the present key update process ends.
[0061] If in Step 105, it is determined that the authentication for the network is passed, Step 107 is performed; for the description of the authentication process for the network via the terminal, please refer to the relevant protocol specifications of 3GPP.
[0062] In Step 107, the terminal determines whether the authentication management field AMF in the received authentication token AUTN is the stipulated specific value TmpAMF; if Yes, the key needs to be updated, and in Step 109, the authentication key Kl and the random challenge RAND are used to generate a new key NewKI for use in the authentication next time, then the present key update process ends.
[0063] If in Step 107, it is determined that the authentication management field AMF is not the stipulated specific value TmpAMF, then the present key update process ends directly. The terminal operates according to the normal authentication process, for example, it sends the expected authentication response generated to the MSCA/LR, which determines whether the authentication for the terminal is passed or not by determining whether the expected authentication response returned by the terminal is consistent with the expected response in the corresponding quintuplet. For the description of the authentication process for the terminal via the network, please refer to the relevant protocols of 3GPR
[0064] In Step 109, a message indicating the execution result of key update may be further returned to the network and the message indicating the execution result of key update may be message about successful update of the key and/or message about failed update of the key. The returning of the message indicating the execution result of key update may be realized via a synchronization request message, i.e. the terminal returns a synchronization request message to the network after the authentication for the network is passed and the new key is generated, and in combination with the authentication key Kl


PCT_amended_clean 0510696IN
OP6506159IN
and the random challenge RAND, a stipulated specific value may be used in place of the sequence number SQNMS to generate the authentication token AUTS, which is returned to the network. For example, the specific value may be a hexadecimal number "0O00O0O0O0AA", which indicates that the key is updated successfully, or it may be a hexadecimal number "0000000000BB", which indicates that the key failed to be updated. For convenience, the specific value is referred to as TmpSQN in the following. When the HLR/AUC on the network processes the synchronization request message, it determines whether the SQNMS is the specific value TmpSQN. If No, the procedure is as in a normal process; otherwise, the message is processed as a message indicating the execution result of key update, and it can be determined with the message whether the key update on the terminal side is successful. Therefore, the terminal may achieve the returning of the information indicating the execution result of key update with the existing synchronization request message and the parameter of the sequence number SQNMS, without requesting additional signaling sources or parameters.
[0065] However, the aforementioned message about successful update of the key may be returned to the network in other ways. For example, short message or USSD (Unstructured Supplementary Services Data, i.e. Unstructured Supplementary Data Service) or Over-the-Air (OTA) or other concerted method for transmitting information between the terminal and the network may be used.
[0066] In addition, after the new authentication key NewKI is generated, the HLR/AUC on the network may generate the authentication tuple with the new authentication key NewKI after the message about successful update of the key returned by the terminal is received. In practice, the HLR/AUC may not generate the new authentication tuple before the message indicating the execution result of terminal key update is received. However, the authentication tuple may also be generated by use of the new authentication key NewKI when the NewKI is generated by the HLR/AUC.
[0067] In Step 101, the old authentication tuple on the network may further be removed. For example, the HLR/AUC determines whether the old authentication tuple still exists. If Yes, the old authentication tuple will be deleted; otherwise, no deletion will be performed and a message Cancel Location will be initiated to the MSCA/LR/SGSN, in which the

PCT_amended_clean 0510696IN
OP6506159IN
Cancellation Type will be set as "Subscription Withdrawn", and at this point, the
MSC/VLR/SGSN will delete all the context information of the related subscriber
immediately. For the "Cancel Location message", please refer to the relevant protocols of
3GPP. Therefore, the subsequent key update status may be simplified.
[0068] In addition, when the network generates the authentication tuple with the new authentication key, it may further determine whether the old authentication tuple still exists on the network, if Yes, the old authentication tuple will be deleted.
[0069] Referring to Figure 2, which shows an embodiment of the first implementation of the invention. In the existing 3G mobile communication system, the international mobile subscriber identity IMSI, the authentication key Kl and the sequence number SQNMS are stored in the mobile terminal, and the international mobile subscriber identity IMSI, the authentication key Kl and the sequence number SQNHE are stored in the HLR/AUC correspondingly for the mobile terminal, so as to be used for the authentication between the mobile terminal and the network.
[0070] In Step 801, when the HLR/AUC on the network generates the authentication
tuple, the authentication management field AMF is assigned a stipulated specific value to
generate the authentication tuple. The authentication tuple may include the random
challenge RAND, the expected response XRES, the cipher key CK, the integrity key IK
and the authentication token AUTN. The HLR/AUC first generates a random challenge
RAND with a random challenge generator, and the expected response XRES, the cipher
key CK and the integrity key IK are computed by use of the authentication key Kl stored in
the HLR/AUC and the random challenge RAND generated. A stipulated specific value
TmpAMF is used in place of the authentication management field AMF when the
message authentication code MAC-A is computed, i.e. the message authentication code
MAC-A is generated by use of the authentication key Kl, the random challenge RAND, the
sequence number SQNHE and the TmpAMF. For the specific value, it may be understood
as follows: the authentication management field AMF is 2 bytes in length, and it is
stipulated that the authentication management field AMF may take the value of
hexadecimal number "AAAA" or binary number "1010101010101010", which indicates
that the key needs to be updated. A new authentication key NewKI is generated by use of


PCT_amended_clean 0510696IN
OP6506159IN
the authentication key Kl and the random challenge RAND. The message authentication
code MAC-A, the TmpAMF and the sequence number SQNHE may constitute the
authentication token AUTN. The quintuplet consisting of the random challenge RAND,
the authentication token AUTN, the expected response XRES, the cipher key CK and the
integrity key IK as well as the corresponding international mobile subscriber identity IMSI
may be sent together to the MSCA/LR.
[0071] In the method for updating the key according to the invention, only the random challenge RAND and the authentication token AUTN may be generated when the authentication tuple is generated; or, during the generation of the corresponding authentication tuple, the random challenge RAND, the authentication token AUTN and only any one or more of the expected response XRES, the cipher key CK and the integrity key IK may be generated. In other words, when a quintuplet is to be constituted, any one or more of the expected response XRES, the cipher key CK and the integrity key IK may take any value, instead of generating a value according to the random challenge RAND and the authentication key Kl.
[0072] Further, the old authentication tuple on the network may be removed. For example, the HLR/AUC determines whether the old authentication tuple still exists, if No, no delete operation will be performed; otherwise, the old authentication tuple will be delete, and a message Cancel Location will be initiated to the MSCA/LR/SGSN, in which the Cancellation Type is set as "Subscription Withdrawn", and at this point, the MSCA/LR/SGSN will delete all the context information of the related subscriber immediately. For the "Cancel Location message", please refer to the relevant protocols of 3GPR Therefore, the subsequent key update status may be simplified.
[0073] In Step 802, during the authentication, the MSCA/LR extracts the random challenge RAND and the authentication token AUTN from the corresponding quintuplet, and sends the extracted random challenge RAND and the authentication token AUTN to the mobile terminal via the authentication request message.
[0074] In Step 803, the mobile terminal obtains the value of the message authentication code MAC-A according to the computation with the authentication key Kl, the received random challenge RAND, the sequence number SQNHE and the authentication

PCT_amended_clean 0510696IN
OP6506159IN
management field AMF in the authentication token AUTN, and determines whether the

obtained value of the message authentication code MAC-A is consistent with the value of the message authentication code MAC-A in the authentication token AUTN. If No, Step 804 is performed; otherwise, Step 805 is performed.
[0075] In Step 804, the mobile terminal determines that the authentication for the network is failed and returns an authentication failure message to the MSC/VLR; the present key update process ends.
[0076] In Step 805, the mobile terminal determines whether the authentication token AUTN is acceptable, for example, it determines whether the difference between the sequence number SQNHE in the authentication token AUTN and the sequence number SQNMS stored in itself is within a predetermined range. If Yes, Step 806 is performed; otherwise, Step 807 is performed.
[0077] In Step 806, the mobile terminal determines that the authentication for the network is passed, and the sequence number SQNMS is updated according to the sequence number SQNHE in the authentication token AUTN, then Step 808 is performed.
[0078] In Step 808, the mobile terminal determines whether the authentication management field AMF in the authentication token AUTN is the stipulated specific value TmpAMF. If Yes, Step 810 is performed; otherwise, Step 811 is performed directly.
[0079] In Step 810, the mobile terminal generates a new authentication key NewKI for use in the next authentication with the authentication key Kl and the random challenge RAND; then Step 811 is performed.
[0080] In Step 811, the mobile terminal generates the expected response XRES, the cipher key CK and the integrity key IK with the authentication key Kl and the received random challenge RAND, and sends the expected response XRES generated to the MSCA/LR; then Step 813 is performed.
[0081] In Step 813, the MSCA/LR determines whether the expected response XRES received from the mobile terminal is consistent with the expected response XRES in the corresponding quintuplet for the mobile terminal received from the HLR/AUC. If Yes, then it is determined that the authentication for the mobile terminal via the network is passed;

PCT_amended_clean 0510696IN
OP6506159IN
otherwise, it is determined that the authentication is failed. The MSC/VLR returns the result of the authentication for the mobile terminal to the mobile terminal, and then terminates the process.
[0082] In Step 807, the mobile terminal generates a resynchronization token AUTS with the authentication key Kl, the random challenge RAND and the sequence number SQNMS, etc., and initiates a resynchronization request to the MSCA/LR, and submits the AUTS; then Step 809 is performed.
[0083] In Step 809, after the MSCA/LR receives the resynchronization request initiated by the terminal, it deletes the authentication tuple corresponding to the terminal, and requests a new authentication set from the HLR/AUC, and submits the AUTS and the random challenge RAND in the corresponding quintuplet; then Step 814 is performed.
[0084] In Step 814, after the HLR/AUC receives the AUTS and the random challenge RAND and verifies that the AUTS is valid according to the authentication key Kl and the random challenge RAND received, etc., it updates the stored corresponding sequence number SQNHE according to the sequence number SQNMS in the AUTS; then Step 815 is performed.
[0085] In Step 815, the HLR/AUC generates a new authentication tuple and sends it to the MSCA/LR; then, the process ends.
[0086] It should be noted that, in order to be distinguished from the sequence number SQNMS stored in the terminal, the sequence number stored in the HLR/AUC is usually referred to as SQNHE; but sometimes SQNMS may be directly referred to as the SQN stored in the terminal, and SQNHE may be referred to as the SQN correspondingly stored in the HLR/AUC.
[0087] In the aforementioned Step 809, the MSCA/LR may not delete the authentication tuple corresponding to the terminal firstly, but delete the authentication tuple corresponding to the terminal after Step 815 is executed and the MSCA/LR receives the new authentication tuple generated by the HLR/AUC.
[0088] In the aforementioned embodiment, after the HLR/AUC generates the new authentication key NewKI, it uses the new authentication key NewKI in place of the

PCT_amended_clean 0510696IN
OP6506159IN
authentication key Kl to generate the authentication tuple for the next time. Correspondingly, after the terminal generates the new authentication key NewKI, during the next authentication, it uses the new authentication key NewKI to authenticate the network and to generate the expected response XRES, the cipher key CK and the integrity key IK, etc.
[0089] The HLR/AUC may not know whether the authentication key has been updated. Therefore, when a terminal has not generated the new authentication key, yet the HLR/AUC uses the authentication tuple generated with the new authentication key, so that the authentication for the terminal and the MSCA/LR cannot be passed. Therefore, after the terminal generates the new authentication key, it may return a confirmation message to the HLR/AUC and inform the HLR/AUC that it has generated a new authentication key. The terminal may use a synchronization process to return the confirmation message to the HLR/AUC, or may via short message, or via USSD or OTA.
[0090] In addition, the network may also determine whether the location of the terminal is updated before it receives the message about successful update of the key returned from the terminal. If it is updated, the network generates the authentication tuple with the new authentication key; otherwise, the network generates the authentication tuple without using the new authentication key.
[0091] Referring to Figure 3, another embodiment of the first implementation of the invention includes the following steps:
[0092] In Step 901, when the HLR/AUC on the network generates an authentication tuple, it assigns a stipulated specific value to the authentication management field AMF to generate the authentication tuple. The authentication tuple may include a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN. The HLR/AUC generates the random challenge RAND with a random challenge generator, and obtains the expected response XRES, the cipher key CK and the integrity key IK with the corresponding authentication key Kl and the random challenge RAND generated, and generates a message authentication code MAC-A with the authentication key Kl, the random challenge RAND, a sequence number SQNHE and the stipulated specific value in place of the authentication management field

PCT_amended_clean 0510696IN
OP6506159IN
AMF. For convenience, the specific value is also referred to as TmpAMF. For the specific ' value, it may be interpreted as follows: the authentication management field AMF is 2 bytes in length, and it may be stipulated that the AMF takes the specific value of hexadecimal number "AAAA" or binary number "1010101010101010", which indicates that the key is updated. The HLR/AUC also generates the new authentication key NewKI with the authentication key Kl and the random challenge RAND. The message authentication code MAC-A, the TmpAMF and the sequence number SQNHE may constitute the authentication token AUTN. The quintuplet consisting of the random challenge RAND, the authentication token AUTN, the expected response XRES, the cipher key CK and the integrity key IK as well as the corresponding international mobile subscriber identity IMSI may be sent together to the MSCA/LR.
[0093] According to the method for updating the key according to the invention, only the random challenge RAND and the authentication token AUTN may be generated when the authentication tuple is generated; or, during the generation of the corresponding authentication tuple, the random challenge RAND, the authentication token AUTN and only any one or more of the expected response XRES, the cipher key CK and the integrity key IK may be generated. In other words, when a quintuplet is constituted, any one or more of the expected response XRES, the cipher key CK and the integrity key IK may take any value, instead of generating a value according to the random challenge RAND and the authentication key Kl.
[0094] The old authentication tuple on the network may further be removed. For example, the HLR/AUC determines whether an old authentication tuple still exists, if No, no delete operation will be performed; otherwise, the old authentication tuple will be deleted, and a message Cancel Location will be initiated to the MSCA/LR/SGSN, in which the Cancellation Type is set as "Subscription Withdrawn", and at this point, the MSCA/LR/SGSN will delete all the context information of the related subscriber immediately. For the "Cancel Location message", please refer to the relevant protocols of 3GPP. Therefore, the subsequent key update status may be simplified.
[0095] In Step 902, during the authentication, the MSCA/LR extracts the random challenge RAND and the authentication token AUTN from the corresponding quintuplet,

PCT_amended_clean 0510696IN
OP6506159IN
and sends the extracted random challenge RAND and the authentication token AUTN to the mobile terminal via an authentication request message.
[0096] In Step 903, the mobile terminal obtains the value of the message authentication code MAC-A according to the computation with the authentication key Kl, the received random challenge RAND, the sequence number SQNHE and the authentication management field AMF in the authentication token AUTN, and determines whether the obtained value of the message authentication code MAC-A is consistent with the value of the message authentication code MAC-A in the authentication token AUTN. If No, Step 904 is performed; otherwise, Step 905 is performed.
[0097] In Step 904, the mobile terminal determines that the authentication for the network is failed and returns an authentication failure message to the MSCA/LR; then terminates the present key update process.
[0098] In Step 905, the mobile terminal determines whether the authentication token AUTN is acceptable. For example, it determines whether the difference between the sequence number SQNHE in the authentication token AUTN and the sequence number SQNMS stored in itself is within a predetermined range. If Yes, Step 906 is performed; otherwise, Step 907 is performed.
[0099] In Step 906, the mobile terminal determines that the authentication for the network is passed, and the sequence number SQNMS is updated according to the sequence number SQNHE in the authentication token AUTN, then Step908 is performed. [00100] In Step 908, the mobile terminal determines whether the authentication management field AMF in the authentication token AUTN is the stipulated specific value TmpAMF. If Yes, Step 910 is performed; otherwise, Step 911 is performed.
[00101] In Step 910, the mobile terminal generates a new authentication key NewKI with the authentication key Kl and the random challenge RAND, and in combination with the authentication key Kl and the random challenge RAND, etc., a stipulated specific value TmpSQN may be used in place of the sequence number SQNMS to generate an AUTS. For example, the sequence number is 6 bytes in length, the stipulated specific value of hexadecimal number "0000000000AA" indicates that the key is updated successfully; the

PCT_amended_clean 0510696IN
OP6506159IN
stipulated specific value of hexadecimal number "0000000000BB" indicates that the key failed to be updated. Then a resynchronization request is initiated to the MSC/VLR, and the AUTS is submitted. Then, Step 909 is performed.
[00102] In Step 911, the mobile terminal generates the expected response XRES, the cipher key CK and the integrity key IK with the authentication key Kl and the received random challenge RAND, and sends the expected response XRES generated to the MSCA/LR.
[00103] In Step 913, the MSCA/LR determines whether the expected response XRES received from the mobile terminal is consistent with the expected response XRES in the corresponding quintuplet for the mobile terminal received from the HLR/AUC. If Yes, then it is determined that the authentication for the mobile terminal via the network is passed; otherwise, it is determined that the authentication is failed. The MSCA/LR returns the result of the authentication for the mobile terminal to the mobile terminal, and then terminates the process.
[00104] In Step 907, the mobile terminal generates a resynchronization token AUTS with the authentication key Kl, the random challenge RAND and the sequence number SQNMS, etc., and initiates a resynchronization request to the MSCA/LR, and submits the AUTS; then Step 909 is performed.
[00105] In Step 909, after the MSCA/LR receives the resynchronization request initiated by the terminal, it deletes the authentication tuple corresponding to the terminal, and requests a new authentication set from the HLR/AUC, and submits the AUTS and the random challenge RAND in the corresponding quintuplet; then Step 914 is performed. [00106] In Step 914, after the HLR/AUC receives the AUTS and the random challenge RAND and verifies that the AUTS is valid according to the authentication key Kl and the received random challenge RAND, etc, it determines whether the sequence number SQNMS has the stipulated specific value. If Yes, Step 916 is performed; otherwise, Step 915 is performed.
[00107] In Step 916, the network determines that the terminal has generated a new authentication key. Therefore, the HLR/AUC will use the new authentication key to


PCT_amended_clean 0510696IN
OP6506159IN
generate the authentication tuple next time; then, the process ends.
[00108] In Step 915, the corresponding sequence number SQNHE stored is updated
according to the sequence number SQNMS in the AUTS; then Step 917 is performed.
[00109] In Step 917, the HLR/AUC generates a new authentication tuple and sends it to the MSCA/LR; then, the process ends.
[00110] In practice, Step 917 may be further executed after Step 916.
[00111] In the aforementioned Step 909, the MSCA/LR may not delete the authentication tuple corresponding to the terminal firstly, but delete the old authentication tuple corresponding to the terminal after Step 917 is executed and the MSCA/LR receives the new authentication tuple generated by the HLR/AUC.
[00112] Referring to Figure 4, a flow chart of the second implementation of the invention is illustrated.
[00113] When the authentication key Kl stored in the HLR/AUC and the MS needs to be updated:
[00114] First, in Step 201, the HLR/AUC on the network assigns a stipulated specific value TmpAMF to the authentication management field AMF to generate an authentication tuple when the authentication tuple is generated. The authentication tuple may include a random challenge RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication token AUTN. For the specific value, it may be understood as follows: the authentication management field AMF is 2 bytes in length. For example, it may be stipulated that the authentication management field AMF takes a specific value of hexadecimal number "AAAA" or binary number "1010101010101010", which indicates that the key is updated. It is specified in the existing 3GPP authentication protocols that a message authentication code MAC-A is generated by use of the random challenge RAND, the sequence number SQNHE, the authentication key Kl and the authentication management field AMF, etc., and a message authentication code MAC-S is generated by use of the random challenge RAND, the sequence number SQNMS, the authentication key Kl and the authentication management field AMF, etc., and the authentication token AUTN is generated by use of the sequence number SQNHE, the

PCT_amended_clean 0510696IN
OP6506159IN
authentication management field AMF and the message authentication code MAC-A.
[00115] The authentication token AUTN is 16 bytes in length and includes: 1)SQNHEA AK, in which the sequence number SQNHE and the anonymity key AK are respectively 6 bytes in length, the USIM will verify whether the sequence number SQNHE generated by the AUC is up to date, which is an important part of the authentication process; 2) authentication management field AMF, 2 bytes in length; 3) message authentication code MAC-A or MAC-S, 8 bytes in length, wherein the message authentication code MAC-A is used to verify the data integrity of the random challenge RAND, the sequence number SQNHE and the authentication management field AMF, and the message authentication code MAC-S is sent to the AUC by the USIM for the authentication in a ^synchronization process.
[00116] It can be known from the above that the authentication management field AMF is a component of the authentication token AUTN and is used to generate the message authentication code MAC-S and MAC-A. The authentication management field AMF is 2 bytes in length, i.e. 16 bits. After the authentication management field AMF takes a stipulated specific value TmpAMF, the message authentication code MAC-A in the authentication token AUTN is computed according to the random challenge RAND, the sequence number SQNHE, the authentication key Kl and the authentication management field AMF with the stipulated specific value TmpAMF.
[00117] It should be noted that for the generation of the authentication tuple wherein the authentication management field AMF takes the stipulated specific value TmpAMF, the authentication management field AMF may take the specific value TmpAMF only when a key needs to be updated, and its original value stored in the HLR/AUC may keep unchanged, i.e. the authentication management field AMF may still use its original value when an authentication tuple is generated in other cases. In other words, the stipulated specific value TmpAMF may be taken only when the present authentication tuple is generated. However, this specific value TmpAMF may also be used during the generation of the authentication tuple next time.
[00118] However, according to the 3GPP protocol specification, when an authentication tuple is generated practically, the expected response XRES, the cipher key CK, the


PCT_amended_clean 0510696IN
OP6506159IN
integrity key IK and the anonymity key AK should be computed respectively according to the random challenge RAND and the authentication key Kl. Therefore, the random challenge RAND, the authentication token AUTN, the expected response XRES, the cipher key CK and the integrity key IK constitute the authentication quintuplet.
[00119] According to the method for updating the key according to the invention, only the random challenge RAND and the authentication token AUTN may be generated when the authentication tuple is generated; or during the generation of the corresponding authentication tuple, the random challenge RAND, authentication token AUTN and only any one or more of expected response XRES, cipher key CK and integrity key IK may be generated. In other words, when a quintuplet is to be constituted, any one or more of the expected response XRES, the cipher key CK and the integrity key IK may take any value, rather than be generated according to the random challenge RAND and the authentication key Kl.
[00120] After the HLR/AUC generates the authentication tuple, the corresponding international mobile subscriber identifier IMSI and the authentication quintuplet random challenge RAND, the cipher key CK, the integrity key IK, the expected response XRES and the authentication token AUTN are sent to MSCA/LR or an SGSN. The MSCA/LR is a circuit switched domain device. For a network of the packet switched domain, the corresponding device is SGSN.
[00121] In Step 203, the MSCA/LR or SGSN on the network transmits the random
challenge RAND and the authentication token AUTN in the received authentication tuple
to the terminal MS.
[00122] In Step 205, after the terminal MS receives an authentication request message, it
determines whether the authentication for the network is passed; if it is not passed, then
returns an authentication failure message or an resynchronization request message to
the network, and the present key update process ends; otherwise, Step 207 is performed.
As to the description of the authentication process for the network via the terminal, please
refer to the relevant protocol specifications of 3GPR
[00123] In Step 207, it is determined whether the authentication management field AMF
has the stipulated specific value TmpAMF; if Yes, it's considered that the key needs to be


PCT_amended_clean 0510696IN
OP6506159IN
updated and the authentication key Kl and the random challenge RAND are used to 'generate a new key NewKI in Step 209 for use in generating the authentication tuple next time, and a message about successful update of the key is returned to the network. If it is determined that the authentication management field AMF does not have the stipulated specific value TmpAMF, then the present key update process ends. The terminal operates according to the normal authentication process, for example, it sends the expected authentication response generated to the MSCA/LR or SGSN, and the MSCA/LR or SGSN determines whether the authentication for the terminal is passed or not by determining whether the expected authentication response returned by the terminal is consistent with the expected response in the corresponding quintuplet. For the description of the authentication process for the terminal by the network, please refer to the relevant protocols of 3GPP.
[00124] In Step 211, after the network receives the message about successful update of the key returned by the MS, it generates a new key NewKI with the random challenge RAND and the authentication key Kl stored in the corresponding quintuplet, and the new key NewKI is to be used in place of the Kl to generate the authentication tuple next time.
[00125] In the aforementioned Step 209, the terminal may return a message about successful update of the key to the network via a synchronization request command. In other words, the terminal returns a synchronization request command to the network after the authentication for the network is passed and a new key is generated, and in combination with the authentication key Kl and the random challenge RAND, a stipulated specific value TmpSQN may be used in place of the sequence number SQNMS to generate the authentication token AUTS, which is returned to the network. For example, the SQNMS is 6 bytes in length, and it uses a stipulated specific value of hexadecimal number "00000000O0AA" to indicate that the key is updated successfully, and use hexadecimal number "0000000000BB" to indicate that the key failed to be updated. When the HLR/AUC on the network processes the synchronization request message, it determines whether the sequence number SQNMS is the stipulated specific value TmpSQN. If No, it proceeds according to the normal process; if Yes, it may be determined whether the key on the terminal side is updated successfully via the specific value.

PCT_amended_clean 0510696IN
OP6506159IN
Therefore, the existing synchronization request command and the SQNMS parameters 'may be utilized to return the message about successful update of the key, without requesting additional signaling sources or parameters.
[00126] However, the aforementioned message about successful update of the key may be returned to the network in other ways, such as via short message or by USSD or OTA or other ways for information transmission concerted with the network.
[00127] In Step 201, the old authentication tuple on the network may further be removed. For example, the HLR/AUC determines whether an old authentication tuple still exists. If No, no delete operation will be performed; otherwise, the old authentication tuple will be deleted, and a message Cancel Location will be initiated to the MSCA/LR/SGSN, in which the Cancellation Type is set as "Subscription Withdrawn", at this point, the MSCA/LR/SGSN will delete all the context information of the related subscriber immediately. For the "Cancel Location message", please refer to the relevant protocols of 3GPP. Therefore, the subsequent key update status may be simplified.
[00128] When the network generates the authentication tuple with the new authentication key, it may further determine whether the old authentication tuple still exists on the network; if it still exists, the old authentication tuple will be deleted.
[00129] Referring to Figure 5, which shows 'an embodiment of the second implementation of the invention.
[00130] In Step 2901, when the HLR/AUC on the network is to generate an
authentication tuple, it assigns a stipulated specific value to the authentication
management field AMF to generate the authentication tuple. The authentication tuple
may include a random challenge RAND, an expected response XRES, a cipher key CK,
an integrity key IK and an authentication token AUTN. The HLR/AUC generates the
random challenge RAND with a random challenge generator, and obtains the expected
response XRES, the cipher key CK and the integrity key IK with the corresponding
authentication key Kl and the random challenge RAND, and generates a message
authentication code MAC-A with the integrity key Kl, the random challenge RAND, the
sequence number SQNHE and a stipulate specific value TmpAMF in place of the
authentication management field AMF. For the specific value, it may be understood as


PCT_amended_clean 0510696IN
OP6506159IN
follows: the authentication management field AMF is 2 bytes in length, and it is stipulated that the authentication management field AMF takes a specific value of hexadecimal number "AAAA" or binary number "1010101010101010", which indicates that the key is updated. The authentication token AUTN will be constituted by the message authentication code MAC-A, the TmpAMF, and the sequence number SQNHE. The quintuplet consisting of the random challenge RAND, the authentication token AUTN, the expected response XRES, the cipher key CK and the integrity key IK as well as the corresponding IMSI may be sent together to the MSCA/LR.
[00131] According to the method for updating the key according to the invention, only the random challenge RAND and the authentication token AUTN may be generated when the authentication tuple is generated; or, during the generation of the corresponding authentication tuple, the random challenge RAND, the authentication token AUTN and only any one or more of the expected response XRES, the cipher key CK and the integrity key IK may be generated. In other words, when a quintuplet is to be constituted, any one or more of the expected response XRES, the cipher key CK and the integrity key IK may take any value, rather than be generated according to the random challenge RAND and the authentication key Kl.
[00132] Here, the old authentication tuple on the network may further be removed. For example, the HLR/AUC determines whether an old authentication tuple still exists. If No, no delete operation will be performed; otherwise, the old authentication tuple will be deleted, and a message Cancel Location will be initiated to the MSCA/LR/SGSN, in which the Cancellation Type is set as "Subscription Withdrawn", at this point, the MSCA/LR/SGSN will delete all the context information of the related subscriber immediately. For the "Cancel Location message", please refer to the relevant protocols of 3GPR Therefore, the subsequent key update status may be simplified.
[00133] In Step 2902, during the authentication, the MSCA/LR extracts the random challenge RAND and the authentication token AUTN from the corresponding quintuplet, and sends the extracted random challenge RAND and the authentication token AUTN to the mobile terminal via an authentication request message.
[00134] In Step 2903, the mobile terminal obtains the value of a message authentication

PCT_amended_clean 0510696IN
OP6506159IN
code MAC-A according to the authentication key Kl, the random challenge RAND 'received, the authentication management field AMF in the authentication token AUTN and the sequence number SQNHE, and determines whether the obtained value of the message authentication code MAC-A is consistent with the value of the message authentication code MAC-A in the authentication token AUTN; if they are not consistent with each other, Step 2904 is performed; otherwise, Step 2905 is performed.
[00135] In Step 2904, the mobile terminal determines that the authentication for the network failed and returns an authentication failure message to the MSCA/LR; then, the present key update process ends.
[00136] In Step 2905, the mobile terminal determines whether the authentication token AUTN is acceptable, for example, it determines whether the difference between the sequence number SQNHE in the authentication token AUTN and the sequence number SQNMS stored in itself is within a predetermined range; if Yes, Step 2906 is performed; otherwise, Step 2907 is performed.
[00137] In Step 2906, the authentication for the network via the mobile terminal is passed, and the sequence number SQNMS will be updated according to the sequence number SQNHE in the authentication token AUTN.
[00138] In Step 2907, the mobile terminal generates a resynchronization token AUTS according to the authentication key Kl, the random challenge RAND and the sequence number SQNMS, and initiates a resynchronization request to the MSCA/LR, and the authentication token AUTS is submitted; then Step 2909 is performed.
[00139] In Step 2908, the mobile terminal determines whether the authentication management field AMF in the authentication token AUTN has the stipulated specific value. If Yes, Step 2910 is performed; otherwise, Step 2911 is performed.
[00140] In Step 2910, the mobile terminal generates a new authentication key with the authentication key Kl and the random challenge RAND, and generates an AUTS by the stipulated specific value TmpSQN in place of the sequence number SQNMS, the random challenge RAND, the authentication management field AMF and the authentication key Kl, etc. For example, the sequence number SQNMS is 6 bytes in length, and the

PCT_amended_clean 0510696IN
OP6506159IN
stipulated specific value of hexadecimal number "0000000000AA" indicates that the key
is updated successfully; a stipulated specific value of hexadecimal number
"0000000000BB" indicates that the key failed to be updated; and a resynchronization
request is initiated to the MSC/VLR, the AUTS is submitted; then Step 2909 is performed.
[00141] In Step 2911, the mobile terminal generates the expected response XRES, the cipher key CK and the integrity key IK with the authentication key Kl and the received random challenge RAND, and sends the expected response XRES generated to the MSCA/LR.
[00142] In Step 2913, the MSCA/LR determines whether the expected response XRES received from the mobile terminal is consistent with the expected response XRES in the corresponding quintuplet for the mobile terminal received from the HLR/AUC. If they are consistent with each other, then it is determined that the authentication for the mobile terminal via the network is passed; otherwise, the authentication is failed. The MSCA/LR returns the authentication result for the mobile terminal to the mobile terminal. Then, the process ends.
[00143] In Step 2909, after the MSCA/LR receives the resynchronization request initiated by the terminal, it deletes the authentication tuple corresponding to the terminal, and requests a new authentication set from the HLR/AUC, and submits the AUTS and the random challenge RAND in the corresponding quintuplet; then Step 2914 is performed.
[00144] In Step 2914, after the HLR/AUC receives the AUTS and the random challenge RAND and verifies that the AUTS is valid according to the authentication key Kl and the random challenge RAND received, it determines whether the sequence number SQNMS is the stipulated specific value. If Yes, Step 2916 is performed; otherwise, Step 2915 is performed.
[00145] In Step 2916, the network determines that the terminal has generated a new authentication key, and then the HLR/AUC generates a new authentication key with the authentication key Kl and the random challenge RAND. The new authentication key will be used to generate the authentication tuple next time; then, the process ends.
[00146] In Step 2915, the stored corresponding sequence number SQNHE is updated

PCT_amended_clean 0510696IN
OP6506159IN
according to the sequence number SQNMS in the AUTS; then Step 2917 is performed.

[00147] In Step 2917, the HLR/AUC generates a new authentication tuple and sends it to the MSCA/LR; then, the process ends.
[00148] In practice, Step 2917 may be further performed after Step 2916.
[00149] In the aforementioned Step 2909, the MSCA/LR may not delete the authentication tuple corresponding to the terminal at first, but delete it after Step 2917 is executed and the MSCA/LR receives the new authentication tuple generated by the HLR/AUC.
[00150] According to the aforementioned implementation or embodiments, the synchronization process may further be a process for synchronizing the sequence number, and the synchronization request may further be a request for synchronizing the sequence number.
[00151] According to the aforementioned implementation or embodiments, the network may send the corresponding parameters in the authentication tuple to a terminal when various requests or commands for updating the key is sent or received, rather than be limited to the time when the authentication request is sent.
[00152] According to the aforementioned implementation or embodiments, the terminal may determine whether the authentication for the network is passed before or after it determines whether the authentication management field AMF has the specific value, or simultaneously.
[00153] According to the aforementioned implementation or embodiments, the SQNHE^ AK indicates that the sequence number SQNHE is encrypted with the anonymity key AK, wherein, the anonymity key AK may be computed with the authentication key Kl and the random challenge RAND. Moreover, when the sequence number SQNHE needs not to be encrypted, the anonymity key AK is 0.
[00154] According to the aforementioned implementation or embodiments, the terminal may generate the authentication token AUTS further according to the authentication management field AMF. Correspondingly, when the HLR/AUC on the network verifies the validity of the AUTS, it may further verify the validity of the AUTS according to the


PCT_amended_clean 0510696IN
OP6506159IN
authentication management field AMR
[00155] According to the aforementioned implementation or embodiments, it may further include: after the HLR/AUC generates a new authentication key, if a subsequent new authentication tuple is generated by use of the new authentication key, and a synchronization request from the terminal is generated in the authentication process based on the new authentication tuple, then the network will also verify the validity of the synchronization request, i.e. the validity of the AUTS, with the new authentication key. In other words, if a new authentication key is used to generate a subsequent new authentication tuple, then during the authentication performed by the HLR/AUC, a new authentication key will be used in place of the old authentication key to execute the authentication operation.
[00156] According to the aforementioned implementation or embodiments, as to the validation of the validity of the AUTS via the HLR/AUC, the update of the sequence number SQNHE during the generation of the authentication tuple via the HLR/AUC, the algorithm for generating the authentication tuple as well as the algorithm for generating the AUTS, please refer to the relevant protocols of 3GPP, and because they are the prior art, they will not be described in detail again here.
[00157] According to the aforementioned implementation or embodiments, the terminal and the HLR/AUC may generate the new authentication key according to a well-rounded digest algorithm, for which please refer to the book Application Cryptography or related algorithm papers or reports. However, when a new key is generated, the algorithm mentioned in the 3GPP protocols may be employed, which generates the cipher key CK or integrity key IK with the random challenge RAND and the authentication key Kl.
[00158] Apparently, the method for updating the key according to the invention may also be used to update other keys of the terminal, rather than limited to the authentication key.
[00159] In addition, the invention provides a device for updating a key, which includes:
a first unit, set on the network for assigning a predetermined value to the authentication management field when a key needs to be updated, generating a corresponding authentication tuple, and generating a new authentication key; and

PCT_amended_clean 0510696IN
OP6506159IN
a second unit, set on the network for sending corresponding parameters in the authentication tuple to a terminal.
[00160] The device for updating a key may further include a third unit, which is set on the network for generating the new authentication tuple with the new authentication key.
[00161] The invention provides another device for updating a key which is set on a terminal, comprising:
a first unit, for determining whether the authentication for the network is passed and determining whether the authentication management field in corresponding parameters is a predetermined value, after the corresponding parameters from the network are received;
a second unit, for generating a new authentication key corresponding to the network when the authentication for the network is passed and the authentication management field in the corresponding parameters is with the predetermined value.
[00162] Additionally, the device may further include a third unit, for sending a message about successful update of the key to the network after the new authentication key is generated.
[00163] It should be noted that the aforementioned are only the preferred embodiments, which are not intended to limit the present invention. Accordingly, various variations and modifications may be made without departing from the spirit or scope of the invention as defined by the appended claims and their equivalents.

PCT_amended_clean 0510696IN
OP6506159IN
CLAIMS
1. A method for updating a key, comprising:
assigning, by a network, a predetermined value to an authentication management field, generating a corresponding authentication tuple, and generating a new authentication key; sending corresponding parameters in the authentication tuple to a terminal; and
generating, by the terminal, a new authentication key corresponding to the network when the corresponding parameters are received and it is determined that the authentication for the network is passed and the authentication management field in the corresponding parameters is with the predetermined value.
2. The method according to claim 1, further comprises: generating, by the network, a new
authentication tuple with the new authentication key.
3. The method according to claim 1, wherein the process of generating the new
authentication key corresponding to the network by the terminal when the corresponding
parameters are received and it is determined that the authentication for the network is
passed and the authentication management field in the corresponding parameters is with
the predetermined value further comprises: sending, by the terminal, a message about
successful update of the key to the network after the new authentication key is generated.
4. The method according to claim 3, wherein the process of sending the message about successful update of the key comprises: returning a synchronization request message to the network, in which a sequence number takes a predetermined value.
5. The method according to claim 3, wherein the process of sending the message about successful update of the key is implemented via short message, Unstructured Supplementary Data Service and/or Over-the-Air.
6. The method according to claim 3, wherein the method further comprises: generating, by the network, an authentication tuple with the new authentication key when the network

PCT_amended_clean 0510696IN
OP6506159IN
receives the message about successful update of the key sent by the terminal.
7. The method according to claim 6, wherein the process of generating, by the network, the authentication tuple with the new authentication key when the network receives the message about successful update of the key sent by the terminal further comprises: determining, by the network, whether the location of the terminal is updated before the network receives the message about successful update of the key sent by the terminal; and generating, by the network, the authentication tuple with the new authentication key if the location is updated; otherwise, generating the authentication tuple without using the new authentication key.
8. The method according to claim 6 or 7, wherein the process of generating, by the network, the authentication tuple with the new authentication key when the network receives the message about successful update of the key sent by the terminal further comprises: determining, by the network, whether an old authentication tuple still exists on the network when the network generates the authentication tuple with the new authentication key, and deleting the old authentication tuple when the old authentication tuple still exists.
9. The method according to claim 1, wherein the method further comprises: sending, by the terminal, a request for updating the key to the network before the process of assigning the predetermined value to the authentication management field by the network, generating the corresponding authentication tuple, and generating the new authentication key; sending corresponding parameters in the authentication tuple to the terminal.

10. The method according to claim 9, wherein the process of sending a request for updating the key is implemented by sending a synchronization request message to the network, in which a sequence number takes a predetermined value, or is implemented via short message or Unstructured Supplementary Data Service or Over-the-Air.
11. The method according to claim 1, wherein the authentication tuple comprises a random challenge, an expected response, a cipher key, an integrity key and an authentication token; and during the generation of the corresponding authentication tuple,

PCT_amended_clean 0510696IN
OP6506159IN
the random challenge and authentication token are generated; or, during the generation of the corresponding authentication tuple, the random challenge and authentication token, together with any one or more of the expected response, cipher key and integrity key, are generated.
12. A method for updating a key, comprising:
assigning, by a network, a predetermined value to an authentication management field and generating a corresponding authentication tuple, and sending corresponding parameters in the authentication tuple to a terminal;
generating, by the terminal, a new authentication key corresponding to the network when the terminal receives the corresponding parameters and determines that the authentication for the network is passed and the authentication management field in the corresponding parameters is with the predetermined value; and sending a message about successful update of the key to the network; and
generating, by the network, a new authentication key when the network receives the message about successful update of the key sent by the terminal.
13. The method according to claim 12, wherein the process of sending the message about successful update of the key comprises: assigning a predetermined value to a sequence number when a synchronization request message is sent to the network.
14. The method according to claim 13, wherein the process of sending the message about successful update of the key is implemented via short message, Unstructured Supplementary Data Service or Over-the-Air.
15. The method according to claim 12, wherein the process of generating, by the network, the new authentication key when the network receives the message about successful update of the key sent by the terminal further comprises: generating an authentication tuple with the new authentication key.
16. The method according to claim 15, wherein the method further comprises:
determining whether an old authentication tuple still exists on the network at the time
when the network generates the authentication tuple with the new authentication key; and


PCT_amended_clean 0510696IN
OP6506159IN
deleting the old authentication tuple if the old authentication tuple still exists.
17. The method according to claim 12, wherein the method further comprises: sending, by the terminal, a request for updating the key to the network before the process of assigning, by the network, the predetermined value to the authentication management field and generating the corresponding authentication tuple, and sending corresponding parameters in the authentication tuple to the terminal.
18. The method according to claim 17, wherein the process of sending the request for updating the key is implemented by sending a synchronization request message to the network, in which a sequence number takes a predetermined value; or, is implemented via short message, Unstructured Supplementary Data Service or Over-the-Air.
19. The method according to claim 12, wherein: the authentication tuple comprises a random challenge, an expected response, a cipher key, an integrity key and an authentication token; and during the generation of the corresponding authentication tuple, the random challenge RAND and authentication token AUTN are generated; or, during the generation of the corresponding authentication tuple, the random challenge and authentication token, together with any one or more of the expected response, cipher key and integrity key, are generated.
20. A method for updating a key, comprising:
sending, by a network, parameters comprising at least a random challenge and an authentication token to a terminal, wherein an authentication management field in the authentication token is with a predetermined value;
generating, by the terminal, a new authentication key according to the random challenge after the authentication for the network with the authentication token is passed; and
generating, by the network, a new authentication key according to the random challenge.
21. The method according to claim 20, wherein the method further comprises: sending,
by the terminal, a request for updating the key to the network, before sending parameters


PCT_amended_clean 0510696IN
OP6506159IN
comprising at least the random challenge and the authentication token to the terminal by the network.
22. The method according to claim 21, wherein the process of sending the request for updating the key is implemented by initiating a synchronization process to the network, or is implemented via short message, Unstructured Supplementary Data Service or Over-the-Air.
23. The method according to claim 20, wherein the parameters comprising at least the random challenge and the authentication token are sent when the network sends an authentication request to the terminal.
24. The method according to claim 20, wherein the method further comprises: sending, by the terminal, a message indicating an execution result of the key update to the network; the message indicating the execution result of the key update includes a message about successful update of the key and a message about failed update of the key.
25. The method according to claim 24, wherein the process of sending the message indicating the execution result of the key update is performed when a synchronization process is initiated to the network, or is implemented via short message, Unstructured Supplementary Data Service and/or Over-the-Air.
26. The method according to claim 25, wherein the synchronization is a process for synchronizing a sequence number; and the sequence number takes a predetermined value when a synchronization request message is sent.
27. The method according to claim 24, wherein the process of generating, by the network, the new authentication key according to the random challenge is performed after the message about successful update of the key sent by the terminal is received, or before the parameters comprising at least the random challenge and the authentication token are sent to the terminal.
28. The method according to claim 24, wherein the method further comprises generating,


PCT_amended_clean 0510696 IN
OP6506159IN
by the network, an authentication tuple with the new authentication key after the network receives the message about successful update of the key sent by the terminal.
29. The method according to claim 24, wherein the method further comprises:
determining, by the network, whether the location of the terminal is updated before the
network receives the message about successful update of the key sent by the terminal;
and generating, by the network, the authentication tuple with the new authentication key if
the location of the terminal is updated; otherwise, generating the authentication tuple
without using the new authentication key.
30. The method according to claim 28 or 29, wherein the method further comprises: determining whether an old authentication tuple still exists on the network when the network generates the authentication tuple with the new authentication key; and deleting the old authentication tuple if the old authentication tuple still exists.
31. The method according to claim 20, wherein the method further comprises generating, by the network, the authentication tuple with the new authentication key.
32. The method according to claim 20, wherein the parameters further comprise any one or more of an expected response, a cipher key and an integrity key.
33. A method for updating a key, comprising:
sending, by a network, parameters comprising at least a key generation reference and an authentication token to a terminal, wherein the authentication token carries a key update identification;
generating, by the terminal, a new authentication key according to the key generation reference after an authentication for the network with the authentication token is passed; and
generating, by the network, a new authentication key according to the key generation reference.
34. A network for updating a key, comprising:

PCT_amended_clean 0510696IN
OP6506159IN
a device, the device comprises:
a first unit, disposed on a network for assigning a predetermined value to an authentication management field when the key needs to be updated, generating a corresponding authentication tuple, and generating a new authentication key; and
a second unit, disposed on the network for sending corresponding parameters in the authentication tuple to a terminal.
35. The network according to claim 34, wherein the device further comprises: a third unit, set on the network for generating a new authentication tuple with the new authentication key.
36. A terminal for updating a key, comprising: a device, the device comprises:
a first unit, for determining whether an authentication for a network is passed and determining whether an authentication management field in corresponding parameters is a predetermined value after the corresponding parameters from the network are received; and
a second unit, for generating a new authentication key corresponding to the network when the authentication for the network is passed and the authentication management field in the corresponding parameters is with the predetermined value.
37. The terminal according to claim 36, wherein the device further comprises a third unit,
for sending a message about successful update of the key to the network after the new
authentication key is generated.


Documents:

2171-mumnp-2007-abstract.doc

2171-mumnp-2007-abstract.pdf

2171-MUMNP-2007-CHINA DOCUMENT(2-4-2012).pdf

2171-MUMNP-2007-CLAIMS(AMENDED)-(1-6-2012).pdf

2171-MUMNP-2007-CLAIMS(AMENDED)-(18-3-2013).pdf

2171-MUMNP-2007-CLAIMS(MARKED COPY)-(1-6-2012).pdf

2171-MUMNP-2007-CLAIMS(MARKED COPY)-(18-3-2013).pdf

2171-mumnp-2007-claims.doc

2171-mumnp-2007-claims.pdf

2171-MUMNP-2007-CORRESPONDENCE 16-6-2008.pdf

2171-mumnp-2007-correspondence(16-6-2008).pdf

2171-MUMNP-2007-CORRESPONDENCE(16-9-2011).pdf

2171-MUMNP-2007-CORRESPONDENCE(19-01-2011).pdf

2171-MUMNP-2007-CORRESPONDENCE(19-9-2008).pdf

2171-MUMNP-2007-CORRESPONDENCE(2-4-2012).pdf

2171-MUMNP-2007-CORRESPONDENCE(31-5-2011).pdf

2171-MUMNP-2007-CORRESPONDENCE(4-9-2012).pdf

2171-mumnp-2007-correspondence-received.pdf

2171-mumnp-2007-description (complete).pdf

2171-MUMNP-2007-DRAWING(1-6-2012).pdf

2171-mumnp-2007-drawings.pdf

2171-MUMNP-2007-ENGLISH TRANSLATION(31-5-2011).pdf

2171-MUMNP-2007-EP DOCUMENT(2-4-2012).pdf

2171-MUMNP-2007-FORM 1(19-9-2008).pdf

2171-mumnp-2007-form 1(20-12-2007).pdf

2171-MUMNP-2007-FORM 1(4-9-2012).pdf

2171-MUMNP-2007-FORM 13(4-9-2012).pdf

2171-mumnp-2007-form 2(title page)-(20-12-2007).pdf

2171-MUMNP-2007-FORM 26(1-6-2012).pdf

2171-MUMNP-2007-FORM 26(19-9-2008).pdf

2171-MUMNP-2007-FORM 3 16-6-2008.pdf

2171-mumnp-2007-form 3(16-6-2008).pdf

2171-MUMNP-2007-FORM 3(19-01-2011).pdf

2171-MUMNP-2007-FORM 3(2-4-2012).pdf

2171-mumnp-2007-form 3(20-12-2007).pdf

2171-mumnp-2007-form-1.pdf

2171-mumnp-2007-form-18.pdf

2171-mumnp-2007-form-2.doc

2171-mumnp-2007-form-2.pdf

2171-mumnp-2007-form-3.pdf

2171-mumnp-2007-form-5.pdf

2171-mumnp-2007-form-pct-ib-301.pdf

2171-mumnp-2007-form-pct-ib-304.pdf

2171-mumnp-2007-form-pct-ib-308.pdf

2171-mumnp-2007-form-pct-ib-311.pdf

2171-mumnp-2007-form-pct-ib-373.pdf

2171-mumnp-2007-form-pct-isa-237.pdf

2171-MUMNP-2007-FORM3(16-9-2011).pdf

2171-mumnp-2007-pct-search report.pdf

2171-MUMNP-2007-PETITION UNDER RULE 137(1-6-2012).pdf

2171-MUMNP-2007-REPLY TO EXAMINATION REPORT(1-6-2012).pdf

2171-MUMNP-2007-REPLY TO HEARING(18-3-2013).pdf

2171-MUMNP-2007-US DOCUMENT(2-4-2012).pdf

abstract1.jpg


Patent Number 260384
Indian Patent Application Number 2171/MUMNP/2007
PG Journal Number 18/2014
Publication Date 02-May-2014
Grant Date 28-Apr-2014
Date of Filing 20-Dec-2007
Name of Patentee HUAWEI TECHNOLOGIES CO., LTD.
Applicant Address HUAWEI ADMINISTRATION BUILDING, BANTIAN, LONGGANG DISTRICT, SHENZHEN, GUANGDONG PROVINCE 518219,
Inventors:
# Inventor's Name Inventor's Address
1 WANG ZHENGWEI HUAWEI ADMINISTRATION BUILDING, BANTIAN, LONGGANG DISTRICT, SHENZHEN, GUANGDONG 518219
2 HUANG YINGXIN HUAWEI ADMINISTRATION BUILDING, BANTIAN, LONGGANG DISTRICT, SHENZHEN, GUANGDONG 518219
PCT International Classification Number H04L9/32
PCT International Application Number PCT/CN2006/001113
PCT International Filing date 2006-05-26
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 200510034969.1 2005-05-28 China