A method, device and equipment for determining a replay message

By storing user public keys on UDM functional entities of 5G networks and comparing them, the problem that the ECIES solution cannot detect SUCI message replay attacks is solved, effectively detecting and preventing SUCI messages, reducing the risk of DOS attacks.

CN114040386BActive Publication Date: 2025-03-21CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010703743.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-21
Publication Date
2025-03-21
Estimated Expiration
2040-07-21

AI Technical Summary

Technical Problem

The existing ECIES scheme cannot effectively detect the playback attack of SUCI messages in 5G networks, resulting in wasted UDM and UE resources and DOS attacks.

Method used

By storing the user's public key on the UDM functional entity of the network side device, and comparing whether the public key exists in the storage when receiving the SUCI message, it is determined whether the SUCI message is a playback message.

Benefits of technology

Effectively detect and prevent replay attacks of SUCI messages, avoid waste of UDM and UE resources, and reduce the risk of DOS attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114040386B_ABST
    Figure CN114040386B_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a method, apparatus and device for determining a replayed message. The method for determining a replayed message is applied to a network side device, and includes: receiving a user public key in a user hidden identifier SUCI message; determining whether the SUCI message is a replayed message according to the user public key and the user public key already stored in the network side device. The method can achieve the purpose of determining whether the SUCI message is a replayed message by obtaining the user public key in the SUCI message and determining whether the SUCI message is a replayed message according to the user public key and the user public key already stored in the network side device, thereby being used to effectively detect SUCI replay attacks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a method, device and equipment for determining a replay message. Background Art

[0002] The 5G security standard uses ECIES (Elliptic Curve Integrate Encrypt Scheme) to protect SUPI (Subscription Permanent Identifier) ​​to protect user privacy.

[0003] like Figure 1 As shown, the steps of this scheme are as follows:

[0004] 1. When UE (User Equipment) connects to the network for the first time, it uses ECIES to encrypt SUPI (SUbscription Permanent Identifier) ​​to generate SUCI (Subscriber Concealed Identifier), and transmits SUCI to SEAF (Security Anchor Function) through a registration request message.

[0005] 2. SEAF passes SUCI to AUSF (Authentication Server Function), and AUSF passes SUCI to UDM (Unified Data Management).

