Communication method and apparatus, and readable storage medium
By generating a Subscription Hidden Identity (SUCI) through a symmetric key encryption mechanism, the security problem of low-power IoT devices is solved, and security protection and identity authentication are achieved under low power conditions. This method is suitable for communication of IoT devices.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-10-29
- Publication Date
- 2026-05-15
AI Technical Summary
Most existing wireless communication devices rely on battery power, resulting in high maintenance costs, serious environmental problems, and security risks. In particular, for IoT devices without batteries or with limited energy storage capacity, the public key encryption mechanism of existing cellular communication systems is energy-intensive and cannot be directly applied to low-power or low-computing-power devices.
A symmetric key encryption mechanism is adopted, which uses the serial number of the terminal device and a pre-configured key to generate a Subscription Hidden Identifier (SUCI). Through the first random number and ciphertext generation process, the security of low-power or low-computing-power devices is improved, avoiding the complexity and high energy consumption of dynamically generating public keys.
While meeting low power requirements, it protects the permanent identifier of low-power or low-computing-power devices, improves security, reduces replay attacks on the network side, and saves signaling overhead. It is suitable for low-power or low-computing-power IoT devices.
Smart Images

Figure CN2024128035_15052026_PF_FP_ABST
Abstract
Description
Communication method, apparatus and readable storage medium
[0001] The present application claims priority to the Chinese patent application No. 202311435075.8, filed on October 30, 2023, with the State Intellectual Property Office of China, and the Chinese patent application No. 202311435075.8 has the title of “Communication method, apparatus and readable storage medium”, the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a communication method, apparatus and readable storage medium. BACKGROUND
[0003] In recent years, the Internet of Things (IoT) has received extensive attention in the field of wireless communication. By interconnecting more IoT devices, productivity efficiency can be improved and life comfort can be increased. Reducing the size, complexity and power consumption of IoT devices can deploy hundreds of billions or even trillions of IoT devices for various applications and provide more added value. Since most existing wireless communication devices are powered by batteries, they need to be manually replaced or charged. Therefore, if the IoT devices are powered by manually replaced or charged batteries, it will result in high maintenance costs, serious environmental problems, and even safety hazards for some use cases (such as wireless sensors in the power and oil industries).
[0004] Therefore, a new physical network technology is needed to support batteryless devices or energy storage devices that do not need to be manually replaced or charged. It is proposed that power can be obtained from the environment, such as by collecting radio waves, light, motion, heat or any other suitable source to provide energy for batteryless or energy storage-limited devices (such as using capacitors). These batteryless or energy storage-limited devices have limited size and complexity in practical applications, and the energy provided by the energy collector usually has an output power of 1 μW (microwatt) to several hundred microwatts. Due to their limited energy storage capacity and low energy harvesting output power, they are required to have low power consumption.
[0005] For such batteryless or energy storage-limited devices, or low-power or low-computing-power devices, their security issues are worth considering.
[0006] SUMMARY
[0007] The embodiments of the present application provide a communication method, apparatus and readable storage medium, which can protect the permanent identifier of a low-power or low-computing-power device and improve the security of the low-power or low-computing-power device while meeting the power consumption requirements of the low-power or low-computing-power device.
[0008] The application will be described from different aspects below. It should be understood that the implementation and advantages of different aspects below can be referred to each other.
[0009] In a first aspect, the application provides a communication method, comprising: receiving, by a terminal device, a first message, the first message comprising a first nonce; generating, by the terminal device, a ciphertext based on the first nonce, a serial number of the terminal device, and a first key, and generating a subscription concealed identifier (SUCI) based on a key identifier and the ciphertext; and sending, by the terminal device, a second message to a first network element. The key identifier can be used to index the first key preconfigured by the terminal device and other network elements. The SUCI can be used for identity protection of the terminal device and for subsequent authentication and key agreement (AKA).
[0010] The serial number of the terminal device can be a serial number of the terminal device itself or a serial number of a subscriber identity module (SIM) card in the terminal device, such as a mobile subscriber identification number (MSIN).
[0011] The terminal device of the application can be an Internet of Things device, such as an Ambient IoT (A-IoT) device, a Passive IoT (P-IoT) device, a smart tag, a passive tag, an active tag, an industrial control element, etc. The Internet of Things device in the application can be low-power, low-computing power, or limited energy storage capacity. The first network element of the application can be an access and mobility management function (AMF) or a tag management function (TMF). The tag management function (TMF) can be understood as an AMF that manages tags specially, which can be deployed in a toB (to business) park.
[0012] The first key can be preconfigured in the terminal device.
[0013] Exemplarily, the first key can be a key of a symmetric encryption algorithm, or the first key can also be referred to as a symmetric key. The symmetric key encryption is also referred to as private key encryption or shared key encryption, that is, the key used by a data sender to encrypt plaintext and the key used by a data receiver to decrypt corresponding ciphertext are the same. Specifically, the first key is also used by the network side to decrypt the ciphertext. The symmetric encryption algorithm includes but is not limited to an advanced encryption standard (AES) algorithm, a robin montgomery algorithm (ROMAN), a Zuchongzhi algorithm (ZUC-128) or a ZUC stream cipher, or an AES-128.
[0014] It can be understood that the key used by the terminal device to encrypt plaintext and the key used by the network side to decrypt ciphertext have the same value. In order to facilitate understanding, both are referred to as the first key in the present application. Of course, in actual application, they can also be distinguished as different keys, such as key 1 and key 2, and the values of key 1 and key 2 are the same.
[0015] It can be understood that because the power consumption of the Internet of Things device is usually small, it cannot be applied to the public key encryption mechanism (for example, an elliptic curve integrated encryption scheme) in the existing cellular communication system. This is because in the existing UE identity authentication process, a public key needs to be dynamically generated, and the serial number of the UE is encrypted using the public key, and the generation mode and encryption mode of the public key are very complex and have high energy consumption. Therefore, the security protection scheme in the existing cellular communication system cannot be directly applied to the Internet of Things device.
[0016] Therefore, the terminal device of the present application uses the first key to encrypt the serial number of the terminal device, and carries the key identifier of the first key in the SUCI, so that the network element of the network side can also use the same first key to decrypt. There is no need to dynamically generate a public key to protect the serial number of the terminal device, that is, the symmetric key is used to protect the serial number of the terminal device, which can protect the permanent identifier of the low-power or low-computing-power device (such as the Internet of Things device) and improve the security of the low-power or low-computing-power device while meeting the power consumption requirements of the low-power or low-computing-power device.
[0017] In addition, the first random number (nonce) is added in the generation process of the ciphertext in the present application, which can increase the freshness of the ciphertext or the key, so that even if the attacker masters the symmetric key (such as the first key), the terminal device cannot decrypt the ciphertext to obtain the serial number of the terminal device, which can further improve the security; and can reduce the replay attack of the network side.
[0018] With reference to the first aspect, in a possible implementation manner, the SUCI is further generated based on one or more of the following: a type of a subscription permanent identifier (SUPI), a home network identifier of the terminal device, the first random number, or a message authentication code. In other words, when generating the SUCI, the terminal device can further generate the SUCI based on one or more of the following: the type of the SUPI, the home network identifier of the terminal device, the first random number, or the message authentication code, in addition to the key identifier and the cipher.
[0019] With reference to the first aspect, in a possible implementation manner, the cipher is further generated based on a second random number (RAND). The second random number can be generated by the terminal device. In other words, when generating the cipher, the terminal device can further generate the cipher based on the second random number (RAND). It can be understood that a random number can be divided into a pseudo random number and a true random number. For example, the first random number (nonce) can be a true random number, and the second random number (RAND) can be a pseudo random number.
[0020] The second random number (RAND) is added in the generation of the cipher, which can be used to increase the randomness of the cipher (cipher) and further improve the security.
[0021] With reference to the first aspect, in a possible implementation manner, the cipher can be obtained by encrypting the concatenated terminal device serial number and the second random number based on a second key. The second key is generated based on the first key and the first random number.
[0022] With reference to the first aspect, in a possible implementation manner, the cipher can be obtained by encrypting the concatenated terminal device serial number, the second random number, and the first random number based on the first key.
[0023] With reference to the first aspect, in a possible implementation manner, the second message includes the first random number. For example, the first random number is carried in the SUCI. For example, the first random number is carried as a signal element in the second message.
[0024] The first random number is carried in the second message, which can be used for the first network element to verify the validity of the first random number, reduce the replay attack on the network side, and improve the security.
[0025] In a possible implementation of the first aspect, the first message can be a selection message, which is used to trigger an access procedure of the terminal device. For example, the selection message can be a beam for the terminal device to obtain energy, so as to perform a subsequent access procedure. For example, the selection message can be a system information broadcast (SIB) message, which can be used for the access network device (such as a base station) to broadcast the selection of the terminal device to perform a subsequent access procedure.
[0026] The application can help to configure random numbers in batches for the terminal by using the selection message (for example, the SIB message), and can save the signaling overhead of the network side.
[0027] In a possible implementation of the first aspect, the first message can also be a random access response or a radio resource control connection establishment message in an access procedure. Alternatively, the first message can be a non-access stratum (NAS) message. When the first message is the NAS message, the first message can be sent by the first network element to the access network device, and then forwarded to the terminal device by the access network device.
[0028] In a possible implementation of the first aspect, before the terminal device receives the first message, the method further includes: receiving, by the terminal device, a third message from an application function (AF), the third message including the key identifier and the first key. In other words, the key identifier and the first key used by the terminal device can be configured by the AF.
[0029] In a second aspect, the application provides a communication method, which includes: sending, by a first network element, a first random number to a terminal device through an access network device, the first random number being used to generate a ciphertext by the terminal device; receiving, by the first network element, a second message from the terminal device, the second message including a SUCI; and sending, by the first network element, an authentication request to a second network element, the authentication request including the SUCI. The SUCI can be used for identity protection of the terminal device. The SUCI can be generated based on a key identifier and the ciphertext. The key identifier can be used to index a first key. The first key can be used to decrypt the ciphertext to obtain a serial number of the terminal device. The second network element can be determined based on a home network identifier of the terminal device in the SUCI.
[0030] For example, the first random number is generated by the first network element.
[0031] For example, the second network element in this application may be an authentication credential repository and processing function (ARPF) or a unified data management (UDM) function.
[0032] After receiving a second message (including a SUCI) from a terminal device, the first network element of this application sends the SUCI to the second network element through an authentication request, so that the second network element can authenticate the terminal device to confirm its identity, thereby improving the security of the terminal device.
[0033] In conjunction with the second aspect, in one possible implementation, before the first network element sends the first random number to the terminal device through the access network device, the method further includes: the first network element receiving a service request from the AF, the service request including a service indication or terminal device identification information. This service indication or terminal device identification information can be used to determine the aforementioned terminal device; the specific determination method is described in the following method embodiments and will not be detailed here. For example, the service request can be used to request certain terminal devices to perform certain operations, such as requesting terminal devices whose identifiers are within a certain range to perform inventory checks or temperature measurements. Therefore, after receiving the service request, the first network element can determine the corresponding terminal devices based on the service request and send the first random number to these terminal devices, so that these terminal devices can generate ciphertext based on the first random number for authentication. For ease of description, this application uses a terminal device as an example.
[0034] This application triggers a first network element to send a first random number to some terminal devices through a service request, which can increase the flexibility of the solution and eliminate the need to operate on all terminal devices in the network.
[0035] In conjunction with the second aspect, in one possible implementation, after receiving the first random number, the terminal device can generate ciphertext based on the first random number, the terminal device's serial number, and the first key, and generate a SUCI based on the key identifier and the ciphertext. Then, the terminal device sends a second message carrying the SUCI to the first network element.
[0036] For example, when generating a SUCI, the terminal device may generate it based on one or more of the following, in addition to the key identifier and ciphertext: the type of SUCI, the home network identifier of the terminal device, the aforementioned first random number, or the message authentication code.
[0037] In conjunction with the second aspect, in one possible implementation, the aforementioned second message includes the aforementioned first random number. For example, the first random number is carried in the SUCI. For example, the first random number is carried as a cell in the second message.
[0038] In conjunction with the second aspect, in one possible implementation, if the first network element determines that the first random number included in the second message is valid, the first network element then sends an authentication request to the second network element. This authentication request can be used to request authentication of the terminal device to confirm its identity. The method for determining the validity of the first random number included in the second message is described in the following method embodiments and will not be detailed here. The fact that the first network element sends the authentication request only after the first random number is valid further enhances security.
[0039] In conjunction with the second aspect, in one possible implementation, after receiving the aforementioned authentication request, the second network element can decrypt the ciphertext using the first key of the key identifier index to obtain the serial number of the terminal device; then, based on the serial number of the terminal device, it can determine the SUPI of the terminal device. The specific method for determining the SUPI can be found in the description of the method embodiments below, and will not be detailed here. This SUPI can be used to subsequently execute the AKA mechanism.
[0040] In conjunction with the second aspect, in one possible implementation, the authentication request may further include one or more of the following: indication information, or the aforementioned first random number. The indication information may be used to indicate that the SUCI is an identifier for a low-power device or a low-computing-power device.
[0041] This application includes instruction information in the authentication request, which is clear in meaning and facilitates the second network element in distinguishing whether the authentication request is for a cellular device, a low-power device, or a low-computing-power device. This helps the second network element confirm its actions after receiving the authentication request.
[0042] Thirdly, this application provides a communication method, which includes: a second network element receiving an authentication request from a first network element, the authentication request including a SUCI, the SUCI being generated based on a key identifier and ciphertext, the key identifier being used to index a first key; the second network element decrypting the ciphertext using the first key to obtain the serial number of the terminal device; and then determining the SUPI of the terminal device based on the serial number of the terminal device. The SUPI can be used to subsequently execute the AKA mechanism.
[0043] For example, the first key may be pre-configured in the second network element.
[0044] The second network element of this application uses the first key to decrypt the ciphertext in SUCI and obtain the serial number of the terminal device. The decryption key is the same as the key used by the terminal device to encrypt its own serial number. That is, the serial number of the terminal device is protected by a symmetric key. This can protect the permanent identifier of low-power or low-computing-power devices while meeting the power consumption requirements of low-power or low-computing-power devices (such as IoT devices), thereby improving the security of low-power or low-computing-power devices.
[0045] In conjunction with the third aspect, in one possible implementation, the second network element determines the SUPI of the terminal device based on the serial number of the terminal device, including: the second network element recombines and splices the serial number of the terminal device, the plaintext in the SUCI, and / or other parameters (which may refer to content other than the plaintext in the SUCI) to obtain the SUPI of the terminal device.
[0046] For example, the plaintext in the SUCI includes one or more of the following: the type of SUPI, the home network identifier of the terminal device, the routing indicator, the key identifier k1, or the first nonce mentioned above. Other parameters include the mobile country code (MCC) and / or the mobile network code (MNC).
[0047] In conjunction with the third aspect, in one possible implementation, after the second network element decrypts the ciphertext using the first key to obtain the serial number of the terminal device, the method further includes: the second network element generating an authentication vector based on the master key corresponding to the SUPI, and executing the authentication and key negotiation (AKA) mechanism. It can be understood that in the AKA mechanism, the SUPI corresponds to a master key, and the encryption key (CK) and integrity key (IK) can be derived from this master key for subsequent communication assurance.
[0048] In conjunction with the third aspect, in one possible implementation, before the second network element generates an authentication vector based on the master key corresponding to the SUPI, the method further includes: the second network element determining that the SUPI is valid based on the pre-configured correspondence between the key identifier and the SUPI; if the SUPI is valid, the second network element can generate an authentication vector based on the master key corresponding to the SUPI.
[0049] In conjunction with the third aspect, in one possible implementation, before the second network element receives the authentication request from the first network element, the method further includes: the second network element receiving a key generation request from the AF, the key generation request including the key identifier; the second network element generating one or more keys based on the key identifier; and the second network element sending a key generation response to the AF, the key generation response including the one or more keys, the one or more keys including the first key.
[0050] For example, the key generation request may also include one or more home network identifiers, which are used to generate one or more keys in combination with the key identifier.
[0051] Fourthly, this application provides a communication method, comprising: a first network element sending a first random number to a terminal device via an access network device, the first random number being used by the terminal device to generate ciphertext; the first network element receiving a second message from the terminal device, the second message including a SUCI, the SUCI being generated based on a key identifier and the ciphertext; the first network element obtaining a key factor for deriving a first key from a key storage network element based on the key identifier, and then determining the first key based on the key factor and the first random number; the first network element decrypting the ciphertext in the SUCI using the first key to obtain the serial number of the terminal device, and determining the SUPI of the terminal device based on the serial number of the terminal device. The SUPI can be used to subsequently execute an AKA mechanism.
[0052] The first network element of this application uses the first key to decrypt the ciphertext in SUCI and obtain the serial number of the terminal device. The decryption key is the same as the key used by the terminal device to encrypt its own serial number. That is, the serial number of the terminal device is protected by a symmetric key. This can protect the permanent identifier of low-power or low-computing-power devices (such as IoT devices) while meeting the power consumption requirements of low-power or low-computing-power devices, thereby improving the security of low-power or low-computing-power devices.
[0053] In conjunction with the fourth aspect, in one possible implementation, after the first network element receives the second message from the terminal device, the first network element can decompose the SUCI in the second message to obtain the key identifier and cipher.
[0054] In conjunction with the fourth aspect, in one possible implementation, before the first network element sends the first random number to the terminal device through the access network device, the method further includes: the first network element receiving a service request from the AF, the service request including a service indication or terminal device identification information, and the service request also including a key identifier. For example, the service request can be used to request certain terminal devices to perform certain operations, such as requesting terminal devices whose identifiers are within a certain range to perform operations like inventory or temperature measurement. The key identifier can be used to obtain a key factor for deriving the first key. The service indication or terminal device identification information can be used to determine the aforementioned terminal device; the specific determination method is described in the following method embodiments and will not be detailed here.
[0055] In conjunction with the fourth aspect, in one possible implementation, the first network element determines the first key based on the key factor and the aforementioned first random number, including: the first network element determines one or more valid random numbers, and determines one or more keys based on the key factor and the one or more random numbers; the first network element decrypts the ciphertext based on these one or more keys, and determines the key that successfully decrypts the ciphertext as the first key. In other words, the first network element can perform multiple decryption attempts, and obtain the serial number of the terminal device if decryption is successful.
[0056] For example, the first network element may also determine one or more keys based on the key factor, the key identifier, and the one or more random numbers.
[0057] Even if the first random number is not carried in the second message, the first network element can still decrypt the ciphertext through multiple attempts, which can save air interface resources and is beneficial to low power / low computing power devices.
[0058] In conjunction with the fourth aspect, in one possible implementation, after receiving the first random number, the terminal device can generate ciphertext based on the first random number, the terminal device's serial number, and the first key, and generate a SUCI based on the key identifier and the ciphertext. Then, the terminal device sends a second message carrying the SUCI to the first network element.
[0059] For example, when generating a SUCI, the terminal device may generate it based on one or more of the following, in addition to the key identifier and ciphertext: the type of SUCI, the home network identifier of the terminal device, the aforementioned first random number, or the message authentication code.
[0060] In conjunction with the fourth aspect, in one possible implementation, after the first network element determines the SUPI of the terminal device based on the serial number of the terminal device, the method further includes: the first network element sending a fourth message to the second network element, the fourth message including the SUPI, the fourth message being used to trigger the AKA mechanism.
[0061] For example, before the first network element sends the fourth message to the second network element, the method further includes: the first network element determining that the SUPI is valid based on a pre-configured correspondence between the key identifier and the SUPI; if the SUPI is valid, the first network element then sends the fourth message to the second network element. This application, by pre-configuring the correspondence between the key identifier and the SUPI, triggers the AKA mechanism by sending the fourth message only when the SUPI is valid. Because the SUPI is valid, the master key corresponding to the SUPI is also valid in the AKA mechanism, which improves the accuracy of the AKA mechanism.
[0062] In conjunction with the fourth aspect, in one possible implementation, after the second network element receives the fourth message, the second network element can generate an authentication vector based on the master key corresponding to the SUPI and execute the authentication and key negotiation AKA mechanism.
[0063] Fifthly, this application provides a communication method, comprising: a second network element receiving a fourth message from a first network element, the fourth message including the SUPI, the fourth message being used to trigger an AKA mechanism; the second network element generating an authentication vector based on the master key corresponding to the SUPI, and executing the authentication and key negotiation AKA mechanism. It can be understood that in the AKA mechanism, the SUPI corresponds to a master key, and based on this master key, an encryption key (CK) and an integrity key (IK) can be derived for subsequent communication assurance.
[0064] Sixthly, this application provides a communication device, which may be a terminal device, a first network element, a second network element, or a chip therein. The communication device includes units and / or modules for performing the methods provided by any one of the first to fifth aspects, or any possible implementation thereof, such as transceiver units and / or processing units. The transceiver units are used to transmit and receive various information or signaling, thus also achieving the beneficial effects (or advantages) of the methods provided by any one of the first to fifth aspects.
[0065] In a seventh aspect, this application provides a communication device comprising a processor configured to execute the method shown in any one of the first to fifth aspects, or any possible implementation thereof. Alternatively, the processor may execute a program stored in a memory, wherein when the program is executed, the method shown in any one of the first to fifth aspects, or any possible implementation thereof, is executed.
[0066] In conjunction with the seventh aspect, in one possible implementation, the memory is located outside the aforementioned communication device.
[0067] In conjunction with the seventh aspect, in one possible implementation, the memory is located within the aforementioned communication device.
[0068] In this application, the processor and memory can also be integrated into a single device, that is, the processor and memory can be integrated together.
[0069] In conjunction with the seventh aspect, in one possible implementation, the communication device further includes a transceiver for sending or receiving various messages.
[0070] Eighthly, this application provides a readable storage medium storing program instructions that, when executed on a communication device, cause the communication device to perform the communication method described in any one of the first to fifth aspects above, or any possible implementation thereof.
[0071] Ninthly, this application provides a program product containing instructions that, when executed, cause the model licensing method described in any possible implementation of any of the first to fifth aspects above to be executed.
[0072] Tenthly, this application provides a communication device, which can be implemented as a chip or as a device, including a processor. The processor is used to read and execute a program stored in a memory to execute one or more of the first to fifth aspects described above, or one or more of any possible implementations of any of these aspects, providing a communication method. Optionally, the device further includes a memory connected to the processor via a circuit. Further optionally, the device includes a communication interface to which the processor is connected. The communication interface is used to receive information and / or signaling to be processed, the processor obtains the information and / or signaling from the communication interface, processes the information and / or signaling, and outputs the processing result through the communication interface. The communication interface can be an input / output interface.
[0073] Optionally, the processor and memory mentioned above can be physically independent units, or the memory can be integrated with the processor.
[0074] Eleventhly, this application provides a communication system, which includes a terminal device and a first network element or a second network element. The terminal device is used to execute the method described in the first aspect or any possible implementation of the first aspect. The first network element is used to execute the method described in the second aspect, the fourth aspect, or any possible implementation of the second aspect. The second network element is used to execute the method described in the third aspect, the fifth aspect, or any possible implementation of the third aspect.
[0075] The technical effects achieved in the above aspects can be referred to each other or to the beneficial effects in the method embodiments shown below, which will not be repeated here. Attached Figure Description
[0076] Figure 1 is a schematic diagram of the 5G network architecture defined in 3GPP TS 23.501;
[0077] Figure 2 is a simplified flowchart of UE identity authentication provided in an embodiment of this application;
[0078] Figure 3 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0079] Figure 4 is a schematic diagram of a SUCI generation method provided in an embodiment of this application;
[0080] Figure 5 is a flowchart illustrating a key configuration method provided in an embodiment of this application;
[0081] Figure 6 is another flowchart illustrating the communication method provided in an embodiment of this application;
[0082] Figure 7 is a structural schematic diagram of a communication device provided in an embodiment of this application;
[0083] Figure 8 is another structural schematic diagram of the communication device provided in an embodiment of this application;
[0084] Figure 9 is another structural schematic diagram of the communication device provided in the embodiments of this application. Detailed Implementation
[0085] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0086] In the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.
[0087] In the description of this application, the terms "first," "second," etc., are used only to distinguish different objects and do not limit the quantity or order of execution, nor do they imply that they are necessarily different. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0088] In this application, the words "exemplary" or "for example" are used to indicate that something is an example, illustration, or illustration. Any embodiment or design described as "exemplary," "for example," or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the words "exemplary," "for example," or "for example" is intended to present the relevant concepts in a specific manner.
[0089] It should be understood that in this application, "when," "if," and "if" all refer to the device making a corresponding action under certain objective circumstances, and are not time-limited, nor do they require the device to make a judgment when it is implemented, nor do they imply any other limitations.
[0090] In this application, the use of singular designations for elements is intended to represent "one or more" rather than "one and only one," unless otherwise specified.
[0091] In addition, the terms “system” and “network” are often used interchangeably in this article.
[0092] It is understood that in the various embodiments of this application, expressions such as "B corresponding to A" or "A corresponds to / is associated with B" all indicate that there is a correspondence between A and B, and B can be determined based on A. It should also be understood that determining / generating B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.
[0093] The network architecture of this application is briefly described below. It should be understood that the network architecture described in this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application.
[0094] The technical solutions provided in this application can be applied to wireless communication systems, including but not limited to a triple architecture of network side (such as core network), access network equipment, and terminal equipment (such as IoT devices). Examples include: 5th generation (5G) communication systems or new radio (NR), long term evolution (LTE) networks, MulteFire networks (creating new wireless networks by independently operating LTE technology on unlicensed spectrum (e.g., global 5GHz unlicensed spectrum), or home base station networks, mobile networks with wireless fidelity (Wi-Fi) access, wideband code division multiple access (WCDMA) networks, fixed-mobile converged networks (fixed access network accessing mobile network), and other future communication systems, such as 6th generation mobile communication systems.
[0095] For example, the technical solution provided in this application can be applied to the 5G network architecture defined in 3GPP TS 23.501.
[0096] Referring to Figure 1, which is a schematic diagram of the 5G network architecture defined in 3GPP TS23.501, the 5G network architecture can be divided into two parts: the access network and the core network. The access network is used to implement functions related to radio access, and it can include the radio access network (RAN) and user equipment (UE). The core network can include, but is not limited to, the following logical functions: network slice selection function (NSSF), network exposure function (NEF), network repository function (NRF), policy control function (PCF), unified data management (UDM), application function (AF), the network slice specific authentication and authorization function (NSSAAF), authentication server function (AUSF), access and mobility management function (AMF), session management function (SMF), or user plane function (UPF), etc. It can be understood that “Nnssf”, “Nnef”, “Nnrf”, “Npcf”, “Nudm”, “Naf”, “Nnssaaf”, “Nausf”, “Namf”, and “Nsmf” in Figure 1 represent the names of service interfaces. For details, please refer to the relevant descriptions in the 3GPP standard protocol, which will not be elaborated here.
[0097] In one possible implementation, the UE can access the data network by establishing a session between the UE and the RAN, then to the UPF, and finally to the data network (DN), namely a protocol data unit (PDU) session.
[0098] The UE can be a terminal device, such as a mobile phone, IoT terminal device, smart terminal, vehicle terminal, vehicle equipment, wearable device, multimedia device, streaming media device, etc. For example, IoT terminal devices (or simply IoT devices) include, but are not limited to: smart tags, passive tags, active tags, radio frequency identification (RFID) devices, personal wearable devices, automobiles, scooters, industrial control components, smart home devices, cordless phones, Ambient IoT (A-IoT) devices, etc. In one possible implementation, the IoT device of this application can be a low-power device or a low-computing-power device, or a device without a battery or with limited energy storage capacity.
[0099] RAN can be used to provide wireless access for terminal devices, including but not limited to: 5G base stations (Next-Generation node B, gNB), radio base stations in LTE networks (evolved Node B, eNodeB or eNB), wireless fidelity access points (Wi-Fi APs), worldwide interoperability for microwave access base stations (WiMAX BS), relay stations, etc. In the 5G RAN architecture, gNB can include centralized units (CUs) and distributed units (DUs). gNB can also include radio units (RUs). CUs and DUs can be understood as a logical functional division of the base station; CUs and DUs can be physically separated or deployed together. For example, multiple DUs can share a single CU, or a single DU can connect to multiple CUs. CUs and DUs can be connected via F1 interfaces.
[0100] The AMF (Automatic Mobility Management) is primarily responsible for mobility management in mobile networks, such as user location updates, network registration, and user handover. The SMF (Service Provider Management) is primarily responsible for session management in mobile networks, such as session establishment, modification, and release. Specific functions include assigning Internet Protocol (IP) addresses to users and selecting the UPF (User Provider Provider) to provide packet forwarding functionality. The PCF (Processing Provider Function) is responsible for providing policies to the AMF and SMF, such as Quality of Service (QoS) policies and slice selection policies. The UDM (User Provider Descriptor) can be used to store user data, such as subscription information, authentication, or authorization information. The NSSAAF (Network Slice Authentication and Authorization Provider) is primarily responsible for network slice authentication and authorization, and can interact with the Authentication, Authorization, and Accounting Server (AAA-S) through the Authentication, Authorization, and Accounting Proxy (AAA-P). The AF (Authentication, Authorization, and Accounting Provider) can be responsible for providing services to the 3GPP network, such as influencing service routing and interacting with the PCF for policy control. The UPF (User Provider Function) is primarily responsible for processing user packets, such as forwarding and accounting. DN can refer to the operator's network that provides data transmission services to users, such as IP Multimedia Service (IMS) and the Internet.
[0101] It is understood that the various network functions shown in Figure 1 can be referenced to relevant protocols or standards, and will not be elaborated upon in this application. It should also be understood that N1, N2, N3, N4, N6, etc., shown in Figure 1 are all interface sequence numbers. For example, the meaning of the above interface sequence numbers can be found in the definitions in the 3GPP standard protocols, and this application does not limit the meaning of the above interface sequence numbers.
[0102] In existing cellular communication systems (such as 5G), when a UE first accesses the network, it first performs UE identity authentication, and then performs the UE's AKA process, such as the 5G authentication and key agreement (5G-AKA) process, or the extended authentication protocol (EAP) AKA' process. This application mainly focuses on UE identity authentication. Referring to Figure 2, Figure 2 is a simplified flowchart of UE identity authentication provided in the embodiments of this application. According to the security anchor function (SEAF) policy, SEAF can initiate authentication with the UE in any process of establishing a signaling connection with the UE. As shown in Figure 2, the UE uses a subscription concealed identifier (SUCI) or a 5G globally unique temporary identifier (5G-GUTI) in the registration request (e.g., via N1 message bearer). When the SEAF prepares to initiate UE authentication, it invokes the Nausf_UEAuthentication service by sending a Nausf_UEAuthentication_Authenticate request message to the authentication server function (AUSF). This request message may include either a SUCI or a 5G-GUTI, as well as the service network name (SN-name). If the SEAF has a valid 5G-GUTI and is re-authenticating the UE, the SEAF should include a subscription permanent identifier (SUPI) in the Nausf_UEAuthentication_Authenticate Request message; otherwise, it should include a SUCI.
[0103] When the AUSF receives the Nausf_UEAuthentication_Authenticate Request message, it compares the service network name with the expected service network name to check whether the SEAF is authorized to use the received service network name. The AUSF temporarily stores the received service network name. If the service network is not authorized to use the service network name, the AUSF includes "unauthorized service network" information in the Nausf_UEAuthentication_Authenticate Response. The AUSF sends a Nudm_UEAuthentication_Get request to the UDM, which includes the following information: SUCI or SUPI, and the service network name. When the UDM receives the Nudm_UEAuthentication_Get request, if it includes the SUCI, the UDM invokes the subscription identifier de-concealing function (SIDF). Before the UDM processes the request, the SIDF parses the SUCI to obtain the SUPI. The SIDF can decrypt the SUCI to obtain its long-term identity, i.e., the SUPI, such as the International Mobile Subscriber Identity (IMSI). The UDM / authentication credential repository and processing function (ARPF) selects supported authentication methods, such as 5G-AKA, from the subscriber data based on SUPI.
[0104] In one possible implementation, the SUCI can be constructed by concatenating the following fields in sequence: SUPI Type, Home Network Identifier, Routing Indicator, Protection Scheme ID, Home Network Public Key ID, and Scheme output. The SUPI Type field indicates the type of SUPI and has a value from 0 to 7. The Home Network Identifier field indicates the identifier of the home network. The Routing Indicator is recorded in the Universal Subscriber Identity Module (USIM). The Protection Scheme ID field indicates the protection algorithm ID of the SUPI. The Home Network Public Key ID field indicates the home network key (here, the public key) and has a value from 0 to 255. The Scheme output field indicates the SUPI ciphertext, which is obtained by encrypting the SUPI using the home network public key.
[0105] Based on the aforementioned UE identity authentication process and SUCI construction method, it is known that SUPI encryption uses the network-side public key. This allows the UDM to decrypt the SUCI using the network-side unified private key to obtain the SUPI. However, in the existing UE identity authentication process, encrypting SUPI using a public key encryption algorithm (e.g., elliptic curve integrated encryption scheme (ECIES)) requires dynamically generating the public key. Public key generation is complex and energy-intensive, and encrypting SUPI with the public key is also complex and energy-intensive. For low-power or low-computing-power devices, their energy consumption cannot support public key generation and encryption. Therefore, using existing security mechanisms to protect low-power or low-computing-power devices is not feasible.
[0106] Based on this, this application provides a communication method, apparatus and readable storage medium that protects permanent identifiers through symmetric encryption, which can both meet the power consumption requirements of low-power or low-computing-power devices (such as IoT devices) and improve the security of low-power or low-computing-power devices.
[0107] In one possible implementation, the low-power or low-computing-power device in this application may include, but is not limited to, Internet of Things (IoT) devices.
[0108] The technical solution provided in this application will be described in detail below with reference to more accompanying drawings.
[0109] The technical solutions provided in this application are illustrated through multiple embodiments, with specific reference to the descriptions of the various embodiments below. The same or similar parts between the various embodiments or implementations can be referred to mutually. In the various embodiments of this application, and in the various implementation methods / methods / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various implementation methods / methods / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various implementation methods / methods / implementations within each embodiment can be combined according to their inherent logical relationships to form new embodiments, implementation methods, methods, or implementation approaches. The embodiments described below do not constitute a limitation on the scope of protection of this application.
[0110] In one possible implementation, the terminal device of this application can be an Internet of Things (IoT) device, such as an Environmental IoT (A-IoT) device, a Passive IoT (P-IoT) device, a smart tag, a passive tag, an active tag, an industrial control component, etc. The IoT device in this application can be low-power, low-computing-power, or have limited energy storage capacity. The first network element in this application can be an AMF (Advanced Feature Function) or a tag management function (TMF). A TMF can be understood as a network element that manages tags (e.g., registration, authentication), and may be deployed within a business-to-business (B2B) park. It should be understood that a TMF can be an independently configured network element or co-configured with other network elements (such as an AMF network element). The second network element in this application can be an ARPF (Advanced Feature Function) or a UDM (Uniform Feature Management Function).
[0111] In one possible implementation, this application also relates to a key storage network element, which can be used to store and retrieve keys or key-related information. The key storage network element can be a standalone element, or it can be combined with an AMF / TMF, or it can be combined with an AF, depending on whether key management is handled by a third party or the operator. If the operator manages the keys, the key storage network element can be located in a UDM, or it can be combined with an AMF / TMF. If a third party manages the keys, the key storage network element can be combined with an AF.
[0112] In the embodiments of this application, "network element A sends information A to network element B" can be understood as the destination of information A being network element B and the source being network element A. There may be intermediate network elements forwarding the information A along its transmission path from source to destination. The embodiments of this application only show the source and destination of information A. It is understood that the information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be understood in a similar way and will not be elaborated upon here.
[0113] The various embodiments will be described in detail below.
[0114] Referring to Figure 3, which is a flowchart illustrating a communication method provided in an embodiment of this application, the method mainly describes how a terminal device uses a symmetric key to encrypt its own serial number. The home network's ARPF / UDM uses this symmetric key to decrypt the serial number and determines the SUPI based on the decrypted information. It can be understood that symmetric key encryption is also called private key encryption or shared key encryption, meaning that the key used by the data sender to encrypt plaintext is the same as the key used by the data receiver to decrypt the corresponding ciphertext.
[0115] As shown in Figure 3, this communication method includes, but is not limited to, the following steps:
[0116] S101, the access network device (such as a base station) sends a first message to the terminal device (such as an IoT device), the first message including a first random number (nonce).
[0117] Accordingly, the terminal device (such as an IoT device) receives the first message.
[0118] In one possible implementation, the first random number (nonce) can be generated by a first network element (such as an AMF / TMF). Therefore, the first random number (nonce) can be sent by the first network element to an access network device (such as a base station), and then sent by the access network device (such as the base station) to a terminal device (such as an IoT device). For example, the first message carrying the first random number can be a Non-access stratum (NAS) message. For instance, the first network element can send a NAS message to the terminal device through the access network device, and the NAS message can include the first random number. Here, the access network device forwards the NAS message sent by the first network element. It is understood that the forwarding by the access network device can be transparent forwarding, or it can be forwarding after processing all or part of the content in the NAS message; this application embodiment does not impose any limitations.
[0119] For another example, the aforementioned first message can be a downlink message during the access process, such as a random access response or a radio resource control (RRC) connection setup message. For instance, the first network element can send an N2 message to the access network device, which includes the first random number. After receiving the N2 message, the access network device can send a select message to the terminal device, which can be used to trigger the access process of the terminal device (such as an IoT device). In one possible implementation, the select message may include the first random number. For example, the select message can be a beam that enables the terminal device to obtain power, allowing the terminal device to obtain power for subsequent access procedures. As another example, the select message can be a system information broadcast (SIB) message, which can be used by the access network device (such as a base station) to select the terminal device for subsequent access procedures via broadcast. In another possible implementation, the selection message does not include the first random number. The access network device can send the first random number to the terminal device during subsequent access procedures, such as by carrying the first random number in the random access response or radio resource control (RRC) connection setup message during the access process. Alternatively, the access network device can send the first random number to the terminal device during the RRC establishment procedure.
[0120] In one possible implementation, before step S101, the communication method further includes: an application function (AF) sending a service request to a first network element (such as an AMF / TMF), the service request including a service instruction or terminal device identification information. For example, the AF can send the service request to the first network element via a NEF. The service instruction or terminal device identification information can be used to identify one or more terminal devices. After receiving the service request, the first network element (such as the AMF / TMF) can identify one or more terminal devices based on the service request. For example, the service request can be used to request certain terminal devices to perform certain operations, such as requesting terminal devices whose identifiers are within a certain range to perform inventory checks or temperature measurements. Therefore, after receiving the service request, the first network element can identify the corresponding terminal devices based on the service request. Further, the first network element can generate a first random number and send the first random number to one or more access network devices associated with these one or more terminal devices, so that these terminal devices can generate ciphertext based on the first random number for authentication. Here, "access network equipment associated with the terminal device" can be understood as: access network equipment used to serve the terminal device, or access network equipment that establishes a connection with the terminal device, or access network equipment whose coverage includes the terminal device. For example, the first network element also stores the first random number to facilitate subsequent verification of the validity of the first random number. For clarity, this application embodiment uses a terminal device as an example for illustration.
[0121] For example, the aforementioned terminal device identification information can be a range of terminal device identifiers, such as an IoT ID range, which can be used to indicate all terminal devices within a range of terminal ID numbers. It is understood that the terminal device identifier range can include the identifiers of one or more terminal devices.
[0122] For example, the above-mentioned service indication can correspond to the identifiers of one or more terminal devices. For instance, the correspondence between service indications and terminal device identifiers can be pre-configured, as shown in Table 1 below. It is understood that Table 1 below is merely an example, and the embodiments of this application do not specifically limit the correspondence between service indications and terminal device identifiers. After receiving a service request containing a service indication, the first network element can determine the range of terminal device identifiers based on the service indication and the pre-configured correspondence, thereby identifying one or more terminal devices.
[0123] Table 1
[0124] S102, the terminal device (such as an IoT device) generates ciphertext based on the first random number, the serial number of the terminal device, and the first key.
[0125] For example, the serial number of the terminal device can refer to the serial number of the terminal device itself, or it can refer to the serial number of the subscriber identity module (SIM) card in the terminal device, such as the mobile subscriber identification number (MSIN). This application embodiment does not impose any limitations.
[0126] S103, the terminal device (such as an IoT device) generates a SUCI based on the key identifier k1 and the aforementioned ciphertext, whereby the key identifier k1 is used to index the first key.
[0127] The first key may be pre-configured in the terminal device (such as an IoT device).
[0128] In one possible implementation, after receiving the aforementioned first message, the terminal device (such as an IoT device) can generate a cipher based on the first random number (nonce), the terminal device's serial number, and the first key in the first message. For example, the terminal device can use the first random number (nonce) and / or the first key (which can be indexed by a key identifier) as input to execute a pre-configured first key generation algorithm to generate a temporary key. It is understood that there are many key generation algorithms, such as key derivation functions (KDF) and hash algorithms; this application embodiment does not limit the specific key generation algorithm used. Further, the terminal device can use the temporary key to encrypt the terminal device's serial number to obtain the cipher. As another example, the terminal device can use the first key (which can be indexed by a key identifier) to encrypt the concatenated terminal device serial number and the first random number (nonce) to obtain the cipher.
[0129] There are many encryption methods, such as Advanced Encryption Standard (AES), Robin Montgomery Algorithm (ROMAN), ZUC-128, or AES-128.
[0130] In one possible implementation, the terminal device can also generate the ciphertext based on a second random number (RAND). For example, the terminal device can use the temporary key to encrypt the concatenated terminal device serial number and the second random number (RAND) to obtain the ciphertext. Alternatively, the terminal device can use a first key (which can be indexed by a key identifier) to encrypt the concatenated terminal device serial number, the first random number (nonce), and the second random number (RAND) to obtain the ciphertext. The second random number (RAND) can be generated by the terminal device. It is understood that random numbers can be divided into pseudo-random numbers and true random numbers. In the embodiments of this application, the first random number (nonce) can be a true random number, and the second random number (RAND) can be a pseudo-random number.
[0131] In this embodiment, the first key can be the same for multiple terminal devices (such as multiple IoT devices), and can be understood as a group key. Correspondingly, the key identifier used to index the first key can also be the same for multiple terminal devices (such as multiple IoT devices). In other words, multiple terminal devices in this embodiment can use the same key to generate ciphertext. Furthermore, because this embodiment uses a symmetric key, i.e., the same key is used for decryption and encryption, directly encrypting the serial number of the terminal device would be easily obtained by an attacker since multiple terminal devices possess the first key.
[0132] Therefore, to improve security, this application embodiment incorporates a first random number (nonce) during the cipher generation process. This increases the freshness of the cipher or key, preventing attackers from decrypting the cipher and obtaining the terminal device's serial number even if they possess the symmetric key (such as the first key). Furthermore, it reduces replay attacks on the network side (such as the second network element). Replay attacks, also known as replay attacks or replay-on attacks, refer to an attacker sending a packet that the target host has already received to deceive the system. This is primarily used in the authentication process to compromise the correctness of the authentication.
[0133] Furthermore, this application embodiment also incorporates a second random number (RAND) during the cipher generation process, which can be used to increase the randomness of the cipher and further improve security.
[0134] In one possible implementation, after obtaining the cipher, the terminal device can generate a SUCI based on the key identifier and the cipher. For example, the SUCI can be formed by concatenating the key identifier and the cipher, such as: SUCI = {key identifier || cipher}, where the symbol "||" indicates concatenation, which will not be elaborated further below. Alternatively, the SUCI can also be formed by concatenating the key identifier, the cipher, and other parameters, as described below. This key identifier can be used (by the terminal device and the second network element) to index the first key. For ease of distinction, the key identifier used to index the first key will be denoted as key identifier k1 below.
[0135] In one possible implementation, when generating a SUCI, the terminal device can also generate it based on one or more of the following: the SUPI type, the terminal device's home network identifier, a routing indicator, the aforementioned first random number (nonce), or a message authentication code (MAC). It is understood that the SUPI type can be indicated by the SUPI type field, which can represent a SUPI encryption and arrangement method. In this embodiment, the SUPI type can be a new type, different from any existing SUPI type. For example, in this embodiment, the value of the SUPI Type field can be a reserved value of an existing SUPI Type field, which can be used to represent the SUPI of an IoT terminal device, or the SUPI of a low-power / low-computing-power device, etc. The identifier of the terminal device's home network can be the network identifier to which the terminal device belongs, such as a public land mobile network ID (PLMN ID), which can be indicated by the Home Network Identifier field. In this embodiment, the terminal device's home network identifier can be used to determine a second network element (such as ARPF / UDM). The routing indicator is recorded in the terminal device's USIM. MAC (Message Authentication Code) can be used to provide integrity protection (or integrity verification).
[0136] For example, referring to Figure 4, which is a schematic diagram of one method for generating SUCI according to an embodiment of this application. As shown in Figure 4, SUCI can be formed by sequentially concatenating the SUPI type (such as SUPI Type), the home network identifier of the terminal device, the key identifier k1, and the cipher, for example: SUCI = {SUPI Type||Home Network Identifier||Key Identifier k1||cipher}. Alternatively, SUCI can be formed by sequentially concatenating the SUPI type, the home network identifier of the terminal device, the routing indicator, the key identifier k1, and the cipher, for example: SUCI = {SUPI type||Home Network Identifier||Routing Indicator||Key Identifier k1||cipher||MAC}. Alternatively, SUCI can be formed by sequentially concatenating the SUPI type, the home network identifier of the terminal device, the key identifier k1, the cipher, and the MAC, for example: SUCI = {SUPI type||Home Network Identifier||Key Identifier k1||cipher||MAC}. Alternatively, the SUCI can be constructed by concatenating the SUPI type, the home network identifier of the terminal device, the key identifier k1, the first random number, the ciphertext, and the MAC address in sequence, for example: SUCI = {SUPI type||Home Network Identifier||Key Identifier k1||nonce||cipher||MAC}. Due to space limitations, all possible construction / generation methods of the SUCI will not be listed here. The symbol "||" indicates a "concatenation" operation, which will not be elaborated further below. In one possible implementation, the first random number (nonce) can be carried through the Home Network Public Key ID field of the SUCI.
[0137] In one possible implementation, a key identifier in this application embodiment can index one or more pre-configured keys. It is understood that if a key identifier can index multiple pre-configured keys, then during the subsequent decryption process of a second network element (such as ARPF / UDM), the multiple keys indexed by the key identifier can be used to decrypt the ciphertext separately; that is, the second network element may attempt decryption multiple times before successfully decrypting.
[0138] In one possible implementation, before step S102, the home network identifier and at least one key identifier of the terminal device can be pre-configured. The at least one key identifier includes a key identifier k1 (used to index a first key). Exemplarily, the home network identifier and at least one key identifier of the terminal device may be pre-configured in the terminal device by the manufacturer, vendor, or operator. Before executing step S102, the terminal device can first determine the key identifier k1 from the pre-configured at least one key identifier, and then determine the first key based on the key identifier k1. Exemplarily, the one or more keys (including the first key) corresponding to (or indexed by) the key identifier k1 may be predefined by a standard protocol. More exemplaryly, the one or more keys (including the first key) corresponding to (or indexed by) the key identifier k1 may also be pre-configured in the terminal device. This application embodiment does not impose limitations.
[0139] In another possible implementation, the home network identifier of the terminal device may be pre-installed in the terminal device by the manufacturer, vendor, or operator. The aforementioned key identifier k1 and the first key may be pre-configured by AF / NEF for one or more terminal devices (such as IoT devices). For example, referring to Figure 5, which is a flowchart illustrating a key configuration method provided in an embodiment of this application, the key configuration method includes, but is not limited to, steps S1 to S4.
[0140] S1, AF / NEF sends a key generation request to the second network element (such as ARPF / UDM), which includes a key identifier k1.
[0141] In one possible implementation, the key generation request also includes one or more home network identifiers. These home network identifiers can be used in conjunction with the key identifier k1 to generate one or more keys.
[0142] S2, the second network element (such as ARPF / UDM) generates one or more keys based on the key identifier k1 in the key generation request, and the one or more keys include the first key.
[0143] In one possible implementation, after the second network element (such as ARPF / UDM) obtains the one or more keys (including the first key), it can store the key identifier k1 corresponding to the one or more keys. In other words, the second network element establishes an association between the one or more keys (including the first key) and the key identifier k1, so that the first key can be indexed later based on the key identifier k1.
[0144] In one possible implementation, if the key generation request includes one or more home network identifiers, the second network element (such as ARPF / UDM) can generate one or more keys (including the first key) based on the key identifier k1 and the one or more home network identifiers. Correspondingly, the second network element (such as ARPF / UDM) obtains the one or more keys and can store the key identifier k1, the one or more home network identifiers, and the one or more keys accordingly. In other words, the second network element establishes an association between the one or more keys (including the first key), the key identifier k1, and the one or more home network identifiers, so that the first key can be indexed subsequently based on the key identifier k1 and / or the home network identifier.
[0145] S3, the second network element (such as ARPF / UDM) sends a key generation response to the AF / NEF, which includes one or more of the aforementioned keys. For example, the AF / NEF receives and stores these one or more keys. The AF / NEF may also record the correspondence between at least two of the following: key identifier k1, these one or more keys, and one or more home network identifiers.
[0146] S4, AF / NEF sends a third message to one or more terminal devices (such as IoT devices), the third message including key identifier k1 and first key.
[0147] In one possible implementation, the third message includes a key identifier k1 and one or more keys, one of which is a first key. Taking a terminal device as an example, after receiving one or more keys, the terminal device can select one of the keys (denoted as the first key) for encryption. It is understood that the key configuration method shown in Figure 5 can be executed before step S102. For example, the key configuration method shown in Figure 5 can be executed before step S101, or during device initialization, or during device manufacturing; this embodiment does not impose limitations.
[0148] S104, the terminal device (such as an IoT device) sends a second message to the first network element (such as an AMF / TMF), the second message including the aforementioned SUCI. The SUCI can be used for identity protection of the terminal device (such as an IoT device).
[0149] Correspondingly, the first network element (such as AMF / TMF) receives the second message.
[0150] In one possible implementation, the second message may include the SUCI. For example, the second message may also include the first nonce. In other words, the first nonce may be explicitly or implicitly carried in the second message. For instance, if the SUCI does not carry the first nonce, it may be explicitly carried in the second message, such as as a data element in the second message. If the SUCI carries the first nonce, it indicates that the first nonce is implicitly carried in the second message. Of course, if the SUCI carries the first nonce, it may also be explicitly carried in the second message. This application does not limit this.
[0151] For example, the second message mentioned above can be a registration request or a response message to a service request, such as a response message sent by the UE in response to a previous service request from the network side. The registration request can be used by the terminal device to register upon initial access.
[0152] S105, the first network element (such as AMF / TMF) sends an authentication request to the second network element (such as ARPF / UDM), and the authentication request includes the aforementioned SUCI. The second network element is determined based on the home network identifier of the terminal device in the aforementioned SUCI.
[0153] Correspondingly, the second network element (such as ARPF / UDM) receives the authentication request.
[0154] In one possible implementation, after receiving the second message, the first network element (such as AMF / TMF) can decompose the SUCI in the second message to obtain the home network identifier of the terminal device. The first network element (such as AMF / TMF) can determine the second network element (such as ARPF / UDM) based on the home network identifier of the terminal device, and can send an authentication request to the second network element (such as ARPF / UDM). For example, the first network element (such as AMF / TMF) can send an authentication request to the second network element (such as ARPF / UDM) through AUSF. The authentication request may include the SUCI. It is understood that AUSF is located in the home network and can be determined based on the home network identifier of the terminal device.
[0155] In one possible implementation, after receiving the second message, the first network element (such as AMF / TMF) can verify whether the first random number (nonce) included in the second message is valid. For example, the first network element can decompose the SUCI in the second message to obtain the home network identifier of the terminal device. If the first random number (nonce) is implicitly carried in the second message, decomposing the SUCI can also obtain the first random number (nonce). If the first random number (nonce) is explicitly carried in the second message, it can be directly obtained from the second message. For example, there are many ways for the first network element to verify the validity of the first random number (nonce) included in the second message. For instance, when sending the first random number (nonce), the first network element can start a timer for the first random number (nonce). When the first network element receives the second message, it can check whether the timer has timed out. If the timer has timed out, it means the first random number (nonce) is invalid; if the timer has not timed out, it means the first random number (nonce) is valid. Alternatively, when the timer expires, the first random number (nonce) stored in the first network element is deleted. When the first network element receives the second message, it checks whether the first random number exists in its local storage. If the first random number is not in the first network element's local storage, it is invalid; if it is in the first network element's local storage, it is valid. For example, if the first random number included in the second message is not the most recently sent random number by the first network element, it is invalid; if the first random number included in the second message is the most recently sent random number by the first network element, it is valid. Or, if the first random number included in the second message was not generated by the first network element, it is invalid; if the first random number included in the second message was generated by the first network element, it is valid.
[0156] In one possible implementation, if the first random number included in the second message is valid, the first network element (e.g., AMF / TMF) can determine the second network element (e.g., ARPF / UDM) based on the home network identifier of the terminal device, and can send an authentication request to the second network element (e.g., ARPF / UDM). For example, the first network element (e.g., AMF / TMF) can send the authentication request to the second network element (e.g., ARPF / UDM) via AUSF. This authentication request may include the SUCI. It is understood that the AUSF is located in the home network and can be determined based on the home network identifier of the terminal device. If the first random number included in the second message is invalid, the first network element (e.g., AMF / TMF) can send a response message to the terminal device, which can be used to indicate the failure of the terminal device's authentication process. For example, the response message may also carry a reason value indicating the failure, such as: the first random number is invalid or expired.
[0157] In one possible implementation, the authentication request may further include one or more of the following: indication information, or the aforementioned first nonce. The indication information can be used to indicate that the SUCI is an identifier for a low-power device, a low-computing-power device, or an IoT device. For example, the first network element can determine whether to carry the indication information in the authentication request based on a specific field in the SUCI (such as the SUPI Type field). For instance, if the SUPI Type field in the SUCI indicates that the SUPI type is a specific type, and that specific type corresponds to a low-power device, a low-computing-power device, or an IoT device, the first network element can carry this indication information in the authentication request. As another example, if the first network element is a special network element such as a TMF, the first network element can carry this indication information in the authentication request. The first nonce can be explicitly or implicitly carried in the authentication request. For example, if the SUCI does not carry the first nonce, the first nonce can be explicitly carried in the authentication request, such as using the first nonce as a data element in the authentication request. If the SUCI contains a first random number (nonce), it means that the first random number (nonce) is implicitly carried in the authentication request. Of course, if the SUCI contains a first random number (nonce), it can also be explicitly carried in the authentication request. This application does not impose any restrictions on this.
[0158] S106, the second network element (such as ARPF / UDM) uses the first key corresponding to the key identifier k1 to decrypt the ciphertext in the SUCI to obtain the serial number of the terminal device.
[0159] S107, the second network element (such as ARPF / UDM) determines the SUPI of the terminal device based on the terminal device's serial number. This SUPI can be used for the terminal device's AKA authentication.
[0160] In one possible implementation, after receiving the authentication request, the second network element (such as ARPF / UDM) can decompose the SUCI in the authentication request to obtain the key identifier k1 and the ciphertext. The key identifier k1 can be used to index the first key. For example, the correspondence between the key identifier k1 and the first key can be pre-configured at the second network element.
[0161] In one possible implementation, key identifier k1 only indexes the first key. The second network element (such as ARPF / UDM) can use this first key to decrypt the cipher and obtain the serial number of the terminal device. In other words, after the second network element decrypts the cipher using the first key, it retains the serial number of the terminal device and ignores other content (if any), such as the aforementioned first nonce and / or the aforementioned second random number. It can be understood that decrypting the cipher using the first key is the inverse operation of generating the cipher. For example, the second network element can use the first random number (obtainable through an authentication request) and / or the first key as input to execute a pre-configured second key generation algorithm to generate a temporary key. The second network element then uses this temporary key to decrypt the cipher and obtain the serial number of the terminal device. The second key generation algorithm is the same as the first key generation algorithm, and the inputs to the second key generation algorithm are also the same as the inputs to the first key generation algorithm. Therefore, the temporary key generated by the terminal device is the same as the temporary key generated by the second network element.
[0162] In another possible implementation, key identifier k1 can index multiple keys, including a first key. A second network element (such as ARPF / UDM) can use the multiple keys indexed by key identifier k1 to decrypt the ciphertext. The key that successfully decrypts the ciphertext is the first key. In other words, the second network element can perform multiple decryption attempts, and if decryption is successful, it obtains the serial number of the terminal device.
[0163] In one possible implementation, after receiving the authentication request, the second network element (such as ARPF / UDM) can first determine the decryption method (whether it is symmetric key decryption), and then decrypt the cipher in the SUCI based on the determined decryption method. For example, if the authentication request carries indication information indicating that the SUCI is an identifier for a low-power device, a low-computing-power device, or an IoT device, the second network element can determine that the decryption method is symmetric key decryption. Alternatively, if the authentication request does not carry indication information, the second network element can determine the decryption method based on a specific field in the SUCI (such as the SUPI Type field). If the SUPI Type field in the SUCI indicates that the SUPI type is a specific type, and this specific type corresponds to a low-power device, a low-computing-power device, or an IoT device, then the second network element can determine that the decryption method is symmetric key decryption. Symmetric key decryption can be achieved by using one or more keys (including the first key) indexed by key identifier k1 to decrypt the cipher in the SUCI.
[0164] In one possible implementation, if the SUCI in the authentication request carries a MAC (Message Authentication Code), the second network element can use the MAC to perform an integrity check on the SUCI or other content within the SUCI besides the MAC (e.g., the type of the SUCI, the home network identifier of the terminal device, key identifier k1, or the first random number) before decrypting the cipher. If the integrity check passes, the cipher is decrypted using one or more keys (including the first key) indexed by key identifier k1. If the integrity check fails, the second network element (e.g., ARPF / UDM) can send an authentication response to the first network element (e.g., AMF / TMF), which carries information indicating authentication failure and optionally the reason for the failure (e.g., integrity check failed).
[0165] In one possible implementation, after obtaining the serial number of the terminal device, the second network element can recombine and concatenate the serial number of the terminal device, the plaintext in the SUCI, and / or other parameters (which may refer to content other than the plaintext in the SUCI) to obtain the SUPI of the terminal device. For example, the plaintext in the SUCI can refer to the content in the SUCI other than the ciphertext (and MAC). For instance, the plaintext in the SUCI includes one or more of the following: the type of the SUPI, the home network identifier of the terminal device, the routing indicator, the key identifier k1, or the aforementioned first random number (nonce). For example: SUPI = {SUPI Type||Home Network Identifier||Key Identifier k1||Serial Number}. This application does not limit the concatenation order of the plaintext content in the SUCI, nor does it limit the concatenation order of the plaintext content with the serial number of the terminal device. For example, other parameters include the mobile country code (MCC) and / or the mobile network code (MNC). For example: SUPI = {MCC||MNC||Serial Number}. Wherein, the Serial Number can be MSIN. This application does not restrict the concatenation order.
[0166] In one possible implementation, after obtaining the SUPI, the second network element can determine whether to execute the Authentication and Key Agreement (AKA) mechanism based on the local policy and / or the indication information in the authentication request. For example, the indication information in the authentication request can also indicate whether to execute the AKA mechanism. Alternatively, the local policy may indicate a specific device type, triggering / executing the AKA mechanism; then, when the terminal device type is determined to be that specific device type based on the SUPI, the second network element can determine to execute the AKA mechanism. If the AKA mechanism is executed, the second network element can generate an authentication vector based on the master key corresponding to the SUPI and execute the corresponding AKA mechanism. It can be understood that in the AKA mechanism, the SUPI corresponds to a master key, and the encryption key (CK) and integrity key (IK) are derived from this master key for subsequent communication assurance. The specific implementation of the AKA mechanism can refer to existing technologies, such as EAP-AKA or 5G-AKA, which are not detailed in this embodiment. EAP is an extended authentication protocol.
[0167] In one possible implementation, before generating the authentication vector based on the master key corresponding to the aforementioned SUPI, the second network element can determine whether the SUPI is valid. For example, the second network element can determine the validity of the terminal device's SUPI based on a pre-configured list (e.g., a pre-configured list of relationships between key identifiers and SUPIs). For instance, if the SUPI corresponding to key identifier k1 in the list is the same as the SUPI of the terminal device, it indicates that the terminal device's SUPI is valid. If the SUPI is valid, the second network element generates the authentication vector based on the master key corresponding to the SUPI and performs subsequent operations.
[0168] In one possible implementation, the second network element (such as ARPF / UDM) can send an authentication response to the first network element (such as AMF / TMF) to indicate the authentication result of the terminal device. For example, if the second message sent in step S104 is a registration request, the first network element (such as AMF / TMF) can send a registration response to the terminal device to indicate the registration result of the terminal device.
[0169] This application utilizes symmetric keys for encryption and decryption, eliminating the need for public-key encryption algorithms (such as elliptic curve integrated encryption schemes (ECIES)) and / or public-key generation algorithms. This reduces the power consumption of terminal devices, meeting the power consumption requirements of low-power or low-computing-power devices. Furthermore, this application incorporates a nonce into the ciphertext, increasing its freshness and enhancing the security of low-power or low-computing-power devices. Therefore, this application can protect the permanent identifier of low-power or low-computing-power devices while meeting low-power requirements, thereby improving their security.
[0170] Referring to Figure 6, which is another flowchart illustrating the communication method provided in this application embodiment, the method mainly describes how the terminal device uses a symmetric key to encrypt its own serial number, the AMF / TMF uses this symmetric key to decrypt it, and determines the SUPI based on the decrypted information.
[0171] As shown in Figure 6, this communication method includes, but is not limited to, the following steps:
[0172] S201, the application function (AF) sends a service request to the first network element (such as AMF / TMF). The service request includes a service indication or terminal device identification information. The service request also includes a key identifier k1. The service indication or terminal device identification information is used to identify the terminal device.
[0173] Correspondingly, the first network element (such as AMF / TMF) receives the service request.
[0174] In one possible implementation, the Application Function (AF) sends a service request to a first network element (such as an AMF / TMF). This service request includes a service instruction or terminal device identification information, and also includes a key identifier k1. For example, the AF can send the service request to the first network element via the NEF. The service instruction or terminal device identification information can be used to identify one or more terminal devices. For example, the service request can be used to request certain terminal devices to perform certain operations, such as requesting terminal devices whose identifiers are within a certain range to perform inventory checks or temperature measurements. The key identifier k1 can be used to determine the key factor for deriving the first key, or the first key itself; the specific determination method is described below. For example, the service request can also include a key factor for deriving the first key. The key factor in this embodiment can include all or part of the parameters / information for deriving / generating the first key. For example, the key factor can be the key element for deriving the first key. The first key K_SUCI can be generated by inputting the key factor and the encryption algorithm identifier Algorithm ID into the key derivation function (KDF), that is, K_SUCI = KDF(key element, Algorithm ID).
[0175] In one possible implementation, after receiving the service request, the first network element (such as AMF / TMF) can generate a first random number (nonce) and determine one or more terminal devices based on the service request. The specific determination method can be referred to the relevant description in the embodiment shown in Figure 3 above, which will not be repeated here. For example, the first network element can also store the first random number and the key identifier k1 in the service request. Furthermore, if the service request carries a key factor for deriving the first key, the first network element can also store the key factor for subsequent use. The first network element (such as AMF / TMF) can send the generated first random number (nonce) to the access network device (such as a base station) associated with these one or more terminal devices, so that the access network device (such as the base station) can send the first random number (nonce) to the one or more terminal devices (such as IoT devices) determined above. For clarity, the embodiments of this application will be described below using a single terminal device as an example.
[0176] S202, the access network device (such as a base station) sends a first message to the terminal device (such as an IoT device), the first message including a first random number (nonce).
[0177] Accordingly, the terminal device (such as an IoT device) receives the first message.
[0178] S203, the terminal device (such as an IoT device) generates ciphertext based on the first random number, the serial number of the terminal device, and the first key.
[0179] S204, the terminal device (such as an IoT device) generates a SUCI based on the key identifier k1 and the aforementioned ciphertext, whereby the key identifier k1 is used to index the first key.
[0180] In one possible implementation, the implementation of steps S202 to S204 in this embodiment can refer to the implementation of steps S101 to S103 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0181] In one possible implementation, the SUCI generated by the terminal device does not carry a first nonce.
[0182] S205, the terminal device (such as an IoT device) sends a second message to the first network element (such as an AMF / TMF), the second message including the aforementioned SUCI. The SUCI can be used for identity protection of the terminal device (such as an IoT device).
[0183] Correspondingly, the first network element (such as AMF / TMF) receives the second message.
[0184] In one possible implementation, the second message may include the SUCI. For example, the second message may be a registration request or a response message to a service request, such as a response message sent by the UE in response to a previous service request from the network side. This registration request can be used by the terminal device to register upon initial access.
[0185] S206, the first network element (such as AMF / TMF) obtains the key factor for deriving the first key from the key storage network element based on the key identifier k1 mentioned above.
[0186] S207, the first network element (such as AMF / TMF) determines the first key based on the above key factor and the above first random number (nonce).
[0187] S208, the first network element (such as AMF / TMF) uses the first key to decrypt the ciphertext in the SUCI to obtain the serial number of the terminal device.
[0188] In one possible implementation, after receiving the second message, the first network element (such as AMF / TMF) can determine one or more valid random numbers based on its internal strategy (such as whether the random number's timer has expired). For example, the first network element can set a timer for each random number it generates / sends. The first network element maintains a random number cache list, as shown in Table 2 below, where one random number corresponds to one timer. For example, when the first network element receives the second message, it retrieves random numbers (possibly one or more) from the random number cache list whose timers have not expired; these random numbers are valid. As another example, when the timer for a random number in the random number cache list expires, the first network element can delete that random number from the cache list. Therefore, when the first network element receives the second message, the currently existing random numbers (possibly one or more) in the random number cache list are valid.
[0189] Table 2
[0190] It is understandable that if there are multiple valid random numbers, multiple decryption attempts can be made during the subsequent decryption process. This application embodiment does not carry the first random number (nonce) in the second message, which can save air interface resources and is beneficial for low-power / low-computing-power devices.
[0191] In one possible implementation, after receiving the second message, the first network element (such as AMF / TMF) can decompose the SUCI in the second message to obtain the key identifier k1 and the ciphertext. For example, the correspondence between the key identifier and the key factor can be pre-configured / pre-stored in the key storage network element. The first network element can obtain the key factor for deriving the first key from the key storage network element based on the key identifier k1. It is understood that the first network element can decompose the SUCI before, after, or simultaneously with determining a valid random number; the execution order is not limited in this embodiment. It is understood that if the service request includes the key factor for deriving the first key, the first network element may not need to obtain it from the key storage network element.
[0192] Furthermore, the first network element can determine one or more keys based on the key factor and the one or more valid random numbers (including the first random number) determined above. These one or more keys include the first key. It is understood that if only one valid random number (i.e., the first random number) is determined above, the first network element can determine / generate the first key based on the key factor and the first random number. For example, the first network element can determine one or more keys based on the key factor, the one or more valid random numbers (including the first random number) determined above, and the key identifier k1 (which may be obtained by splitting SUCI, or may be carried in the aforementioned service request), and these one or more keys include the first key.
[0193] In one possible implementation, the first network element can decrypt the cipher based on one or more keys (including the first key), and the key that successfully decrypts the cipher is the first key. In other words, the first network element can perform multiple decryption attempts, and if decryption is successful, it obtains the serial number of the terminal device. It can be understood that, given the first key, the first network element uses the first key to decrypt the cipher to obtain the serial number of the terminal device. In other words, after decrypting the cipher using the first key, the first network element retains the serial number of the terminal device and ignores other content (if any), such as the first nonce and / or the second random number. It can be understood that decrypting the cipher using a key is the inverse operation of generating the cipher.
[0194] In one possible implementation, before step S208, the first network element can use the MAC (Message Authentication Code) in the SUCI to perform an integrity check on the SUCI or other content in the SUCI besides the MAC (e.g., the type of SUPI, the home network identifier of the terminal device, or the key identifier k1, etc.). If the integrity check passes, step S208 is then executed. If the integrity check fails, the first network element (e.g., AMF / TMF) can return a response to the terminal device to indicate that the terminal device's registration has failed. This response may also carry the reason for the registration failure, such as the integrity check failing.
[0195] S209, the first network element (such as AMF / TMF) determines the SUPI of the terminal device based on the terminal device's serial number. This SUPI can be used for the terminal device's AKA authentication.
[0196] In one possible implementation, the implementation of step S209 in this embodiment can refer to the implementation of step S107 in the embodiment shown in Figure 3 above, which will not be repeated here.
[0197] In one possible implementation, after the first network element (such as AMF / TMF) obtains the SUPI, it can send a fourth message to the second network element (such as ARPF / UDM). This fourth message can be used to trigger the AKA mechanism. The fourth message includes the SUPI of the terminal device. For example, the fourth message can be an authentication request (e.g., Nausf_UEauthentication_authenticate).
[0198] In one possible implementation, the second network element (such as ARPF / UDM) can send an authentication response to the first network element (such as AMF / TMF) to indicate the authentication result of the terminal device. After receiving the authentication response, the first network element (such as AMF / TMF) can send a registration response to the terminal device to indicate the registration result of the terminal device.
[0199] In one possible implementation, after obtaining the SUPI, the first network element (such as AMF / TMF) determines whether to execute the Authentication and Key Agreement (AKA) mechanism based on the local policy and / or the service indication in the service request. For example, if the service indication in the aforementioned service request indicates operation on an IoT device, the first network element can determine to execute the AKA mechanism. Alternatively, if the local policy indicates that IoT devices with certain IoT ID ranges require the AKA mechanism, then when the service indication in the service request indicates operation on IoT devices with these IoT ID ranges, the first network element can determine to execute the AKA mechanism. If the AKA mechanism is determined to be executed, the first network element can send a fourth message to the second network element to trigger the AKA mechanism.
[0200] The embodiments of this application decrypt at the first network element and determine the SUPI based on the decrypted information, which can better reuse subsequent authentication processes, such as the AKA mechanism; and there is no need to change the behavior of the second network element.
[0201] In one possible implementation, before sending the fourth message to the second network element, the validity of the SUPI can be determined. For example, the first network element can determine the validity of the SUPI of the aforementioned terminal device based on a pre-configured list (e.g., a pre-configured list of key identifiers and SUPI relationships). For instance, if the SUPI corresponding to key identifier k1 in the list is the same as the SUPI of the aforementioned terminal device, it indicates that the SUPI of the aforementioned terminal device is valid. If the SUPI is valid, the first network element can send the fourth message to the second network element to trigger the authentication and key negotiation (AKA) mechanism.
[0202] This application utilizes symmetric keys for encryption and decryption, eliminating the need for public-key encryption algorithms (such as elliptic curve integrated encryption schemes (ECIES)) and / or public-key generation algorithms. This reduces the power consumption of terminal devices, meeting the power consumption requirements of low-power or low-computing-power devices. Furthermore, this application incorporates a nonce into the ciphertext, increasing its freshness and enhancing the security of low-power or low-computing-power devices. Therefore, this application can protect the permanent identifier of low-power or low-computing-power devices while meeting low-power requirements, thereby improving their security.
[0203] The foregoing details the method of this application. To facilitate better implementation of the above-described solutions in the embodiments of this application, corresponding apparatus or devices are also provided.
[0204] This application embodiment can divide the terminal device, first network element, and second network element of this application into functional modules according to the above method example. The network element can also be divided into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation. The communication device of this application embodiment will be described in detail below with reference to Figures 7 to 9.
[0205] Referring to Figure 7, which is a schematic diagram of a communication device provided in an embodiment of this application, the communication device includes a transceiver unit 10 and a processing unit 20. The transceiver unit 10 can implement corresponding communication functions, and the processing unit 20 is used for data processing. The transceiver unit 10 may also be referred to as a communication interface or communication unit, etc.
[0206] In some embodiments of this application, the communication device may be the terminal device shown above. That is, the communication device shown in FIG7 may be used to perform the steps or functions performed by the terminal device in the above method embodiments. Exemplarily, the communication device may be a terminal device or a chip or functional module configured in a terminal device, etc., and this application embodiment does not limit this. The transceiver unit 10 is used to perform the terminal device's transceiver-related operations in the above method embodiments, and the processing unit 20 is used to perform the terminal device's processing-related operations in the above method embodiments.
[0207] For example, the transceiver unit 10 is configured to receive a first message, the first message including a first random number; the transceiver unit 10 is also configured to send a second message, the second message including a SUCI, the SUCI being generated based on a key identifier and ciphertext, the key identifier being used to index a first key, and the ciphertext being generated based on the first random number, the serial number of the terminal device, and the first key.
[0208] For example, the processing unit 20 is used to generate ciphertext based on the first random number, the serial number of the terminal device, and the first key.
[0209] For example, the processing unit 20 is also configured to generate a SUCI based on the ciphertext and key identifier described above.
[0210] For example, the processing unit 20 is also configured to generate various messages, such as a second message, to be sent by the transceiver unit 10. The processing unit 20 can also be configured to control the transceiver unit 10 to send or receive various messages.
[0211] For example, the second message mentioned above includes the first random number mentioned above.
[0212] For example, the SUCI mentioned above is also generated based on one or more of the following: the type of SUPI, the home network identifier of the terminal device, the first random number mentioned above, or the message authentication code.
[0213] For example, the ciphertext above is also generated based on a second random number.
[0214] For example, processing unit 20 is specifically used to encrypt the serial number of the concatenated terminal device and the second random number using a second key to obtain ciphertext. The second key is generated based on the first key and the first random number.
[0215] For example, the processing unit 20 is specifically used to encrypt the serial number of the concatenated terminal device, the second random number, and the first random number using the first key to obtain ciphertext.
[0216] For example, the first message mentioned above is a selection message, which is used to trigger the access process of the terminal device.
[0217] For example, the first message mentioned above is a random access response or a radio resource control connection establishment message during the access process; or, the first message is a NAS message.
[0218] For example, the transceiver unit 10 is also configured to receive a third message from the AF, the third message including the key identifier and the first key.
[0219] For example, the serial number mentioned above is a Mobile Subscriber Identity Code (MSIN).
[0220] In this embodiment of the application, the specific descriptions of the first message, the second message, the ciphertext, SUCI, the third message, and each network element can be found in the above method embodiment, and will not be described in detail here.
[0221] It is understood that the specific descriptions of the transceiver unit and processing unit shown in the embodiments of this application are merely examples. For the specific functions or execution steps of the transceiver unit and processing unit, please refer to the above method embodiments, which will not be detailed here. In addition, the technical effects of the embodiments of this application are the same as those in the foregoing method embodiments, and will not be repeated here for the sake of brevity.
[0222] Reusing Figure 7, in some other embodiments of this application, the communication device may be the first network element shown above. That is, the communication device shown in Figure 7 may be used to perform the steps or functions performed by the first network element in the above method embodiments. For example, the communication device may be the first network element or a chip or functional module configured in the first network element, etc., and this application embodiment does not limit this. The transceiver unit 10 is used to perform the operations related to the transmission and reception of the first network element in the above method embodiments, and the processing unit 20 is used to perform the operations related to the processing of the first network element in the above method embodiments.
[0223] For example, the transceiver unit 10 is configured to send a first random number to the terminal device through the access network device, the first random number being used to generate ciphertext; the transceiver unit 10 is also configured to receive a second message from the terminal device, the second message including SUCI, the SUCI being generated based on a key identifier and the ciphertext, the key identifier being used to index a first key, the first key being used to decrypt the ciphertext to obtain the serial number of the terminal device.
[0224] For example, processing unit 20 is used to generate a first random number. Processing unit 20 can also be used to control transceiver unit 10 to receive or send various messages.
[0225] For example, the transceiver unit 10 is further configured to receive a service request from the AF, the service request including a service instruction or terminal device identification information, the service instruction or terminal device identification information being used to identify the terminal device.
[0226] For example, the second message mentioned above includes the first random number.
[0227] For example, the SUCI mentioned above is also generated based on one or more of the following: the type of SUPI, the home network identifier of the terminal device, the first random number, or the message authentication code.
[0228] For example, the transceiver unit 10 is further configured to send an authentication request to a second network element if the first random number included in the second message is valid. The authentication request includes the SUCI. The second network element is determined based on the home network identifier of the terminal device in the SUCI.
[0229] For example, the authentication request may also include one or more of the following: indication information, or the first random number. The indication information is used to indicate that the SUCI is an identifier of a low-power device or a low-computing-power device.
[0230] For example, the above business request may also include a key identifier.
[0231] For example, the processing unit 20 is further configured to obtain a key factor for deriving the first key from the key storage network element based on the key identifier; the processing unit 20 is further configured to determine the first key based on the key factor and the first random number.
[0232] For example, the processing unit 20 is further configured to: determine one or more valid random numbers, and determine one or more keys based on the key factor and the one or more random numbers; decrypt the ciphertext based on the one or more keys, and determine the key that successfully decrypts the ciphertext as the first key.
[0233] For example, the processing unit 20 is further configured to decrypt the ciphertext using the first key to obtain the serial number of the terminal device; the processing unit 20 is further configured to determine the SUPI of the terminal device based on the serial number of the terminal device.
[0234] For example, the transceiver unit 10 is also configured to send a fourth message to the second network element, the fourth message including the SUPI, the fourth message being used to trigger the AKA mechanism.
[0235] For example, the processing unit 20 is further configured to determine that the SUPI is valid based on the pre-configured correspondence between the key identifier and the SUPI; the transceiver unit 10 is further configured to send a fourth message to the second network element when the SUPI is valid.
[0236] For example, the serial number mentioned above is a Mobile Subscriber Identity Code (MSIN).
[0237] In this application embodiment, the specific descriptions of the second message, ciphertext, SUCI, fourth message, SUPI, and various network elements can be found in the above method embodiment, and will not be described in detail here.
[0238] It is understood that the specific descriptions of the transceiver unit and processing unit shown in the embodiments of this application are merely examples. For the specific functions or execution steps of the transceiver unit and processing unit, please refer to the above method embodiments, which will not be detailed here. In addition, the technical effects of the embodiments of this application are the same as those in the foregoing method embodiments, and will not be repeated here for the sake of brevity.
[0239] Reusing Figure 7, in some other embodiments of this application, the communication device may be the second network element shown above. That is, the communication device shown in Figure 7 may be used to perform the steps or functions performed by the second network element in the above method embodiments. For example, the communication device may be the second network element or a chip or functional module configured in the second network element, etc., and this application embodiment does not limit this. The transceiver unit 10 is used to perform the transceiver-related operations of the second network element in the above method embodiments, and the processing unit 20 is used to perform the processing-related operations of the second network element in the above method embodiments.
[0240] For example, the transceiver unit 10 is configured to receive an authentication request from a first network element, the authentication request including a SUCI, the SUCI being generated based on a key identifier and the ciphertext, the key identifier being used to index a first key; the processing unit 20 is configured to decrypt the ciphertext using the first key to obtain the serial number of the terminal device; the processing unit 20 is further configured to use the serial number of the terminal device to obtain the SUPI of the terminal device.
[0241] For example, the processing unit 20 is also configured to generate an authentication vector based on the master key corresponding to the SUPI and execute the AKA mechanism.
[0242] For example, the processing unit 20 is further configured to determine that the SUPI is valid based on the pre-configured correspondence between the key identifier and the SUPI; the processing unit 20 is further configured to generate an authentication vector based on the master key corresponding to the SUPI if the SUPI is valid.
[0243] For example, the authentication request may also include one or more of the following: indication information, or the first random number. The indication information is used to indicate that the SUCI is an identifier of a low-power device or a low-computing-power device.
[0244] For example, the transceiver unit 10 is further configured to receive a key generation request from the AF, the key generation request including the key identifier; the processing unit 20 is further configured to generate one or more keys based on the key identifier; the transceiver unit 10 is further configured to send a key generation response to the AF, the key generation response including the one or more keys, the one or more keys including the first key.
[0245] For example, the key generation request may also include one or more home network identifiers, which are used to generate one or more keys in combination with the key identifier.
[0246] In this embodiment of the application, the specific descriptions of authentication requests, SUCI, SUPI, key generation requests, key generation responses, and various network elements can be found in the method embodiment above (as shown in Figure 3), and will not be described in detail here.
[0247] It is understood that the specific descriptions of the transceiver unit and processing unit shown in the embodiments of this application are merely examples. For the specific functions or execution steps of the transceiver unit and processing unit, please refer to the above method embodiments (as shown in Figure 3), which will not be described in detail here. In addition, the technical effects of the embodiments of this application are the same as those in the foregoing method embodiments (as shown in Figure 3), and for the sake of brevity, they will not be repeated here.
[0248] The communication device according to embodiments of this application has been described above. The following describes possible product forms of the communication device. It should be understood that any product possessing the functions of the communication device described in FIG. 7 falls within the protection scope of the embodiments of this application. It should also be understood that the following description is merely illustrative and does not limit the product form of the communication device according to the embodiments of this application to this extent.
[0249] In one possible implementation, in the communication device shown in FIG7, the processing unit 20 can be one or more processors, the transceiver unit 10 can be a transceiver, or the transceiver unit 10 can also be a transmitting unit and a receiving unit. The transmitting unit can be a transmitter, and the receiving unit can be a receiver. The transmitting unit and the receiving unit are integrated into one device, such as a transceiver. In the embodiments of this application, the processor and the transceiver can be coupled, etc., and the connection method of the processor and the transceiver is not limited in the embodiments of this application. In the process of executing the above method, the process of sending information in the above method can be understood as the process of the processor outputting the above information. When outputting the above information, the processor outputs the above information to the transceiver so that the transceiver can transmit it. After the above information is output by the processor, it may need to undergo other processing before reaching the transceiver. Similarly, the process of receiving information in the above method can be understood as the process of the processor receiving the input above information. When the processor receives the input information, the transceiver receives the above information and inputs it into the processor. Furthermore, after the transceiver receives the above information, the above information may need to undergo other processing before being input into the processor.
[0250] Referring to Figure 8, which is another structural schematic diagram of the communication device provided in an embodiment of this application. As shown in Figure 8, the communication device provided in this application can be used to implement the methods described in any of the above method embodiments, and the description in the above method embodiments can be referred to. The communication device may be the aforementioned terminal device, or a first network element, or a second network element, or a chip or circuit therein. For example, the communication device includes one or more processors 1001 and transceivers 1002. The communication device may further include a memory 1003. In one implementation, the communication device also includes an input / output device (not shown in the figure).
[0251] The processor 1001 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs. The memory 1003 is mainly used to store software programs and data. The transceiver 1002 may include control circuitry and an antenna. The control circuitry is mainly used for converting baseband signals to radio frequency signals and processing radio frequency signals. The antenna is mainly used for transmitting and receiving radio frequency signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.
[0252] When the communication device is powered on, the processor 1001 can read the software program in the memory 1003, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 1001 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 1001. The processor 1001 converts the baseband signal into data and processes the data.
[0253] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0254] The processor 1001, transceiver 1002, and memory 1003 can be connected via a communication bus.
[0255] For example, when the communication device is used to execute the steps, methods, or functions performed by the terminal device in the first embodiment of the method described above (as shown in FIG3), the processor 1001 can be used to execute steps S102 and S103 in FIG3, and / or to execute other processes of the technology described herein; the transceiver 1002 can be used to execute step S104 in FIG3, and / or to execute other processes of the technology described herein.
[0256] For example, when the communication device is used to perform the steps, methods or functions performed by the first network element in the first embodiment of the above method (as shown in FIG3), the processor 1001 can be used to generate a first random number and an authentication request, and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to perform step S105 in FIG3, and / or to perform other processes of the technology described herein.
[0257] For example, when the communication device is used to perform the steps, methods or functions performed by the second network element in the first embodiment of the above method (as shown in FIG3), the processor 1001 can be used to perform steps S106 and S107 in FIG3, and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to receive authentication requests, and / or to perform other processes of the technology described herein.
[0258] For example, when the communication device is used to perform the steps, methods, or functions performed by the access network device in the first embodiment of the above method (as shown in FIG3), the processor 1001 can be used to obtain the first message and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to perform step S101 in FIG3 and / or to perform other processes of the technology described herein.
[0259] For example, when the communication device is used to execute the steps, methods, or functions performed by the terminal device in the second embodiment of the above method (as shown in FIG. 6), the processor 1001 can be used to execute steps S203 and S204 in FIG. 6, and / or to execute other processes of the technology described herein; the transceiver 1002 can be used to execute step S205 in FIG. 6, and / or to execute other processes of the technology described herein.
[0260] For example, when the communication device is used to perform the steps, methods or functions performed by the first network element in the second embodiment of the above method (as shown in FIG. 6), the processor 1001 can be used to perform steps S206 to S209 in FIG. 6, and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to send a fourth message, and / or to perform other processes of the technology described herein.
[0261] For example, when the communication device is used to perform the steps, methods or functions performed by the AF network element in the second embodiment of the above method (as shown in FIG. 6), the processor 1001 can be used to generate service requests and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to perform step S201 in FIG. 6 and / or to perform other processes of the technology described herein.
[0262] For example, when the communication device is used to perform the steps, methods, or functions performed by the access network device in the second embodiment of the above method (as shown in FIG. 6), the processor 1001 can be used to obtain the first message and / or to perform other processes of the technology described herein; the transceiver 1002 can be used to perform step S202 in FIG. 6 and / or to perform other processes of the technology described herein.
[0263] In any of the above implementations, the processor 1001 may include a transceiver for implementing receiving and transmitting functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, or interface circuit can be used for reading and writing code / data, or it can be used for transmitting or relaying signals.
[0264] In any of the above implementations, the processor 1001 may store instructions, which may be computer programs. These computer programs, running on the processor 1001, cause the communication device to execute the methods described in the above method embodiments. The computer program may be embedded in the processor 1001; in this case, the processor 1001 may be implemented in hardware.
[0265] In one implementation, the communication device may include circuitry capable of performing the functions of transmitting, receiving, or communicating as described in the foregoing method embodiments. The processor and transceiver described in this application can be implemented on integrated circuits (ICs), analog ICs, radio frequency integrated circuits (RFICs), mixed-signal ICs, application-specific integrated circuits (ASICs), printed circuit boards (PCBs), electronic devices, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal oxide semiconductors (CMOS), n-metal-oxide-semiconductor (NMOS), positive channel metal oxide semiconductors (PMOS), bipolar junction transistors (BJTs), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0266] It is understood that the communication device shown in the embodiments of this application may have more components than those in FIG8, and the embodiments of this application do not limit this. The methods executed by the processor and transceiver shown above are only examples, and the specific steps executed by the processor and transceiver can be referred to the description of the various method embodiments above.
[0267] In another possible implementation, in the communication device shown in FIG7, the processing unit 20 can be one or more logic circuits, and the transceiver unit 10 can be an input / output interface, or a communication interface, or an interface circuit, or an interface, etc. Alternatively, the transceiver unit 10 can also be a sending unit and a receiving unit. The sending unit can be an output interface, and the receiving unit can be an input interface. The sending unit and the receiving unit are integrated into one unit, such as an input / output interface. Referring to FIG9, FIG9 is another structural schematic diagram of the communication device provided in the embodiments of this application. As shown in FIG9, the communication device shown in FIG9 includes a logic circuit 901 and an interface 902. That is, the above-mentioned processing unit 20 can be implemented by the logic circuit 901, and the transceiver unit 10 can be implemented by the interface 902. Among them, the logic circuit 901 can be a chip, a processing circuit, an integrated circuit, or a system on chip (SoC) chip, etc., and the interface 902 can be a communication interface, an input / output interface, a pin, etc. For example, FIG9 shows the above-mentioned communication device as a chip, which includes a logic circuit 901 and an interface 902.
[0268] In this embodiment, the logic circuit and the interface can also be coupled to each other. The specific connection method between the logic circuit and the interface is not limited in this embodiment.
[0269] For example, when the communication device is used to execute the method, function, or step executed by the terminal device in the aforementioned method embodiments, interface 902 is used to input a first message, the first message including a first random number; interface 902 is also used to output a second message, the second message including a SUCI, the SUCI being generated based on a key identifier and ciphertext, the key identifier being used to index a first key, and the ciphertext being generated based on the first random number, the serial number of the terminal device, and the first key. For example, logic circuit 901 is used to generate the ciphertext and the SUCI.
[0270] For example, when the communication device is used to execute the method, function or step executed by the first network element in the aforementioned method embodiment, the logic circuit 901 is used to generate a first random number; the interface 902 is used to output the first random number, which is used to generate ciphertext; the interface 902 is also used to input a second message, which includes a SUCI, which is generated based on a key identifier and the ciphertext, the key identifier is used to index a first key, and the first key is used to decrypt the ciphertext to obtain the serial number of the terminal device.
[0271] For example, when the communication device is used to execute the method or function or step executed by the second network element in the aforementioned method embodiment, interface 902 is used to input an authentication request, the authentication request including SUCI, the SUCI being generated based on a key identifier and ciphertext, the key identifier being used to index a first key; logic circuit 901 is used to decrypt the ciphertext using the first key to obtain the serial number of the terminal device; logic circuit 901 is also used to install SUPI of the terminal device based on the serial number of the terminal device.
[0272] In this application embodiment, the specific descriptions of the first message, second message, ciphertext, SUCI, SUPI, authentication request, etc. can be found in the method embodiment shown above, and will not be described in detail here.
[0273] It is understood that the communication device shown in the embodiments of this application can implement the method provided in the embodiments of this application in hardware form or in software form, etc., and the embodiments of this application do not limit it in this way.
[0274] For specific implementations of the embodiment shown in Figure 9, please refer to the above embodiments, which will not be described in detail here.
[0275] This application also provides a communication system, which includes at least two of a terminal device, a first network element, and a second network element. The terminal device, the first network element, and the second network element can be used to execute the methods in the foregoing method embodiments.
[0276] In addition, this application also provides a computer program for implementing the operations and / or processes performed by a terminal device in the method provided in this application.
[0277] This application also provides a computer program for implementing the operations and / or processes performed by the first network element in the method provided in this application.
[0278] This application also provides a computer program for implementing the operations and / or processes performed by the second network element in the method provided in this application.
[0279] This application also provides a computer-readable storage medium storing computer code that, when executed on a computer, causes the computer to perform the operations and / or processes performed by a terminal device in the method provided in this application.
[0280] This application also provides a computer-readable storage medium storing computer code, which, when executed on a computer, causes the computer to perform the operations and / or processes performed by the first network element in the method provided in this application.
[0281] This application also provides a computer-readable storage medium storing computer code, which, when executed on a computer, causes the computer to perform the operations and / or processes performed by the second network element in the method provided in this application.
[0282] This application also provides a computer program product, which includes computer code or a computer program that, when run on a computer, causes the operations and / or processes performed by a terminal device in the method provided in this application to be executed.
[0283] This application also provides a computer program product, which includes computer code or a computer program, which, when run on a computer, causes the operations and / or processes performed by the first network element in the method provided in this application to be executed.
[0284] This application also provides a computer program product, which includes computer code or a computer program, which, when run on a computer, causes the operations and / or processes performed by the second network element in the method provided in this application to be executed.
[0285] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, or it may be an electrical, mechanical, or other form of connection.
[0286] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected according to actual needs to achieve the technical effects of the solutions provided in the embodiments of this application.
[0287] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0288] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned readable storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0289] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, include: The terminal device receives a first message, which includes a first random number. The terminal device sends a second message to the first network element. The second message includes a subscription hidden identifier (SUCI). The SUCI is generated based on a key identifier and ciphertext. The key identifier is used to index a first key. The ciphertext is generated based on a first random number, the serial number of the terminal device, and the first key.
2. The method according to claim 1, characterized in that, The second message includes the first random number.
3. The method according to claim 1 or 2, characterized in that, The SUCI is also generated based on one or more of the following: the type of the subscription permanent identifier SUPI, the home network identifier of the terminal device, the first random number, or the message authentication code.
4. The method according to any one of claims 1 to 3, characterized in that, The ciphertext is also generated based on a second random number.
5. The method according to claim 4, characterized in that, The ciphertext is obtained by encrypting the serial number of the terminal device and the second random number based on the second key, and the second key is generated based on the first key and the first random number; Alternatively, the ciphertext can be obtained by encrypting the serial number of the terminal device, the second random number, and the first random number, which are concatenated based on the first key pair.
6. The method according to any one of claims 1 to 5, characterized in that, The first message is a System Information Broadcast (SIB) message, which is used to trigger the access process of the terminal device.
7. The method according to any one of claims 1 to 5, characterized in that, The first message is a random access response or a radio resource control connection establishment message during the access process; Alternatively, the first message may be a non-access stratum (NAS) message.
8. The method according to any one of claims 1 to 7, characterized in that, Before the terminal device receives the first message, the method further includes: The terminal device receives a third message from the application function AF, the third message including the key identifier and the first key.
9. The method according to any one of claims 1 to 8, characterized in that, The terminal device is an Internet of Things (IoT) device.
10. The method according to any one of claims 1 to 9, characterized in that, The serial number is a mobile user identification code.
11. A communication method, characterized in that, include: The first network element sends a first random number to the terminal device through the access network device, and the first random number is used to generate ciphertext. The first network element receives a second message from the terminal device. The second message includes a Subscription Hidden Identifier (SUCI). The SUCI is generated based on a key identifier and the ciphertext. The key identifier is used to index a first key, and the first key is used to decrypt the ciphertext to obtain the serial number of the terminal device.
12. The method according to claim 9, characterized in that, Before the first network element sends the first random number to the terminal device through the access network device, the method further includes: The first network element receives a service request from the application function AF. The service request includes a service instruction or terminal device identification information, which is used to identify the terminal device.
13. The method according to claim 11 or 12, characterized in that, The second message includes the first random number.
14. The method according to any one of claims 11 to 13, characterized in that, The SUCI is also generated based on one or more of the following: the type of the subscription permanent identifier SUPI, the home network identifier of the terminal device, the first random number, or the message authentication code.
15. The method according to any one of claims 11 to 14, characterized in that, After the first network element receives the second message from the terminal device, the method further includes: If the first random number included in the second message is valid, the first network element sends an authentication request to the second network element. The authentication request includes the SUCI, and the second network element determines the home network identifier of the terminal device based on the SUCI.
16. The method according to claim 15, characterized in that, The authentication request may also include one or more of the following: instruction information, or the first random number; The indication information is used to indicate that the SUCI is an identifier of a low-power device or a low-computing-power device.
17. The method according to claim 12, characterized in that, The service request also includes a key identifier.
18. The method according to claim 17, characterized in that, After the first network element receives the second message from the terminal device, the method further includes: The first network element obtains a key factor for deriving the first key from the key storage network element based on the key identifier; The first network element determines the first key based on the key factor and the first random number.
19. The method according to claim 18, characterized in that, The first network element determines the first key based on the key factor and the first random number, including: The first network element determines one or more valid random numbers, and determines one or more keys based on the key factor and the one or more random numbers; The first network element decrypts the ciphertext based on one or more keys, and determines the key that successfully decrypts the ciphertext as the first key.
20. The method according to any one of claims 11 to 14 or 17 to 19, characterized in that, After the first network element receives the second message from the terminal device, the method further includes: The first network element uses the first key to decrypt the ciphertext and obtain the serial number of the terminal device. The serial number is used to determine the subscription permanent identifier (SUPI) of the terminal device.
21. The method according to claim 20, characterized in that, After the first network element decrypts the ciphertext using the first key to obtain the serial number of the terminal device, the method further includes: The first network element determines the subscription permanent identifier (SUPI) of the terminal device based on the serial number of the terminal device.
22. The method according to claim 21, characterized in that, After the first network element determines the subscription permanent identifier (SUPI) of the terminal device based on the serial number of the terminal device, the method further includes: The first network element sends a fourth message to the second network element. The fourth message includes the SUPI and is used to trigger the authentication and key negotiation (AKA) mechanism.
23. The method according to claim 22, characterized in that, Before the first network element sends the fourth message to the second network element, the method further includes: The first network element determines that the SUPI is valid based on the correspondence between the key identifier and the SUPI; Sending a fourth message from the first network element to the second network element includes: when the SUPI is valid, the first network element sends a fourth message to the second network element.
24. The method according to any one of claims 11 to 23, characterized in that, The serial number is a mobile user identification code.
25. A communication method, characterized in that, include: The second network element receives an authentication request from the first network element. The authentication request includes a subscription hidden identifier (SUCI). The SUCI is generated based on a key identifier and ciphertext. The key identifier is used to index the first key. The second network element uses the first key to decrypt the ciphertext and obtain the serial number of the terminal device; The second network element determines the subscription permanent identifier (SUPI) of the terminal device based on the serial number of the terminal device.
26. The method according to claim 25, characterized in that, The second network element determines the subscription permanent identifier (SUPI) of the terminal device based on the serial number of the terminal device, including: The second network element recombines and splices the serial number of the terminal device and the plaintext in the SUCI to obtain the SUPI of the terminal device.
27. The method according to claim 26, characterized in that, The plaintext in the SUCI includes one or more of the following: the type of SUPI, the home network identifier of the terminal device, the routing indicator, the key identifier, or a first random number; the first random number is used to generate the ciphertext.
28. The method according to any one of claims 25 to 27, characterized in that, After the second network element decrypts the ciphertext using the first key to obtain the serial number of the terminal device, the method further includes: The second network element generates an authentication vector based on the master key corresponding to SUPI and performs the authentication and key negotiation AKA mechanism.
29. The method according to claim 28, characterized in that, Before the second network element generates the authentication vector based on the master key corresponding to SUPI, the method further includes: The second network element determines that the SUPI is valid based on the pre-configured correspondence between the key identifier and the SUPI.
30. The method according to any one of claims 25 to 29, characterized in that, Before the second network element receives the authentication request from the first network element, the method further includes: The second network element receives a key generation request from the application function AF, the key generation request including the key identifier; The second network element generates one or more keys based on the key identifier; The second network element sends a key generation response to the AF, the key generation response including the one or more keys, the one or more keys including the first key.
31. A communication method, characterized in that, include: The first network element sends a first random number to the terminal device through the access network equipment; The terminal device sends a second message to the first network element. The second message includes a subscription hidden identifier (SUCI). The SUCI is generated based on a key identifier and ciphertext. The key identifier is used to index a first key. The ciphertext is generated based on a first random number, the serial number of the terminal device, and the first key.
32. The method according to claim 31, characterized in that, The second message includes the first random number.
33. The method according to claim 31 or 32, characterized in that, The SUCI is also generated based on one or more of the following: the type of the subscription permanent identifier SUPI, the home network identifier of the terminal device, the first random number, or the message authentication code.
34. The method according to any one of claims 31 to 33, characterized in that, Before the first network element sends the first random number to the terminal device through the access network device, the method further includes: The first network element receives a service request from the application function AF. The service request includes a service instruction or terminal device identification information, which is used to identify the terminal device.
35. The method according to any one of claims 31 to 34, characterized in that, After the terminal device sends the second message to the first network element, the method further includes: If the first random number included in the second message is valid, the first network element sends an authentication request to the second network element. The authentication request includes the SUCI, and the second network element determines the home network identifier of the terminal device based on the SUCI. The second network element uses the first key to decrypt the ciphertext and obtain the serial number of the terminal device; The second network element determines the subscription permanent identifier (SUPI) of the terminal device based on the serial number of the terminal device.
36. The method according to claim 35, characterized in that, The authentication request may also include one or more of the following: instruction information, or the first random number; The indication information is used to indicate that the SUCI is an identifier of a low-power device or a low-computing-power device.
37. The method according to any one of claims 32 to 36, characterized in that, After the terminal device sends the second message to the first network element, the method further includes: The first network element sends a fourth message to the second network element, the fourth message including the SUPI, the fourth message being used to trigger the authentication and key negotiation AKA mechanism; The second network element generates an authentication vector based on the master key corresponding to the SUPI and executes the authentication and key negotiation AKA mechanism.
38. [Amended according to Rule 26, 12.12.2024] The method according to claim 37, characterized in that, Before the first network element sends the fourth message to the second network element, the method further includes: The first network element determines that the SUPI is valid based on the correspondence between the key identifier and the SUPI.
39. A communication device, characterized in that, Includes units or modules for performing the method according to any one of claims 1 to 30.
40. A readable storage medium, characterized in that, The readable storage medium stores program instructions that, when executed on the communication device, cause the communication device to perform the method as described in any one of claims 1 to 30.
41. A communication system, characterized in that, It includes one or more of the following: a terminal device for performing the method of any one of claims 1 to 10, a first network element for performing the method of any one of claims 11 to 24, or a second network element for performing the method of any one of claims 25 to 30.
42. A program product, characterized in that, Includes instructions that, when executed, cause the method as described in any one of claims 1 to 30 to be performed.
43. A communication device, characterized in that, Includes a processor for reading and executing a program stored in a memory to perform the method as described in any one of claims 1 to 30.