WO2021088593A1 - Verification method, device and equipment and computer readable storage medium - Google Patents

Verification method, device and equipment and computer readable storage medium Download PDF

Info

Publication number
WO2021088593A1
WO2021088593A1 PCT/CN2020/120327 CN2020120327W WO2021088593A1 WO 2021088593 A1 WO2021088593 A1 WO 2021088593A1 CN 2020120327 W CN2020120327 W CN 2020120327W WO 2021088593 A1 WO2021088593 A1 WO 2021088593A1
Authority
WO
WIPO (PCT)
Prior art keywords
integrity
key
verification
network element
terminal
Prior art date
Application number
PCT/CN2020/120327
Other languages
French (fr)
Chinese (zh)
Inventor
刘福文
Original Assignee
中国移动通信有限公司研究院
中国移动通信集团有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国移动通信有限公司研究院, 中国移动通信集团有限公司 filed Critical 中国移动通信有限公司研究院
Publication of WO2021088593A1 publication Critical patent/WO2021088593A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices

Definitions

  • the present disclosure relates to the field of communication technologies, and in particular, to a verification method, device, device, and computer-readable storage medium.
  • the 5G security standard adopts an integrated encryption scheme (elliptic curve integrate encrypt scheme, ECIES) to protect the user's long-term identity (Subscription Permanent Identifier, SUPI) to protect user privacy.
  • elliptic curve integrate encrypt scheme ECIES
  • SUPI Subscribe Permanent Identifier
  • ECIES encrypts SUPI so that the attacker cannot obtain the SUPI of User Equipment (UE) on the wireless air interface. However, the attacker can confirm whether the guessed SUPI is correct by guessing the value of SUPI and observing the feedback message of the Unified Data Management (UDM) entity.
  • UDM Unified Data Management
  • the above is called a SUPI guessing attack.
  • the attacker can find out the entire SUPI database of a particular network by repeating the above attack several times. How to solve the SUPI guessing attack is the main research direction of related technical personnel.
  • the embodiments of the present disclosure provide a verification method, device, equipment, and computer-readable storage medium to solve the SUPI guessing attack.
  • embodiments of the present disclosure provide a verification method applied to a terminal, including:
  • the shared key is a key used between the first network element and the terminal.
  • the shared key is an operator specific code (OPC) key or root key K that is commonly known to the first network element and the terminal;
  • OPC operator specific code
  • root key K that is commonly known to the first network element and the terminal;
  • integrity verification value is the first complete Sexual protection label;
  • the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
  • a global subscriber identity module uses an integrity calculation function to perform calculations on the OPC key or root key K, first information, and second information to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting SUPI with an encryption key.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
  • the mobile end uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key KAUSF key to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the sending the integrity verification value to the first network element includes:
  • SUCI Subscriber hidden identifier
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
  • the USIM uses an integrity calculation function to perform calculations on the OPC key or root key K in the SUCI and the existing integrity protection label to obtain the second integrity protection label.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
  • the ME uses the integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between the two to obtain the second integrity protection label.
  • the sending the integrity verification value to the first network element includes:
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
  • the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection label; or, use a predefined function to perform operations on the OPC secret
  • the key and/or the root key K and the random number are operated to obtain the third integrity protection label.
  • the sending the integrity verification value to the first network element includes:
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • embodiments of the present disclosure provide a verification method applied to a first network element, including:
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the integrity verification value is a first integrity protection label
  • the integrity verification value sent by the receiving terminal includes:
  • the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal;
  • the verification of the integrity verification value includes:
  • the OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the verifying the integrity verification value includes:
  • the verification result is that the verification fails.
  • the method further includes:
  • the fifth information, the sixth information, and the session root key KAUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is the use An encryption result obtained by encrypting the SUPI by an encryption key;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label
  • the integrity verification value sent by the receiving terminal includes:
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verifying the integrity verification value includes:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the verifying the integrity verification value includes:
  • the verification result is that the verification fails.
  • the method further includes:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the obtaining the session root key KAUSF corresponding to the SUPI includes:
  • the integrity verification value is a random number and a third integrity protection label
  • the method also includes:
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verifying the integrity verification value includes:
  • the verification result is that the verification fails.
  • the method further includes:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the method further includes:
  • the random number is stored.
  • embodiments of the present disclosure provide a verification device, which is applied to a terminal, and includes:
  • the acquisition module is used to perform integrity operations on the target information by using the shared key to obtain the integrity verification value
  • a sending module configured to send the integrity verification value to the first network element
  • a receiving module configured to receive a verification result of the integrity verification value of the first network element
  • the shared key is a key used between the first network element and the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the obtaining module is specifically configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the obtaining module is specifically configured to perform operations on the first information, the second information, and the session root key KAUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the sending module is specifically configured to send SUCI to the first network element, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the acquisition module is specifically configured to perform operations on the OPC key or root key K and the existing integrity protection label in the SUCI by using the integrity operation function through the USIM to obtain the second integrity protection label.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the acquisition module is specifically configured to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between the ME using an integrity operation function to obtain the second integrity protection label.
  • the sending module is specifically configured to send SUCI and the second integrity protection label to the first network element.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the acquisition module includes:
  • the obtaining sub-module is used to perform operations on the OPC key or root key K and the random number by the USIM using an integrity operation function to obtain the third integrity protection label; or, using a predefined
  • the function performs an operation on the OPC key and/or the root key K and the random number to obtain the third integrity protection label.
  • the sending module is configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • embodiments of the present disclosure provide a verification device, which is applied to a first network element, and includes:
  • the receiving module is used to receive the integrity verification value sent by the terminal
  • a verification module for verifying the integrity verification value
  • a sending module configured to send a verification result of the integrity verification value to the terminal
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the integrity verification value is a first integrity protection label
  • the receiving module is configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
  • the processing sub-module is used to perform operations on the OPC key or root key K, the third information, and the fourth information by using the integrity operation function to obtain the first operation value; wherein, the third information is the integrity secret Key, the fourth information is an encryption result obtained by encrypting the SUPI using an encryption key;
  • the verification sub-module is configured to, when the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • the search sub-module is used to search the SUPI in the database
  • the verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
  • the verification module further includes:
  • the obtaining sub-module is used to obtain the session root key KAUSF corresponding to the SUPI when the SUPI is found;
  • the processing sub-module is used to perform operations on the fifth information, the sixth information and the session root key KAUSF by using the integrity operation function to obtain the second operation value; wherein, the fifth information is the integrity key, so
  • the sixth information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification sub-module is further configured to: in the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label; the receiving module is further configured to receive the SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
  • a processing sub-module configured to use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value
  • the verification sub-module is configured to verify that the verification result is passed when the verification of the integrity protection label carried in the SUCI and the second operation value is passed; otherwise, the verification result is that the verification fails.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • the search sub-module is used to search the SUPI in the database
  • the verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
  • the verification module further includes:
  • the obtaining sub-module is used to obtain the session root key KAUSF corresponding to the SUPI when the SUPI is found;
  • a processing sub-module configured to use an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key KAUSF to obtain a fourth operation value;
  • the verification submodule is further configured to: in the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the obtaining submodule is configured to obtain the session root key KAUSF stored by the first network element itself; or obtain the session root key KAUSF from the second network element.
  • the integrity verification value is a random number and a third integrity protection label
  • the receiving module is further configured to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • the first obtaining submodule is used to obtain the random number
  • the search sub-module is used to search the random number in the database
  • the verification sub-module is used to verify that the verification fails when the random number is found.
  • the verification module further includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI if the random number is not found;
  • the second obtaining submodule is used to obtain the OPC key or root key K corresponding to the SUPI;
  • the processing sub-module is used to perform operations on the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/ Or the root key K and the random number are operated to obtain the fifth operation value;
  • the verification sub-module is further configured to: in the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the device further includes:
  • the storage module is configured to store the random number when the random number is not found.
  • embodiments of the present disclosure provide a verification device, which is applied to a terminal and includes a processor and a transceiver;
  • the processor is configured to perform an integrity operation on the target information by using a shared key to obtain an integrity verification value
  • the transceiver is configured to send the integrity verification value to a first network element; receive a verification result of the integrity verification value by the first network element;
  • the shared key is a key used between the first network element and the terminal.
  • the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to perform operations on the first information, the second information, and the session root key KAUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the transceiver is further configured to send a user hidden identifier SUCI to the first network element, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the processor is further configured to: use an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI through the USIM to obtain the second integrity protection label .
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the processor is further configured to: use the ME to use an integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between them to obtain the second integrity protection label.
  • the processor is further configured to send SUCI and the second integrity protection label to the first network element.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the processor is further configured to: generate a random number through the USIM; the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection Label; or, using a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the third integrity protection label.
  • the transceiver is further configured to send the SUCI, the random number, and the third integrity protection label to the first network element through the ME.
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • embodiments of the present disclosure provide a verification device, which is applied to a first network element, and includes: a processor and a transceiver;
  • the transceiver is used to receive the integrity verification value sent by the terminal;
  • the processor is configured to verify the integrity verification value
  • the transceiver is further configured to send a verification result of the integrity verification value to the terminal;
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the integrity verification value is a first integrity protection label
  • the transceiver is further configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the processor is further configured to:
  • the OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the fifth information, the sixth information, and the session root key KAUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is the use An encryption result obtained by encrypting the SUPI by an encryption key;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label
  • the transceiver is also used to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K known to the first network element and the terminal; the processor is also used to: decrypt the SUCI to obtain SUPI and the second Integrity protection label;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key KAUSF between the first network element and the terminal;
  • the processor is also used for:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor is further configured to: obtain the session root key KAUSF stored by the first network element itself; or obtain the session root key KAUSF from the second network element.
  • the integrity verification value is a random number and a third integrity protection label
  • the transceiver is also used to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the processor is also used for:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor is further configured to store the random number when the random number is not found.
  • the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
  • FIG. 1 is one of the flowcharts of the verification method provided by an embodiment of the present disclosure
  • FIG. 2 is the second flow chart of the verification method provided by an embodiment of the present disclosure
  • FIG. 3 is the third flowchart of the verification method provided by an embodiment of the present disclosure.
  • FIG. 4 is the fourth flow chart of the verification method provided by the embodiment of the present disclosure.
  • FIG. 5 is the fifth flowchart of the verification method provided by an embodiment of the present disclosure.
  • FIG. 6 is one of the structural diagrams of the verification device provided by the embodiment of the present disclosure.
  • FIG. 7 is the second structural diagram of the verification device provided by the embodiment of the present disclosure.
  • FIG. 8 is the third structural diagram of the verification device provided by the embodiment of the present disclosure.
  • FIG. 9 is the fourth structural diagram of the verification device provided by an embodiment of the present disclosure.
  • FIG. 10 is one of the structural diagrams of a communication device provided by an embodiment of the present disclosure.
  • Fig. 11 is a second structural diagram of a communication device provided by an embodiment of the present disclosure.
  • FIG. 1 is a flowchart of a verification method provided by an embodiment of the present disclosure, which is applied to a terminal. As shown in Figure 1, it includes the following steps:
  • Step 101 Perform an integrity operation on the target information by using a shared key to obtain an integrity verification value.
  • the shared key is a key used between the first network element and the terminal.
  • the process of terminal encryption for SUPI is as follows: First, an elliptic curve Diffie-Hellman key exchange (Elliptic Curve Diffie-Hellman key exchange, ECDH) private key A PRI is randomly generated, and an ECDH public key A PUB is derived . Then, the terminal uses its own private key A PRI and the network's ECDH public key B PUB to generate a shared key K ECDH . The terminal derives the encryption key K E from K ECDH , the initial value of AES count encryption, and the integrity key K M , which is called key data K D , namely:
  • KDF is the key deduction function
  • It is the decimal number of the terminal's ECDH public key A PUB.
  • the far left of KD is the encryption key K E
  • the middle is the initial value of AES count encryption
  • the far right is the integrity key K M.
  • Counting Advanced Encryption Standard (Advanced Encryption Standard, AES) for encryption using K E SUPI encrypt the encrypted message using the K M SUPI is complete security, generate an integrity protection tag Tag.
  • AES Advanced Encryption Standard
  • Tag HMAC-SHA-256(K M ,K E ⁇ SUPI ⁇ )
  • SUCI includes the following:
  • SUCI Type of SUPI+Home network ID+Route ID+Protection scheme ID+B PUB +A PUB +K E ⁇ SUPI ⁇ +Tag.
  • 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.
  • the shared key of the terminal and the network is used to generate an integrity verification value for the related message. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the error of the integrity protection label generated according to the embodiment of the present disclosure, and will return a registration rejection message with reason #3. Thus the problem of SUPI guessing attack is solved.
  • the first solution is to add a key that only the terminal and the network know to the function input for generating the integrity protection tag Tag to obtain the first integrity protection tag. In this way, even if the SUPI guess is correct, because there is no key known to the terminal and the network, the tag generated by the attacker will be detected by the network as an error. Then, the network will also return a registration rejection message with reason #3, thus solving the SUPI guessing attack problem.
  • the SUPI encryption can be performed in a universal integrated circuit card (also called a universal integrated circuit card, UICC, USIM), or it can be performed on the terminal ME.
  • a universal integrated circuit card also called a universal integrated circuit card, UICC, USIM
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal
  • the integrity verification value is a first integrity protection label
  • the OPC key preset in the USIM is obtained after a series of calculations between the OP and the root key K, which ensures that different cards are preset with different OPCs.
  • the terminal and the network shared key OPC or the root key K known to the terminal and the network is used to generate the first integrity protection label.
  • the USIM uses an integrity calculation function to perform calculations on the first information, the second information, the OPC key or the root key to obtain the first integrity protection label.
  • the specific method is as follows:
  • Tag is the first integrity protection tag
  • K M represents the integrity key
  • K E represents the encryption key
  • K represents the root key.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • UDM verifies the correctness of the first integrity protection label. Even if the attacker guesses a correct SUPI, because he does not know the OPC or the root key K, the attacker cannot generate the correct first integrity protection label, and the network will return a registration rejection message with reason #3. In other words, whether the attacker guessed a correct SUPI or did not guess a correct SUPI, the network will return a registration rejection message with reason #3.
  • the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label.
  • the terminal and the network After using 5G Authentication and Key Agreement (AKA) or Extensible Authentication Protocol-Authentication and Key Agreement (EAP-AKA') in the terminal and network to complete mutual authentication , The terminal and the network will calculate and store the session root key K AUSF .
  • AKA 5G Authentication and Key Agreement
  • EAP-AKA' Extensible Authentication Protocol-Authentication and Key Agreement
  • the terminal and the network will calculate and store the session root key K AUSF .
  • the embodiment of the present disclosure uses the shared key K AUSF of the terminal and the network to generate the first integrity protection label.
  • the ME uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key K AUSF to obtain the first integrity protection label.
  • the specific method is as follows:
  • Tag is the first integrity protection tag
  • K M represents the integrity key
  • K E represents the encryption key
  • K represents the root key.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • UDM verifies the correctness of the first integrity protection label. Even if the attacker guesses a correct SUPI, because he does not know K AUSF , the attacker cannot generate the correct first integrity protection label, and the network will return a registration rejection message with reason #3.
  • K AUSF The initial value of K AUSF is zero.
  • AUSF Authentication Server Function
  • UDM User Data Management Function
  • UDM decrypts SUCI to obtain SUPI, and directly uses the stored K AUSF to perform operations in the above-mentioned manner and verify.
  • UDM first decrypts SUCI to get SUPI, and then searches for SUPI in the database. If there is no corresponding SUPI in the database, UDM returns a "404 Not Found” message, and the network returns a registration rejection message with reason #3 accordingly. If there is a corresponding SUPI in the database, UDM obtains the K AUSF corresponding to SUPI from AUSF , and then verifies the first integrity protection label. If the verification is passed, UDM returns a "200 OK" message containing the authentication vector; if the verification fails, UDM returns a "404 Not Found” message.
  • the terminal sends SUCI to the first network element, and the first integrity protection label is carried in the SUCI.
  • the second scheme is to use the shared key of the terminal and the network to perform a complete protection operation on the tag of the SUCI on the basis of the SUCI to generate a second integrity protection tag, that is, the STag. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the STag error and return a registration rejection message with reason #3, so that the SUPI guess attack problem is solved.
  • the second integrity protection tag STag can be generated by the USIM, and the second integrity protection tag STag can also be generated by the ME.
  • the shared key is an OPC key or a root key K commonly known to the first network element and the terminal;
  • the integrity verification value is a second integrity protection label.
  • the terminal and the network shared key OPC or the root key K are used to calculate the third integrity protection tag Tag in the SUCI to generate the Stag.
  • the USIM uses an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI to obtain the second integrity protection label. The calculation is as follows:
  • STag HMAC-SHA-256 (OPC or K, Tag).
  • STag is the second integrity protection tag
  • Tag is the third integrity protection tag.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • the UDM will verify the correctness of the Tag and STag in the SUCI. Only when both of them pass the verification, the network side will send a verification request message to the terminal.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label.
  • the session root key K AUSF between the terminal and the network is used to calculate the third integrity protection tag Tag to generate the second integrity protection tag Stag.
  • the ME uses an integrity calculation function to calculate the existing integrity protection label in the SUCI and the session root key K AUSF between the two to obtain the second integrity protection label.
  • the calculation method is as follows:
  • STag HMAC-SHA-256( KAUSF , Tag).
  • STag is the second integrity protection tag
  • Tag is the third integrity protection tag.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • the UDM will verify the correctness of the Tag and STag in the SUCI. Only when both of them pass the verification, the network side will send a verification request message to the terminal.
  • the terminal in addition to sending the second integrity protection label to the first network element, the terminal also needs to send SUCI to the first network element.
  • the third scheme is to generate a one-time random number on the USIM of the terminal, and use the shared key of the terminal and the network to perform an integrity calculation on it to generate an integrity verification value NTag. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the NTag error and return a registration rejection message with reason #3, so that the SUPI guess attack problem is solved.
  • the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal.
  • a random number is generated by the USIM, and the USIM uses an integrity operation function or a function defined in 3GPP TS 35.206 to operate the OPC key and/or root key K and the random number to obtain the third Integrity protection label.
  • the USIM generates a one-time random number Nonce, and uses the OPC key or root key K shared by the terminal and the network to generate a third integrity protection tag NTag for Nonce, which is calculated as follows:
  • NTag HMAC-SHA-256 (OPC or K, Nonce)
  • NTag is the third integrity protection tag
  • Nonce is a random number.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • the USIM uses a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the fifth operation value.
  • the calculation is as follows:
  • NTag f2 (OPC and/or K, Nonce)
  • NTag is the third integrity protection tag
  • Nonce is a random number.
  • the predefined function f2 function where the encryption function is AES or other encryption functions.
  • the predefined f3 or f4 or f5 function can also be used.
  • the ME When sending the random number and the third integrity protection label, the ME sends the SUCI, the random number and the third integrity protection label to the first network element.
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • the USIM transmits SUCI, Nonce, and NTag to the ME, and the ME sends it to the network. If the encryption of SUPI is performed on the ME, the USIM transmits the Nonce and NTag to the ME. After the ME completes the encryption of SUCI, it sends SUCI, Nonce and NTag to the network.
  • the network After receiving SUCI, Nonce and NTag, the network first checks whether there is Nonce in the database. If it exists, it responds with a rejection message to resist replay attacks. If Nonce does not exist in the database, decrypt SUCI to get SUPI, and get OPC or root key K according to SUPI. Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate a verification vector. If the verification fails, reply with a rejection message.
  • the above three schemes are all based on the key shared by the terminal and the network to generate an integrity protection tag Tag or an integrity secondary tag STag or a one-time random number integrity protection tag NTag. Since the attacker does not know the secret key shared by the terminal and the network, it cannot forge a correct integrity protection tag or integrity secondary tag STag or NTag. In this way, even if an attacker can guess a correct SUPI, he cannot generate a correct integrity protection tag or integrity secondary tag STag or NTag. In other words, the proposed scheme can resist SUPI guessing attacks.
  • the first scheme only adds the shared key of the terminal and the network to the integrity function, so it basically does not increase the amount of calculation.
  • Scheme 2 and Scheme 3 only increase the calculation amount of an integrity function, and this calculation requires less calculation resources and has less impact on the system.
  • Scheme 2 and Scheme 3 are well compatible with systems in related technologies. Because the integrity secondary tag STag or the one-time random number integrity protection tag NTag is superimposed on the ECIES scheme, there is no need Make adjustments to the elliptic curve integrate encrypt scheme (ECIES) scheme.
  • ECIES elliptic curve integrate encrypt scheme
  • Step 102 Send the integrity verification value to the first network element.
  • the SUCI is sent to the first network element, and the SUCI includes the first integrity verification label.
  • the SUCI and the second integrity verification label are respectively sent to the first network element.
  • the SUCI, the random number and the third integrity verification label are respectively sent to the first network element.
  • Step 103 Receive a verification result of the integrity verification value by the first network element.
  • the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
  • FIG. 2 is a flowchart of a verification method provided by an embodiment of the present disclosure, which is applied to the first network element.
  • the first network element may be UDM, for example. As shown in Figure 2, it includes the following steps:
  • Step 201 Receive the integrity verification value sent by the terminal.
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the first network element receives the SUCI sent by the terminal, and carries the first integrity protection label in the SUCI.
  • the first network element receives the SUCI and the second integrity protection label
  • the first network element receives the SUCI, the random number, and the third integrity protection label.
  • Step 202 Verify the integrity verification value.
  • this step may include:
  • Step 2021 Decrypt the SUCI to obtain SUPI.
  • Step 2022 Obtain the OPC key or root key according to the SUPI.
  • the corresponding relationship between the SUPI and the key can be stored in the first network element. Then, here, the OPC key or the root key can be obtained according to the SUPI obtained in step 2021.
  • Step 2023 Use the integrity calculation function to perform calculations on the OPC key or root key of the third information and the fourth information to obtain a first calculation value; wherein, the third information is the integrity key, so The fourth information is the result of encryption performed by the SUPI using the encryption key.
  • Tag is the first operation value
  • K M represents the integrity key
  • K E represents the encryption key
  • K represents the root key.
  • the integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
  • Step 2024 When the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • this step may include:
  • Step 2025 Decrypt the SUCI to obtain SUPI.
  • Step 2026 Search the SUPI in the database.
  • Step 2027 If the SUPI is not found, the verification result is that the verification fails.
  • the method may further include:
  • Step 2028 If the SUPI is found, obtain the session root key K AUSF corresponding to the SUPI.
  • the first network element may obtain the session itself stored root key K AUSF; or obtaining the root key K AUSF session from the second network element.
  • the second network element may be AUSF, for example.
  • Step 2029 Use an integrity calculation function to perform calculations on the fifth information, the sixth information, and the session root key KAUSF to obtain a second calculation value; wherein, the fifth information is the integrity key, and the The sixth information is the encryption result of using the encryption key to encrypt the SUPI.
  • Step 2030 In a case where the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • K AUSF The initial value of K AUSF is zero.
  • K AUSF On the network side, there are two possibilities for storing K AUSF : (1) It is stored on both AUSF and UDM at the same time; (2) It is only stored on AUSF.
  • UDM decrypts SUCI to obtain SUPI, and directly uses the stored K AUSF to perform operations in the above manner and verify.
  • UDM first decrypts SUCI to get SUPI, and then searches for SUPI in the database. If there is no corresponding SUPI in the database, UDM returns a "404 Not Found” message, and the network returns a registration rejection message with reason #3 accordingly. If there is a corresponding SUPI in the database, UDM obtains the K AUSF corresponding to SUPI from AUSF , and then verifies the first integrity protection label. If the verification is passed, UDM returns a "200 OK" message containing the authentication vector; if the verification fails, UDM returns a "404 Not Found” message.
  • the first network element also needs to receive the SUCI sent by the terminal.
  • this step may include:
  • Step 2031 Decrypt the SUCI to obtain the SUPI and the second integrity protection label
  • Step 2032 obtain the OPC key or root key K according to the SUPI
  • Step 2033 Use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
  • Step 2034 In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • this step may include:
  • Step 2035 Decrypt the SUCI to obtain SUPI
  • Step 2036 Search the SUPI in the database
  • Step 2037 If the SUPI is not found, the verification result is that the verification fails.
  • the method may further include:
  • Step 2038 If the SUPI is found, obtain the session root key K AUSF corresponding to the SUPI;
  • Step 2039 Use an integrity calculation function to perform calculations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth calculation value.
  • Step 2040 In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the process of obtaining the session root key K AUSF corresponding to the SUPI may include obtaining the session root key K AUSF stored by the first network element itself; or obtaining the session from a second network element Root key K AUSF .
  • the second network element may be AUSF.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; this step may include:
  • Step 2041 Obtain the random number.
  • Step 2042 search the random number in the database.
  • Step 2043 If the random number is found, the verification result is that the verification fails.
  • the method may further include:
  • Step 2043 If the random number is not found, decrypt the SUCI to obtain SUPI;
  • Step 2044 Obtain the OPC key or root key K corresponding to the SUPI;
  • Step 2045 Use an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root secret. Perform operations on the key K and the random number to obtain a fifth operation value;
  • Step 2046 When the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the first network element After receiving SUCI, Nonce and NTag, the first network element first checks whether there is Nonce in the database. If it exists, it responds with a rejection message to resist replay attacks. If Nonce does not exist in the database, decrypt SUCI to get SUPI, and get OPC or root key K according to SUPI. Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate a verification vector. If the verification fails, reply with a rejection message.
  • Step 203 Send a verification result of the integrity verification value to the terminal.
  • the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
  • FIG. 3 is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
  • Step 301 The terminal converts the SUPI into SUCI, where the Tag in the SUCI is generated according to the method of the embodiment of the present disclosure, that is, the aforementioned first integrity protection tag.
  • the terminal sends the SUCI to the Access and Mobility Management Function (AMF)/Security Anchor Function (SEAF).
  • AMF Access and Mobility Management Function
  • SEAF Security Anchor Function
  • Step 302 AMF/SEAF sends SUCI to AUSF.
  • Step 303 AUSF sends SUCI to UDM.
  • Step 304 The UDM verifies the first integrity protection label in the SUCI.
  • the specific verification method can refer to the description of the foregoing embodiment.
  • Step 305 If the verification is passed, UDM sends "200 OK” to AUSF. If the verification fails, it will return "404 Not Found” with the content of "USER_NOT_FOUND".
  • Step 306 After receiving "200 OK", AUSF sends "201 Created” to AMF/SEAF. After AUSF receives "404 Not Found”, it will send the "404 Not Found” message to AMF/SEAF.
  • Step 307 In the case of "201 Created", the AMF/SEAF sends RAND and AUTN to the terminal in the verification request message. In the case of "404 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
  • Fig. 4 is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
  • Step 401 The terminal converts SUPI to SUCI, and obtains a second integrity protection label according to the method of the foregoing embodiment.
  • the terminal sends the SUCI and the second integrity protection label to AMF/SEAF.
  • Step 402 AMF/SEAF sends SUCI and the second integrity protection label to AUSF.
  • Step 403 AUSF sends the SUCI and the second integrity protection label to UDM.
  • Step 404 Verify the Tag in the SUCI and the second integrity protection tag.
  • the specific verification method can refer to the description of the foregoing embodiment.
  • Step 405 If the verification is passed, UDM sends "200 OK” to AUSF. If the verification fails, UDM returns "404 Not Found” with the content of "USER_NOT_FOUND".
  • Step 406 After receiving "200 OK", AUSF sends "201 Created” to AMF/SEAF. After AUSF receives "404 Not Found”, it will send the "404 Not Found” message to AMF/SEAF.
  • Step 407 In the case of "201 Created", AMF/SEAF sends RAND and AUTN to the terminal in the identity verification request message. In the case of "404 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
  • FIG. 5 is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
  • Step 501 The terminal sends the SUCI, the random number and the third integrity protection label to the AMF/SEAF.
  • the terminal can obtain the third integrity protection label according to the method of the foregoing embodiment.
  • Step 502 AMF/SEAF sends SUCI, random number and third integrity protection label to AUSF.
  • Step 503 AUSF sends SUCI, random number and third integrity protection label to UDM.
  • Step 504 The UDM verifies the random number and the third integrity protection label.
  • UDM first checks whether there is a random number Nonce in the database, and if it does, it responds with a rejection message to resist replay attacks; if the Nonce database does not exist, it decrypts SUCI to SUPI, and obtains OPC or root key K according to SUPI. . Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate an authentication vector. If the verification fails, reply with a rejection message.
  • Step 505 If the verification fails or there is a random number Nonce, return "504 Not Found” with the content of "USER_NOT_FOUND". If the verification is passed, "200 OK" is sent to AUSF.
  • Step 506 After receiving "200 OK", AUSF sends "201 Created” to AMF/SEAF. After the AUSF receives the "504 Not Found”, it will send the "504 Not Found” message to the AMF/SEAF.
  • Step 507 In the case of "201 Created", AMF/SEAF sends RAND and AUTN to the terminal in the identity verification request message. In the case of "504 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
  • the embodiment of the present disclosure also provides a verification device, which is applied to a terminal.
  • a verification device which is applied to a terminal.
  • FIG. 6 which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
  • the verification device includes: an acquisition module 601, configured to perform integrity operations on target information using a shared key to obtain an integrity verification value; and a sending module 602, configured to send the integrity to the first network element Verification value; a receiving module 603, configured to receive the verification result of the integrity verification value of the first network element;
  • the shared key is a key used between the first network element and the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the obtaining module 601 is specifically configured to perform operations on the OPC key or root key K, first information, and second information by using an integrity operation function through USIM to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the obtaining module 601 is specifically configured to perform operations on the first information, the second information, and the session root key K AUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the sending module 602 is specifically configured to send SUCI to the first network element, and the first integrity protection label is carried in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the obtaining module 601 is specifically configured to perform operations on the OPC key or root key K and the existing integrity protection label in the SUCI by using an integrity operation function through the USIM to obtain the second integrity protection label.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the acquisition module 601 is specifically configured to perform operations on the existing integrity protection label in the SUCI and the session root key K AUSF between the ME using an integrity operation function to obtain the second integrity protection label .
  • the sending module 602 is further configured to send SUCI and the second integrity protection label to the first network element.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the obtaining module 601 includes:
  • the obtaining sub-module is used to perform operations on the OPC key or root key K and the random number by the USIM using an integrity operation function to obtain the third integrity protection label; or, using a predefined
  • the function performs an operation on the OPC key and/or the root key K and the random number to obtain the third integrity protection label.
  • the sending module 602 is configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • the device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described in this embodiment here.
  • the embodiment of the present disclosure also provides a verification device, which is applied to the first network element.
  • FIG. 7 is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
  • the verification device includes: a receiving module 701, used to receive the integrity verification value sent by the terminal; a verification module 702, used to verify the integrity verification value; a sending module 703, used to send the The terminal sends a verification result of the integrity verification value; wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is the first network element and the The key used between the terminals.
  • the integrity verification value is a first integrity protection label
  • the receiving module is configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
  • the processing sub-module is used to perform operations on the OPC key or root key K, the third information, and the fourth information by using the integrity operation function to obtain the first operation value; wherein, the third information is the integrity secret Key, the fourth information is an encryption result obtained by encrypting the SUPI using an encryption key;
  • the verification sub-module is configured to, when the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • the search sub-module is used to search the SUPI in the database
  • the verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
  • the verification module further includes:
  • the obtaining sub-module is used to obtain the session root key K AUSF corresponding to the SUPI when the SUPI is found;
  • the processing sub-module is used to perform operations on the fifth information, the sixth information and the session root key K AUSF by using an integrity operation function to obtain a second operation value; wherein, the fifth information is an integrity key, The sixth information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification sub-module is further configured to: in the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label; the receiving module is further configured to receive the SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
  • a processing sub-module configured to use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value
  • the verification sub-module is configured to verify that the verification result is passed when the verification of the integrity protection label carried in the SUCI and the second operation value is passed; otherwise, the verification result is that the verification fails.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the verification module includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI;
  • the search sub-module is used to search the SUPI in the database
  • the verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
  • the verification module further includes:
  • the obtaining sub-module is used to obtain the session root key K AUSF corresponding to the SUPI when the SUPI is found;
  • a processing submodule configured to use an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth operation value;
  • the verification submodule is further configured to: in the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the obtaining submodule is configured to obtain the session root key K AUSF stored by the first network element itself; or obtain the session root key K AUSF from the second network element.
  • the integrity verification value is a random number and a third integrity protection label
  • the receiving module is further configured to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the verification module includes:
  • the first obtaining submodule is used to obtain the random number
  • the search sub-module is used to search the random number in the database
  • the verification sub-module is used to verify that the verification fails when the random number is found.
  • the verification module further includes:
  • the decryption sub-module is used to decrypt the SUCI to obtain SUPI if the random number is not found;
  • the second obtaining submodule is used to obtain the OPC key or root key K corresponding to the SUPI;
  • the processing sub-module is used to perform operations on the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/ Or the root key K and the random number are operated to obtain the fifth operation value;
  • the verification sub-module is further configured to: in the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the device further includes:
  • the storage module is configured to store the random number when the random number is not found.
  • the device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
  • the embodiment of the present disclosure also provides a verification device, which is applied to a terminal.
  • a verification device which is applied to a terminal.
  • FIG. 8 which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
  • the verification device includes: a processor 801 and a transceiver 802.
  • the processor 801 is configured to perform an integrity operation on the target information by using a shared key to obtain an integrity verification value
  • the transceiver 802 is configured to send the integrity verification value to a first network element; receive a verification result of the integrity verification value by the first network element;
  • the shared key is a key used between the first network element and the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to perform operations on the first information, the second information, and the session root key K AUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the transceiver is further configured to send a user hidden identifier SUCI to the first network element, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the processor is further configured to: use an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI through the USIM to obtain the second integrity protection label .
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the processor is further configured to: calculate the existing integrity protection label in the SUCI and the session root key K AUSF between the ME using an integrity operation function to obtain the second integrity protection label.
  • the processor is further configured to send SUCI and the second integrity protection label to the first network element.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the processor is further configured to: generate a random number through the USIM; the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection Label; or, using a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the third integrity protection label.
  • the transceiver is further configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • the device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
  • the embodiment of the present disclosure also provides a verification device, which is applied to the first network element.
  • a verification device which is applied to the first network element.
  • FIG. 9 is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
  • the verification device includes: a processor 901 and a transceiver 902.
  • the transceiver 902 is configured to receive the integrity verification value sent by the terminal;
  • the processor 901 is configured to verify the integrity verification value
  • the transceiver 902 is further configured to send a verification result of the integrity verification value to the terminal;
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the integrity verification value is a first integrity protection label
  • the transceiver is further configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the processor is further configured to:
  • the OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor is further configured to:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the fifth information, the sixth information, and the session root key K AUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is An encryption result obtained by encrypting the SUPI using an encryption key;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label
  • the transceiver is also used to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K known to the first network element and the terminal; the processor is also used to: decrypt the SUCI to obtain SUPI and the second Integrity protection label;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the processor is also used for:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor is further configured to: obtain the session root key K AUSF stored by the first network element itself; or obtain the session root key K AUSF from the second network element.
  • the integrity verification value is a random number and a third integrity protection label
  • the transceiver is also used to receive SUCI sent by the terminal.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the processor is also used for:
  • the verification result is that the verification fails.
  • processor is also used for:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor is further configured to store the random number when the random number is not found.
  • the device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
  • the communication device of the embodiment of the present disclosure applied to a terminal, includes: a processor 1000, configured to read a program in a memory 1020, and execute the following process:
  • the shared key is a key used between the first network element and the terminal.
  • the transceiver 1010 is used to receive and send data under the control of the processor 1000.
  • the bus architecture may include any number of interconnected buses and bridges. Specifically, one or more processors represented by the processor 1000 and various circuits of the memory represented by the memory 1020 are linked together.
  • the bus architecture can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, will not be further described herein.
  • the bus interface provides the interface.
  • the transceiver 1010 may be a plurality of elements, including a transmitter and a transceiver, and provide a unit for communicating with various other devices on a transmission medium.
  • the processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 can store data used by the processor 1000 when performing operations.
  • the processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 can store data used by the processor 1000 when performing operations.
  • the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor 1000 is further configured to read the program and execute the following steps:
  • USIM uses an integrity calculation function to perform calculations on the OPC key or root key K, first information, and second information to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting SUPI with an encryption key.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor 1000 is also used to read The procedure described below performs the following steps:
  • the ME uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key K AUSF key to obtain the first integrity protection label;
  • the first information is an integrity key
  • the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  • the processor 1000 is further configured to read the program and execute the following steps:
  • the shared key is an OPC key or a root key K known to the first network element and the terminal; the integrity verification value is a second integrity protection label; the processor 1000 is also used to read
  • the procedure described below performs the following steps:
  • the USIM uses an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI to obtain the second integrity protection label.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a second integrity protection label;
  • the processor 1000 is also used to read The procedure described below performs the following steps:
  • the ME uses an integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key K AUSF between the two to obtain the second integrity protection label.
  • the processor 1000 is further configured to read the program and execute the following steps:
  • the shared key is an OPC key or a root key K commonly known to the first network element and the terminal;
  • the integrity verification value is a random number and a third integrity protection label;
  • the processor 1000 It is also used to read the program and perform the following steps:
  • the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection label; or, use a predefined function to perform operations on the OPC secret
  • the key and/or the root key K and the random number are operated to obtain the third integrity protection label.
  • the processor 1000 is further configured to read the program and execute the following steps:
  • the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  • the communication device of the embodiment of the present disclosure applied to the first network element, includes: a processor 1100, configured to read a program in a memory 1111, and execute the following process:
  • the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  • the transceiver 1110 is configured to receive and send data under the control of the processor 1100.
  • the bus architecture may include any number of interconnected buses and bridges. Specifically, one or more processors represented by the processor 1100 and various circuits of the memory represented by the memory 1111 are linked together.
  • the bus architecture can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, will not be further described herein.
  • the bus interface provides the interface.
  • the transceiver 1110 may be a plurality of elements, including a transmitter and a transceiver, and provide a unit for communicating with various other devices on a transmission medium.
  • the processor 1100 is responsible for managing the bus architecture and general processing, and the memory 1111 may store data used by the processor 1100 when performing operations.
  • the processor 1100 is responsible for managing the bus architecture and general processing, and the memory 1111 may store data used by the processor 1100 when performing operations.
  • the integrity verification value is the first integrity protection label
  • the processor 1100 is further configured to read the program and perform the following steps: receive the SUCI sent by the terminal, and carry the first SUCI in the SUCI Integrity protection label.
  • the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
  • the OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key K AUSF between the first network element and the terminal;
  • the integrity verification value is a first integrity protection label;
  • the processor 1100 is also used to read The procedure described below performs the following steps:
  • the verification result is that the verification fails.
  • the processor 1100 is further configured to read the program and execute the following steps:
  • the fifth information, the sixth information, and the session root key K AUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is An encryption result obtained by encrypting the SUPI using an encryption key;
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the integrity verification value is a second integrity protection label
  • the processor 1100 is further configured to read the program and execute the following steps: receiving the SUCI and the second integrity protection label sent by the terminal.
  • the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the shared key is the session root key K AUSF between the first network element and the terminal; the processor 1100 is further configured to read the program and perform the following steps:
  • the verification result is that the verification fails.
  • the processor 1100 is further configured to read the program and execute the following steps:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor 1100 is further configured to read the program and execute the following steps:
  • the integrity verification value is a random number and a third integrity protection label; the processor 1100 is further configured to read the program and execute the following steps:
  • the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
  • the verification result is that the verification fails.
  • the processor 1100 is further configured to read the program and execute the following steps:
  • the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  • the processor 1100 is further configured to read the program and execute the following steps:
  • the random number is stored.
  • the embodiments of the present disclosure also provide a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium.
  • a computer program is stored on the computer-readable storage medium.
  • the computer program is executed by a processor, each process of the above-mentioned verification method embodiment is realized, and the same technical effect can be achieved. To avoid repetition, I won’t repeat it here.
  • the computer-readable storage medium such as read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk, or optical disk, etc.
  • the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better.
  • Implementation mode According to this understanding, the technical solution of the present disclosure can be embodied in the form of a software product in essence or the part that contributes to the related technology.
  • the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk). ) Includes several instructions to make a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