[0006] 3. UDM decrypts SUCI to obtain SUPI, and finds the UE Profile based on SUPI to determine which authentication protocol to use to authenticate the UE (5G AKA or EAP-AKA').

[0007] 4. The UE and the network perform mutual authentication using the selected authentication protocol.

[0008] 5. After authentication, both UE and AUSF obtain the session root key K derived from the long-term key K. AUSF .

[0009] The process of UE encrypting SUPI is as follows: First, UE randomly generates ECDH private key A PRI , and deduce the ECDH public key A PUB Then, UE uses its own private key A PRIand the network's ECDH public key B PUB Generate a shared key K ECDH UE from K ECDH Derived encryption key K E , initial value of AES counter encryption, integrity key K M , called key data KD, that is

[0010]

[0011] Here KDF is the key derivation function, is the UE's ECDH public key A PUB The leftmost part of KD is the encryption key K E , the middle is the initial value of AES count encryption, and the rightmost is the integrity key K M .

[0012] SUPI is a globally unique long-term identifier assigned by the 5G network to users. It includes the type of SUPI and the user identification value. IMSI is commonly used in 5G. IMSI consists of the mobile country code (MCC: Mobile Country Code), the mobile network code (MNC: Mobile Network Code), and the mobile subscriber identification number (MSIN: Mobile Subscriber Identification Number). MCC and MNC are home network identifiers. MSIN is used to identify users in a network. It is related to the user's privacy, so it is necessary to encrypt it.

[0013] Based on AES counting encryption method using K E Encrypt SUPI's MSIN using K M The MSIN encrypted message is fully protected and an integrity protection tag is generated.

[0014] Tag=HMAC–SHA-256(KM,KE{MSIN})

[0015] The contents of SUCI are as follows:

[0016] SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + BPUB + APUB + KE{MSIN} + Tag;

[0017] The home network identifier is used to find the corresponding home network, the routing identifier is used to find the corresponding UDM in the same home network, and "+" indicates message cascading.

[0018] By using the ECIES scheme to encrypt SUPI, attackers cannot obtain the UE's SUPI on the wireless air interface. However, it is vulnerable to replay attacks because the current ECIES scheme cannot allow the network to confirm whether the received SUCI is the one that the UE sent to the network last time.

[0019] The SUCI replay attack is relatively simple. After the attacker obtains the user's valid SUCI over the air interface, he replays it to the network over the air interface. The UDM will generate an authentication vector just like processing a normal user's SUCI and send an authentication request message containing RAND and AUTN to the attacker.

[0020] The attacker then forwards the authentication request message to the legitimate UE. If the attacker uses replay attacks multiple times, the UDM and UE have to spend a lot of resources to process replay messages and authentication request messages because these messages are legitimate, resulting in a DOS attack on the UDM and UE. A DOS attack on the UE will cause the UE's processing power to decrease and quickly consume battery power. A DOS attack on the UDM will cause the UDM's processing power to decrease and slow down the response to legitimate UE's requests.

[0021] In the prior art, there are also solutions that use one-time random numbers (nonce) or timestamps to prevent replay attacks and mitigate DoS. For the random number method, a random number N is introduced into the encryption operation. After the network side receives the encrypted value, it decrypts it to obtain N. First, it verifies whether N is new. If it is not new, it means that a replay attack has been detected. This method requires that the random number generated has never appeared before, and it is difficult for the network side to detect whether N has been used before. Summary of the invention

[0022] The present invention provides a method, device and equipment for determining a replayed message, so as to effectively detect a SUCI replay attack.

[0023] To solve the above technical problems, the embodiments of the present invention provide the following solutions:

[0024] One aspect of an embodiment of the present invention provides a method for determining a replay message, which is applied to a network side device, and the method includes:

[0025] Receive the user public key in the user hidden identifier SUCI message;

[0026] Determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device.

[0027] Optionally, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device includes:

[0028] According to the storage mode of the user public key on the unified data management UDM functional entity, and according to the user public key and the user public key already stored by the UDM functional entity, it is determined whether the SUCI message is a replay message.

[0029] Optionally, the storage method of the user public key on the unified data management (UDM) functional entity includes:

[0030] The user public key stored in the UDM functional entity is not bound to the identity of the terminal; or,

[0031] The user public key stored in the UDM functional entity is bound to the identity of the terminal.

[0032] Optionally, when the user public key is not bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0033] The user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

[0034] Optionally, after storing the user public key in the SUCI message in the database of the UDM functional entity, the method further includes:

[0035] The SUCI is analyzed to obtain K E {MSIN};

[0036] Decrypt the K E {MSIN}, get SUPI;

[0037] SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + B PUB +A PUB +K E {MSIN}+Tag;

[0038] Among them A PUB is the user's public key, B PUB is the public key of the network, Tag = HMAC–SHA-256 (K M , K E {MSIN}), MSIN is the mobile subscriber identification number, K E is the encryption key, K M The integrity key.

[0039] Optionally, when the user public key is bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0040] The SUCI is analyzed to obtain K E {MSIN};

[0041] Decrypt K E {MSIN}, get SUPI; where K E In {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key;

[0042] According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal and stored in a database of the UDM functional entity.

[0043] Optionally, the user public key is in [0,2 n ], where n is the length of the user public key.

[0044] Optionally, the length of the user public key is greater than or equal to 256 bits.

[0045] Optionally, the user public key is stored on the network side device in a first-in-first-out manner.

[0046] Optionally, the user public key is stored on the network side device in a first-in-first-out manner, including:

[0047] Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or,

[0048] A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored user public keys, the user public keys whose storage time exceeds the preset time period are removed.

[0049] According to another aspect of the present invention, there is also provided a device for determining a replay message, which is applied to a network side device, and the device includes:

[0050] A receiving module, used for receiving a user public key in a user hidden identifier SUCI message;

[0051] The processing module is used to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device.

[0052] Optionally, the processing module is specifically used to: determine whether the SUCI message is a replay message according to the storage mode of the user public key on the unified data management function UDM functional entity, according to the user public key and the user public key already stored by the UDM functional entity.

[0053] Optionally, the storage method of the user public key on the unified data management (UDM) functional entity includes: the user public key stored on the UDM functional entity is not bound to the identity of the terminal; or,

[0054] The user public key stored in the UDM functional entity is bound to the identity of the terminal.

[0055] Optionally, when the user public key is not bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0056] The user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

[0057] Optionally, when the user public key is bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0058] The SUCI is analyzed to obtain K E {MSIN};

[0059] Decrypt the K E {MSIN}, get SUPI;

[0060] Among them, K E {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key;

[0061] According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal and stored in a database of the UDM functional entity.

[0062] An embodiment of the present invention further provides a network device, including:

[0063] A transceiver, configured to receive a user public key in a user hidden identifier SUCI message;

[0064] The processor is configured to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device.

[0065] An embodiment of the present invention further provides a communication device, comprising: a processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method described above is executed.

[0066] An embodiment of the present invention further provides a computer-readable storage medium, comprising instructions, and when the instructions are executed on a computer, the computer executes the method as described above.

[0067] The above solution of the present invention includes at least the following beneficial effects:

[0068] In the above solution of the present invention, the UDM receives the user public key in the SUCI message and compares the user public key with the user public key already stored in the network side device to determine whether the SUCI message is a replay message; further, when the UE public key is not bound to the UE identity and stored on the UDM, the network UDM uses the user public key to query on the UDM. If it has occurred, it is determined to be a replay attack. If it has not occurred, the user public key is stored on the UDM and K is decrypted. E {MSIN}, get SUPI, generate authentication vector; UE public key is bound to UE identity and stored on UDM, network UDM first decrypts K E {MSIN}, get SUPI. According to SUPI, find out whether this UE has sent the user public key before. If it has, it is judged as a replay attack. If it has not, the user public key is bound with the UE identity and stored on the UDM, and an authentication vector is generated, which can be used to effectively detect SUCI replay attacks. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 This is a flow chart of protecting SUPI through ECIES in the prior art;

[0070] Figure 2 A flowchart of a method for determining a message to be replayed according to an embodiment of the present invention;

[0071] Figure 3 A schematic diagram of the structure of a device for determining a message to be replayed according to an embodiment of the present invention;

[0072] Figure 4 The figure is a schematic diagram of the structure of a network device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0073] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present invention and to fully convey the scope of the present invention to those skilled in the art.

[0074] like Figure 2 As shown, an embodiment of the present invention provides a method for determining a replay message, which is applied to a network side device, and the method includes:

[0075] Step 21: Receive the user public key in the user hidden identifier SUCI message.

[0076] Step 22, determine whether the SUCI message is a replay message based on the user public key and the user public key already stored in the network side device. That is, the user public key in the SUCI message can be compared with the user public key already stored in the network side device, so as to serve as a basis for determining whether the SUCI message is a replay attack message. Here, the user public key already stored in the network side device is usually the user public key in the SUCI message stored in the network side device after the terminal normally sends the SUCI message. The user public key stored in the network side device may include multiple user public keys. Optionally, the user public key can be in [0,2 n ], where n is the length of the user public key. Usually, n is an integer greater than or equal to 256, that is, it means that the length of the user public key is greater than or equal to 256 bits.