The present disclosure relates to the technical field of communications. Disclosed are a verification method, device and equipment and a computer readable storage medium, for solving the problem of SUPI guessing attacks. The method comprises: performing an integrity operation on target information by using a shared key to obtain an integrity verification value; sending the integrity verification value to a first network element; and receiving a verification result of the first network element for the integrity verification value. The shared key is used between the first network element and a terminal.

Description

验证方法、装置、设备及计算机可读存储介质Verification method, device, equipment and computer readable storage medium
相关申请的交叉引用Cross-references to related applications
本申请主张在2019年11月6日在中国提交的中国专利申请号No.201911104767.8的优先权,其全部内容通过引用包含于此。This application claims the priority of Chinese Patent Application No. 201911104767.8 filed in China on November 6, 2019, the entire content of which is incorporated herein by reference.
技术领域Technical field
本公开涉及通信技术领域,尤其涉及一种验证方法、装置、设备及计算机可读存储介质。The present disclosure relates to the field of communication technologies, and in particular, to a verification method, device, device, and computer-readable storage medium.
背景技术Background technique
5G安全标准采用集成加密方案(elliptic curve integrate encrypt scheme,ECIES)保护用户长期标识(Subscription Permanent Identifier,SUPI),以保护用户的隐私。The 5G security standard adopts an integrated encryption scheme (elliptic curve integrate encrypt scheme, ECIES) to protect the user's long-term identity (Subscription Permanent Identifier, SUPI) to protect user privacy.
ECIES通过对SUPI的加密,使攻击者无法在无线空口获得用户设备(User Equipment,UE)的SUPI。但攻击者通过猜测SUPI的值,并观察统一数据管理实体(Unified Data Management,UDM)的反馈消息,即可确认猜测的SUPI是否正确。上述称为SUPI猜测攻击。攻击者可以通过多次重复上述攻击找出某个特定网络的整个SUPI数据库。如何解决SUPI猜测攻击是相关技术人员研究的主要方向。ECIES encrypts SUPI so that the attacker cannot obtain the SUPI of User Equipment (UE) on the wireless air interface. However, the attacker can confirm whether the guessed SUPI is correct by guessing the value of SUPI and observing the feedback message of the Unified Data Management (UDM) entity. The above is called a SUPI guessing attack. The attacker can find out the entire SUPI database of a particular network by repeating the above attack several times. How to solve the SUPI guessing attack is the main research direction of related technical personnel.
发明内容Summary of the invention
本公开实施例提供一种验证方法、装置、设备及计算机可读存储介质,以解决SUPI猜测攻击。The embodiments of the present disclosure provide a verification method, device, equipment, and computer-readable storage medium to solve the SUPI guessing attack.
第一方面,本公开实施例提供了一种验证方法,应用于终端,包括:In the first aspect, embodiments of the present disclosure provide a verification method applied to a terminal, including:
利用共享密钥对目标信息进行完整性运算,得到完整性验证值;Use the shared key to perform integrity operations on the target information to obtain the integrity verification value;
向第一网元发送所述完整性验证值;Sending the integrity verification value to the first network element;
接收所述第一网元对所述完整性验证值的验证结果;Receiving a verification result of the integrity verification value of the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的操作员特定代码(Operator Specific Code,OPC)密钥或根密钥K;所述完整性验证值为第一完整性保护标签;The shared key is an operator specific code (OPC) key or root key K that is commonly known to the first network element and the terminal; the integrity verification value is the first complete Sexual protection label;
所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
由全球用户识别模块(Universal Subscriber Identity Module,USIM)利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;A global subscriber identity module (Universal Subscriber Identity Module, USIM) uses an integrity calculation function to perform calculations on the OPC key or root key K, first information, and second information to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
由移动端(Mobile End,ME)利用完整性运算函数对第一信息、第二信息、所述会话根密钥KAUSF钥进行运算,得到所述第一完整性保护标签;The mobile end (Mobile End, ME) uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key KAUSF key to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述向第一网元发送所述完整性验证值,包括:Wherein, the sending the integrity verification value to the first network element includes:
向所述第一网元发送用户隐藏标识(Subscription Concealed Identifier,SUCI),在所述SUCI中携带所述第一完整性保护标签。Send a subscriber hidden identifier (Subscription Concealed Identifier, SUCI) to the first network element, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a second integrity protection label;
其中,所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:Wherein, the use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
由USIM利用完整性运算函数对SUCI中所述OPC密钥或根密钥K以及已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The USIM uses an integrity calculation function to perform calculations on the OPC key or root key K in the SUCI and the existing integrity protection label to obtain the second integrity protection label.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
由ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥KAUSF进行运算,得到所述第二完整性保护标签。The ME uses the integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between the two to obtain the second integrity protection label.
其中,所述向第一网元发送所述完整性验证值,包括:Wherein, the sending the integrity verification value to the first network element includes:
向所述第一网元发送SUCI以及所述第二完整性保护标签。Sending the SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label;
所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
由USIM生成随机数;Random number generated by USIM;
由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection label; or, use a predefined function to perform operations on the OPC secret The key and/or the root key K and the random number are operated to obtain the third integrity protection label.
其中,所述向第一网元发送所述完整性验证值,包括:Wherein, the sending the integrity verification value to the first network element includes:
由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Sending, by the ME, the SUCI, the random number, and the third integrity protection label to the first network element;
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
第二方面,本公开实施例提供了一种验证方法,应用于第一网元,包括:In the second aspect, embodiments of the present disclosure provide a verification method applied to a first network element, including:
接收终端发送的完整性验证值;Receive the integrity verification value sent by the terminal;
对所述完整性验证值进行验证;Verify the integrity verification value;
向所述终端发送对所述完整性验证值的验证结果;Sending a verification result of the integrity verification value to the terminal;
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
其中,所述完整性验证值为第一完整性保护标签;Wherein, the integrity verification value is a first integrity protection label;
所述接收终端发送的完整性验证值,包括:The integrity verification value sent by the receiving terminal includes:
接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。Receiving the SUCI sent by the terminal, and carrying the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述对所述完整性验证值进行验证,包括:Wherein, the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal; the verification of the integrity verification value includes:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述方法还包括:Wherein, the method further includes:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;In the case of finding the SUPI, obtain the session root key KAUSF corresponding to the SUPI;
利用完整性运算函数对第五信息、第六信息以及所述会话根密钥KAUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果;The fifth information, the sixth information, and the session root key KAUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is the use An encryption result obtained by encrypting the SUPI by an encryption key;
在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;Wherein, the integrity verification value is a second integrity protection label;
所述接收终端发送的完整性验证值,包括:The integrity verification value sent by the receiving terminal includes:
接收所述终端发送的SUCI和所述第二完整性保护标签。Receiving the SUCI and the second integrity protection label sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
解密所述SUCI,得到SUPI和所述第二完整性保护标签;Decrypt the SUCI to obtain SUPI and the second integrity protection label;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Using an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal;
所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述方法还包括:Wherein, the method further includes:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;In the case of finding the SUPI, obtain the session root key KAUSF corresponding to the SUPI;
利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥KAUSF进行运算,得到第四运算值;Using an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key KAUSF to obtain a fourth operation value;
在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述获取所述SUPI对应的会话根密钥KAUSF,包括:Wherein, the obtaining the session root key KAUSF corresponding to the SUPI includes:
获取所述第一网元自身存储的所述会话根密钥KAUSF;或者Obtain the session root key KAUSF stored by the first network element itself; or
从第二网元获取所述会话根密钥KAUSF。Obtain the session root key KAUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;Wherein, the integrity verification value is a random number and a third integrity protection label;
所述方法还包括:The method also includes:
接收所述终端发送的SUCI。Receive the SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
获得所述随机数;Obtain the random number;
在数据库中查找所述随机数;Look up the random number in the database;
在查找到所述随机数的情况下,验证结果为验证不通过。In the case where the random number is found, the verification result is that the verification fails.
其中,所述方法还包括:Wherein, the method further includes:
在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;If the random number is not found, decrypt the SUCI to obtain SUPI;
获取所述SUPI对应的OPC密钥或根密钥K;Obtaining the OPC key or root key K corresponding to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Operate the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root key K and Performing an operation on the random number to obtain a fifth operation value;
在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述方法还包括:Wherein, the method further includes:
在未查找到所述随机数的情况下,存储所述随机数。If the random number is not found, the random number is stored.
第三方面,本公开实施例提供了一种验证装置,应用于终端,包括:In a third aspect, embodiments of the present disclosure provide a verification device, which is applied to a terminal, and includes:
获取模块,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;The acquisition module is used to perform integrity operations on the target information by using the shared key to obtain the integrity verification value;
发送模块,用于向第一网元发送所述完整性验证值;A sending module, configured to send the integrity verification value to the first network element;
接收模块,用于接收所述第一网元对所述完整性验证值的验证结果;A receiving module, configured to receive a verification result of the integrity verification value of the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述获取模块具体用于,通过USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;The obtaining module is specifically configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
获取模块具体用于,通过ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥KAUSF钥进行运算,得到所述第一完整性保护标签;The obtaining module is specifically configured to perform operations on the first information, the second information, and the session root key KAUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述发送模块具体用于,向所述第一网元发送SUCI,在所述SUCI中携带所述第一完整性保护标签。Wherein, the sending module is specifically configured to send SUCI to the first network element, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述获取模块具体用于,通过USIM利用完整性运算函数对SUCI中所述OPC密钥或根密钥K以及已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The acquisition module is specifically configured to perform operations on the OPC key or root key K and the existing integrity protection label in the SUCI by using the integrity operation function through the USIM to obtain the second integrity protection label.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述获取模块具体用于,通过ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥KAUSF进行运算,得到所述第二完整性保护标签。The acquisition module is specifically configured to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between the ME using an integrity operation function to obtain the second integrity protection label.
其中,所述发送模块具体用于向所述第一网元发送SUCI以及所述第二完整性保护标签。Wherein, the sending module is specifically configured to send SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label;
所述获取模块包括:The acquisition module includes:
生成子模块,用于通过USIM生成随机数;Generate sub-module, used to generate random numbers through USIM;
获取子模块,用于由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The obtaining sub-module is used to perform operations on the OPC key or root key K and the random number by the USIM using an integrity operation function to obtain the third integrity protection label; or, using a predefined The function performs an operation on the OPC key and/or the root key K and the random number to obtain the third integrity protection label.
其中,所述发送模块用于,通过ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Wherein, the sending module is configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
第四方面,本公开实施例提供了一种验证装置,应用于第一网元,包括:In a fourth aspect, embodiments of the present disclosure provide a verification device, which is applied to a first network element, and includes:
接收模块,用于接收终端发送的完整性验证值;The receiving module is used to receive the integrity verification value sent by the terminal;
验证模块,用于对所述完整性验证值进行验证;A verification module for verifying the integrity verification value;
发送模块,用于向所述终端发送对所述完整性验证值的验证结果;A sending module, configured to send a verification result of the integrity verification value to the terminal;
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
其中,所述完整性验证值为第一完整性保护标签;Wherein, the integrity verification value is a first integrity protection label;
所述接收模块,用于接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。The receiving module is configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
获取子模块,用于根据所述SUPI得到所述OPC密钥或根密钥K;An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The processing sub-module is used to perform operations on the OPC key or root key K, the third information, and the fourth information by using the integrity operation function to obtain the first operation value; wherein, the third information is the integrity secret Key, the fourth information is an encryption result obtained by encrypting the SUPI using an encryption key;
验证子模块,用于在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is configured to, when the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述验证模块包括:Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
查找子模块,用于在数据库中查找所述SUPI;The search sub-module is used to search the SUPI in the database;
验证子模块,用于在未查找到所述SUPI的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
获取子模块,用于在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;The obtaining sub-module is used to obtain the session root key KAUSF corresponding to the SUPI when the SUPI is found;
处理子模块,用于利用完整性运算函数对第五信息、第六信息以及所述会话根密钥KAUSF进行运算,得到第二运算值;其中,所述第五信息为完 整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果;The processing sub-module is used to perform operations on the fifth information, the sixth information and the session root key KAUSF by using the integrity operation function to obtain the second operation value; wherein, the fifth information is the integrity key, so The sixth information is an encryption result of using an encryption key to encrypt the SUPI;
所述验证子模块还用于,在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is further configured to: in the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;所述接收模块还用于,接收所述终端发送的SUCI。Wherein, the integrity verification value is a second integrity protection label; the receiving module is further configured to receive the SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI和所述第二完整性保护标签;A decryption sub-module for decrypting the SUCI to obtain the SUPI and the second integrity protection label;
获取子模块,用于根据所述SUPI得到所述OPC密钥或根密钥K;An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;A processing sub-module, configured to use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
验证子模块,用于在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is configured to verify that the verification result is passed when the verification of the integrity protection label carried in the SUCI and the second operation value is passed; otherwise, the verification result is that the verification fails.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述验证模块包括:Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
查找子模块,用于在数据库中查找所述SUPI;The search sub-module is used to search the SUPI in the database;
验证子模块,用于在未查找到所述SUPI的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
获取子模块,用于在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;The obtaining sub-module is used to obtain the session root key KAUSF corresponding to the SUPI when the SUPI is found;
处理子模块,用于利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥KAUSF进行运算,得到第四运算值;A processing sub-module, configured to use an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key KAUSF to obtain a fourth operation value;
所述验证子模块还用于,在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification submodule is further configured to: in the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述获取子模块,用于获取所述第一网元自身存储的所述会话根密钥KAUSF;或者从第二网元获取所述会话根密钥KAUSF。Wherein, the obtaining submodule is configured to obtain the session root key KAUSF stored by the first network element itself; or obtain the session root key KAUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;Wherein, the integrity verification value is a random number and a third integrity protection label;
所述接收模块还用于,接收所述终端发送的SUCI。The receiving module is further configured to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
第一获取子模块,用于获得所述随机数;The first obtaining submodule is used to obtain the random number;
查找子模块,用于在数据库中查找所述随机数;The search sub-module is used to search the random number in the database;
验证子模块,用于在查找到所述随机数的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification fails when the random number is found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
解密子模块,用于在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI if the random number is not found;
第二获取子模块,用于获取所述SUPI对应的OPC密钥或根密钥K;The second obtaining submodule is used to obtain the OPC key or root key K corresponding to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;The processing sub-module is used to perform operations on the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/ Or the root key K and the random number are operated to obtain the fifth operation value;
所述验证子模块还用于,在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is further configured to: in the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述装置还包括:Wherein, the device further includes:
存储模块,用于在未查找到所述随机数的情况下,存储所述随机数。The storage module is configured to store the random number when the random number is not found.
第五方面,本公开实施例提供了一种验证装置,应用于终端,包括:处理器和收发器;In a fifth aspect, embodiments of the present disclosure provide a verification device, which is applied to a terminal and includes a processor and a transceiver;
所述处理器,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;The processor is configured to perform an integrity operation on the target information by using a shared key to obtain an integrity verification value;
所述收发器,用于向第一网元发送所述完整性验证值;接收所述第一网元对所述完整性验证值的验证结果;The transceiver is configured to send the integrity verification value to a first network element; receive a verification result of the integrity verification value by the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密 钥K;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述处理器还用于:通过USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;The processor is further configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述处理器还用于:通过ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥KAUSF钥进行运算,得到所述第一完整性保护标签;The processor is further configured to perform operations on the first information, the second information, and the session root key KAUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
所述收发器器还用于:向所述第一网元发送用户隐藏标识SUCI,在所述SUCI中携带所述第一完整性保护标签。The transceiver is further configured to send a user hidden identifier SUCI to the first network element, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述处理器还用于:通过USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The processor is further configured to: use an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI through the USIM to obtain the second integrity protection label .
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述处理器还用于:通过ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥KAUSF进行运算,得到所述第二完整性保护标签。The processor is further configured to: use the ME to use an integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key KAUSF between them to obtain the second integrity protection label.
其中,所述处理器还用于,向所述第一网元发送SUCI和所述第二完整性保护标签。Wherein, the processor is further configured to send SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label;
所述处理器还用于:通过USIM生成随机数;由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述 第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The processor is further configured to: generate a random number through the USIM; the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection Label; or, using a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the third integrity protection label.
其中,所述收发器还用于,通过由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签。Wherein, the transceiver is further configured to send the SUCI, the random number, and the third integrity protection label to the first network element through the ME.
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
第六方面,本公开实施例提供了一种验证装置,应用于第一网元,包括:处理器和收发器;In a sixth aspect, embodiments of the present disclosure provide a verification device, which is applied to a first network element, and includes: a processor and a transceiver;
所述收发器,用于接收终端发送的完整性验证值;The transceiver is used to receive the integrity verification value sent by the terminal;
所述处理器,用于对所述完整性验证值进行验证;The processor is configured to verify the integrity verification value;
所述收发器,还用于向所述终端发送对所述完整性验证值的验证结果;The transceiver is further configured to send a verification result of the integrity verification value to the terminal;
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
其中,所述完整性验证值为第一完整性保护标签;Wherein, the integrity verification value is a first integrity protection label;
所述收发器还用于,接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。The transceiver is further configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述处理器还用于:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the processor is further configured to:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;所述完整性验证值为第一完整性保护标签;所述处理器还用于:Wherein, the shared key is the session root key KAUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label; the processor is further configured to:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;In the case of finding the SUPI, obtain the session root key KAUSF corresponding to the SUPI;
利用完整性运算函数对第五信息、第六信息以及所述会话根密钥KAUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果;The fifth information, the sixth information, and the session root key KAUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is the use An encryption result obtained by encrypting the SUPI by an encryption key;
在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;Wherein, the integrity verification value is a second integrity protection label;
所述收发器,还用于接收所述终端发送的SUCI。The transceiver is also used to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述处理器还用于:解密所述SUCI,得到SUPI和所述第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K known to the first network element and the terminal; the processor is also used to: decrypt the SUCI to obtain SUPI and the second Integrity protection label;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Using an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥KAUSF;Wherein, the shared key is the session root key KAUSF between the first network element and the terminal;
所述处理器还用于:The processor is also used for:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥KAUSF;In the case of finding the SUPI, obtain the session root key KAUSF corresponding to the SUPI;
利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥KAUSF进行运算,得到第四运算值;Using an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key KAUSF to obtain a fourth operation value;
在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述处理器还用于:获取所述第一网元自身存储的所述会话根密钥KAUSF;或者从第二网元获取所述会话根密钥KAUSF。Wherein, the processor is further configured to: obtain the session root key KAUSF stored by the first network element itself; or obtain the session root key KAUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;Wherein, the integrity verification value is a random number and a third integrity protection label;
所述收发器还用于,接收所述终端发送的SUCI。The transceiver is also used to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
所述处理器还用于:The processor is also used for:
获得所述随机数;Obtain the random number;
在数据库中查找所述随机数;Look up the random number in the database;
在查找到所述随机数的情况下,验证结果为验证不通过。In the case where the random number is found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;If the random number is not found, decrypt the SUCI to obtain SUPI;
获取所述SUPI对应的OPC密钥或根密钥K;Obtaining the OPC key or root key K corresponding to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Operate the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root key K and Performing an operation on the random number to obtain a fifth operation value;
在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述处理器还用于:在未查找到所述随机数的情况下,存储所述随机数。Wherein, the processor is further configured to store the random number when the random number is not found.
在本公开实施例中,利用终端和第一网元的共享密钥对目标信息进行完整性运算,从而生成完整性验证值。因攻击者不知道终端和第一网元的共享密钥,因此,即使SUPI猜测正确,第一网元也会检测出完整性验证值的错误,并会返回注册拒绝消息,从而解决SUPI猜测攻击问题。In the embodiment of the present disclosure, the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
附图说明Description of the drawings
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例描 述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present disclosure more clearly, the following will briefly introduce the accompanying drawings used in the description of the embodiments of the present disclosure. Obviously, the accompanying drawings in the following description are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained from these drawings without creative labor.
图1是本公开实施例提供的验证方法的流程图之一;FIG. 1 is one of the flowcharts of the verification method provided by an embodiment of the present disclosure;
图2是本公开实施例提供的验证方法的流程图之二;FIG. 2 is the second flow chart of the verification method provided by an embodiment of the present disclosure;
图3是本公开实施例提供的验证方法的流程图之三;FIG. 3 is the third flowchart of the verification method provided by an embodiment of the present disclosure;
图4是本公开实施例提供的验证方法的流程图之四;FIG. 4 is the fourth flow chart of the verification method provided by the embodiment of the present disclosure;
图5是本公开实施例提供的验证方法的流程图之五;FIG. 5 is the fifth flowchart of the verification method provided by an embodiment of the present disclosure;
图6是本公开实施例提供的验证装置的结构图之一;FIG. 6 is one of the structural diagrams of the verification device provided by the embodiment of the present disclosure;
图7是本公开实施例提供的验证装置的结构图之二;FIG. 7 is the second structural diagram of the verification device provided by the embodiment of the present disclosure;
图8是本公开实施例提供的验证装置的结构图之三;FIG. 8 is the third structural diagram of the verification device provided by the embodiment of the present disclosure;
图9是本公开实施例提供的验证装置的结构图之四;FIG. 9 is the fourth structural diagram of the verification device provided by an embodiment of the present disclosure;
图10是本公开实施例提供的通信设备的结构图之一;FIG. 10 is one of the structural diagrams of a communication device provided by an embodiment of the present disclosure;
图11是本公开实施例提供的通信设备的结构图之二。Fig. 11 is a second structural diagram of a communication device provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。The technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present disclosure.
参见图1,图1是本公开实施例提供的验证方法的流程图,应用于终端。如图1所示,包括以下步骤:Referring to FIG. 1, FIG. 1 is a flowchart of a verification method provided by an embodiment of the present disclosure, which is applied to a terminal. As shown in Figure 1, it includes the following steps:
步骤101、利用共享密钥对目标信息进行完整性运算,得到完整性验证值。Step 101: Perform an integrity operation on the target information by using a shared key to obtain an integrity verification value.
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
相关技术中,终端加密SUPI的过程如下:首先随机生成椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie-Hellman key Exchange,ECDH)私钥A PRI,并推演出ECDH公钥A PUB。然后,终端使用自己的私钥A PRI和网络的ECDH公钥B PUB生成共享密钥K ECDH。终端从K ECDH推演出加密密钥K E,AES计数 加密的初始值,完整性密钥K M,称为密钥数据K D,即: In related technologies, the process of terminal encryption for SUPI is as follows: First, an elliptic curve Diffie-Hellman key exchange (Elliptic Curve Diffie-Hellman key exchange, ECDH) private key A PRI is randomly generated, and an ECDH public key A PUB is derived . Then, the terminal uses its own private key A PRI and the network's ECDH public key B PUB to generate a shared key K ECDH . The terminal derives the encryption key K E from K ECDH , the initial value of AES count encryption, and the integrity key K M , which is called key data K D , namely:
Figure PCTCN2020120327-appb-000001
Figure PCTCN2020120327-appb-000001
这里KDF是密钥推演函数,
Figure PCTCN2020120327-appb-000002
是终端的ECDH公钥A PUB的十进制数。KD的最左边为加密密钥K E,中间为AES计数加密的初始值,最右边为完整性密钥K M
Here KDF is the key deduction function,
Figure PCTCN2020120327-appb-000002
It is the decimal number of the terminal's ECDH public key A PUB. The far left of KD is the encryption key K E , the middle is the initial value of AES count encryption, and the far right is the integrity key K M.
基于高级加密标准(Advanced Encryption Standard,AES)计数加密方式使用K E对SUPI进行加密,使用K M对SUPI的加密消息进行完保,产生完整性保护标签Tag。 Counting Advanced Encryption Standard (Advanced Encryption Standard, AES) for encryption using K E SUPI encrypt the encrypted message using the K M SUPI is complete security, generate an integrity protection tag Tag.
其中,Tag=HMAC-SHA-256(K M,K E{SUPI}) Among them, Tag=HMAC-SHA-256(K M ,K E {SUPI})
其中,SUCI包括的内容如下:Among them, SUCI includes the following:
SUCI=SUPI的类型+归属网络标识+路由标识+保护方案标识+B PUB+A PUB+K E{SUPI}+Tag。 SUCI=Type of SUPI+Home network ID+Route ID+Protection scheme ID+B PUB +A PUB +K E {SUPI}+Tag.
其中,归属网络标识用于寻找到相应的归属网络,路由标识用于在同一归属网络中寻找到相应的UDM。Among them, the home network identifier is used to find the corresponding home network, and the routing identifier is used to find the corresponding UDM in the same home network.
在本公开实施例中,使用终端和网络的共享密钥对相关消息生成完整性验证值。因攻击者不知道终端和网络的共享密钥,即使SUPI猜测正确,网络也会检测出按照本公开实施例生成的完整性保护标签的错误,并会返回带有原因#3的注册拒绝消息,从而SUPI猜测攻击的问题被解决。In the embodiment of the present disclosure, the shared key of the terminal and the network is used to generate an integrity verification value for the related message. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the error of the integrity protection label generated according to the embodiment of the present disclosure, and will return a registration rejection message with reason #3. Thus the problem of SUPI guessing attack is solved.
根据生成完整性验证值的消息不同,本公开实施例中有三种实现方案。According to different messages for generating the integrity verification value, there are three implementation solutions in the embodiments of the present disclosure.
第一种方案是在生成完整性保护标签Tag的函数输入里加入只有终端和网络知道的密钥,得到第一完整性保护标签。这样即使SUPI猜测正确,因没有终端和网络知道的密钥,攻击者生成的Tag也会被网络检测出错误。那么,网络也就会返回带有原因#3的注册拒绝消息,从而解决SUPI猜测攻击问题。The first solution is to add a key that only the terminal and the network know to the function input for generating the integrity protection tag Tag to obtain the first integrity protection tag. In this way, even if the SUPI guess is correct, because there is no key known to the terminal and the network, the tag generated by the attacker will be detected by the network as an error. Then, the network will also return a registration rejection message with reason #3, thus solving the SUPI guessing attack problem.
具体的,在此方案中,SUPI加密可以在通用集成电路卡(或者称为Universal integrated circuit card,UICC,USIM)里执行,也可以在终端ME上执行。Specifically, in this solution, the SUPI encryption can be performed in a universal integrated circuit card (also called a universal integrated circuit card, UICC, USIM), or it can be performed on the terminal ME.
(1)SUPI在USIM上加密:(1) SUPI is encrypted on USIM:
具体的,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K,所述完整性验证值为第一完整性保护标签。Specifically, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal, and the integrity verification value is a first integrity protection label.
目前很多运营商均采用在USIM中预置OPC密钥,OPC是由OP和根密钥K经过一系列运算后得到的,这样就确保了不同卡片预置不同的OPC。当SUPI在USIM上加密时,在本公开实施中使用终端和网络共享密钥OPC或终端和网络共知的根密钥K生成第一完整性保护标签。At present, many operators use the OPC key preset in the USIM. The OPC is obtained after a series of calculations between the OP and the root key K, which ensures that different cards are preset with different OPCs. When the SUPI is encrypted on the USIM, in the implementation of the present disclosure, the terminal and the network shared key OPC or the root key K known to the terminal and the network is used to generate the first integrity protection label.
在此步骤中,由USIM利用完整性运算函数对所述第一信息、所述第二信息、所述OPC密钥或根密钥进行运算,得到所述第一完整性保护标签。具体方式如下:In this step, the USIM uses an integrity calculation function to perform calculations on the first information, the second information, the OPC key or the root key to obtain the first integrity protection label. The specific method is as follows:
Tag=HMAC-SHA-256(K M,K E{SUPI},OPC或K)。 Tag=HMAC-SHA-256 (K M , K E {SUPI}, OPC or K).
其中,Tag为第一完整性保护标签,K M表示完整性密钥,K E表示加密密钥,K表示根密钥。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。 Among them, Tag is the first integrity protection tag, K M represents the integrity key, K E represents the encryption key, and K represents the root key. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
在网络侧,UDM验证第一完整性保护标签的正确性。即使攻击者猜到一个正确的SUPI,因其不知道OPC或根密钥K,那么攻击者也不能生成正确的第一完整性保护标签,从而网络会返回带有原因#3的注册拒绝消息。也就是说,无论攻击者猜到一个正确的SUPI或是没有猜到一个正确的SUPI,网络都会返回带有原因#3的注册拒绝消息。On the network side, UDM verifies the correctness of the first integrity protection label. Even if the attacker guesses a correct SUPI, because he does not know the OPC or the root key K, the attacker cannot generate the correct first integrity protection label, and the network will return a registration rejection message with reason #3. In other words, whether the attacker guessed a correct SUPI or did not guess a correct SUPI, the network will return a registration rejection message with reason #3.
(2)SUPI在终端ME上加密:(2) SUPI is encrypted on the terminal ME:
所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签。 The shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label.
在终端和网络使用5G认证与密钥协商(Authentication and Key Agreement,AKA)或扩展的认证协议-认证和密钥协商协议(Extensible Authentication Protocol-Authentication and Key Agreement,EAP-AKA’)完成双向认证后,终端和网络会计算并存储会话根密钥K AUSF。当SUPI在终端ME上加密时,本公开实施例使用终端和网络的共享密钥K AUSF生成第一完整性保护标签。 After using 5G Authentication and Key Agreement (AKA) or Extensible Authentication Protocol-Authentication and Key Agreement (EAP-AKA') in the terminal and network to complete mutual authentication , The terminal and the network will calculate and store the session root key K AUSF . When the SUPI is encrypted on the terminal ME, the embodiment of the present disclosure uses the shared key K AUSF of the terminal and the network to generate the first integrity protection label.
在此步骤中,由ME利用完整性运算函数对所述第一信息、所述第二信息和所述会话根密钥K AUSF进行运算,得到所述第一完整性保护标签。具体方式如下: In this step, the ME uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key K AUSF to obtain the first integrity protection label. The specific method is as follows:
Tag=HMAC-SHA-256(K M,K E{SUPI},K AUSF)。 Tag=HMAC-SHA-256 (K M , K E {SUPI}, K AUSF ).
其中,Tag为第一完整性保护标签,K M表示完整性密钥,K E表示加密密钥,K表示根密钥。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。 Among them, Tag is the first integrity protection tag, K M represents the integrity key, K E represents the encryption key, and K represents the root key. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
在网络侧,UDM验证第一完整性保护标签的正确性。即使攻击者猜到一个正确的SUPI,但因其不知道K AUSF,因此,攻击者不能生成正确的第一完整性保护标签,从而网络会返回带有原因#3的注册拒绝消息。 On the network side, UDM verifies the correctness of the first integrity protection label. Even if the attacker guesses a correct SUPI, because he does not know K AUSF , the attacker cannot generate the correct first integrity protection label, and the network will return a registration rejection message with reason #3.
K AUSF的初始值为0。在网络侧,K AUSF的存储有两种可能性:(1)同时存储在鉴权服务功能(Authentication Server Function,AUSF)和UDM上;(2)只存储在AUSF上。 The initial value of K AUSF is zero. On the network side, there are two possibilities for storing K AUSF : (1) It is stored on both the Authentication Server Function (AUSF) and UDM at the same time; (2) It is only stored on the AUSF.
对于第(1)情况,UDM解密SUCI得到SUPI,直接使用存储的K AUSF按照上述方式进行运算,并验证。 For the case (1), UDM decrypts SUCI to obtain SUPI, and directly uses the stored K AUSF to perform operations in the above-mentioned manner and verify.
对于第(2)情况,UDM首先解密SUCI得到SUPI,然后在数据库中搜索SUPI。如果数据库中没有对应的SUPI,UDM返回“404 Not Found”消息,网络相应地返回带有原因#3的注册拒绝消息。如果数据库中有对应的SUPI,UDM从AUSF得到与SUPI对应的K AUSF,然后验证第一完整性保护标签。如果验证通过,UDM返回包含身份验证矢量的“200 OK”消息;如果验证失败UDM返回“404 Not Found”消息。 For the case (2), UDM first decrypts SUCI to get SUPI, and then searches for SUPI in the database. If there is no corresponding SUPI in the database, UDM returns a "404 Not Found" message, and the network returns a registration rejection message with reason #3 accordingly. If there is a corresponding SUPI in the database, UDM obtains the K AUSF corresponding to SUPI from AUSF , and then verifies the first integrity protection label. If the verification is passed, UDM returns a "200 OK" message containing the authentication vector; if the verification fails, UDM returns a "404 Not Found" message.
在第一种方案中,终端向第一网元发送SUCI,在SUCI中携带所述第一完整性保护标签。In the first solution, the terminal sends SUCI to the first network element, and the first integrity protection label is carried in the SUCI.
第二种方案是在SUCI的基础上再使用终端和网络的共享密钥对SUCI的Tag进行完整保护运算生成第二个完整性保护标签,即STag。因攻击者不知道终端和网络的共享密钥,这样即使SUPI猜测正确,网络也会检测出STag的错误,并会返回带有原因#3的注册拒绝消息,从而SUPI猜测攻击问题被解决。The second scheme is to use the shared key of the terminal and the network to perform a complete protection operation on the tag of the SUCI on the basis of the SUCI to generate a second integrity protection tag, that is, the STag. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the STag error and return a registration rejection message with reason #3, so that the SUPI guess attack problem is solved.
在本公开实施例中,可由USIM生成第二完整性保护标签STag,也可由ME生成第二完整性保护标签STag。In the embodiment of the present disclosure, the second integrity protection tag STag can be generated by the USIM, and the second integrity protection tag STag can also be generated by the ME.
(1)STag在USIM上生成:(1) STag is generated on USIM:
具体的,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签。Specifically, the shared key is an OPC key or a root key K commonly known to the first network element and the terminal; the integrity verification value is a second integrity protection label.
当STag在USIM上实现时,在本公开实施例中使用终端和网络共享密钥OPC或根密钥K对SUCI中的第三完整性保护标签Tag进行运算生成Stag。具体的,由USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中已有的完整性保护标签进行运算,得到所述第二完整性保护标签。计算如下:When the STag is implemented on the USIM, in the embodiment of the present disclosure, the terminal and the network shared key OPC or the root key K are used to calculate the third integrity protection tag Tag in the SUCI to generate the Stag. Specifically, the USIM uses an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI to obtain the second integrity protection label. The calculation is as follows:
STag=HMAC-SHA-256(OPC或K,Tag)。STag=HMAC-SHA-256 (OPC or K, Tag).
其中,STag为第二完整性保护标签,Tag为第三完整性保护标签。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。Among them, STag is the second integrity protection tag, and Tag is the third integrity protection tag. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
在网络侧,UDM会验证SUCI中的Tag以及STag的正确性,只有两者都通过验证,网络侧才会向终端发送验证请求消息。On the network side, the UDM will verify the correctness of the Tag and STag in the SUCI. Only when both of them pass the verification, the network side will send a verification request message to the terminal.
(2)STag在ME上生成:(2) STag is generated on ME:
具体的,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第二完整性保护标签。 Specifically, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label.
当STag在ME上实现时,在此,使用终端和网络之间的会话根密钥K AUSF对第三完整性保护标签Tag进行运算生成第二完整性保护标签Stag。具体的,由ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥K AUSF进行运算,得到所述第二完整性保护标签。计算方式如下: When the STag is implemented on the ME, here, the session root key K AUSF between the terminal and the network is used to calculate the third integrity protection tag Tag to generate the second integrity protection tag Stag. Specifically, the ME uses an integrity calculation function to calculate the existing integrity protection label in the SUCI and the session root key K AUSF between the two to obtain the second integrity protection label. The calculation method is as follows:
STag=HMAC-SHA-256(K AUSF,Tag)。 STag=HMAC-SHA-256( KAUSF , Tag).
其中,STag为第二完整性保护标签,Tag为第三完整性保护标签。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。Among them, STag is the second integrity protection tag, and Tag is the third integrity protection tag. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
在网络侧,UDM会验证SUCI中的Tag以及STag的正确性,只有两者都通过验证,网络侧才会向终端发送验证请求消息。On the network side, the UDM will verify the correctness of the Tag and STag in the SUCI. Only when both of them pass the verification, the network side will send a verification request message to the terminal.
在第二种方案中,除了向第一网元发送第二完整性保护标签,终端还需要向第一网元发送SUCI。In the second solution, in addition to sending the second integrity protection label to the first network element, the terminal also needs to send SUCI to the first network element.
第三种方案是在终端的USIM上生成一个一次性随机数,并使用终端和网络的共享密钥对其进行完整性运算,生成完整性验证值NTag。因攻击者不知道终端和网络的共享密钥,即使SUPI猜测正确,网络会检测出NTag的错 误,并会返回带有原因#3的注册拒绝消息,从而SUPI猜测攻击问题被解决。The third scheme is to generate a one-time random number on the USIM of the terminal, and use the shared key of the terminal and the network to perform an integrity calculation on it to generate an integrity verification value NTag. Because the attacker does not know the shared key between the terminal and the network, even if the SUPI guess is correct, the network will detect the NTag error and return a registration rejection message with reason #3, so that the SUPI guess attack problem is solved.
具体的,在本公开实施例中,共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K。由USIM生成随机数,并由所述USIM利用完整性运算函数或3GPP TS 35.206中定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。Specifically, in the embodiment of the present disclosure, the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal. A random number is generated by the USIM, and the USIM uses an integrity operation function or a function defined in 3GPP TS 35.206 to operate the OPC key and/or root key K and the random number to obtain the third Integrity protection label.
具体的,USIM生成一次性随机数Nonce,使用终端和网络共享的OPC密钥或根密钥K,对Nonce生成第三完整性保护标签NTag,其计算如下:Specifically, the USIM generates a one-time random number Nonce, and uses the OPC key or root key K shared by the terminal and the network to generate a third integrity protection tag NTag for Nonce, which is calculated as follows:
NTag=HMAC-SHA-256(OPC或K,Nonce)NTag = HMAC-SHA-256 (OPC or K, Nonce)
其中,NTag为第三完整性保护标签,Nonce为随机数。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。Among them, NTag is the third integrity protection tag, and Nonce is a random number. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
或者,USIM利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值。计算如下:Alternatively, the USIM uses a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the fifth operation value. The calculation is as follows:
NTag=f2(OPC和/或K,Nonce)NTag=f2 (OPC and/or K, Nonce)
其中,NTag为第三完整性保护标签,Nonce为随机数。这里预定义的函数f2函数,其中加密函数为AES,也可以是其他加密函数。当然,也可以使用预定义的f3或f4或f5函数。Among them, NTag is the third integrity protection tag, and Nonce is a random number. Here is the predefined function f2 function, where the encryption function is AES or other encryption functions. Of course, the predefined f3 or f4 or f5 function can also be used.
在发送随机数和第三完整性保护标签时,是由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签。其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。When sending the random number and the third integrity protection label, the ME sends the SUCI, the random number and the third integrity protection label to the first network element. Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
具体的,如果SUPI的加密在USIM上进行,则USIM把SUCI、Nonce和NTag传给ME,并由ME发送给网络。如果SUPI的加密在ME上进行,则USIM把Nonce和NTag传给ME。ME完成对SUCI的加密后,把SUCI、Nonce和NTag发送给网络。Specifically, if the encryption of SUPI is performed on the USIM, the USIM transmits SUCI, Nonce, and NTag to the ME, and the ME sends it to the network. If the encryption of SUPI is performed on the ME, the USIM transmits the Nonce and NTag to the ME. After the ME completes the encryption of SUCI, it sends SUCI, Nonce and NTag to the network.
网络在收到SUCI、Nonce和NTag后,首先在数据库检查是否存在Nonce。如果存在则回复拒绝消息,从而抵抗重放攻击。如果数据库中不存在Nonce,则解密SUCI得到SUPI,并根据SUPI得到OPC或根密钥K。使用OPC或根密钥K对NTag进行验证,如果验证成功,存储Nonce并生成验证矢量。如果验 证失败回复拒绝消息。After receiving SUCI, Nonce and NTag, the network first checks whether there is Nonce in the database. If it exists, it responds with a rejection message to resist replay attacks. If Nonce does not exist in the database, decrypt SUCI to get SUPI, and get OPC or root key K according to SUPI. Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate a verification vector. If the verification fails, reply with a rejection message.
以上三种方案都是基于终端和网络共享的密钥生成完整性保护标签Tag或完整性二次标签STag或者一次性随机数的完整性保护标签NTag。由于攻击者不知道终端和网络共享的密钥,它也就不能伪造一个正确的完整性保护标签Tag或完整性二次标签STag或者NTag。这样,即使攻击者能猜测到一个正确的SUPI,也不能生成一个正确的完整性保护标签Tag或完整性二次标签STag或者NTag。也就是说,所提方案能够抵御SUPI猜测攻击。The above three schemes are all based on the key shared by the terminal and the network to generate an integrity protection tag Tag or an integrity secondary tag STag or a one-time random number integrity protection tag NTag. Since the attacker does not know the secret key shared by the terminal and the network, it cannot forge a correct integrity protection tag or integrity secondary tag STag or NTag. In this way, even if an attacker can guess a correct SUPI, he cannot generate a correct integrity protection tag or integrity secondary tag STag or NTag. In other words, the proposed scheme can resist SUPI guessing attacks.
其中,方案一因其只是把终端和网络的共享密钥加到完整性函数里,所以基本上不增加运算量。方案二和方案三只增加了一个完整性函数的运算量,此运算需要的运算资源较小,对系统影响较小。此外,方案二和方案三能很好的兼容相关技术中的系统,由于是在ECIES的方案上在叠加生成完整性二次标签STag或者一次性随机数的完整性保护标签NTag,因此,不需要对集成加密方案(elliptic curve integrate encrypt scheme,ECIES)方案做调整。Among them, the first scheme only adds the shared key of the terminal and the network to the integrity function, so it basically does not increase the amount of calculation. Scheme 2 and Scheme 3 only increase the calculation amount of an integrity function, and this calculation requires less calculation resources and has less impact on the system. In addition, Scheme 2 and Scheme 3 are well compatible with systems in related technologies. Because the integrity secondary tag STag or the one-time random number integrity protection tag NTag is superimposed on the ECIES scheme, there is no need Make adjustments to the elliptic curve integrate encrypt scheme (ECIES) scheme.
步骤102、向第一网元发送所述完整性验证值。Step 102: Send the integrity verification value to the first network element.
当按照上述第一种方案时,向第一网元发送SUCI,在所述SUCI中包括第一完整性验证标签。When according to the above-mentioned first solution, the SUCI is sent to the first network element, and the SUCI includes the first integrity verification label.
当按照上述第二种方案时,向第一网元分别发送SUCI和第二完整性验证标签。When according to the above-mentioned second solution, the SUCI and the second integrity verification label are respectively sent to the first network element.
当按照上述第案种方案时,向第一网元分别发送SUCI、随机数和第三完整性验证标签。When according to the above-mentioned first case solution, the SUCI, the random number and the third integrity verification label are respectively sent to the first network element.
步骤103、接收所述第一网元对所述完整性验证值的验证结果。Step 103: Receive a verification result of the integrity verification value by the first network element.
在本公开实施例中,利用终端和第一网元的共享密钥对目标信息进行完整性运算,从而生成完整性验证值。因攻击者不知道终端和第一网元的共享密钥,因此,即使SUPI猜测正确,第一网元也会检测出完整性验证值的错误,并会返回注册拒绝消息,从而解决SUPI猜测攻击问题。In the embodiment of the present disclosure, the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
参见图2,图2是本公开实施例提供的验证方法的流程图,应用于第一网元。所述第一网元例如可以是UDM。如图2所示,包括以下步骤:Referring to FIG. 2, FIG. 2 is a flowchart of a verification method provided by an embodiment of the present disclosure, which is applied to the first network element. The first network element may be UDM, for example. As shown in Figure 2, it includes the following steps:
步骤201、接收终端发送的完整性验证值。Step 201: Receive the integrity verification value sent by the terminal.
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
根据完整性验证值的不同,在此可有不同的接收方式。Depending on the integrity verification value, there can be different receiving methods here.
例如,第一网元接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。For example, the first network element receives the SUCI sent by the terminal, and carries the first integrity protection label in the SUCI.
或者,第一网元接收SUCI、第二完整性保护标签;Or, the first network element receives the SUCI and the second integrity protection label;
或者,第一网元接收SUCI、随机数和第三完整性保护标签。Or, the first network element receives the SUCI, the random number, and the third integrity protection label.
步骤202、对所述完整性验证值进行验证。Step 202: Verify the integrity verification value.
根据共享密钥的不同,在本公开实施例中,可有不同的验证方法。According to different shared keys, in the embodiments of the present disclosure, there may be different verification methods.
在所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥的情况下,如果第一完整性保护标签携带在SUCI中,此步骤可包括:In the case where the shared key is an OPC key or a root key commonly known by the first network element and the terminal, if the first integrity protection label is carried in the SUCI, this step may include:
步骤2021、解密所述SUCI,得到SUPI。Step 2021: Decrypt the SUCI to obtain SUPI.
步骤2022、根据所述SUPI得到所述OPC密钥或根密钥。Step 2022: Obtain the OPC key or root key according to the SUPI.
在第一网元可存储SUPI和密钥的对应关系,那么,在此,可根据步骤2021中得到的SUPI得到所述OPC密钥或根密钥。The corresponding relationship between the SUPI and the key can be stored in the first network element. Then, here, the OPC key or the root key can be obtained according to the SUPI obtained in step 2021.
步骤2023、利用完整性运算函数对第三信息、第四信息所述OPC密钥或根密钥进行运算,得到第一运算值;其中,所述第三信息为所述完整性密钥,所述第四信息为利用所述加密密钥所述SUPI进行加密的加密结果。Step 2023: Use the integrity calculation function to perform calculations on the OPC key or root key of the third information and the fourth information to obtain a first calculation value; wherein, the third information is the integrity key, so The fourth information is the result of encryption performed by the SUPI using the encryption key.
Tag=HMAC-SHA-256(K M,K E{SUPI},OPC或K)。 Tag=HMAC-SHA-256 (K M , K E {SUPI}, OPC or K).
其中,Tag为第一运算值,K M表示完整性密钥,K E表示加密密钥,K表示根密钥。这里完整性运算函数为HMAC-SHA-256,也可以是其他完整性运算函数,如HMAC-SHA3。 Among them, Tag is the first operation value, K M represents the integrity key, K E represents the encryption key, and K represents the root key. The integrity calculation function here is HMAC-SHA-256, and it can also be other integrity calculation functions, such as HMAC-SHA3.
步骤2024、在所述第一运算值和所述第一完整性保护标签一致的情况下,所述验证结果为验证通过;否则,所述验证结果为验证不通过。Step 2024: When the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
在所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF的情况下,如果第一完整性保护标签携带在SUCI中,此步骤可包括: In the case that the shared key is the session root key K AUSF between the first network element and the terminal, if the first integrity protection label is carried in the SUCI, this step may include:
步骤2025、解密所述SUCI,得到SUPI。Step 2025: Decrypt the SUCI to obtain SUPI.
步骤2026、在数据库中查找所述SUPI。Step 2026: Search the SUPI in the database.
步骤2027、在未查找到所述SUPI的情况下,所述验证结果为验证不通 过。Step 2027: If the SUPI is not found, the verification result is that the verification fails.
进一步的,为提高安全性,所述方法还可包括:Further, in order to improve safety, the method may further include:
步骤2028、在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSF。具体的,可获取所述第一网元自身存储的所述会话根密钥K AUSF;或者,从第二网元获取所述会话根密钥K AUSF。第二网元例如可以是AUSF。 Step 2028: If the SUPI is found, obtain the session root key K AUSF corresponding to the SUPI. Specifically, the first network element may obtain the session itself stored root key K AUSF; or obtaining the root key K AUSF session from the second network element. The second network element may be AUSF, for example.
步骤2029、利用完整性运算函数对第五信息、第六信息以及所述会话根密钥KAUSF进行运算,得到第二运算值;其中,所述第五信息为所述完整性密钥,所述第六信息为利用所述加密密钥对所述SUPI进行加密的加密结果。Step 2029: Use an integrity calculation function to perform calculations on the fifth information, the sixth information, and the session root key KAUSF to obtain a second calculation value; wherein, the fifth information is the integrity key, and the The sixth information is the encryption result of using the encryption key to encrypt the SUPI.
步骤2030、在所述第二运算值和所述第一完整性保护标签一致的情况下,所述验证结果为验证通过;否则,所述验证结果为验证不通过。Step 2030: In a case where the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
K AUSF的初始值为0。在网络侧,K AUSF的存储有两种可能性:(1)同时存储在AUSF和UDM上;(2)只存储在AUSF上。对于第一种情况,UDM解密SUCI得到SUPI,直接使用存储的K AUSF按照上述方式进行运算,并验证。 The initial value of K AUSF is zero. On the network side, there are two possibilities for storing K AUSF : (1) It is stored on both AUSF and UDM at the same time; (2) It is only stored on AUSF. In the first case, UDM decrypts SUCI to obtain SUPI, and directly uses the stored K AUSF to perform operations in the above manner and verify.
对于第二种情况,UDM首先解密SUCI得到SUPI,然后在数据库中搜索SUPI。如果数据库中没有对应的SUPI,UDM返回“404 Not Found”消息,网络相应地返回带有原因#3的注册拒绝消息。如果数据库中有对应的SUPI,UDM从AUSF得到与SUPI对应的K AUSF,然后验证第一完整性保护标签。如果验证通过,UDM返回包含身份验证矢量的“200 OK”消息;如果验证失败UDM返回“404 Not Found”消息。 For the second case, UDM first decrypts SUCI to get SUPI, and then searches for SUPI in the database. If there is no corresponding SUPI in the database, UDM returns a "404 Not Found" message, and the network returns a registration rejection message with reason #3 accordingly. If there is a corresponding SUPI in the database, UDM obtains the K AUSF corresponding to SUPI from AUSF , and then verifies the first integrity protection label. If the verification is passed, UDM returns a "200 OK" message containing the authentication vector; if the verification fails, UDM returns a "404 Not Found" message.
如果完整性验证值是第二完整性保护标签,第一网元还需接收终端发送的SUCI。If the integrity verification value is the second integrity protection label, the first network element also needs to receive the SUCI sent by the terminal.
在这种情况下,如果所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K,此步骤可包括:In this case, if the shared key is an OPC key or a root key K that is commonly known to the first network element and the terminal, this step may include:
步骤2031、解密所述SUCI,得到SUPI和所述第二完整性保护标签;Step 2031: Decrypt the SUCI to obtain the SUPI and the second integrity protection label;
步骤2032、根据所述SUPI得到所述OPC密钥或根密钥K;Step 2032, obtain the OPC key or root key K according to the SUPI;
步骤2033、利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Step 2033: Use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
步骤2034、在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。Step 2034: In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
在这种情况下,如果所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF,此步骤可包括: In this case, if the shared key is the session root key K AUSF between the first network element and the terminal, this step may include:
步骤2035、解密所述SUCI,得到SUPI;Step 2035: Decrypt the SUCI to obtain SUPI;
步骤2036、在数据库中查找所述SUPI;Step 2036: Search the SUPI in the database;
步骤2037、在未查找到所述SUPI的情况下,验证结果为验证不通过。Step 2037: If the SUPI is not found, the verification result is that the verification fails.
为进一步提高安全性,所述方法还可包括:To further improve safety, the method may further include:
步骤2038、在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFStep 2038: If the SUPI is found, obtain the session root key K AUSF corresponding to the SUPI;
步骤2039、利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥K AUSF进行运算,得到第四运算值。 Step 2039: Use an integrity calculation function to perform calculations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth calculation value.
步骤2040、在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。Step 2040: In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述获取所述SUPI对应的会话根密钥K AUSF的过程可包括,获取所述第一网元自身存储的所述会话根密钥K AUSF;或者从第二网元获取所述会话根密钥K AUSF。所述第二网元可以是AUSF。 Wherein, the process of obtaining the session root key K AUSF corresponding to the SUPI may include obtaining the session root key K AUSF stored by the first network element itself; or obtaining the session from a second network element Root key K AUSF . The second network element may be AUSF.
如果完整性验证值是随机数和第三完整性保护标签,第一网元还需接收终端发送的SUCI。所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;此步骤可包括:If the integrity verification value is a random number and the third integrity protection label, the first network element also needs to receive the SUCI sent by the terminal. The shared key is an OPC key or a root key K commonly known by the first network element and the terminal; this step may include:
步骤2041、获得所述随机数。Step 2041. Obtain the random number.
步骤2042、在数据库中查找所述随机数。Step 2042, search the random number in the database.
步骤2043、在查找到所述随机数的情况下,验证结果为验证不通过。Step 2043: If the random number is found, the verification result is that the verification fails.
为进一步提高安全性,所述方法还可包括:To further improve safety, the method may further include:
步骤2043、在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;Step 2043: If the random number is not found, decrypt the SUCI to obtain SUPI;
步骤2044、获取所述SUPI对应的OPC密钥或根密钥K;Step 2044: Obtain the OPC key or root key K corresponding to the SUPI;
步骤2045、利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Step 2045: Use an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root secret. Perform operations on the key K and the random number to obtain a fifth operation value;
步骤2046、在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。Step 2046: When the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
第一网元在收到SUCI、Nonce和NTag后,首先在数据库检查是否存在Nonce。如果存在则回复拒绝消息,从而抵抗重放攻击。如果数据库中不存在Nonce,则解密SUCI得到SUPI,并根据SUPI得到OPC或根密钥K。使用OPC或根密钥K对NTag进行验证,如果验证成功,存储Nonce并生成验证矢量。如果验证失败回复拒绝消息。After receiving SUCI, Nonce and NTag, the first network element first checks whether there is Nonce in the database. If it exists, it responds with a rejection message to resist replay attacks. If Nonce does not exist in the database, decrypt SUCI to get SUPI, and get OPC or root key K according to SUPI. Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate a verification vector. If the verification fails, reply with a rejection message.
步骤203、向所述终端发送对所述完整性验证值的验证结果。Step 203: Send a verification result of the integrity verification value to the terminal.
在本公开实施例中,利用终端和第一网元的共享密钥对目标信息进行完整性运算,从而生成完整性验证值。因攻击者不知道终端和第一网元的共享密钥,因此,即使SUPI猜测正确,第一网元也会检测出完整性验证值的错误,并会返回注册拒绝消息,从而解决SUPI猜测攻击问题。In the embodiment of the present disclosure, the shared key of the terminal and the first network element is used to perform an integrity operation on the target information, thereby generating an integrity verification value. Because the attacker does not know the shared key between the terminal and the first network element, even if the SUPI guess is correct, the first network element will detect the error of the integrity verification value and return a registration rejection message, thereby solving the SUPI guessing attack problem.
参见图3,图3是本公开实施例提供的验证方法的流程图,包括如下步骤:Refer to FIG. 3, which is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
步骤301、终端将SUPI将其转换为SUCI,其中,SUCI中的Tag是按照本公开实施例的方法生成的,即前述的第一完整性保护标签。Step 301: The terminal converts the SUPI into SUCI, where the Tag in the SUCI is generated according to the method of the embodiment of the present disclosure, that is, the aforementioned first integrity protection tag.
然后,终端将SUCI发送到接入和移动管理功能(Access and Mobility Management Function,AMF)/安全锚功能(Security Anchor Function,SEAF)。Then, the terminal sends the SUCI to the Access and Mobility Management Function (AMF)/Security Anchor Function (SEAF).
步骤302、AMF/SEAF将SUCI发送到AUSF。Step 302: AMF/SEAF sends SUCI to AUSF.
步骤303、AUSF将SUCI发送到UDM。Step 303: AUSF sends SUCI to UDM.
步骤304、UDM对SUCI中的第一完整性保护标签进行验证。Step 304: The UDM verifies the first integrity protection label in the SUCI.
其中,具体的验证方法可参照前述实施例的描述。Among them, the specific verification method can refer to the description of the foregoing embodiment.
步骤305、如果验证通过,则UDM向AUSF发送“200 OK”。如果验证未通过,则返回“404 Not Found”并带有“USER_NOT_FOUND”的内容。Step 305: If the verification is passed, UDM sends "200 OK" to AUSF. If the verification fails, it will return "404 Not Found" with the content of "USER_NOT_FOUND".
步骤306、在接收到“200 OK”后,AUSF将“201 Created”发送到AMF/SEAF。AUSF收到“404 Not Found”后,会把“404 Not Found”消息发送到AMF/SEAF。Step 306: After receiving "200 OK", AUSF sends "201 Created" to AMF/SEAF. After AUSF receives "404 Not Found", it will send the "404 Not Found" message to AMF/SEAF.
步骤307、在“201 Created”的情况下,AMF/SEAF在验证请求消息中将RAND和AUTN发送到终端。在“404 Not Found”的情况下,AMF/SEAF将带有原因#3的注册拒绝消息发送给终端。Step 307: In the case of "201 Created", the AMF/SEAF sends RAND and AUTN to the terminal in the verification request message. In the case of "404 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
参见图4,图4是本公开实施例提供的验证方法的流程图,包括如下步 骤:Refer to Fig. 4, which is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
步骤401、终端将SUPI转换为SUCI,并按照前述实施例的方法获得第二完整性保护标签。Step 401: The terminal converts SUPI to SUCI, and obtains a second integrity protection label according to the method of the foregoing embodiment.
然后,终端将SUCI和第二完整性保护标签发送到AMF/SEAF。Then, the terminal sends the SUCI and the second integrity protection label to AMF/SEAF.
步骤402、AMF/SEAF将SUCI和第二完整性保护标签发送到AUSF。Step 402: AMF/SEAF sends SUCI and the second integrity protection label to AUSF.
步骤403、AUSF将SUCI和第二完整性保护标签发送到UDM。Step 403: AUSF sends the SUCI and the second integrity protection label to UDM.
步骤404、对SUCI中的Tag和第二完整性保护标签进行验证。Step 404: Verify the Tag in the SUCI and the second integrity protection tag.
其中,具体的验证方法可参照前述实施例的描述。Among them, the specific verification method can refer to the description of the foregoing embodiment.
步骤405、如果验证通过,则UDM向AUSF发送“200 OK”。如果验证未通过,则UDM返回“404 Not Found”并带有“USER_NOT_FOUND”的内容。Step 405: If the verification is passed, UDM sends "200 OK" to AUSF. If the verification fails, UDM returns "404 Not Found" with the content of "USER_NOT_FOUND".
步骤406、在接收到“200 OK”后,AUSF将“201 Created”发送到AMF/SEAF。AUSF收到“404 Not Found”后,会把“404 Not Found”消息发送到AMF/SEAF。Step 406: After receiving "200 OK", AUSF sends "201 Created" to AMF/SEAF. After AUSF receives "404 Not Found", it will send the "404 Not Found" message to AMF/SEAF.
步骤407、在“201 Created”的情况下,AMF/SEAF在身份验证请求消息中将RAND和AUTN发送到终端。在“404 Not Found”的情况下,AMF/SEAF将带有原因#3的注册拒绝消息发送给终端。Step 407: In the case of "201 Created", AMF/SEAF sends RAND and AUTN to the terminal in the identity verification request message. In the case of "404 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
参见图5,图5是本公开实施例提供的验证方法的流程图,包括如下步骤:Referring to FIG. 5, FIG. 5 is a flowchart of a verification method provided by an embodiment of the present disclosure, which includes the following steps:
步骤501、终端将SUCI、随机数和第三完整性保护标签发送到AMF/SEAF。Step 501: The terminal sends the SUCI, the random number and the third integrity protection label to the AMF/SEAF.
终端可按照前述实施例的方法获得第三完整性保护标签。The terminal can obtain the third integrity protection label according to the method of the foregoing embodiment.
步骤502、AMF/SEAF将SUCI、随机数和第三完整性保护标签发送到AUSF。Step 502: AMF/SEAF sends SUCI, random number and third integrity protection label to AUSF.
步骤503、AUSF将SUCI、随机数和第三完整性保护标签发送到UDM。Step 503: AUSF sends SUCI, random number and third integrity protection label to UDM.
步骤504、UDM对随机数和第三完整性保护标签进行验证。Step 504: The UDM verifies the random number and the third integrity protection label.
其中,UDM首先在数据库检查是否存在随机数Nonce,如果存在则回复拒绝消息,从而抵抗重放攻击;如果Nonce数据库中不存在,则解密SUCI的到SUPI,并根据SUPI得到OPC或根密钥K。使用OPC或根密钥K对NTag进行验证,如果验证成功,存储Nonce并生成认证矢量。如果验证失败回复拒绝消息。Among them, UDM first checks whether there is a random number Nonce in the database, and if it does, it responds with a rejection message to resist replay attacks; if the Nonce database does not exist, it decrypts SUCI to SUPI, and obtains OPC or root key K according to SUPI. . Use OPC or root key K to verify NTag. If the verification is successful, store Nonce and generate an authentication vector. If the verification fails, reply with a rejection message.
步骤505、如果验证未通过或者存在随机数Nonce,则返回“504 Not  Found”并带有“USER_NOT_FOUND”的内容。如果验证通过,则向AUSF发送“200 OK”。Step 505: If the verification fails or there is a random number Nonce, return "504 Not Found" with the content of "USER_NOT_FOUND". If the verification is passed, "200 OK" is sent to AUSF.
步骤506、在接收到“200 OK”后,AUSF将“201 Created”发送到AMF/SEAF。AUSF收到“504 Not Found”后,会把“504 Not Found”消息发送到AMF/SEAF。Step 506: After receiving "200 OK", AUSF sends "201 Created" to AMF/SEAF. After the AUSF receives the "504 Not Found", it will send the "504 Not Found" message to the AMF/SEAF.
步骤507、在“201 Created”的情况下,AMF/SEAF在身份验证请求消息中将RAND和AUTN发送到终端。在“504 Not Found”的情况下,AMF/SEAF将带有原因#3的注册拒绝消息发送给终端。Step 507: In the case of "201 Created", AMF/SEAF sends RAND and AUTN to the terminal in the identity verification request message. In the case of "504 Not Found", AMF/SEAF sends a registration rejection message with reason #3 to the terminal.
本公开实施例还提供了一种验证装置,应用于终端。参见图6,图6是本公开实施例提供的验证装置的结构图。由于验证装置解决问题的原理与本公开实施例中验证方法相似,因此该验证装置的实施可以参见方法的实施,重复之处不再赘述。The embodiment of the present disclosure also provides a verification device, which is applied to a terminal. Refer to FIG. 6, which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
如图6所示,验证装置包括:获取模块601,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;发送模块602,用于向第一网元发送所述完整性验证值;接收模块603,用于接收所述第一网元对所述完整性验证值的验证结果;As shown in FIG. 6, the verification device includes: an acquisition module 601, configured to perform integrity operations on target information using a shared key to obtain an integrity verification value; and a sending module 602, configured to send the integrity to the first network element Verification value; a receiving module 603, configured to receive the verification result of the integrity verification value of the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述获取模块601具体用于,通过USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;The obtaining module 601 is specifically configured to perform operations on the OPC key or root key K, first information, and second information by using an integrity operation function through USIM to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签; Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述获取模块601具体用于,通过ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥K AUSF钥进行运算,得到所述第一完整性保护标签; The obtaining module 601 is specifically configured to perform operations on the first information, the second information, and the session root key K AUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久 标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述发送模块602具体用于,向所述第一网元发送SUCI,在所述SUCI中携带所述第一完整性保护标签。The sending module 602 is specifically configured to send SUCI to the first network element, and the first integrity protection label is carried in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述获取模块601具体用于,通过USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The obtaining module 601 is specifically configured to perform operations on the OPC key or root key K and the existing integrity protection label in the SUCI by using an integrity operation function through the USIM to obtain the second integrity protection label.
所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第二完整性保护标签; The shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述获取模块601具体用于,通过ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥K AUSF进行运算,得到所述第二完整性保护标签。 The acquisition module 601 is specifically configured to perform operations on the existing integrity protection label in the SUCI and the session root key K AUSF between the ME using an integrity operation function to obtain the second integrity protection label .
其中,所述发送模块602还用于向所述第一网元发送SUCI以及所述第二完整性保护标签。Wherein, the sending module 602 is further configured to send SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label;
所述获取模块601包括:The obtaining module 601 includes:
生成子模块,用于通过USIM生成随机数;Generate sub-module, used to generate random numbers through USIM;
获取子模块,用于由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The obtaining sub-module is used to perform operations on the OPC key or root key K and the random number by the USIM using an integrity operation function to obtain the third integrity protection label; or, using a predefined The function performs an operation on the OPC key and/or the root key K and the random number to obtain the third integrity protection label.
其中,所述发送模块602用于,通过ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Wherein, the sending module 602 is configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
本公开实施例提供的装置,可以执行上述方法实施例,其实现原理和技 术效果类似,本实施例此处不再赘述。The device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described in this embodiment here.
本公开实施例还提供了一种验证装置,应用于第一网元。参见图7,图7是本公开实施例提供的验证装置的结构图。由于验证装置解决问题的原理与本公开实施例中验证方法相似,因此该验证装置的实施可以参见方法的实施,重复之处不再赘述。The embodiment of the present disclosure also provides a verification device, which is applied to the first network element. Refer to FIG. 7, which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
如图7所示,验证装置包括:接收模块701,用于接收终端发送的完整性验证值;验证模块702,用于对所述完整性验证值进行验证;发送模块703,用于向所述终端发送对所述完整性验证值的验证结果;其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。As shown in FIG. 7, the verification device includes: a receiving module 701, used to receive the integrity verification value sent by the terminal; a verification module 702, used to verify the integrity verification value; a sending module 703, used to send the The terminal sends a verification result of the integrity verification value; wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is the first network element and the The key used between the terminals.
其中,所述完整性验证值为第一完整性保护标签;Wherein, the integrity verification value is a first integrity protection label;
所述接收模块,用于接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。The receiving module is configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
获取子模块,用于根据所述SUPI得到所述OPC密钥或根密钥K;An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The processing sub-module is used to perform operations on the OPC key or root key K, the third information, and the fourth information by using the integrity operation function to obtain the first operation value; wherein, the third information is the integrity secret Key, the fourth information is an encryption result obtained by encrypting the SUPI using an encryption key;
验证子模块,用于在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is configured to, when the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述验证模块包括: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
查找子模块,用于在数据库中查找所述SUPI;The search sub-module is used to search the SUPI in the database;
验证子模块,用于在未查找到所述SUPI的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
获取子模块,用于在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFThe obtaining sub-module is used to obtain the session root key K AUSF corresponding to the SUPI when the SUPI is found;
处理子模块,用于利用完整性运算函数对第五信息、第六信息以及所述会话根密钥K AUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果; The processing sub-module is used to perform operations on the fifth information, the sixth information and the session root key K AUSF by using an integrity operation function to obtain a second operation value; wherein, the fifth information is an integrity key, The sixth information is an encryption result of using an encryption key to encrypt the SUPI;
所述验证子模块还用于,在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is further configured to: in the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;所述接收模块还用于,接收所述终端发送的SUCI。Wherein, the integrity verification value is a second integrity protection label; the receiving module is further configured to receive the SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI和所述第二完整性保护标签;A decryption sub-module for decrypting the SUCI to obtain the SUPI and the second integrity protection label;
获取子模块,用于根据所述SUPI得到所述OPC密钥或根密钥K;An obtaining sub-module for obtaining the OPC key or root key K according to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;A processing sub-module, configured to use an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
验证子模块,用于在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is configured to verify that the verification result is passed when the verification of the integrity protection label carried in the SUCI and the second operation value is passed; otherwise, the verification result is that the verification fails.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述验证模块包括: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the verification module includes:
解密子模块,用于解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI;
查找子模块,用于在数据库中查找所述SUPI;The search sub-module is used to search the SUPI in the database;
验证子模块,用于在未查找到所述SUPI的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification result is that the verification fails if the SUPI is not found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
获取子模块,用于在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFThe obtaining sub-module is used to obtain the session root key K AUSF corresponding to the SUPI when the SUPI is found;
处理子模块,用于利用完整性运算函数对所述SUCI中携带的完整性保护 标签以及所述会话根密钥K AUSF进行运算,得到第四运算值; A processing submodule, configured to use an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth operation value;
所述验证子模块还用于,在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification submodule is further configured to: in the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述获取子模块,用于获取所述第一网元自身存储的所述会话根密钥K AUSF;或者从第二网元获取所述会话根密钥K AUSFWherein, the obtaining submodule is configured to obtain the session root key K AUSF stored by the first network element itself; or obtain the session root key K AUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;Wherein, the integrity verification value is a random number and a third integrity protection label;
所述接收模块还用于,接收所述终端发送的SUCI。The receiving module is further configured to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述验证模块包括:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the verification module includes:
第一获取子模块,用于获得所述随机数;The first obtaining submodule is used to obtain the random number;
查找子模块,用于在数据库中查找所述随机数;The search sub-module is used to search the random number in the database;
验证子模块,用于在查找到所述随机数的情况下,验证结果为验证不通过。The verification sub-module is used to verify that the verification fails when the random number is found.
其中,所述验证模块还包括:Wherein, the verification module further includes:
解密子模块,用于在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;The decryption sub-module is used to decrypt the SUCI to obtain SUPI if the random number is not found;
第二获取子模块,用于获取所述SUPI对应的OPC密钥或根密钥K;The second obtaining submodule is used to obtain the OPC key or root key K corresponding to the SUPI;
处理子模块,用于利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;The processing sub-module is used to perform operations on the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/ Or the root key K and the random number are operated to obtain the fifth operation value;
所述验证子模块还用于,在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。The verification sub-module is further configured to: in the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述装置还包括:Wherein, the device further includes:
存储模块,用于在未查找到所述随机数的情况下,存储所述随机数。The storage module is configured to store the random number when the random number is not found.
本公开实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。The device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
本公开实施例还提供了一种验证装置,应用于终端。参见图8,图8是本公开实施例提供的验证装置的结构图。由于验证装置解决问题的原理与本 公开实施例中验证方法相似,因此该验证装置的实施可以参见方法的实施,重复之处不再赘述。The embodiment of the present disclosure also provides a verification device, which is applied to a terminal. Refer to FIG. 8, which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
如图8所示,验证装置包括:处理器801和收发器802。As shown in FIG. 8, the verification device includes: a processor 801 and a transceiver 802.
所述处理器801,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;The processor 801 is configured to perform an integrity operation on the target information by using a shared key to obtain an integrity verification value;
所述收发器802,用于向第一网元发送所述完整性验证值;接收所述第一网元对所述完整性验证值的验证结果;The transceiver 802 is configured to send the integrity verification value to a first network element; receive a verification result of the integrity verification value by the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述处理器还用于:通过USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;The processor is further configured to perform operations on the OPC key or root key K, the first information, and the second information by using an integrity operation function through the USIM to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签; Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label;
所述处理器还用于:通过ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥K AUSF钥进行运算,得到所述第一完整性保护标签; The processor is further configured to perform operations on the first information, the second information, and the session root key K AUSF key by using an integrity operation function through the ME to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
所述收发器器还用于:向所述第一网元发送用户隐藏标识SUCI,在所述SUCI中携带所述第一完整性保护标签。The transceiver is further configured to send a user hidden identifier SUCI to the first network element, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述处理器还用于:通过USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The processor is further configured to: use an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI through the USIM to obtain the second integrity protection label .
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第二完整性保护标签; Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label;
所述处理器还用于:通过ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥K AUSF进行运算,得到所述第二完整性保护标签。 The processor is further configured to: calculate the existing integrity protection label in the SUCI and the session root key K AUSF between the ME using an integrity operation function to obtain the second integrity protection label.
其中,所述处理器还用于,向所述第一网元发送SUCI和所述第二完整性保护标签。Wherein, the processor is further configured to send SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label;
所述处理器还用于:通过USIM生成随机数;由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The processor is further configured to: generate a random number through the USIM; the USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection Label; or, using a predefined function to perform operations on the OPC key and/or root key K and the random number to obtain the third integrity protection label.
其中,所述收发器还用于,通过由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Wherein, the transceiver is further configured to send SUCI, the random number, and the third integrity protection label to the first network element through the ME;
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
本公开实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。The device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
本公开实施例还提供了一种验证装置,应用于第一网元。参见图9,图9是本公开实施例提供的验证装置的结构图。由于验证装置解决问题的原理与本公开实施例中验证方法相似,因此该验证装置的实施可以参见方法的实施,重复之处不再赘述。The embodiment of the present disclosure also provides a verification device, which is applied to the first network element. Refer to FIG. 9, which is a structural diagram of a verification device provided by an embodiment of the present disclosure. Since the principle of the verification device to solve the problem is similar to the verification method in the embodiment of the present disclosure, the implementation of the verification device can refer to the implementation of the method, and the repetition will not be repeated.
如图9所示,验证装置包括:处理器901和收发器902。As shown in FIG. 9, the verification device includes: a processor 901 and a transceiver 902.
所述收发器902,用于接收终端发送的完整性验证值;The transceiver 902 is configured to receive the integrity verification value sent by the terminal;
所述处理器901,用于对所述完整性验证值进行验证;The processor 901 is configured to verify the integrity verification value;
所述收发器902,还用于向所述终端发送对所述完整性验证值的验证结果;The transceiver 902 is further configured to send a verification result of the integrity verification value to the terminal;
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
其中,所述完整性验证值为第一完整性保护标签;Wherein, the integrity verification value is a first integrity protection label;
所述收发器还用于,接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。The transceiver is further configured to receive the SUCI sent by the terminal, and carry the first integrity protection label in the SUCI.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述处理器还用于:Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the processor is further configured to:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签;所述处理器还用于: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label; the processor is further configured to:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
利用完整性运算函数对第五信息、第六信息以及所述会话根密钥K AUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果; The fifth information, the sixth information, and the session root key K AUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is An encryption result obtained by encrypting the SUPI using an encryption key;
在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;Wherein, the integrity verification value is a second integrity protection label;
所述收发器,还用于接收所述终端发送的SUCI。The transceiver is also used to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述处理器还用于:解密所述SUCI,得到SUPI和所述第二完整性保护标签;Wherein, the shared key is an OPC key or a root key K known to the first network element and the terminal; the processor is also used to: decrypt the SUCI to obtain SUPI and the second Integrity protection label;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Using an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSFWherein, the shared key is the session root key K AUSF between the first network element and the terminal;
所述处理器还用于:The processor is also used for:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥K AUSF进行运算,得到第四运算值; Using an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth operation value;
在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述处理器还用于:获取所述第一网元自身存储的所述会话根密钥K AUSF;或者从第二网元获取所述会话根密钥K AUSFWherein, the processor is further configured to: obtain the session root key K AUSF stored by the first network element itself; or obtain the session root key K AUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;Wherein, the integrity verification value is a random number and a third integrity protection label;
所述收发器还用于,接收所述终端发送的SUCI。The transceiver is also used to receive SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
所述处理器还用于:The processor is also used for:
获得所述随机数;Obtain the random number;
在数据库中查找所述随机数;Look up the random number in the database;
在查找到所述随机数的情况下,验证结果为验证不通过。In the case where the random number is found, the verification result is that the verification fails.
其中,所述处理器还用于:Wherein, the processor is also used for:
在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;If the random number is not found, decrypt the SUCI to obtain SUPI;
获取所述SUPI对应的OPC密钥或根密钥K;Obtaining the OPC key or root key K corresponding to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Operate the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root key K and Performing an operation on the random number to obtain a fifth operation value;
在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述处理器还用于:在未查找到所述随机数的情况下,存储所述随机数。Wherein, the processor is further configured to store the random number when the random number is not found.
本公开实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。The device provided in the embodiment of the present disclosure can execute the foregoing method embodiment, and its implementation principles and technical effects are similar, and details are not described herein again in this embodiment.
如图10所示,本公开实施例的通信设备,应用于终端,包括:处理器1000,用于读取存储器1020中的程序,执行下列过程:As shown in FIG. 10, the communication device of the embodiment of the present disclosure, applied to a terminal, includes: a processor 1000, configured to read a program in a memory 1020, and execute the following process:
利用共享密钥对目标信息进行完整性运算,得到完整性验证值;Use the shared key to perform integrity operations on the target information to obtain the integrity verification value;
向第一网元发送所述完整性验证值;Sending the integrity verification value to the first network element;
接收所述第一网元对所述完整性验证值的验证结果;Receiving a verification result of the integrity verification value of the first network element;
其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
收发机1010,用于在处理器1000的控制下接收和发送数据。The transceiver 1010 is used to receive and send data under the control of the processor 1000.
其中,在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1000代表的一个或多个处理器和存储器1020代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1010可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1000负责管理总线架构和通常的处理,存储器1020可以存储处理器1000在执行操作时所使用的数据。Wherein, in FIG. 10, the bus architecture may include any number of interconnected buses and bridges. Specifically, one or more processors represented by the processor 1000 and various circuits of the memory represented by the memory 1020 are linked together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, will not be further described herein. The bus interface provides the interface. The transceiver 1010 may be a plurality of elements, including a transmitter and a transceiver, and provide a unit for communicating with various other devices on a transmission medium. The processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 can store data used by the processor 1000 when performing operations.
处理器1000负责管理总线架构和通常的处理,存储器1020可以存储处理器1000在执行操作时所使用的数据。The processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 can store data used by the processor 1000 when performing operations.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第一完整性保护标签;Wherein, the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; the integrity verification value is a first integrity protection label;
处理器1000还用于读取所述程序,执行如下步骤:The processor 1000 is further configured to read the program and execute the following steps:
由USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;USIM uses an integrity calculation function to perform calculations on the OPC key or root key K, first information, and second information to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting SUPI with an encryption key.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签;处理器1000还用于读取所述程序,执行如下步骤: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label; the processor 1000 is also used to read The procedure described below performs the following steps:
由ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥K AUSF钥进行运算,得到所述第一完整性保护标签; The ME uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key K AUSF key to obtain the first integrity protection label;
所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
处理器1000还用于读取所述程序,执行如下步骤:The processor 1000 is further configured to read the program and execute the following steps:
向所述第一网元发送SUCI(Subscription Concealed Identifier,用户隐藏标识),在所述SUCI中携带所述第一完整性保护标签。Send a SUCI (Subscription Concealed Identifier) to the first network element, and carry the first integrity protection label in the SUCI.
所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;处理器1000还用于读取所述程序,执行如下步骤:The shared key is an OPC key or a root key K known to the first network element and the terminal; the integrity verification value is a second integrity protection label; the processor 1000 is also used to read The procedure described below performs the following steps:
由USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The USIM uses an integrity calculation function to perform calculations on the OPC key or root key K and the existing integrity protection label in the SUCI to obtain the second integrity protection label.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第二完整性保护标签;处理器1000还用于读取所述程序,执行如下步骤: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a second integrity protection label; the processor 1000 is also used to read The procedure described below performs the following steps:
由ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥K AUSF进行运算,得到所述第二完整性保护标签。 The ME uses an integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key K AUSF between the two to obtain the second integrity protection label.
处理器1000还用于读取所述程序,执行如下步骤:The processor 1000 is further configured to read the program and execute the following steps:
向所述第一网元发送SUCI和所述第二完整性保护标签。Sending the SUCI and the second integrity protection label to the first network element.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;处理器1000还用于读取所述程序,执行如下步骤:Wherein, the shared key is an OPC key or a root key K commonly known to the first network element and the terminal; the integrity verification value is a random number and a third integrity protection label; the processor 1000 It is also used to read the program and perform the following steps:
由USIM生成随机数;Random number generated by USIM;
由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection label; or, use a predefined function to perform operations on the OPC secret The key and/or the root key K and the random number are operated to obtain the third integrity protection label.
处理器1000还用于读取所述程序,执行如下步骤:The processor 1000 is further configured to read the program and execute the following steps:
由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Sending, by the ME, the SUCI, the random number, and the third integrity protection label to the first network element;
其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
如图11所示,本公开实施例的通信设备,应用于第一网元,包括:处理器1100,用于读取存储器1111中的程序,执行下列过程:As shown in FIG. 11, the communication device of the embodiment of the present disclosure, applied to the first network element, includes: a processor 1100, configured to read a program in a memory 1111, and execute the following process:
接收终端发送的完整性验证值;Receive the integrity verification value sent by the terminal;
对所述完整性验证值进行验证;Verify the integrity verification value;
向所述终端发送对所述完整性验证值的验证结果;Sending a verification result of the integrity verification value to the terminal;
其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
收发机1110,用于在处理器1100的控制下接收和发送数据。The transceiver 1110 is configured to receive and send data under the control of the processor 1100.
其中,在图11中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1100代表的一个或多个处理器和存储器1111代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1110可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1100负责管理总线架构和通常的处理,存储器1111可以存储处理器1100在执行操作时所使用的数据。Wherein, in FIG. 11, the bus architecture may include any number of interconnected buses and bridges. Specifically, one or more processors represented by the processor 1100 and various circuits of the memory represented by the memory 1111 are linked together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, will not be further described herein. The bus interface provides the interface. The transceiver 1110 may be a plurality of elements, including a transmitter and a transceiver, and provide a unit for communicating with various other devices on a transmission medium. The processor 1100 is responsible for managing the bus architecture and general processing, and the memory 1111 may store data used by the processor 1100 when performing operations.
处理器1100负责管理总线架构和通常的处理,存储器1111可以存储处理器1100在执行操作时所使用的数据。The processor 1100 is responsible for managing the bus architecture and general processing, and the memory 1111 may store data used by the processor 1100 when performing operations.
其中,所述完整性验证值为第一完整性保护标签;处理器1100还用于读取所述程序,执行如下步骤:接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。Wherein, the integrity verification value is the first integrity protection label; the processor 1100 is further configured to read the program and perform the following steps: receive the SUCI sent by the terminal, and carry the first SUCI in the SUCI Integrity protection label.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;处理器1100还用于读取所述程序,执行如下步骤:Wherein, the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签;处理器1100还用于读取所述程序,执行如下步骤: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the integrity verification value is a first integrity protection label; the processor 1100 is also used to read The procedure described below performs the following steps:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
处理器1100还用于读取所述程序,执行如下步骤:The processor 1100 is further configured to read the program and execute the following steps:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
利用完整性运算函数对第五信息、第六信息以及所述会话根密钥K AUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果; The fifth information, the sixth information, and the session root key K AUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is An encryption result obtained by encrypting the SUPI using an encryption key;
在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述完整性验证值为第二完整性保护标签;处理器1100还用于读取所述程序,执行如下步骤:接收所述终端发送的SUCI和所述第二完整性保护标签。Wherein, the integrity verification value is a second integrity protection label; the processor 1100 is further configured to read the program and execute the following steps: receiving the SUCI and the second integrity protection label sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密 钥K;处理器1100还用于读取所述程序,执行如下步骤:Wherein, the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
解密所述SUCI,得到SUPI和所述第二完整性保护标签;Decrypt the SUCI to obtain SUPI and the second integrity protection label;
根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Using an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;处理器1100还用于读取所述程序,执行如下步骤: Wherein, the shared key is the session root key K AUSF between the first network element and the terminal; the processor 1100 is further configured to read the program and perform the following steps:
解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
在数据库中查找所述SUPI;Search the SUPI in the database;
在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
处理器1100还用于读取所述程序,执行如下步骤:The processor 1100 is further configured to read the program and execute the following steps:
在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥K AUSF进行运算,得到第四运算值; Using an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth operation value;
在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
处理器1100还用于读取所述程序,执行如下步骤:The processor 1100 is further configured to read the program and execute the following steps:
获取所述第一网元自身存储的所述会话根密钥K AUSF;或者 Obtain the session root key K AUSF stored by the first network element itself; or
从第二网元获取所述会话根密钥K AUSFObtain the session root key K AUSF from the second network element.
其中,所述完整性验证值为随机数和第三完整性保护标签;处理器1100还用于读取所述程序,执行如下步骤:Wherein, the integrity verification value is a random number and a third integrity protection label; the processor 1100 is further configured to read the program and execute the following steps:
接收所述终端发送的SUCI。Receive the SUCI sent by the terminal.
其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;处理器1100还用于读取所述程序,执行如下步骤:Wherein, the shared key is an OPC key or root key K that is commonly known to the first network element and the terminal; the processor 1100 is further configured to read the program and execute the following steps:
获得所述随机数;Obtain the random number;
在数据库中查找所述随机数;Look up the random number in the database;
在查找到所述随机数的情况下,验证结果为验证不通过。In the case where the random number is found, the verification result is that the verification fails.
处理器1100还用于读取所述程序,执行如下步骤:The processor 1100 is further configured to read the program and execute the following steps:
在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;If the random number is not found, decrypt the SUCI to obtain SUPI;
获取所述SUPI对应的OPC密钥或根密钥K;Obtaining the OPC key or root key K corresponding to the SUPI;
利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Operate the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root key K and Performing an operation on the random number to obtain a fifth operation value;
在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
处理器1100还用于读取所述程序,执行如下步骤:The processor 1100 is further configured to read the program and execute the following steps:
在未查找到所述随机数的情况下,存储所述随机数。If the random number is not found, the random number is stored.
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述验证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。The embodiments of the present disclosure also provide a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium. When the computer program is executed by a processor, each process of the above-mentioned verification method embodiment is realized, and the same technical effect can be achieved. To avoid repetition, I won’t repeat it here. Wherein, the computer-readable storage medium, such as read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk, or optical disk, etc.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that in this article, the terms "include", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, It also includes other elements not explicitly listed, or elements inherent to the process, method, article, or device. If there are no more restrictions, the element defined by the sentence "including a..." does not exclude the existence of other identical elements in the process, method, article, or device that includes the element.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. Implementation mode. According to this understanding, the technical solution of the present disclosure can be embodied in the form of a software product in essence or the part that contributes to the related technology. The computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk). ) Includes several instructions to make a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present disclosure.
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上 述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。The embodiments of the present disclosure are described above with reference to the accompanying drawings, but the present disclosure is not limited to the above-mentioned specific embodiments. The above-mentioned specific embodiments are only illustrative and not restrictive. Those of ordinary skill in the art are Under the enlightenment of the present disclosure, without departing from the purpose of the present disclosure and the scope of protection of the claims, many forms can be made, all of which fall within the protection of the present disclosure.

Claims (29)

  1. 一种验证方法,应用于终端,包括:A verification method applied to a terminal, including:
    利用共享密钥对目标信息进行完整性运算,得到完整性验证值;Use the shared key to perform integrity operations on the target information to obtain the integrity verification value;
    向第一网元发送所述完整性验证值;Sending the integrity verification value to the first network element;
    接收所述第一网元对所述完整性验证值的验证结果;Receiving a verification result of the integrity verification value of the first network element;
    其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
  2. 根据权利要求1所述的方法,其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第一完整性保护标签;The method according to claim 1, wherein the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; and the integrity verification value is the first integrity Protection label
    所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
    由全球用户识别模块USIM利用完整性运算函数对所述OPC密钥或根密钥K、第一信息和第二信息进行运算,得到所述第一完整性保护标签;The global user identification module USIM uses an integrity calculation function to perform calculations on the OPC key or root key K, the first information, and the second information to obtain the first integrity protection label;
    所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  3. 根据权利要求1所述的方法,其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签; The method according to claim 1, wherein the shared key is the session root key K AUSF between the first network element and the terminal; and the integrity verification value is a first integrity protection label ;
    所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
    由移动端ME利用完整性运算函数对第一信息、第二信息、所述会话根密钥K AUSF钥进行运算,得到所述第一完整性保护标签; The mobile terminal ME uses an integrity calculation function to perform calculations on the first information, the second information, and the session root key K AUSF key to obtain the first integrity protection label;
    所述第一信息为完整性密钥,所述第二信息为利用加密密钥对用户永久标识SUPI进行加密的结果。The first information is an integrity key, and the second information is a result of encrypting the user's permanent identity SUPI with an encryption key.
  4. 根据权利要求2或3所述的方法,其中,所述向第一网元发送所述完整性验证值,包括:The method according to claim 2 or 3, wherein the sending the integrity verification value to the first network element comprises:
    向所述第一网元发送用户隐藏标识SUCI,在所述SUCI中携带所述第一完整性保护标签。Send a user hidden identifier SUCI to the first network element, and carry the first integrity protection label in the SUCI.
  5. 根据权利要求1所述的方法,其中,所述共享密钥为所述第一网元和 所述终端共知的OPC密钥或根密钥K;所述完整性验证值为第二完整性保护标签;The method according to claim 1, wherein the shared key is an OPC key or a root key K known to the first network element and the terminal; and the integrity verification value is a second integrity Protection label
    所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
    由USIM利用完整性运算函数对SUCI中所述OPC密钥或根密钥K以及已有的完整性保护标签进行运算,得到所述第二完整性保护标签。The USIM uses an integrity calculation function to perform calculations on the OPC key or root key K in the SUCI and the existing integrity protection label to obtain the second integrity protection label.
  6. 根据权利要求1所述的方法,其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第二完整性保护标签; The method according to claim 1, wherein the shared key is the session root key K AUSF between the first network element and the terminal; and the integrity verification value is a second integrity protection label ;
    所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
    由ME利用完整性运算函数对SUCI中已有的完整性保护标签、所述之间的会话根密钥K AUSF进行运算,得到所述第二完整性保护标签。 The ME uses an integrity operation function to perform operations on the existing integrity protection label in the SUCI and the session root key K AUSF between the two to obtain the second integrity protection label.
  7. 根据权利要求5或6所述的方法,其中,所述向第一网元发送所述完整性验证值,包括:The method according to claim 5 or 6, wherein the sending the integrity verification value to the first network element comprises:
    向所述第一网元发送SUCI以及所述第二完整性保护标签。Sending the SUCI and the second integrity protection label to the first network element.
  8. 根据权利要求1所述的方法,其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述完整性验证值为随机数和第三完整性保护标签;The method according to claim 1, wherein the shared key is an OPC key or a root key K known to the first network element and the terminal; the integrity verification value is a random number and the first 3. Integrity protection label;
    所述利用共享密钥对目标信息进行完整性运算,得到完整性验证值,包括:The use of the shared key to perform an integrity operation on the target information to obtain an integrity verification value includes:
    由USIM生成随机数;Random number generated by USIM;
    由所述USIM利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签;或者,利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到所述第三完整性保护标签。The USIM uses an integrity operation function to perform operations on the OPC key or root key K and the random number to obtain the third integrity protection label; or, use a predefined function to perform operations on the OPC secret The key and/or the root key K and the random number are operated to obtain the third integrity protection label.
  9. 根据权利要求8所述的方法,其中,所述向第一网元发送所述完整性验证值,包括:The method according to claim 8, wherein the sending the integrity verification value to the first network element comprises:
    由ME向所述第一网元发送SUCI、所述随机数和所述第三完整性保护标签;Sending, by the ME, the SUCI, the random number, and the third integrity protection label to the first network element;
    其中,所述SUCI、所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的;或者,所述随机数和所述第三完整性保护标签是所述ME由所述USIM获取的,所述SUCI是所述ME生成的。Wherein, the SUCI, the random number and the third integrity protection label are obtained by the ME by the USIM; or, the random number and the third integrity protection label are obtained by the ME Obtained by the USIM, and the SUCI is generated by the ME.
  10. 一种验证方法,应用于第一网元,包括:A verification method, applied to the first network element, includes:
    接收终端发送的完整性验证值;Receive the integrity verification value sent by the terminal;
    对所述完整性验证值进行验证;Verify the integrity verification value;
    向所述终端发送对所述完整性验证值的验证结果;Sending a verification result of the integrity verification value to the terminal;
    其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  11. 根据权利要求10所述的方法,其中,所述完整性验证值为第一完整性保护标签;The method according to claim 10, wherein the integrity verification value is a first integrity protection label;
    所述接收终端发送的完整性验证值,包括:The integrity verification value sent by the receiving terminal includes:
    接收所述终端发送的SUCI,在所述SUCI中携带所述第一完整性保护标签。Receiving the SUCI sent by the terminal, and carrying the first integrity protection label in the SUCI.
  12. 根据权利要求11所述的方法,其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;所述对所述完整性验证值进行验证,包括:The method according to claim 11, wherein the shared key is an OPC key or a root key K commonly known by the first network element and the terminal; and the verification of the integrity verification value is performed ,include:
    解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
    根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
    利用完整性运算函数对所述OPC密钥或根密钥K、第三信息和第四信息进行运算,得到第一运算值;其中,所述第三信息为完整性密钥,所述第四信息为利用加密密钥对所述SUPI进行加密的加密结果;The OPC key or root key K, the third information, and the fourth information are calculated using the integrity calculation function to obtain the first calculation value; wherein, the third information is the integrity key, and the fourth The information is an encryption result of using an encryption key to encrypt the SUPI;
    在所述第一运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the first operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  13. 根据权利要求11所述的方法,其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSF;所述完整性验证值为第一完整性保护标签; The method according to claim 11, wherein the shared key is the session root key K AUSF between the first network element and the terminal; and the integrity verification value is a first integrity protection label ;
    所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
    解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
    在数据库中查找所述SUPI;Search the SUPI in the database;
    在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
  14. 根据权利要求13所述的方法,还包括:The method according to claim 13, further comprising:
    在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
    利用完整性运算函数对第五信息、第六信息以及所述会话根密钥K AUSF进行运算,得到第二运算值;其中,所述第五信息为完整性密钥,所述第六信息为利用加密密钥对所述SUPI进行加密的加密结果; The fifth information, the sixth information, and the session root key K AUSF are calculated using the integrity calculation function to obtain the second calculation value; wherein, the fifth information is the integrity key, and the sixth information is An encryption result obtained by encrypting the SUPI using an encryption key;
    在所述第二运算值和所述第一完整性保护标签一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the second operation value is consistent with the first integrity protection label, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  15. 根据权利要求10所述的方法,其中,所述完整性验证值为第二完整性保护标签;The method according to claim 10, wherein the integrity verification value is a second integrity protection label;
    所述方法还包括:The method also includes:
    接收所述终端发送的SUCI。Receive the SUCI sent by the terminal.
  16. 根据权利要求15所述的方法,其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;The method according to claim 15, wherein the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
    所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
    解密所述SUCI,得到SUPI和所述第二完整性保护标签;Decrypt the SUCI to obtain SUPI and the second integrity protection label;
    根据所述SUPI得到所述OPC密钥或根密钥K;Obtaining the OPC key or root key K according to the SUPI;
    利用完整性运算函数对所述OPC密钥或根密钥K以及所述SUCI中携带的完整性保护标签进行运算,得到第二运算值;Using an integrity calculation function to perform calculations on the OPC key or root key K and the integrity protection label carried in the SUCI to obtain a second calculation value;
    在对所述SUCI中携带的完整性保护标签和所述第二运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the second operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  17. 根据权利要求15所述的方法,其中,所述共享密钥为所述第一网元和所述终端之间的会话根密钥K AUSFThe method according to claim 15, wherein the shared key is a session root key K AUSF between the first network element and the terminal;
    所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
    解密所述SUCI,得到SUPI;Decrypt the SUCI to obtain SUPI;
    在数据库中查找所述SUPI;Search the SUPI in the database;
    在未查找到所述SUPI的情况下,验证结果为验证不通过。If the SUPI is not found, the verification result is that the verification fails.
  18. 根据权利要求17所述的方法,还包括:The method according to claim 17, further comprising:
    在查找到所述SUPI的情况下,获取所述SUPI对应的会话根密钥K AUSFIn the case of finding the SUPI, obtain the session root key K AUSF corresponding to the SUPI;
    利用完整性运算函数对所述SUCI中携带的完整性保护标签以及所述会话根密钥K AUSF进行运算,得到第四运算值; Using an integrity operation function to perform operations on the integrity protection label carried in the SUCI and the session root key K AUSF to obtain a fourth operation value;
    在对所述SUCI中携带的完整性保护标签和所述第四运算值的验证通过的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case where the verification of the integrity protection label carried in the SUCI and the fourth operation value is passed, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  19. 根据权利要求14或18所述的方法,其中,所述获取所述SUPI对应的会话根密钥K AUSF,包括: The method according to claim 14 or 18, wherein the obtaining the session root key K AUSF corresponding to the SUPI comprises:
    获取所述第一网元自身存储的所述会话根密钥K AUSF;或者 Obtain the session root key K AUSF stored by the first network element itself; or
    从第二网元获取所述会话根密钥K AUSFObtain the session root key K AUSF from the second network element.
  20. 根据权利要求10所述的方法,其中,所述完整性验证值为随机数和第三完整性保护标签;The method according to claim 10, wherein the integrity verification value is a random number and a third integrity protection label;
    所述方法还包括:The method also includes:
    接收所述终端发送的SUCI。Receive the SUCI sent by the terminal.
  21. 根据权利要求20所述的方法,其中,所述共享密钥为所述第一网元和所述终端共知的OPC密钥或根密钥K;The method according to claim 20, wherein the shared key is an OPC key or a root key K commonly known by the first network element and the terminal;
    所述对所述完整性验证值进行验证,包括:The verifying the integrity verification value includes:
    获得所述随机数;Obtain the random number;
    在数据库中查找所述随机数;Look up the random number in the database;
    在查找到所述随机数的情况下,验证结果为验证不通过。In the case where the random number is found, the verification result is that the verification fails.
  22. 根据权利要求21所述的方法,还包括:The method according to claim 21, further comprising:
    在未查找到所述随机数的情况下,解密所述SUCI,得到SUPI;If the random number is not found, decrypt the SUCI to obtain SUPI;
    获取所述SUPI对应的OPC密钥或根密钥K;Obtaining the OPC key or root key K corresponding to the SUPI;
    利用完整性运算函数对所述OPC密钥或根密钥K以及所述随机数进行运算,得到第五运算值;或者利用预定义的函数对所述OPC密钥和/或根密钥K以及所述随机数进行运算,得到第五运算值;Operate the OPC key or root key K and the random number using an integrity operation function to obtain a fifth operation value; or use a predefined function to perform operations on the OPC key and/or root key K and Performing an operation on the random number to obtain a fifth operation value;
    在所述第三完整性保护标签和所述第五运算值一致的情况下,验证结果为验证通过;否则,验证结果为验证不通过。In the case that the third integrity protection label is consistent with the fifth operation value, the verification result is that the verification is passed; otherwise, the verification result is that the verification is not passed.
  23. 根据权利要求22所述的方法,还包括:The method of claim 22, further comprising:
    在未查找到所述随机数的情况下,存储所述随机数。If the random number is not found, the random number is stored.
  24. 一种验证装置,应用于终端,包括:A verification device applied to a terminal, including:
    获取模块,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;The acquisition module is used to perform integrity operations on the target information by using the shared key to obtain the integrity verification value;
    发送模块,用于向第一网元发送所述完整性验证值;A sending module, configured to send the integrity verification value to the first network element;
    接收模块,用于接收所述第一网元对所述完整性验证值的验证结果;A receiving module, configured to receive a verification result of the integrity verification value of the first network element;
    其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
  25. 一种验证装置,应用于第一网元,包括:A verification device, applied to a first network element, includes:
    接收模块,用于接收终端发送的完整性验证值;The receiving module is used to receive the integrity verification value sent by the terminal;
    验证模块,用于对所述完整性验证值进行验证;A verification module for verifying the integrity verification value;
    发送模块,用于向所述终端发送对所述完整性验证值的验证结果;A sending module, configured to send a verification result of the integrity verification value to the terminal;
    其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  26. 一种验证装置,应用于终端,包括:处理器和收发器;A verification device, applied to a terminal, including: a processor and a transceiver;
    所述处理器,用于利用共享密钥对目标信息进行完整性运算,得到完整性验证值;The processor is configured to perform an integrity operation on the target information by using a shared key to obtain an integrity verification value;
    所述收发器,用于向第一网元发送所述完整性验证值;接收所述第一网元对所述完整性验证值的验证结果;The transceiver is configured to send the integrity verification value to a first network element; receive a verification result of the integrity verification value by the first network element;
    其中,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the shared key is a key used between the first network element and the terminal.
  27. 一种验证装置,应用于第一网元,包括:处理器和收发器;A verification device, applied to a first network element, including: a processor and a transceiver;
    所述收发器,用于接收终端发送的完整性验证值;The transceiver is used to receive the integrity verification value sent by the terminal;
    所述处理器,用于对所述完整性验证值进行验证;The processor is configured to verify the integrity verification value;
    所述收发器,还用于向所述终端发送对所述完整性验证值的验证结果;The transceiver is further configured to send a verification result of the integrity verification value to the terminal;
    其中,所述完整性验证值是利用共享密钥对目标信息进行完整性运算得到的,所述共享密钥是所述第一网元和所述终端之间使用的密钥。Wherein, the integrity verification value is obtained by performing an integrity operation on the target information using a shared key, and the shared key is a key used between the first network element and the terminal.
  28. 一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其中,A communication device, including: a transceiver, a memory, a processor, and a program stored on the memory and running on the processor; wherein,
    所述处理器,用于读取存储器中的程序实现如权利要求1至9中任一项所述的方法中的步骤;或者实现如权利要求10至23中任一项所述的方法中的步骤。The processor is configured to read the program in the memory to implement the steps in the method according to any one of claims 1 to 9; or to implement the steps in the method according to any one of claims 10 to 23 step.
  29. 一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法中的步骤;或者实现如权利要求10至23中任一项所述的方法中的步骤。A computer-readable storage medium for storing a computer program, wherein the computer program implements the steps in the method according to any one of claims 1 to 9 when the computer program is executed by a processor; or implements the steps in claim 10 Step in the method of any one of to 23.