[0077] In the above embodiment, for the terminal, the probability of generating the same user public key is 1 / 2 n (For example, n is an integer greater than or equal to 256) can be completely ignored. Accordingly, the error rate of the replay attack determined by the network-side device according to the user public key in the SUCI message generated by the terminal can also be ignored. As for the attacker, since what he obtains is the SUCI message generated by the terminal before, the user public key in the SUCI message has been stored in the network-side device as the user public key. After receiving the SUCI message, the network-side device can easily know that the user public key in the SUCI message already exists in the user public key stored in the network-side device through comparison, so it can be determined that the SUCI message is a replay message, which can be used to effectively detect SUCI replay attacks.

[0078] As can be seen from the above, the method for determining a replayed message provided in this embodiment can achieve the purpose of determining whether the SUCI message is a replayed message by obtaining the user public key in the SUCI message and determining whether the SUCI message is a replayed message according to the user public key and the user public key already stored in the network side device, thereby being able to effectively detect SUCI replay attacks.

[0079] In the above implementation, step 12 may include:

[0080] Step 121: Determine whether the SUCI message is a replay message according to the storage mode of the user public key on the unified data management (UDM) functional entity and the user public key and the user public key already stored by the UDM functional entity.

[0081] Here, step 121 may specifically include:

[0082] Step 1211: When the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, it is determined whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity.

[0083] In the application, the above step 1211 may specifically include:

[0084] When the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, the user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

[0085] After storing the user public key in the SUCI message in the database of the UDM functional entity, the method may further include:

[0086] The SUCI is analyzed to obtain K E {MSIN};

[0087] Decrypt K E {MSIN}, get SUPI; where SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + B PUB +A PUB +K E {MSIN}+Tag;

[0088] Among them A PUB is the user's public key, B PUB is the public key of the network, Tag = HMAC–SHA-256 (K M , KE {MSIN}), MSIN is the mobile subscriber identification number, K E is the encryption key, K M The integrity key.

[0089] Step 1212: The user public key is bound to the identity of the terminal and stored in the UDM functional entity. According to the user public key and the user public key already stored in the database of the UDM functional entity, it is determined whether the SUCI message is a replay message.

[0090] In the application, the above step 1212 may specifically include:

[0091] The SUCI is analyzed to obtain K E {MSIN};

[0092] Decrypt KE{MSIN} to obtain SUPI; where MSIN is the mobile subscriber identification number and KE is the encryption key;

[0093] According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal, stored in a database of the UDM functional entity, and an authentication vector is generated.

[0094] The above-mentioned method for determining the replay message has good compatibility with the existing standard system, does not require modification of the SUPI encryption scheme, and can be implemented by only storing the user public key on the UDM functional entity on the network side. Compared with the existing scheme, since the user public key is used as the basis for judging the replay attack, it is easier to implement and has better effect.

[0095] In the above embodiment, the user public key is stored in the UDM functional entity in a first-in-first-out manner.

[0096] Specific:

[0097] Determine a storage space with a preset capacity C. If the amount of data D of the user public key to be stored exceeds the preset capacity C, remove the earliest stored user public key of the part exceeding the preset capacity C (i.e., the DC part); or,

[0098] Determine a preset time period T (such as a few days or months). If there are user public keys whose storage time exceeds the preset time period T among the stored user public keys, the user public keys whose storage time exceeds the preset time period T will be removed, that is, the user public keys stored first will be removed, and the number of such keys is the amount of data stored in the earliest time unit (such as the above-mentioned few days or months).

[0099] In the embodiment of the present invention, the network-side UDM determines whether the received SUCI message is a replay message by comparing the user public key received from the terminal side with the previous user public key stored in the database. This solution has good compatibility with the existing standard system and does not require modification of the SUPI encryption scheme. It only needs to store the user public key in the network's UDM. Compared with the existing solution, this solution is easier to implement because it uses the user public key as the basis for judging the replay attack. Figure 3 As shown, another embodiment of the present invention provides a device 30 for determining a replay message, which is applied to a network side device, and the device includes:

[0100] A receiving module 31, configured to receive a user public key in a user hidden identifier SUCI message;

[0101] The processing module 32 is used to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device.

[0102] Optionally, the processing module 32 may be specifically configured to: determine whether the SUCI message is a replay message according to a storage manner of the user public key on the unified data management function UDM functional entity and according to the user public key and the user public key already stored by the UDM functional entity.

[0103] In a specific application, the processing module 32 may further be used to: when the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, determine whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity; or,

[0104] The user public key is bound to the identity of the terminal and stored in the UDM functional entity. According to the user public key and the user public key already stored in the database of the UDM functional entity, it is determined whether the SUCI message is a replay message.

[0105] Wherein, when the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity may include:

[0106] When the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, the user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

[0107] After storing the user public key in the SUCI message in the database of the UDM functional entity, the method may further include:

[0108] The SUCI is analyzed to obtain K E {MSIN};

[0109] Decrypt K E {MSIN}, get SUPI, generate authentication vector; where SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + B PUB +A PUB +K E {MSIN}+Tag;

[0110] Among them A PUB is the user's public key, B PUB is the public key of the network, Tag = HMAC–SHA-256 (K M , K E {MSIN}), MSIN is the mobile subscriber identification number, K E is the encryption key, K M The integrity key.

[0111] Wherein, when the user public key is bound to the identity of the terminal and stored in the UDM functional entity, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0112] The SUCI is analyzed to obtain K E {MSIN};

[0113] Decrypt KE{MSIN} to get SUPI; where K E In {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key;

[0114] According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal, stored in the UDM functional entity, and an authentication vector is generated.

[0115] Optionally, the user public key can be in [0,2 n ], where n is the length of the user public key. Usually, n is an integer greater than or equal to 256, that is, it means that the length of the user public key is greater than or equal to 256 bits.

[0116] Since the storage space on the UDM is limited, the user public key may be stored in a first-in-first-out manner on the UDM functional entity.

[0117] The user public key is stored in the UDM functional entity in a first-in-first-out manner, including:

[0118] Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or,

[0119] A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored network-side user public keys, the user public keys whose storage time exceeds the preset time period are removed.

[0120] It should be noted that the above-mentioned replay message determination device 20 provided in the embodiment of the present invention can implement all the method steps implemented by the replay message determination method in the above-mentioned embodiment, and can achieve the same technical effect. The parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.

[0121] like Figure 4 As shown, another embodiment of the present invention provides a network device 40, including:

[0122] The transceiver 41 is used to receive the user public key in the user hidden identifier SUCI message;

[0123] The processor 42 is configured to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored in the network side device.

[0124] Optionally, the processor 42 may be specifically configured to: determine whether the SUCI message is a replay message according to a storage manner of the user public key on a unified data management function (UDM) functional entity and according to the user public key and a user public key already stored by the UDM functional entity.

[0125] In a specific application, the processor 42 may further be configured to: when the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, determine whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity; or,

[0126] The user public key is bound to the identity of the terminal and stored in the UDM functional entity. According to the user public key and the user public key already stored in the database of the UDM functional entity, it is determined whether the SUCI message is a replay message.

[0127] Wherein, when the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity may include:

[0128] When the user public key is not bound to the identity of the terminal and is stored in the UDM functional entity, the user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

[0129] After storing the user public key in the SUCI message in the database of the UDM functional entity, the method may further include:

[0130] The SUCI is analyzed to obtain K E {MSIN};

[0131] Decrypt K E {MSIN}, get SUPI; where SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + B PUB +A PUB +K E {MSIN}+Tag;

[0132] Among them A PUB is the user's public key, B PUB is the public key of the network, Tag = HMAC–SHA-256 (K M , K E {MSIN}), MSIN is the mobile subscriber identification number, K E is the encryption key, K M The integrity key.

[0133] Wherein, when the user public key is bound to the identity of the terminal and stored in the UDM functional entity, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes:

[0134] The SUCI is analyzed to obtain K E {MSIN};

[0135] Decrypt KE{MSIN} to get SUPI; where K E In {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key;

[0136] According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal, stored in the UDM functional entity, and an authentication vector is generated.

[0137] Optionally, the user public key can be in [0,2 n ], where n is the length of the user public key. Usually, n is an integer greater than or equal to 256, that is, it means that the length of the user public key is greater than or equal to 256 bits.

[0138] Since the storage space on the UDM is limited, the user public key may be stored in a first-in-first-out manner on the UDM functional entity.

[0139] The user public key is stored in the UDM functional entity in a first-in-first-out manner, including:

[0140] Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or,

[0141] A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored user public keys, the user public keys whose storage time exceeds the preset time period are removed.

[0142] In the above network device 40, the transceiver 41 and the processor 42 can be connected to each other through a bus interface, the function of the processor 42 can also be implemented by the transceiver 41, and the function of the transceiver 41 can also be implemented by the processor 42. It should be noted that the above network device provided by the embodiment of the present invention can implement all the method steps implemented by the method for determining the replayed message in the above embodiment, and can achieve the same technical effect, and the parts and beneficial effects of this embodiment that are the same as those of the method embodiment will not be specifically described here.

[0143] Another embodiment of the present invention provides a communication device, including: a processor, a memory storing a computer program, wherein the computer program, when executed by the processor, executes the method for determining the replayed message as described above. All implementations in the above method embodiments are applicable to this embodiment, and can achieve the same technical effect. Another embodiment of the present invention provides a computer-readable storage medium, including instructions, which, when executed by a computer, enable the computer to execute the method for determining the replayed message as described above. All implementations in the above method embodiments are applicable to this embodiment, and can achieve the same technical effect.

[0144] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0145] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0146] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0147] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0148] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0149] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.