PCT/CN2020/120327 2019-11-06 2020-10-12 Verification method, device and equipment and computer readable storage medium WO2021088593A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911104767.8A CN112839329B (en) 2019-11-06 2019-11-06 Verification method, device, equipment and computer readable storage medium
CN201911104767.8 2019-11-06

Publications (1)

Publication Number Publication Date
WO2021088593A1 true WO2021088593A1 (en) 2021-05-14

Family

ID=75848774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/120327 WO2021088593A1 (en) 2019-11-06 2020-10-12 Verification method, device and equipment and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN112839329B (en)
WO (1) WO2021088593A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115379445A (en) * 2022-08-23 2022-11-22 中国联合网络通信集团有限公司 Key derivation method and device, and network equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562558A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, system and device for terminal grade classification
CN102026165A (en) * 2009-09-14 2011-04-20 中兴通讯股份有限公司 Method and system for identifying terminal
CN104202168A (en) * 2014-09-19 2014-12-10 浪潮电子信息产业股份有限公司 Cloud data integrity verification method based on trusted third party
CN107666491A (en) * 2017-11-15 2018-02-06 北京交通大学 The data transmission method of air-ground integrated network based on symmetric cryptography
WO2019084575A1 (en) * 2017-10-25 2019-05-02 Alibaba Group Holding Limited Bios startup method and data processing method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019105695A1 (en) * 2017-11-30 2019-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Secure deactivation of subscriber identifier protection in 5g
CN109699031B (en) * 2018-01-11 2020-03-20 华为技术有限公司 Verification method and device adopting shared secret key, public key and private key
CN110035433B (en) * 2018-01-11 2024-03-19 华为技术有限公司 Verification method and device adopting shared secret key, public key and private key
CN110225600B (en) * 2018-03-01 2021-09-07 华为技术有限公司 Communication method and device
CN108683510B (en) * 2018-05-18 2021-03-23 兴唐通信科技有限公司 User identity updating method for encrypted transmission
CN108848495B (en) * 2018-05-18 2021-03-23 兴唐通信科技有限公司 User identity updating method using preset key

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562558A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, system and device for terminal grade classification
CN102026165A (en) * 2009-09-14 2011-04-20 中兴通讯股份有限公司 Method and system for identifying terminal
CN104202168A (en) * 2014-09-19 2014-12-10 浪潮电子信息产业股份有限公司 Cloud data integrity verification method based on trusted third party
WO2019084575A1 (en) * 2017-10-25 2019-05-02 Alibaba Group Holding Limited Bios startup method and data processing method
CN107666491A (en) * 2017-11-15 2018-02-06 北京交通大学 The data transmission method of air-ground integrated network based on symmetric cryptography

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115379445A (en) * 2022-08-23 2022-11-22 中国联合网络通信集团有限公司 Key derivation method and device, and network equipment
CN115379445B (en) * 2022-08-23 2024-05-14 中国联合网络通信集团有限公司 Key derivation method and device and network equipment

Also Published As

Publication number Publication date
CN112839329B (en) 2022-07-22
CN112839329A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
Aman et al. Mutual authentication in IoT systems using physical unclonable functions
CN110971415B (en) Space-ground integrated space information network anonymous access authentication method and system
Das et al. An efficient multi‐gateway‐based three‐factor user authentication and key agreement scheme in hierarchical wireless sensor networks
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
KR101485230B1 (en) Secure multi-uim authentication and key exchange
Das A secure and effective user authentication and privacy preserving protocol with smart cards for wireless communications
Doss et al. Secure RFID tag ownership transfer based on quadratic residues
Saxena et al. Authentication protocol for an IoT-enabled LTE network
Qian et al. A Lightweight RFID Security Protocol Based on Elliptic Curve Crytography.
Mehmood et al. Authentication and secure key management in E-health services: a robust and efficient protocol using biometrics
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
Xu et al. An anonymous handover authentication scheme based on LTE‐A for vehicular networks
Odelu et al. A secure anonymity preserving authentication scheme for roaming service in global mobility networks
Choudhury HashXor: A lightweight scheme for identity privacy of IoT devices in 5G mobile network
Noh et al. Secure authentication and four-way handshake scheme for protected individual communication in public wi-fi networks
TWI568234B (en) Anonymity authentication method for global mobility networks
Liu et al. A new authentication and key agreement protocol for 5G wireless networks
De Smet et al. Lightweight PUF based authentication scheme for fog architecture
Niu et al. A novel user authentication scheme with anonymity for wireless communications
CN114143117A (en) Data processing method and device
Yu et al. Puf-based robust and anonymous authentication and key establishment scheme for v2g networks
Coruh et al. Hybrid secure authentication and key exchange scheme for M2M home networks
Ouaissa et al. New security level of authentication and key agreement protocol for the IoT on LTE mobile networks
Dharminder et al. Construction of a chaotic map-based authentication protocol for tmis
WO2021088593A1 (en) Verification method, device and equipment and computer readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20885552

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20885552

Country of ref document: EP

Kind code of ref document: A1