[0150] In addition, it should be noted that in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it is understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.

[0151] Therefore, the purpose of the present invention can also be achieved by running a program or a group of programs on any computing device. The computing device can be a well-known general device. Therefore, the purpose of the present invention can also be achieved by simply providing a program product containing a program code that implements the method or device. That is to say, such a program product also constitutes the present invention, and the storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. In addition, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order. Some steps can be performed in parallel or independently of each other.

[0152] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A method for determining a replay message, characterized in that: Applied to a network side device, the method includes: Receive the user public key in the user hidden identifier SUCI message; determining, according to the user public key and the user public key already stored by the network side device, whether the SUCI message is a replay message; The determining, according to the user public key and the user public key already stored by the network side device, whether the SUCI message is a replay message includes: Determining whether the SUCI message is a replay message according to the storage mode of the user public key on the unified data management UDM functional entity and according to the user public key and the user public key already stored by the UDM functional entity; The storage method of the user public key on the unified data management (UDM) functional entity includes: The user public key stored in the UDM functional entity is not bound to the identity of the terminal; or, The user public key stored in the UDM functional entity is bound to the identity of the terminal; The user public key is stored in a first-in-first-out manner on the network side device; The user public key is stored in the network side device in a first-in-first-out manner, including: Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or, A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored user public keys, the user public keys whose storage time exceeds the preset time period are removed.

2. The method for determining a playback message according to claim 1, characterized in that: When the user public key is not bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes: The user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

3. The method for determining a playback message according to claim 2, characterized in that: After storing the user public key in the SUCI message in the database of the UDM functional entity, the method further includes: The SUCI is analyzed to obtain K E {MSIN}; Decrypt the K E {MSIN}, get SUPI; SUCI = SUPI type + home network identifier + routing identifier + protection scheme identifier + B PUB +A PUB +K E {MSIN}+Tag; Among them A PUB is the user's public key, B PUB is the public key of the network, Tag = HMAC–SHA-256 (K M , K E {MSIN}), MSIN is the mobile subscriber identification number, K E is the encryption key, K M The integrity key.

4. The method for determining a playback message according to claim 1, characterized in that: When the user public key is bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes: The SUCI is analyzed to obtain K E {MSIN}; Decrypt K E {MSIN}, get SUPI; where K E In {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key; According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal and stored in a database of the UDM functional entity.

5. The method for determining a replay message according to claim 1, characterized in that: The user public key is in [0,2 n ], where n is the length of the user public key.

6. The method for determining a replay message according to claim 5, characterized in that: The length of the user public key is greater than or equal to 256 bits.

7. A device for determining a replayed message, characterized in that: Applied to a network side device, the device comprises: A receiving module, used for receiving a user public key in a user hidden identifier SUCI message; a processing module, configured to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network side device; The processing module is specifically used for: Determining whether the SUCI message is a replay message according to the storage mode of the user public key on the unified data management function UDM functional entity and the user public key already stored by the UDM functional entity; The storage method of the user public key on the unified data management (UDM) functional entity includes: The user public key stored in the UDM functional entity is not bound to the identity of the terminal; or, The user public key stored in the UDM functional entity is bound to the identity of the terminal; Wherein, the user public key is stored in the network side device in a first-in-first-out manner; The user public key is stored in the network side device in a first-in-first-out manner, including: Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or, A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored user public keys, the user public keys whose storage time exceeds the preset time period are removed.

8. The device for determining a playback message according to claim 7, characterized in that: When the user public key is not bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes: The user public key in the SUCI message is used to query in the database of the UDM functional entity. If the user public key in the SUCI message has appeared, it is determined that the SUCI message is a replay message; otherwise, the user public key in the SUCI message is stored in the database of the UDM functional entity.

9. The device for determining a playback message according to claim 7, characterized in that: When the user public key is bound to the identity of the terminal, determining whether the SUCI message is a replay message according to the user public key and the user public key already stored in the database of the UDM functional entity includes: The SUCI is analyzed to obtain K E {MSIN}; Decrypt the K E {MSIN}, get SUPI; Among them, K E In {MSIN}, MSIN is the mobile subscriber identification number, K E is the encryption key; According to the SUPI, the user public key in the SUCI previously sent by the terminal is searched in the UDM functional entity to determine whether the SUCI message is a replay message; otherwise, the user public key is bound to the identity of the terminal and stored in a database of the UDM functional entity.

10. A network device, characterized in that: include: A transceiver, configured to receive a user public key in a user hidden identifier SUCI message; a processor, configured to determine whether the SUCI message is a replay message according to the user public key and the user public key already stored by the network device; The processor is specifically used for: Determining whether the SUCI message is a replay message according to the storage mode of the user public key on the unified data management function UDM functional entity and the user public key already stored by the UDM functional entity; The storage method of the user public key on the unified data management (UDM) functional entity includes: The user public key stored in the UDM functional entity is not bound to the identity of the terminal; or, The user public key stored in the UDM functional entity is bound to the identity of the terminal; The user public key is stored on the network device in a first-in-first-out manner; The user public key is stored on the network device in a first-in-first-out manner, including: Determine a storage space with a preset capacity, and if the amount of user public keys to be stored exceeds the preset capacity, remove the earliest stored user public keys in the excess portion; or, A preset time period is determined, and if there are user public keys whose storage time exceeds the preset time period among the stored user public keys, the user public keys whose storage time exceeds the preset time period are removed.

11. A communication device, characterized in that: include: A processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method according to any one of claims 1 to 6 is executed.

12. A computer-readable storage medium, characterized in that: The method comprises instructions, which, when executed on a computer, cause the computer to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Key generation method, UE and network device

    CN111404670A

  • Validation of subscription concealed identifiers in mobile networks

    WO2019137792A1