Method and device for acquiring signature information
Patent Information
- Application Number
- CN202280096506.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-19
- Publication Date
- 2025-01-03
AI Technical Summary
In the existing communication system, the SIM card is bound to the operator's network. Users need to replace the SIM card when switching networks. The user experience is poor and the authentication process is inconvenient.
By obtaining the private key fragments and key information of the terminal, using the private key fragment of the first node to sign the terminal's key information, and generating signature fragments, the authentication between the terminal and the network is realized, and the use of the SIM card is avoided. key to unbind the SIM card from the network.
It achieves flexible authentication between the terminal and the network, without the need for users to change SIM cards, improving user experience, and ensuring the security and non-tamperability of signature information through the blockchain.
Smart Images

Figure CN119256519A_ABST
Abstract
Description
Method and device for obtaining signature information Technical Field
[0001] The present application relates to the field of communications, and in particular to a method and apparatus for obtaining signature information. Background Art
[0002] In a communication system, a terminal can access the network provided by an operator through a subscriber identity module (SIM) card. Specifically, a user selects an operator and purchases a corresponding SIM card. The SIM card is pre-installed with the root key of the SIM card. Before the SIM card is used, the SIM card vendor can send the root key of the SIM card to the operator through the production network or offline. In this way, both the operator and the terminal have a root key that can be used for authentication. When the terminal accesses the network, the operator can perform authentication based on the root key of the SIM card and provide network services to the terminal after successful authentication.
[0003] From the above description, we can see that the SIM card is bound to the operator's network. If the user wants to switch networks, he needs to replace the SIM card, which is very inconvenient and poor user experience.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a method and apparatus for obtaining signature information, which enables authentication between a terminal and a network based on the signature information without the need to use the key in the SIM card for authentication, thereby achieving unbinding of the SIM card from the network.
[0006] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:
[0007] In a first aspect, a method for obtaining signature information is provided. The communication device executing this method may be a first node; it may also be a module implemented in the first node, such as a chip or chip system. The following description uses the first node as an example. The method includes: obtaining a private key fragment of the first node and key information of a terminal; signing the key information of the terminal based on the private key fragment of the first node to obtain a signature fragment of the first node. The signature fragment of the first node is used to determine signature information, and the signature information is used for authentication between the terminal and the first node.
[0008] Based on the method provided in the first aspect above, the first node can obtain the private key fragment of the first node and the key information of the terminal, and sign the key information of the terminal based on the private key fragment of the first node to obtain the signature fragment of the first node. Because the signature fragment of the first node can determine the signature information used for authentication between the terminal and the first node, the terminal and the first node can be authenticated based on the signature information without using the key in the SIM card for authentication. This achieves the unbinding of the SIM card from the network. If the user wants to switch networks, they do not need to replace the SIM card, allowing the terminal to access the network flexibly and improving the user experience.
[0009] In a possible implementation, the method further includes: obtaining N signature fragments, the N signature fragments corresponding to Q nodes, any one of the N signature fragments being obtained by signing the key information of the terminal using the private key fragment of the node corresponding to the signature fragment, N and Q being natural numbers, Q being less than or equal to N; the signature fragment of the first node and the N signature fragments are jointly used to determine the signature information.
[0010] Based on the above possible implementation methods, the first node can obtain N signature fragments, and obtain signature information based on the N signature fragments and the signature fragment of the first node, so that the first node sends the signature information to the terminal, or so that the first node and the terminal perform authentication based on the signature information.
[0011] In a possible implementation, the signature information is also used for authentication between the terminal and the Q nodes.
[0012] Based on the above possible implementation, the terminal can authenticate with any of the Q nodes based on the signature information. In this way, the terminal can authenticate with the Q nodes by obtaining the signature information once, simplifying the authentication process between the terminal and the node.
[0013] In a possible implementation, obtaining N signature fragments includes: receiving the N signature fragments from the Q nodes.
[0014] Based on the above possible implementation manner, the first node can obtain N signature fragments from Q nodes so that the first node can generate signature information.
[0015] In one possible implementation, before obtaining N signature fragments, the method further includes: sending first information to M nodes, where the first information includes the key information of the terminal, and the M nodes include the Q nodes, where M is a natural number greater than or equal to Q.
[0016] Based on the above possible implementation manner, the first node may send the key information of the terminal to M nodes, so that the M nodes generate corresponding signature fragments according to the key information of the terminal.
[0017] In a possible implementation, the method further includes: sending at least one of the following information to the M nodes: a verification result of the first node on the contract information of the terminal or a signature fragment of the first node.
[0018] Based on the above possible implementation methods, M nodes can determine whether the first node has successfully verified the contract information of the terminal based on the verification result of the first node on the contract information of the terminal, and / or generate signature information based on the signature fragment of the first node.
[0019] In one possible implementation, N signature shards are stored in blockchain nodes.
[0020] Based on the above possible implementation methods, N signature shards can be put on the chain to ensure that the N signature shards are not tampered with, thereby improving communication security.
[0021] In one possible implementation, before obtaining the N signature fragments, the method further includes: sending the key information of the terminal and the signature fragment of the first node to the blockchain node.
[0022] Based on the above possible implementation methods, the key information of the terminal and the signature fragment of the first node can be put on the chain to ensure that the key information of the terminal and the signature fragment of the first node are not tampered with, thereby improving communication security.
[0023] In a possible implementation manner, the method further includes: sending third information to the terminal, where the third information includes the signature information.
[0024] Based on the above possible implementation methods, the terminal can obtain the signature information so that the terminal can authenticate with the node holding the signature information.
[0025] In one possible implementation, if the signature information is stored in a blockchain node, the method further includes: sending an identifier of the blockchain transaction corresponding to the signature information to the terminal.
[0026] Based on the possible implementations described above, the terminal can also obtain the blockchain transaction identifier corresponding to the signature information. This allows the terminal to carry this identifier when authenticating with the node holding the signature information, allowing the node to check the blockchain to see if the signature information corresponding to the identifier is identical to the signature information sent by the terminal, thereby improving communication security.
[0027] In a possible implementation, obtaining the private key shard of the first node includes: receiving the private key shard of the first node from a third-party node.
[0028] Based on the above possible implementation manner, the first node may obtain the private key fragment of the first node from the third-party node, so that the first node signs the key information of the terminal based on the private key fragment of the first node.
[0029] In a possible implementation, the method further includes: receiving a first request from the terminal, the first request including the signature information and a first random number; and performing authentication with the terminal according to the first request.
[0030] Based on the above possible implementation, the first node can authenticate with the terminal based on the signature information. In this way, the first node and the terminal do not need to use the key in the SIM card for authentication, thus achieving unbinding of the SIM card from the network.
[0031] In one possible implementation, the first node is included in a node set, and the method further includes: obtaining a public key of the node set; authenticating with the terminal based on the first request, including: sending a first message to the terminal, the first message including the certificate of the first node, first authentication information and a second random number, the first authentication information being obtained based on the private key of the first node and the first random number; receiving a second message from the terminal, the second message including second authentication information, the second authentication information being obtained based on the private key of the terminal and the second random number; obtaining the key information of the terminal based on the public key of the node set and the signature information; and authenticating the second authentication information based on the key information of the terminal.
[0032] Based on the above possible implementation methods, dual authentication can be performed between the first node and the terminal based on the public key and signature information of the node set to improve communication security.
[0033] In one possible implementation, after receiving the first request from the terminal, the method further includes: sending a third message to the blockchain node, where the third message is used to query the signature information; and receiving a fourth message from the blockchain node, where the fourth message includes the signature information.
[0034] Based on the above possible implementation methods, the first node can query the signature information in the blockchain so that the first node can determine whether the signature information is the same as the signature information sent by the terminal, thereby improving communication security.
[0035] In a second aspect, a method for obtaining signature information is provided. The communication device executing the method may be a terminal; it may also be a module applied to the terminal, such as a chip or chip system. The following description is based on the example of the execution subject being a terminal. The method includes: sending the key information of the terminal to a first node; receiving third information from the first node, the third information including signature information, the signature information being used for authentication between the terminal and the first node, the signature information being obtained based on N signature fragments and the signature fragment of the first node, the signature fragment of the first node being obtained by signing the key information of the terminal using the private key fragment of the first node, the N signature fragments corresponding to Q nodes, and any one of the N signature fragments being obtained by signing the key information of the terminal using the private key fragment of the node corresponding to the signature fragment, where N and Q are natural numbers, and Q is less than or equal to N.
[0036] Based on the method provided in the second aspect, the terminal can obtain the signature information. This allows authentication between the terminal and the first node based on the signature information, without requiring authentication using the key in the SIM card. This unbinds the SIM card from the network, allowing the user to switch networks without having to replace the SIM card. This allows the terminal to access the network flexibly, improving the user experience.
[0037] In one possible implementation, the method further includes: receiving an identifier of the blockchain transaction corresponding to the signature information from the first node.
[0038] Based on the possible implementations described above, the terminal can also obtain the blockchain transaction identifier corresponding to the signature information. This allows the terminal to carry this identifier when authenticating with the node holding the signature information, allowing the node to check the blockchain to see if the signature information corresponding to the identifier is identical to the signature information sent by the terminal, thereby improving communication security.
[0039] In one possible implementation, the first node and the Q nodes are included in a node set, and the method further includes: determining the node set according to a preset policy, the preset policy including at least one of the following: the selection of the user corresponding to the terminal, the network access requirements of the nodes in the node set, the networking scale of the network where the nodes in the node set are located, or the security level of the network where the nodes in the node set are located.
[0040] Based on the above possible implementations, the terminal may determine the node set in a variety of ways, thereby improving the flexibility and diversity of the terminal in determining the node set.
[0041] In a possible implementation, the method further includes: sending a first request to the first node, where the first request includes the signature information and a first random number; and performing authentication with the first node according to the first request.
[0042] Based on the above possible implementation, the terminal and the first node can perform authentication based on the signature information. In this way, the first node and the terminal do not need to use the key in the SIM card for authentication, thus achieving unbinding of the SIM card from the network.
[0043] In one possible implementation, authentication is performed with the first node based on the first request, including: receiving a first message from the first node, the first message including the certificate of the first node, first authentication information and a second random number, the first authentication information being obtained based on the private key of the first node and the first random number; and in a case where the authentication of the first authentication information is successful, sending a second message to the first node, the second message including second authentication information, the second authentication information being obtained based on the private key of the terminal and the second random number.
[0044] Based on the above possible implementation manner, dual authentication can be performed between the terminal and the first node to improve communication security.
[0045] In a third aspect, a communication device is provided for implementing the method provided in the first aspect. The communication device may be the first node in the first aspect, or a device comprising the first node. The communication device includes modules, units, or means corresponding to the method provided in the first aspect. The modules, units, or means may be implemented in hardware, software, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules or units corresponding to the above-mentioned functions.
[0046] In one possible implementation, the communication device may include a processing module. The processing module may be configured to implement the processing functions in the first aspect and any possible implementation thereof. The processing module may be, for example, a processor.
[0047] In one possible implementation, the communication device further includes a transceiver module. The transceiver module, which may also be referred to as a transceiver unit, is configured to implement the sending and / or receiving functions described in the first aspect and any possible implementation thereof. The transceiver module may be comprised of a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0048] In a possible implementation, the transceiver module includes a sending module and a receiving module, which are respectively used to implement the sending and receiving functions in the above-mentioned first aspect and any possible implementation thereof.
[0049] In one possible implementation, the processing module is used to obtain the private key fragment of the communication device and the key information of the terminal; the processing module is also used to sign the key information of the terminal based on the private key fragment of the communication device to obtain the signature fragment of the communication device, and the signature fragment of the communication device is used to determine the signature information, and the signature information is used for authentication between the terminal and the communication device.
[0050] In one possible implementation, the processing module is further used to obtain N signature fragments, where the N signature fragments correspond to Q nodes, and any one of the N signature fragments is obtained by signing the key information of the terminal using the private key fragment of the node corresponding to the signature fragment, where N and Q are natural numbers, and Q is less than or equal to N; the signature fragment of the communication device and the N signature fragments are used together to determine the signature information.
[0051] In a possible implementation, the signature information is also used for authentication between the terminal and the Q nodes.
[0052] In a possible implementation, the processing module is specifically configured to receive the N signature fragments from the Q nodes through the transceiver module.
[0053] In a possible implementation, the transceiver module is further configured to send first information to M nodes, where the first information includes key information of the terminal. The M nodes include the Q nodes, where M is a natural number greater than or equal to Q.
[0054] In a possible implementation, the transceiver module is further configured to send at least one of the following information to the M nodes: a verification result of the communication device on the contract information of the terminal or a signature fragment of the communication device.
[0055] In one possible implementation, the N signature shards are stored in a blockchain node.
[0056] In one possible implementation, the transceiver module is also used to send the key information of the terminal and the signature fragment of the communication device to the blockchain node.
[0057] In a possible implementation, the transceiver module is further configured to send third information to the terminal, where the third information includes the signature information.
[0058] In a possible implementation, the transceiver module is further configured to send an identifier of the blockchain transaction corresponding to the signature information to the terminal.
[0059] In a possible implementation, the processing module is further configured to receive, through the transceiver module, a private key fragment of the communication device from a third-party node.
[0060] In a possible implementation, the transceiver module is further configured to receive a first request from the terminal, where the first request includes the signature information and a first random number; and the processing module is further configured to perform authentication with the terminal according to the first request.
[0061] In one possible implementation, the communication device is included in a node set, and the processing module is further used to obtain the public key of the node set; the processing module is specifically used to send a first message to the terminal through the transceiver module, and the first message includes the certificate of the communication device, first authentication information and a second random number, and the first authentication information is obtained based on the private key of the communication device and the first random number; the processing module is also specifically used to receive a second message from the terminal through the transceiver module, and the second message includes second authentication information, and the second authentication information is obtained based on the private key of the terminal and the second random number; the processing module is also specifically used to obtain the key information of the terminal based on the public key of the node set and the signature information; the processing module is also specifically used to authenticate the second authentication information based on the key information of the terminal.
[0062] In one possible implementation, the transceiver module is further used to send a third message to the blockchain node, where the third message is used to query the signature information; the transceiver module is further used to receive a fourth message from the blockchain node, where the fourth message includes the signature information.
[0063] In a fourth aspect, a communication device is provided for implementing the method provided in the second aspect. The communication device may be the terminal in the second aspect, or a device including the second node. The communication device includes modules, units, or means corresponding to the method provided in the second aspect. The modules, units, or means may be implemented in hardware, software, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules or units corresponding to the above-mentioned functions.
[0064] In one possible implementation, the communication device may include a transceiver module. The transceiver module, which may also be referred to as a transceiver unit, is configured to implement the sending and / or receiving functions described in the second aspect and any possible implementation thereof. The transceiver module may be comprised of a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0065] In one possible implementation, the communication device further includes a processing module. The processing module can be used to implement the processing functions in the above-mentioned second aspect and any possible implementation thereof. The processing module can be, for example, a processor.
[0066] In a possible implementation, the transceiver module includes a sending module and a receiving module, which are respectively used to implement the sending and receiving functions in the above-mentioned second aspect and any possible implementation thereof.
[0067] In one possible implementation, the transceiver module is used to send the key information of the communication device to the first node; the transceiver module is also used to receive third information from the first node, the third information including signature information, the signature information being used for authentication between the communication device and the first node, the signature information being obtained based on N signature fragments and the signature fragment of the first node, the signature fragment of the first node being obtained by signing the key information of the communication device with the private key fragment of the first node, the N signature fragments corresponding to Q nodes, any one of the N signature fragments being obtained by signing the key information of the communication device with the private key fragment of the node corresponding to the signature fragment, N and Q being natural numbers, and Q being less than or equal to N.
[0068] In a possible implementation, the transceiver module is further configured to receive an identifier of the blockchain transaction corresponding to the signature information from the first node.
[0069] In one possible implementation, the first node and the Q nodes are included in a node set, and the processing module is used to determine the node set according to a preset strategy, and the preset strategy includes at least one of the following: the selection of the user corresponding to the communication device, the network access requirements of the nodes in the node set, the networking scale of the network where the nodes in the node set are located, or the security level of the network where the nodes in the node set are located.
[0070] In a possible implementation, the transceiver module is further configured to send a first request to the first node, where the first request includes the signature information and a first random number; and the processing module is further configured to perform authentication with the first node based on the first request.
[0071] In one possible implementation, the processing module is specifically used to receive a first message from the first node through the transceiver module, where the first message includes the certificate of the first node, first authentication information, and a second random number, and the first authentication information is obtained based on the private key of the first node and the first random number; the processing module is also specifically used to send a second message to the first node through the transceiver module when the first authentication information is successfully authenticated, where the second message includes second authentication information, and the second authentication information is obtained based on the private key of the communication device and the second random number.
[0072] In a fifth aspect, a communication device is provided, comprising: a processor; the processor is coupled to a memory, and after reading instructions from the memory, executes the method according to any of the above aspects in accordance with the instructions. The communication device may be the first node in the first aspect, or a device including the first node; or the communication device may be the terminal in the second aspect, or a device including the terminal.
[0073] In combination with the fifth aspect above, in a possible implementation, the communication device further includes a memory, which is used to store necessary program instructions and data.
[0074] In conjunction with the fifth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0075] In the sixth aspect, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is used to receive a computer program or instruction and transmit it to the processor; the processor is used to execute the computer program or instruction so that the communication device executes the method described in any of the above aspects.
[0076] In conjunction with the sixth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0077] In a seventh aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on the computer, the computer can execute the method described in any one of the above aspects.
[0078] In an eighth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method described in any one of the above aspects.
[0079] Among them, the technical effects brought about by any possible implementation method in the third to eighth aspects can be referred to the technical effects brought about by any aspect in the first to second aspects or different possible implementation methods in any aspect, and will not be repeated here.
[0080] In a ninth aspect, a communication system is provided, which includes a first node for executing the method described in the first aspect, and a terminal for executing the method described in the second aspect.
[0081] It is understandable that, provided that the solutions are not contradictory, the solutions in each aspect can be combined. BRIEF DESCRIPTION OF THE DRAWINGS
[0082] FIG1 is a schematic diagram of a communication system architecture provided by an embodiment of the present application;
[0083] FIG2 is a schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application;
[0084] FIG3 is a flowchart of a method for obtaining signature information according to an embodiment of the present application;
[0085] FIG4 is a flow chart of an authentication method according to an embodiment of the present application;
[0086] FIG5 is a second flow chart of a method for obtaining signature information provided in an embodiment of the present application;
[0087] FIG6 is a first structural diagram of a communication device provided in an embodiment of the present application;
[0088] FIG7 is a second structural diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0089] Before introducing the embodiments of the present application, the relevant technical terms involved in the embodiments of the present application are explained. It is understood that these explanations are intended to make the embodiments of the present application easier to understand and should not be regarded as limiting the scope of protection claimed by the embodiments of the present application.
[0090] 1. Blockchain (BC)
[0091] In the embodiments of the present application, blockchain is a tamper-proof technology protected by cryptographic mechanisms. Generally speaking, blockchain nodes can run on physical nodes, or they can run in a virtual environment within a physical node, without limitation.
[0092] In one possible design, blockchain is a ledger technology. This ledger is distributed and can be maintained synchronously by multiple nodes. These multiple nodes can use cryptographic mechanisms to prevent tampering when maintaining the ledger.
[0093] For example, a blockchain is a distributed ledger composed of sequentially linked data blocks in chronological order, creating a chained data structure and cryptographically guaranteed to be tamper-proof and unforgeable. Generally speaking, a blockchain system consists of multiple nodes. Since there is no centralized management authority, all nodes must reach a consensus on each block's information, meaning that each node stores the same blockchain information. Due to the unique characteristics of blockchain technology, it can serve as a unified, trusted platform for historical event tracing and / or automated network management. For example, a blockchain can implement at least one of the following functions: log auditing, automated settlement, or secure access and authentication.
[0094] It is understandable that in the embodiments of the present application, the blockchain may also have other naming methods, such as distributed ledger or account book, etc., without limitation.
[0095] 2. Threshold Signature
[0096] Threshold signatures are a multi-party signature technology. For example, a group consists of n participants, and the threshold signature weight is t, i.e., a threshold signature scheme (n, t). This scheme allows any t or more of the n participants to represent the entire group (i.e., n participants) and generate a valid signature. Specifically, each of the n participants holds a public key shard and a private key shard. Based on the n public key shards held by the n participants, the group's public key (also known as the system public key) can be derived. Based on the n private key shards held by the n participants, the group's private key (also known as the system private key) can be derived. T or more of the n participants each sign a message using their own private key shard, resulting in each participant's signature shard. These signature shards are calculated using the threshold signature algorithm to obtain the group's signature information (also known as the system signature information). The group's signature information can be verified using the group's public key.
[0097] The previous paragraph describes threshold signatures using the example of each participant holding one public key shard and one private key shard. However, embodiments of the present application do not limit the number of public key shards and / or private key shards held by each participant. For example, in embodiments of the present application, each participant may hold at least one public key shard and at least one private key shard. The number of public key shards held by different participants can be the same or different. Similarly, the number of private key shards held by different participants can be the same or different.
[0098] In one possible design, the group includes n participants, each of whom holds at least one public key shard and at least one private key shard. The threshold signature scheme with a weight of s can refer to a scheme in which any s or more private key shards from the multiple private key shards of the n participants can represent the entire group (i.e., n participants) and generate a valid signature.
[0099] For example, let's assume a group consists of five participants, with participants 1 to 4 each holding one public key shard and one private key shard, and participant 5 holding one public key shard and two private key shards. If the weight is 4, the group's signature information can be obtained based on the private key shards of participant 1, participant 2, participant 3, and participant 4. Alternatively, the group's signature information can be obtained based on any two private key shards from participants 1 to 4 and the two private key shards of participant 5.
[0100] In the embodiment of the present application, the terminal can obtain the group's signature information, and the participants in the group can obtain the group's public key. In this way, the terminal and the participants in the group can perform authentication based on the group's signature information and the group's public key.
[0101] The implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0102] The methods provided in the embodiments of this application can be used in various communication systems that support threshold signature technology. The methods provided in the embodiments of this application are described below using the communication system 10 shown in Figure 1 as an example. Figure 1 is merely a schematic diagram and does not limit the applicable scenarios of the technical solutions provided in this application.
[0103] As shown in Figure 1, a schematic diagram of the architecture of a communication system 10 provided in an embodiment of the present application is provided. In Figure 1, the communication system 10 may include a node 101 and a terminal 102 that can communicate with the node 101. Optionally, the communication system 10 also includes a node 103, and / or a blockchain node 104, and / or a node 105.
[0104] In Figure 1 , node 101, node 103, or node 105 can provide services for terminal 102. For example, node 101, node 103, or node 105 is a node in a network, which is a carrier's network. Node 101, node 103, or node 105 can provide access services for terminal 102. Nodes 101, node 103, or node 105 can be operated by the same or different carriers. It should be understood that the network to which node 101, node 103, or node 105 belongs can also be other types of networks, such as a wireless local area network or a network corresponding to a vertical application (such as the Internet of Things), without limitation.
[0105] In FIG1 , node 101 , node 103 or node 105 may be any device having a wireless transceiver function, for example, any access network device or core network device.
[0106] Among them, the access network equipment includes but is not limited to: an evolved base station (NodeB or eNB or e-NodeB, evolutionary Node B) in long term evolution (LTE), a base station (gNodeB or gNB) or a transmission receiving point / transmission reception point (TRP) in new radio (NR), a base station subsequently evolved by the 3rd generation partnership project (3GPP), an access node in a Wi-Fi system, a wireless relay node, a wireless backhaul node, etc. The base station can be: a macro base station, a micro base station, a pico base station, a small station, a relay station, or a balloon station, etc. The access network equipment can also be a wireless controller in a cloud radio access network (CRAN) scenario. The access network equipment can also be a centralized unit (CU) and / or a distributed unit (DU). The access network equipment can also be a server, a wearable device, a machine communication device, or an in-vehicle device, etc.
[0107] Core network equipment includes but is not limited to: access and mobility management function (AMF) network element, session management function (SMF) network element, user plane function (UPF) network element, unified data management (UDM) network element, unified data repository (UDR) network element, network exposure function (NEF) network element or policy control function (PCF) network element, etc.
[0108] The terminal in the embodiment of the present application, for example, terminal 102 can be a device with wireless transceiver capabilities. The terminal can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; it can also be deployed on the water surface (such as a ship, etc.); it can also be deployed in the air (for example, on an airplane, a balloon, and a satellite, etc.). The terminal can also be called a terminal device, and the terminal device can be a user equipment (UE), where the UE includes a handheld device, a vehicle-mounted device, a wearable device, or a computing device with wireless communication capabilities. Exemplarily, the UE can be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. The terminal device can also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, or a wireless terminal in a smart home, etc.
[0109] As an example and not a limitation, in this application, the terminal may be a wearable device. Wearable devices may also be referred to as wearable smart devices, which are a general term for wearable devices that are intelligently designed and developed using wearable technology for daily wear, such as glasses, gloves, watches, clothing, and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothes or accessories. For example, a wearable device is not only a hardware device, but also a device that achieves powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include devices that are fully functional, large in size, and can achieve complete or partial functions without relying on smartphones, such as smart watches or smart glasses, as well as devices that focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.
[0110] In the present application, the terminal may be a terminal in an Internet of Things (IoT) system. IoT is an important component of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. The terminal in the present application may be a terminal in machine type communication (MTC). The terminal in the present application may be an on-board module, on-board module, on-board component, on-board chip or on-board unit built into a vehicle as one or more components or units. The vehicle may implement the method of the present application through the built-in on-board module, on-board module, on-board component, on-board chip or on-board unit.
[0111] In Figure 1 , blockchain node 104 can be a node capable of applying blockchain technology. For example, blockchain node 104 can use cryptographic mechanisms to protect the information stored in the node from tampering. As an example, blockchain node 104 is a blockchain network element in the core network, or blockchain node 104 is a node capable of communicating with a ledger anchor function (LAF) network element in the core network.
[0112] The communication system 10 shown in FIG1 is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art will appreciate that, in a specific implementation, the communication system 10 may also include other devices, and the number of nodes, terminals, or blockchain nodes may be determined based on specific needs without limitation.
[0113] Optionally, each network element or device in Figure 1 of the embodiment of the present application (for example, node 101, node 103, node 105, terminal 102 or blockchain node 104, etc.) can also be referred to as a communication device, which can be a general device or a dedicated device. The embodiment of the present application does not make specific limitations on this.
[0114] Optionally, the relevant functions of each network element or device (e.g., node 101, node 103, node 105, terminal 102, or blockchain node 104, etc.) in FIG1 of the embodiment of the present application can be implemented by one device, or can be implemented by multiple devices together, or can be implemented by one or more functional modules within a device, and the embodiment of the present application does not specifically limit this. It is understandable that the above functions can be network elements in hardware devices, or software functions running on dedicated hardware, or a combination of hardware and software, or virtualization functions instantiated on a platform (e.g., a cloud platform).
[0115] In a specific implementation, each network element or device in FIG1 of the embodiment of the present application (such as node 101, node 103, node 105, terminal 102 or blockchain node 104, etc.) can adopt the composition structure shown in FIG2, or include the components shown in FIG2. FIG2 shows a schematic diagram of the hardware structure of a communication device applicable to the embodiment of the present application. The communication device 20 includes at least one processor 201 and at least one communication interface 204 for implementing the method provided in the embodiment of the present application. The communication device 20 may also include a communication line 202 and a memory 203.
[0116] The processor 201 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0117] The communication link 202 may include a path for transmitting information between the above components, such as a bus.
[0118] Communication interface 204 is used to communicate with other devices or communication networks. Communication interface 204 can be any transceiver-like device, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, a transceiver, a pin, a bus, or a transceiver circuit.
[0119] The memory 203 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory can be independent and coupled to the processor 201 via the communication line 202. The memory 203 can also be integrated with the processor 201. The memory provided in the embodiment of the present application can generally be non-volatile.
[0120] Among them, the memory 203 is used to store computer-executable instructions involved in executing the solutions provided in the embodiments of the present application, and is controlled by the processor 201. The processor 201 is used to execute the computer-executable instructions stored in the memory 203, thereby implementing the methods provided in the embodiments of the present application. Alternatively, optionally, in the embodiments of the present application, the processor 201 may also perform processing-related functions in the methods provided in the following embodiments of the present application, and the communication interface 204 is responsible for communicating with other devices or communication networks, which is not specifically limited in the embodiments of the present application.
[0121] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application code, which is not specifically limited in the embodiments of the present application.
[0122] The coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
[0123] As an embodiment, the processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 2 .
[0124] As an embodiment, the communication device 20 may include multiple processors, such as processor 201 and processor 207 in Figure 2. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0125] As an embodiment, the communication device 20 may further include an output device 205 and / or an input device 206. The output device 205 is coupled to the processor 201 and can display information in a variety of ways. For example, the output device 205 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 206 is coupled to the processor 201 and can receive user input in a variety of ways. For example, the input device 206 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0126] It is understandable that the composition structure shown in Figure 2 does not constitute a limitation on the communication device. In addition to the components shown in Figure 2, the communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0127] The method provided by the embodiment of the present application will be described below with reference to the accompanying drawings. Each network element in the following embodiment may include the components shown in FIG2 , which will not be described in detail.
[0128] It can be understood that the message names between network elements or the names of parameters in the messages in the following embodiments of the present application are only examples, and other names may be used in specific implementations. The embodiments of the present application do not specifically limit this.
[0129] It can be understood that in the embodiments of the present application, " / " can indicate that the objects associated with each other are in an "or" relationship, for example, A / B can indicate A or B; "and / or" can be used to describe that there are three relationships between the associated objects, for example, A and / or B can indicate: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, expressions similar to "at least one of A, B and C" or "at least one of A, B or C" are usually used to indicate any of the following: A exists alone; B exists alone; C exists alone; A and B exist at the same time; A and C exist at the same time; B and C exist at the same time; A, B and C exist at the same time. The above uses A, B and C as an example to illustrate the optional items of the item. When there are more elements in the expression, the meaning of the expression can be obtained according to the above rules.
[0130] In order to facilitate the description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" can be used to distinguish technical features with the same or similar functions. The words such as "first" and "second" do not limit the quantity and execution order, and the words such as "first" and "second" do not necessarily limit them to be different. In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" should not be interpreted as being more preferred or more advantageous than other embodiments or design. The use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0131] It will be understood that the “embodiment” mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments in the entire specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It will be understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
[0132] It can be understood that in this application, "when" and "if" both mean that corresponding processing will be taken under certain objective circumstances, and do not limit the time. They do not require any judgment action when implementing them, nor do they mean that there are other limitations.
[0133] The term "simultaneously" in this application may be understood as at the same time point, within a period of time, or within the same cycle.
[0134] It is understood that some optional features in the embodiments of the present application may, in certain scenarios, be implemented independently of other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features as needed in certain scenarios. Accordingly, the devices provided in the embodiments of the present application may also implement these features or functions accordingly, which will not be described in detail here.
[0135] It can be understood that the same step or steps or technical features with the same functions in the embodiments of the present application can be referenced and borrowed from each other in different embodiments.
[0136] It is understood that in the embodiments of the present application, the first node and / or terminal and / or node 101 and / or node 103 and / or node 105 and / or terminal 102 can perform some or all of the steps in the embodiments of the present application. These steps are merely examples, and the embodiments of the present application can also perform other steps or variations of various steps. In addition, the various steps can be performed in a different order than those presented in the embodiments of the present application, and it is possible that not all of the steps in the embodiments of the present application need to be performed.
[0137] As shown in FIG3 , a method for obtaining signature information provided in an embodiment of the present application may include the following steps:
[0138] S301: The first node obtains the private key fragment of the first node and the key information of the terminal.
[0139] The first node may be the node 101 in the communication system 10 shown in FIG1 , and the terminal may be the terminal 102 in the communication system 10 shown in FIG1 .
[0140] In one possible design, the terminal's key information includes information that can be used for authentication with other nodes or devices, such as the terminal's public key. Optionally, the terminal's key information also includes the terminal's private key.
[0141] In one possible implementation, the first node generates the private key shard of the first node itself; or, the first node pre-stores the private key shard of the first node, and the first node obtains the private key shard of the first node locally; or, the first node receives the private key shard of the first node from a third-party node.
[0142] The third-party node is a trusted node and can generate private key shards for different nodes. For example, the third-party node can generate private key shards for nodes in a node set. The node set can include at least two nodes. The at least two nodes include the first node. The node set can also be referred to as a node alliance, node group, etc., without limitation.
[0143] In one possible implementation, the first node receives key information of a terminal from a terminal; or, the first node receives key information of a terminal from other nodes in a node set other than the first node (hereinafter referred to as other nodes); or, the first node obtains key information of the terminal from a blockchain.
[0144] S302: The first node signs the key information of the terminal according to the private key fragment of the first node to obtain the signature fragment of the first node.
[0145] In a possible implementation, the first node signs the key information of the terminal using the private key fragment of the first node to obtain the signature fragment of the first node.
[0146] Among them, the signature fragment of the first node can be used to determine the signature information of the node set (hereinafter referred to as signature information). The signature information can be used for authentication between the terminal and the first node. For example, the signature fragment of the first node is used to jointly determine the signature information with the signature fragments of other nodes. The signature information can also be used for authentication between the terminal and other nodes. It is understandable that the node holding the public key of the node set can authenticate with the terminal based on the signature information.
[0147] Among them, the action of the first node in the above S301-S302 can be executed by the processor 201 in the communication device 20 shown in Figure 2 calling the application code stored in the memory 203, and the embodiment of the present application does not impose any restrictions on this.
[0148] Based on the method shown in Figure 3, the first node can obtain the private key fragment of the first node and the key information of the terminal, and sign the key information of the terminal based on the private key fragment of the first node to obtain the signature fragment of the first node. Because the signature fragment of the first node can determine the signature information used for authentication between the terminal and the first node, the terminal and the first node can be authenticated based on the signature information without using the key in the SIM card for authentication. This achieves the unbinding of the SIM card and the network. If the user wants to switch networks, they do not need to replace the SIM card, allowing the terminal to access the network flexibly and improving the user experience.
[0149] Optionally, in a possible implementation scenario of the method shown in Figure 3, the first node obtains N signature fragments. The signature fragment of the first node and the N signature fragments are used together to determine the signature information.
[0150] Among them, N signature fragments correspond to Q nodes, and any signature fragment of the N signature fragments is obtained by signing the terminal's key information with the private key fragment of the node corresponding to the signature fragment. N and Q are natural numbers, and Q is less than or equal to N. Q nodes are included in the node set. In other words, the nodes in the node set can use the threshold signature method to sign the terminal's key information to obtain signature information. The signature information can be verified using the public key of the node set. Therefore, if the node in the node set holds the public key of the node set, the terminal can be authenticated. In other words, the signature information is also used for authentication between the terminal and the Q nodes.
[0151] It can be understood that the weight of the threshold signature is less than or equal to N+1.
[0152] Alternatively, the first node obtains the N signature shards directly from the Q nodes; alternatively, the first node obtains the N signature shards through a blockchain. For example, the first node receives the N signature shards from the Q nodes. Alternatively, the first node obtains the N signature shards from the blockchain node, which may be the blockchain node 104 in the communication system 10 shown in FIG1 .
[0153] As an example, if Q nodes are node 1, node 2, and node 3, where node 1 and node 2 have one private key shard and node 3 has two private key shards, node 1 uses its own private key shard to sign the terminal's key information, obtaining node 1's signature shard, and sends node 1's signature shard to the first node. Node 2 uses its own private key shard to sign the terminal's key information, obtaining node 2's signature shard, and sends node 2's signature shard to the first node. Node 3 uses its two private key shards to sign the terminal's key information, obtaining node 3's signature shard 1 and node 3's signature shard 2, and sends signature shard 1 and signature shard 2 to the first node. After receiving the above signature shards, the first node calculates the signature shard of the first node, the signature shard of node 1, the signature shard of node 2, signature shard 1, and signature shard 2 according to the threshold signature algorithm to obtain signature information.
[0154] As another example, suppose there are Q nodes, namely Node 1, Node 2, and Node 3. Node 1 and Node 2 each have one private key shard, and Node 3 has two private key shards. Node 1, Node 2, and Node 3 are all nodes in the blockchain. Node 1 uses its private key shard to sign the terminal's key information, obtaining Node 1's signature shard. It then encrypts Node 1's signature shard with the first node's public key on the blockchain and publishes the encrypted information on the blockchain. Node 2 uses its private key shard to sign the terminal's key information, obtaining Node 2's signature shard. It then encrypts Node 2's signature shard with the first node's public key on the blockchain and publishes the encrypted information on the blockchain. Node 3 uses its two private key shards to sign the terminal's key information, obtaining Node 3's signature shard 1 and Node 3's signature shard 2. It then encrypts Signature shard 1 and Signature shard 2 with the first node's public key on the blockchain and publishes the encrypted information on the blockchain. After the first node receives the above encrypted information, it uses its own private key on the chain to decrypt the information and obtain the signature fragment of node 1, the signature fragment of node 2, signature fragment 1 and signature fragment 2. Then it uses the threshold signature algorithm to calculate the signature fragment of the first node, the signature fragment of node 1, the signature fragment of node 2, signature fragment 1 and signature fragment 2 to obtain the signature information.
[0155] As another example, suppose there are Q nodes, namely Node 1, Node 2, and Node 3. Node 1 and Node 2 each have one private key shard, and Node 3 has two private key shards. Node 1, Node 2, and Node 3 are all nodes in a blockchain, and the first node may or may not be a blockchain node. Node 1 uses its private key shard to sign the terminal's key information, obtaining Node 1's signature shard. It then encrypts Node 1's signature shard with the blockchain node's public key and publishes the encrypted information on the blockchain. Node 2 uses its private key shard to sign the terminal's key information, obtaining Node 2's signature shard. It then encrypts Node 2's signature shard with the blockchain node's public key and publishes the encrypted information on the blockchain. Node 3 uses its two private key shards to sign the terminal's key information, obtaining Node 3's signature shard 1 and Node 3's signature shard 2. It then encrypts Signature shard 1 and Signature shard 2 with the blockchain node's public key and publishes the encrypted information on the blockchain. After receiving the encrypted information, the blockchain node decrypts it with its own private key on the chain, obtaining Node 1's signature fragment, Node 2's signature fragment, Signature Fragment 1, and Signature Fragment 2. It then sends these signature fragments to the first node. After receiving these signature fragments, the first node uses the threshold signature algorithm to calculate the signature fragments of the first node, Node 1's signature fragment, Node 2's signature fragment, Signature Fragment 1, and Signature Fragment 2 to obtain the signature information.
[0156] Optionally, before the first node obtains the N signature fragments, the first node sends a first message to M nodes. The first message includes the terminal's key information. The M nodes include Q nodes, where M is a natural number greater than or equal to Q, and the M nodes are included in the node set. In other words, the first node can send the terminal's key information to the M nodes to trigger the M nodes to sign the terminal's key information based on their own private key fragments to obtain corresponding signature fragments.
[0157] It is understood that in specific applications, when the number of signature fragments obtained by the first node is greater than or equal to the threshold signature authority, the first node can obtain the signature information. Therefore, some of the M nodes can simply sign the terminal's key information based on their own private key fragments to obtain the corresponding signature fragments, and it may not be necessary for all M nodes to obtain their own signature fragments.
[0158] It is understandable that the first node can send the first information directly to the M nodes, or send the first information to the M nodes through the blockchain.
[0159] For example, the first node sends the first information to the blockchain node. After receiving the first information, the blockchain node puts the first information on the chain and sends the first information to M nodes.
[0160] Optionally, before S302, the first node obtains the contract information of the terminal and verifies the terminal based on the contract information of the terminal. The contract information of the terminal may include relevant information about the contract between the terminal and the network to which the nodes in the node set belong. For example, the contract information of the terminal may include at least one of the following: the contract time of the terminal, the validity period of the terminal contract, the information of the package contracted by the terminal, the identifier of the terminal, the identifier of the SIM card in the terminal, or the identifier of the user corresponding to the terminal (such as the user's ID number). The information of the package contracted by the terminal may include traffic information and / or call time, etc.
[0161] It is understood that the first node can verify whether the terminal can register with the network based on the above information. For example, if the validity period of the terminal's contract has expired, the first node will determine that the verification has failed and the terminal cannot register with the network. For another example, if the SIM card identifier is invalid, the first node will determine that the verification has failed and the terminal cannot register with the network.
[0162] In a possible implementation manner, the first node receives the subscription information of the terminal from the terminal, or the first node receives the subscription information of the terminal from other nodes.
[0163] Optionally, the first node further sends at least one of the following information to the M nodes: the first node's verification result of the terminal's contract information, the first node's signature fragment, or the terminal's contract information. The verification result may include success or failure. It is understood that the at least one of the following information can be included in the first message or in other messages sent to the M nodes, without limitation.
[0164] It is understood that the first node sends the verification result of the first node on the terminal's contract information to M nodes, allowing the nodes that receive the verification result to determine whether the first node successfully authenticated the terminal. Optionally, if the first node successfully authenticates the terminal, the node that receives the verification result may sign the terminal's key information based on its own private key fragment to obtain the corresponding signature fragment. If the first node fails to authenticate the terminal, the node that receives the verification result may not generate a signature fragment.
[0165] It can be understood that the first node sends the signature fragment of the first node to M nodes, so that the nodes that receive the signature fragment can obtain signature information according to the signature fragment.
[0166] It can be understood that the first node sends the contract information of the terminal to M nodes, so that the nodes receiving the contract information can verify the terminal according to the contract information.
[0167] It is understandable that the first node sends the above-mentioned at least one information directly to the M nodes; or, the first node sends the above-mentioned at least one information to the M nodes through the blockchain.
[0168] Optionally, the first node sends third information to the terminal. Accordingly, the terminal receives the third information from the first node. The third information includes signature information. In this way, the terminal can obtain the signature information and perform authentication with the first node based on the signature information.
[0169] Optionally, if the N signature shards are stored in a blockchain node, the first node further obtains an identifier of the blockchain transaction corresponding to the signature information, wherein the identifier includes an address of the blockchain transaction corresponding to the signature information.
[0170] Optionally, the first node further sends an identifier of the blockchain transaction corresponding to the signature information to the terminal. Correspondingly, the terminal receives the identifier of the blockchain transaction corresponding to the signature information from the first node.
[0171] Optionally, the first node also sends signature information to other nodes. Correspondingly, other nodes receive the signature information from the first node. In this way, other nodes do not need to generate signature information themselves.
[0172] It is understandable that the first node can send the signature information directly to other nodes, or the first node can send the signature information to other nodes through the blockchain.
[0173] The following describes a specific process of authentication between the terminal and the first node based on the signature information.
[0174] As shown in FIG4 , an authentication method provided in an embodiment of the present application may include the following steps:
[0175] S401: The first node obtains signature information.
[0176] The first node may be the node 101 in the communication system 10 shown in FIG1 .
[0177] In one possible implementation, the first node obtains signature information using the method shown in FIG3 . For example, the first node obtains signature information based on its signature shard and N signature shards; or, the first node receives signature information from other nodes; or, the first node receives signature information from a blockchain node. Alternatively, the first node obtains signature information using other methods, which are not limited.
[0178] S402: The terminal obtains signature information.
[0179] The terminal may be the terminal 102 in the communication system 10 shown in FIG1 .
[0180] In one possible implementation, the terminal obtains the signature information by the method shown in FIG3 , for example, the terminal receives the signature information from the first node or another node. Alternatively, the terminal obtains the signature information by other means, which are not limited.
[0181] It is understandable that the present application does not limit the execution order of S401 and S402. For example, S401 may be executed first and then S402, or S402 may be executed first and then S401, or S401 and S402 may be executed simultaneously.
[0182] Optionally, before S401 , the terminal determines a node set according to a preset policy.
[0183] In a possible design, the preset strategy includes at least one of the following: the selection of the user corresponding to the terminal, the network access requirements of the nodes in the node set, the networking scale of the network where the nodes in the node set are located, or the security level of the network where the nodes in the node set are located.
[0184] Exemplarily, a user selects a node set through software on a terminal, and the terminal determines the node set in response to the user's operation. Alternatively, the terminal determines the node set based on the network access requirements of the nodes in the node set, such as traffic requirements and / or call time requirements, such as selecting the node set containing the node that best meets the user's requirements. Alternatively, the terminal selects the node set containing the node with the largest network scale. Alternatively, the terminal selects a node set that includes a large number of nodes with a large network scale. Alternatively, the terminal selects the node set containing the node with the highest security level. Alternatively, the terminal selects a node set that includes a large number of nodes with a high security level.
[0185] S403: The terminal and the first node perform authentication based on the signature information.
[0186] In a possible implementation, the terminal and the first node may be authenticated through S4031 - S4032 .
[0187] S4031: The terminal sends a first request to the first node. Correspondingly, the first node receives the first request from the terminal.
[0188] The first request may include signature information and a first random number. The first random number may be generated by the terminal or obtained by the terminal from another device.
[0189] Optionally, the terminal further sends at least one of the following information to the first node: an identifier of the terminal (such as an international mobile equipment identity (IMEI) or a serial number of the terminal), information about signature algorithms supported by the terminal, or an identifier of a blockchain transaction corresponding to the signature information. Accordingly, the first node receives the at least one of the above information from the terminal.
[0190] It is understandable that the at least one information mentioned above may be included in the first request and sent to the first node, or may be sent to the first node through other information, without limitation.
[0191] S4032: The first node performs authentication with the terminal according to the first request.
[0192] In one possible implementation, a first node sends a first message to a terminal. The first message may include the first node's certificate, first authentication information, and a second random number. The first authentication information is obtained based on the first node's private key and the first random number. For example, the first node signs the first random number with its private key to obtain the first authentication information. In another example, the first node uses a signature algorithm supported by the terminal to sign the first random number with its private key to obtain the first authentication information. After receiving the first message, the terminal sends a second message to the first node. The second message includes second authentication information, which is obtained based on the terminal's private key and the second random number. For example, the terminal verifies the validity of the first node's certificate and verifies the first authentication information based on the first node's public key. If the first node's certificate is valid and the first authentication information is successfully verified, the terminal sends a second message to the first node. After receiving the second message, the first node obtains the terminal's key information based on the node set's public key and signature information, and authenticates the second authentication information based on the terminal's key information. For example, the first node verifies the signature information according to the public key of the node set. If the verification is successful, the first node obtains the key information of the terminal, such as the public key of the terminal, and authenticates the second authentication information according to the public key of the terminal.
[0193] It can be understood that the certificate of the first node, the first authentication information and the second random number can be included in the first message sent to the terminal, or can be included in different messages sent to the terminal, without limitation.
[0194] Optionally, the first node sends an authentication result to the terminal. Correspondingly, the terminal receives the authentication result from the first node. The authentication result includes authentication failure or authentication success.
[0195] Exemplarily, if the first node fails to verify the signature information based on the public key of the node set, the first node sends an authentication result to the terminal to indicate to the terminal that the first node failed to authenticate the terminal. Alternatively, if the first node fails to authenticate the second authentication information, the first node sends an authentication result to the terminal to indicate to the terminal that the first node failed to authenticate the terminal. Alternatively, if the first node successfully authenticates the second authentication information, the first node sends an authentication result to the terminal to indicate to the terminal that the first node successfully authenticated the terminal.
[0196] Optionally, the first node also verifies the signature information through the blockchain.
[0197] For example, after receiving the blockchain transaction identifier corresponding to the signature information from the terminal, the first node sends a third message to the blockchain node. This third message can be used to query the signature information. For example, the third message includes the blockchain transaction identifier corresponding to the signature information. After receiving the third message, the blockchain node sends a fourth message to the first node. The fourth message includes the signature information retrieved based on the identifier. In this way, the first node can verify the correctness of the signature information sent by the terminal based on the signature information included in the fourth message, further improving communication security.
[0198] Among them, the actions of the first node or terminal in the above S401-S403 can be executed by the processor 201 in the communication device 20 shown in Figure 2 calling the application code stored in the memory 203, and the embodiment of the present application does not impose any restrictions on this.
[0199] Based on the method shown in Figure 4, the terminal and the first node can authenticate based on the signature information, without requiring authentication using the key in the SIM card. This unbinds the SIM card from the network. If the user wants to switch networks, they do not need to replace the SIM card, enabling flexible network access for the terminal and improving the user experience. Furthermore, if the terminal switches between nodes in the node set, for example, after switching from the first node to the second node, the terminal can still authenticate with the second node based on the signature information without having to obtain the signature information again, simplifying the authentication process.
[0200] Optionally, in a possible scenario of the method shown in FIG3 or the method shown in FIG4 , a node in the node set obtains its own private key shard and the public key of the node set.
[0201] In one possible implementation, a third-party node determines the private key and public key of a node set, determines the private key shards of each node in the node set based on the private key of the node set, and sends the private key shards of each node and the public key of the node set to the corresponding node. It is understood that the third-party node may encrypt the private key shards and the public key of the node set before sending them, for example, by encrypting them with the public key of the receiving node.
[0202] Optionally, a third-party node determines the weight of the threshold signature and / or the weight corresponding to the nodes in the node set.
[0203] As an example, if a node set includes node 1, node 2, and node 3, the third-party node determines the private key and public key of the node set, then uses an algorithm to calculate the private key of the node set, obtaining the private key fragments of node 1, node 2, and node 3. Based on the node set information, the third-party node determines the weight of the threshold signature and sends node 1's private key fragment, the node set's public key, and the threshold signature weight to node 1; sends node 2's private key fragment, the node set's public key, and the threshold signature weight to node 2; and sends node 3's private key fragment, the node set's public key, and the threshold signature weight to node 3. The third-party node also determines the weight corresponding to node 1, node 2, and node 3 based on the node set information, and sends these weights to nodes 1, 2, and 3. The node set information may include information about the network scale of the network in which the nodes in the node set reside, and / or information about the security level of the network in which the nodes in the node set reside.
[0204] It is understandable that after receiving node 1's private key shard, the node set's public key, and the threshold signature weight S, node 1 knows that it can obtain the node set's signature information using S signature shards, and can verify this signature information based on the node set's public key. If node 1 also receives node 1's weight Y, node 2's weight Z, and node 3's weight G, node 1 can determine that node 1's signature shards are equivalent to Y signature shards, node 2's signature shards are equivalent to Z signature shards, and node 3's signature shards are equivalent to G signature shards.
[0205] For example, if node 1 receives the private key shard of node 1, the public key of the node set and the weight S of the threshold signature, and S is 2, then node 1 determines that the signature information can be obtained using 2 signature shards. For example, node 1 can obtain the signature information based on the signature shard of node 1 and the signature shard of node 2, or node 1 can obtain the signature information based on the signature shard of node 1 and the signature shard of node 3.
[0206] For another example, if node 1 receives the private key shard of node 1, the public key of the node set, the weight S of the threshold signature, the weight Y corresponding to node 1, the weight Z corresponding to node 2, and the weight G corresponding to node 3, S is 3, Y is 2, Z is 1, and G is 1, then node 1 determines that the signature information can be obtained using 3 signature shards. For example, node 1 can obtain the signature information based on the signature shard of node 1 and the signature shard of node 2, or node 1 can obtain the signature information based on the signature shard of node 1 and the signature shard of node 3.
[0207] As you can understand, the larger the network scale of a node in a node set, the greater the corresponding weight of the node; the smaller the network scale of a node in a node set, the smaller the corresponding weight of the node. The lower the security level of the network in which a node in a node set resides, the smaller the corresponding weight of the node.
[0208] It is understandable that after receiving the private key shard of node 2, the public key of the node set, and the weight S of the threshold signature, node 2 can perform similar operations as node 1. After receiving the private key shard of node 3, the public key of the node set, and the weight S of the threshold signature, node 3 can perform similar operations as node 1. This will not be described in detail here.
[0209] Optionally, the third-party node may also determine the public key shard of the node for the node in the node set.
[0210] In another possible implementation, nodes in a node set determine their corresponding weights based on the network scale and / or security level of their network and send these weights to a third-party node. The third-party node determines the private key and public key of the node set and, upon receiving the weights, determines the weights of the private key shards and threshold signatures of the nodes in the node set based on these weights. The third-party node then sends the private key shards, the public key of the node set, and the threshold signature weights to the corresponding nodes.
[0211] Optionally, the third-party node may also redetermine the weights corresponding to the nodes in the node set, and send the redetermined weights to the nodes in the node set.
[0212] Optionally, the third-party node may also determine the public key shard of the node for the node in the node set.
[0213] In another possible implementation, a node in a node set generates its own private key shard and public key shard, and sends its own public key shard to the nodes in the node set. In this way, each node receives the public key shards of other nodes and can obtain the public key of the node set.
[0214] Optionally, the weight of the signature threshold is determined by the number of nodes in the node set. For example, if the node set includes 10 nodes, the weight of the signature threshold may be greater than or equal to 5.
[0215] Optionally, the nodes in the node set further determine their own corresponding weights, and the weight of the signature threshold is determined according to the number of nodes in the node set and the weight corresponding to each node.
[0216] As an example, if the node set includes node 1, node 2, and node 3, node 1 determines node 1's private key shard, node 1's public key shard, and node 1's corresponding weight Y, and sends node 1's public key shard and node 1's corresponding weight Y to nodes 2 and 3. Node 2 determines node 2's private key shard, node 2's public key shard, and node 2's corresponding weight Z, and sends node 2's public key shard and node 2's corresponding weight Z to nodes 1 and 3. Node 3 determines node 3's private key shard, node 3's public key shard, and node 3's corresponding weight G, and sends node 3's public key shard and node 3's corresponding weight G to nodes 1 and 2.
[0217] It can be understood that if Y is 2, Z is 1, and G is 1, after node 1 receives the public key shard of node 2, the weight corresponding to node 2, the public key shard of node 3, and the weight corresponding to node 3, it can determine that the weight of the signature threshold is 3, and obtain the public key of the node set based on the public key shard of node 1 and the public key shard of node 2, or obtain the public key of the node set based on the public key shard of node 1 and the public key shard of node 3.
[0218] The following describes the method for obtaining signature information and the authentication method provided by the embodiment of the present application, taking the node set including nodes 101, 103, and 105 in Figure 1 as an example. Specifically, reference may be made to the method shown in Figure 5 below.
[0219] It is understood that the explanations of each step or feature in the method shown in FIG3 and the explanations of each step or feature in the method shown in FIG4 are applicable to the method shown in FIG5. Similarly, the explanations of each step or feature in the method shown in FIG5 below are also applicable to the methods shown in FIG3 and FIG4.
[0220] As shown in FIG5 , a method for obtaining signature information provided in an embodiment of the present application may include the following steps:
[0221] S501: Node 101 obtains the private key shard of node 101, the public key of the node set, and the weight of the threshold signature.
[0222] S502: Node 103 obtains the private key shard of node 103, the public key of the node set, and the weight of the threshold signature.
[0223] S503: Node 105 obtains the private key shard of node 105, the public key of the node set, and the weight of the threshold signature.
[0224] It is understood that the embodiments of the present application do not limit the execution order of S501-S503. For example, S501 may be executed first, then S502, and finally S503; or S502 may be executed first, then S503, and finally S501; or S503 may be executed first, then S502, and finally S501; or S503 may be executed first, then S501, and finally S502; or S501-S503 may be executed simultaneously, etc.
[0225] In the method shown in FIG5 , node 101 and / or node 103 and / or node 105 are nodes in a blockchain, or node 101, node 103 and node 105 are not nodes in a blockchain, without limitation.
[0226] S504: The terminal 102 sends the key information of the terminal 102 and the contract information of the terminal 102 to the node 101. Correspondingly, the node 101 receives the key information of the terminal 102 and the contract information of the terminal 102 from the terminal 102.
[0227] In a possible implementation, the terminal 102 determines a node set according to a preset policy, and sends key information of the terminal 102 and signing information of the terminal 102 to nodes in the node set, such as the node 101 .
[0228] Optionally, after determining the node set, the terminal 102 obtains a profile template corresponding to the node set, fills in relevant information in the template in response to user input, and obtains the profile information of the terminal 102 .
[0229] Optionally, the terminal 102 generates a public key of the terminal 102 and a private key of the terminal 102 .
[0230] Optionally, the terminal 102 further sends an identifier of the node set to the node 101 to indicate to the node 101 the node set determined by the terminal 102 .
[0231] In a possible implementation, the key information of the terminal 102 and / or the contract information of the terminal 102 and / or the identifier of the node set are sent by the terminal 102 to the node 101 via Wi-Fi or a traditional hard card.
[0232] S505 : Node 101 signs the key information of terminal 102 according to the private key fragment of node 101 to obtain the signature fragment of node 101 .
[0233] In one possible implementation, node 101 verifies terminal 102 based on the contract information of terminal 102 . After successful verification, node 101 signs the key information of terminal 102 based on the private key shard of node 101 to obtain the signature shard of node 101 .
[0234] S506 : Node 101 sends the key information of terminal 102 to node 103 and node 105 . Correspondingly, node 103 and node 105 receive the key information of terminal 102 from node 101 .
[0235] In one possible implementation, if terminal 102 sends an identifier of a node set to node 101 , node 101 obtains nodes in the node set, such as node 103 and node 105 , based on the identifier of the node set, and sends key information of terminal 102 to node 103 and node 105 .
[0236] Optionally, node 101 also sends the signing information of terminal 102 to node 103 and node 105, and / or the verification result of the signing information of terminal 102 by node 101, and / or the signature fragment of node 101.
[0237] It can be understood that the key information of terminal 102, and / or the signing information of terminal 102, and / or the verification result of the signing information of terminal 102 by node 101, and / or the signature shard of node 101 can be stored in the blockchain.
[0238] As an example, if nodes 101, 103, and 105 are nodes in a blockchain, node 101 encrypts the aforementioned information using node 103's public key on the blockchain to obtain encrypted information 1 and publishes encrypted information 1 on the blockchain. Node 101 also encrypts the aforementioned information using node 105's public key on the blockchain to obtain encrypted information 2 and publishes encrypted information 2 on the blockchain. Subsequently, after node 103 receives encrypted information 1, it decrypts it using node 103's private key on the blockchain to obtain the aforementioned information. Similarly, after node 105 receives encrypted information 2, it decrypts it using node 105's private key on the blockchain to obtain the aforementioned information.
[0239] As another example, if node 103 and node 105 are not nodes in the blockchain, node 101 sends the above information to blockchain node 104 in addition to sending the above information to node 103 and node 105, so that blockchain node 104 stores the above information in the blockchain.
[0240] S507: Node 103 sends the signature fragment of node 103 to node 101. Correspondingly, node 101 receives the signature fragment of node 103 from node 103.
[0241] In one possible implementation, node 103 verifies terminal 102 based on the signing information of terminal 102. After successful verification, node 103 signs the key information of terminal 102 based on the private key shard of node 103 to obtain the signature shard of node 103, and sends the signature shard of node 103 to node 101.
[0242] Optionally, node 103 also sends the signature fragment of node 103 to node 105. Correspondingly, node 105 receives the signature fragment of node 103 from node 103.
[0243] It is understandable that the signature fragment of node 103 can also be stored in the blockchain. For details, please refer to the corresponding description above.
[0244] S508: Node 105 sends the signature fragment of node 105 to node 101. Correspondingly, node 101 receives the signature fragment of node 105 from node 105.
[0245] In one possible implementation, node 105 verifies terminal 102 based on the signing information of terminal 102. After successful verification, node 105 signs the key information of terminal 102 based on the private key shard of node 105 to obtain the signature shard of node 105, and sends the signature shard of node 105 to node 101.
[0246] Optionally, node 105 also sends the signature fragment of node 105 to node 103. Correspondingly, node 103 receives the signature fragment of node 105 from node 105.
[0247] It is understandable that the signature fragment of node 105 can also be stored in the blockchain. For details, please refer to the corresponding description above.
[0248] It is understandable that the embodiments of the present application do not limit the execution order of S507 and S508. For example, S507 may be executed first and then S508, or S508 may be executed first and then S507, or S507 and S508 may be executed simultaneously.
[0249] It can be understood that if the weight of the threshold signature is 2, at least one of S507 and S508 only needs to be executed.
[0250] S509: Node 101 obtains the signature information of the node set.
[0251] In one possible implementation, if the weight of the threshold signature is 2, node 101 obtains signature information based on the signature fragment of node 101 and the signature fragment of node 103, or node 101 obtains signature information based on the signature fragment of node 101 and the signature fragment of node 105.
[0252] It is understood that the signature information can be stored in the blockchain. For example, if node 101 is a node in the blockchain, node 101 will upload the signature information to the blockchain. If node 101 is not a node in the blockchain, node 101 will send the signature information to blockchain node 104.
[0253] S510: Node 101 sends signature information to terminal 102. Correspondingly, terminal 102 receives the signature information from node 101.
[0254] Optionally, if the signature information can be stored in the blockchain, the node 101 also sends an identifier of the blockchain transaction corresponding to the signature information to the terminal 102 .
[0255] It is understandable that after receiving the signature information, the terminal 102 can authenticate with the nodes in the node set based on the signature information. The following is an example of authentication between the terminal 102 and the node 103, which specifically includes the following S511-S512:
[0256] S511 : The terminal 102 sends a first request to the node 103 . Correspondingly, the node 103 receives the first request from the terminal 102 .
[0257] S512: The node 103 performs authentication with the terminal 102 according to the first request.
[0258] It is understandable that after S512, if the terminal 102 wants to switch to a node other than the node 103 in the node set, such as the node 105, the terminal can perform authentication with the node based on the signature information.
[0259] Among them, the actions of node 101 or node 103 or node 105 or terminal 102 in the above S501-S512 can be executed by the processor 201 in the communication device 20 shown in Figure 2 calling the application code stored in the memory 203, and the embodiment of the present application does not impose any restrictions on this.
[0260] Based on the method shown in Figure 5, terminal 102 can obtain signature information that can be used to authenticate with nodes in the node set, without having to use the key in the SIM card for authentication. This achieves the unbinding of the SIM card from the network. If the user wants to switch networks, there is no need to replace the SIM card, allowing the terminal to flexibly access the network and improving the user experience. In addition, if terminal 102 switches between nodes in the node set, for example, after terminal 102 switches from node 103 to node 105, terminal 102 can still authenticate with node 105 based on the signature information, without having to obtain the signature information again, simplifying the authentication process.
[0261] The various embodiments mentioned above in this application can be combined without limitation if there is no contradiction between the solutions.
[0262] It can be understood that in the above embodiments, the methods and / or steps implemented by the first node can also be implemented by components (such as chips or circuits) that can be used for the first node; the methods and / or steps implemented by the terminal can also be implemented by components (such as chips or circuits) that can be used for the terminal.
[0263] The above primarily describes the solutions provided by the embodiments of the present application from the perspective of interaction between various network elements. Accordingly, the embodiments of the present application also provide a communications device. This communications device may be the first node in the method embodiments described above, or a device including the first node, or a component usable for the first node; alternatively, the communications device may be the terminal in the method embodiments described above, or a device including the terminal, or a component usable for the terminal. It will be understood that, in order to implement the aforementioned functions, the first node or terminal, etc., includes hardware structures and / or software modules corresponding to the respective functions. Those skilled in the art will readily appreciate that, in conjunction with the various exemplary units and algorithmic operations described in the embodiments disclosed herein, the present application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or in a hardware-driven manner by computer software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0264] In the embodiment of the present application, the first node or terminal can be divided into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It is understood that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0265] For example, FIG6 shows a schematic diagram of the structure of a communication device 60, where the functional modules are divided in an integrated manner. The communication device 60 includes a processing module 601. Optionally, the communication device 60 also includes a transceiver module 602. The processing module 601, also known as a processing unit, is configured to perform operations other than transceiver operations and may be, for example, a processing circuit or processor. The transceiver module 602, also known as a transceiver unit, is configured to perform transceiver operations and may be, for example, a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0266] In some embodiments, the communication device 60 may further include a storage module (not shown in FIG. 6 ) for storing program instructions and data.
[0267] Exemplarily, the communication device 60 is used to implement the function of the first node. The communication device 60 is, for example, the first node described in the embodiment shown in FIG3 , the embodiment shown in FIG4 , or the embodiment shown in FIG5 .
[0268] The processing module 601 is configured to obtain the private key fragments of the communication device 60 and the key information of the terminal. For example, the processing module 601 may be configured to execute S301.
[0269] The processing module 601 is further configured to sign the terminal's key information based on the private key fragment of the communication device 60 to obtain the signature fragment of the communication device 60. The signature fragment of the communication device 60 is used to determine signature information, which is used for authentication between the terminal and the communication device 60. For example, the processing module 601 may also be configured to execute S302.
[0270] In one possible implementation, the processing module 601 is further used to obtain N signature fragments, where the N signature fragments correspond to Q nodes, and any one of the N signature fragments is obtained by signing the key information of the terminal using the private key fragment of the node corresponding to the signature fragment, where N and Q are natural numbers, and Q is less than or equal to N; the signature fragment of the communication device 60 and the N signature fragments are used together to determine the signature information.
[0271] In a possible implementation, the signature information is also used for authentication between the terminal and the Q nodes.
[0272] In a possible implementation, the processing module 601 is specifically configured to receive the N signature fragments from the Q nodes through the transceiver module 602 .
[0273] In a possible implementation, the transceiver module 602 is further configured to send first information to M nodes, where the first information includes key information of the terminal. The M nodes include the Q nodes, where M is a natural number greater than or equal to Q.
[0274] In a possible implementation, the transceiver module 602 is further configured to send at least one of the following information to the M nodes: a verification result of the communication device 60 on the contract information of the terminal or a signature fragment of the communication device 60 .
[0275] In one possible implementation, the N signature shards are stored in a blockchain node.
[0276] In one possible implementation, the transceiver module 602 is further configured to send the key information of the terminal and the signature fragment of the communication device 60 to the blockchain node.
[0277] In a possible implementation, the transceiver module 602 is further configured to send third information to the terminal, where the third information includes the signature information.
[0278] In a possible implementation, the transceiver module 602 is further configured to send an identifier of the blockchain transaction corresponding to the signature information to the terminal.
[0279] In a possible implementation, the processing module 601 is further configured to receive, through the transceiver module 602 , the private key fragment of the communication device 60 from a third-party node.
[0280] In a possible implementation, the transceiver module 602 is further configured to receive a first request from the terminal, where the first request includes the signature information and a first random number; and the processing module 601 is further configured to perform authentication with the terminal according to the first request.
[0281] In one possible implementation, the communication device 60 is included in a node set, and the processing module 601 is also used to obtain the public key of the node set; the processing module 601 is specifically used to send a first message to the terminal through the transceiver module 602, and the first message includes the certificate of the communication device 60, the first authentication information and the second random number, and the first authentication information is obtained based on the private key of the communication device 60 and the first random number; the processing module 601 is also specifically used to receive a second message from the terminal through the transceiver module 602, and the second message includes second authentication information, and the second authentication information is obtained based on the private key of the terminal and the second random number; the processing module 601 is also specifically used to obtain the key information of the terminal based on the public key of the node set and the signature information; the processing module 601 is also specifically used to authenticate the second authentication information based on the key information of the terminal.
[0282] In one possible implementation, the transceiver module 602 is further used to send a third message to the blockchain node, where the third message is used to query the signature information; the transceiver module 602 is further used to receive a fourth message from the blockchain node, where the fourth message includes the signature information.
[0283] When used to implement the function of the first node, for other functions that the communication device 60 can implement, please refer to the embodiment shown in Figure 3, the method embodiment shown in Figure 4 or the relevant introduction of the embodiment shown in Figure 5, and no further details will be given.
[0284] In a simple embodiment, those skilled in the art can imagine that the communication device 60 can be in the form shown in Figure 2. For example, the processor 201 in Figure 2 can call the computer-executable instructions stored in the memory 203 to enable the communication device 60 to perform the method described in the above method embodiment.
[0285] Exemplarily, the functions / implementation processes of the processing module 601 and the transceiver module 602 in FIG6 can be implemented by the processor 201 in FIG2 calling computer-executable instructions stored in the memory 203. Alternatively, the functions / implementation processes of the processing module 601 in FIG6 can be implemented by the processor 201 in FIG2 calling computer-executable instructions stored in the memory 203, and the functions / implementation processes of the transceiver module 602 in FIG6 can be implemented by the communication interface 204 in FIG2.
[0286] For example, FIG7 shows a schematic diagram of the structure of a communication device 70, where the functional modules are divided in an integrated manner. The communication device 70 includes a transceiver module 701. Optionally, the communication device 70 also includes a processing module 702. The transceiver module 701, also known as a transceiver unit, is used to perform transceiver operations and may be, for example, a transceiver circuit, a transceiver, a transceiver, or a communication interface. The processing module 702, also known as a processing unit, is used to perform operations other than transceiver operations and may be, for example, a processing circuit or a processor.
[0287] In some embodiments, the communication device 70 may further include a storage module (not shown in FIG. 7 ) for storing program instructions and data.
[0288] Exemplarily, the communication device 70 is used to implement the functions of a terminal. The communication device 70 is, for example, the terminal described in the embodiment shown in FIG4 or the embodiment shown in FIG5 .
[0289] The transceiver module 701 is configured to send key information of the communication device 70 to the first node.
[0290] The transceiver module 701 is further configured to receive third information from the first node. The third information includes signature information, which is used for authentication between the communication device 70 and the first node. The signature information is obtained based on N signature fragments and the signature fragment of the first node. The signature fragment of the first node is obtained by signing the key information of the communication device 70 using the private key fragment of the first node. The N signature fragments correspond to Q nodes. Any signature fragment of the N signature fragments is obtained by signing the key information of the communication device 70 using the private key fragment of the node corresponding to the signature fragment. N and Q are natural numbers, and Q is less than or equal to N.
[0291] In a possible implementation, the transceiver module 701 is further configured to receive an identifier of the blockchain transaction corresponding to the signature information from the first node.
[0292] In one possible implementation, the first node and the Q nodes are included in a node set. Processing module 702 is configured to determine the node set based on a preset policy, where the preset policy includes at least one of the following: a selection by a user corresponding to communication device 70, network access requirements of nodes in the node set, the network scale of a network in which the nodes in the node set reside, or a security level of a network in which the nodes in the node set reside.
[0293] In a possible implementation, the transceiver module 701 is further configured to send a first request to the first node, where the first request includes the signature information and a first random number; and the processing module 702 is further configured to perform authentication with the first node according to the first request.
[0294] In one possible implementation, the processing module 702 is specifically used to receive a first message from the first node through the transceiver module 701, where the first message includes the certificate of the first node, first authentication information, and a second random number, and the first authentication information is obtained based on the private key of the first node and the first random number; the processing module 702 is also specifically used to send a second message to the first node through the transceiver module 701 when the first authentication information is successfully authenticated, where the second message includes second authentication information, and the second authentication information is obtained based on the private key of the communication device 70 and the second random number.
[0295] When used to implement the functions of the terminal, for other functions that the communication device 70 can implement, reference can be made to the method embodiment shown in FIG4 or the related introduction of the embodiment shown in FIG5 , and no further details will be given.
[0296] In a simple embodiment, those skilled in the art may appreciate that the communication device 70 may be in the form shown in Figure 2. For example, the processor 201 in Figure 2 may call computer-executable instructions stored in the memory 203 to enable the communication device 70 to execute the method described in the above method embodiment.
[0297] Exemplarily, the functions / implementation processes of the transceiver module 701 and the processing module 702 in FIG7 can be implemented by the processor 201 in FIG2 calling computer-executable instructions stored in the memory 203. Alternatively, the functions / implementation processes of the processing module 702 in FIG7 can be implemented by the processor 201 in FIG2 calling computer-executable instructions stored in the memory 203, and the functions / implementation processes of the transceiver module 701 in FIG7 can be implemented by the communication interface 204 in FIG2.
[0298] It is understandable that one or more of the above modules or units can be implemented by software, hardware or a combination of the two. When any of the above modules or units is implemented by software, the software exists in the form of computer program instructions and is stored in a memory, and a processor can be used to execute the program instructions and implement the above method flow. The processor can be built into an SoC (system on chip) or an ASIC, or it can be an independent semiconductor chip. In addition to the core used to execute software instructions to perform calculations or processing within the processor, it can further include necessary hardware accelerators, such as field programmable gate arrays (FPGAs), PLDs (programmable logic devices), or logic circuits that implement dedicated logic operations.
[0299] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, a microprocessor, a digital signal processing (DSP) chip, a microcontroller unit (MCU), an artificial intelligence processor, an ASIC, a SoC, an FPGA, a PLD, a dedicated digital circuit, a hardware accelerator or a non-integrated discrete device, which can run the necessary software or not rely on the software to execute the above method flow.
[0300] Optionally, an embodiment of the present application further provides a chip system, comprising: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instruction in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system also includes a memory. Optionally, the chip system can be composed of a chip, or can include a chip and other discrete devices, which is not specifically limited in the embodiment of the present application.
[0301] Optionally, an embodiment of the present application further provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware, and the program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it may include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device of any of the aforementioned embodiments, such as a hard disk or memory of the communication device. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned communication device, such as a plug-in hard disk equipped on the above-mentioned communication device, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. Further, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned communication device and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned communication device. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0302] Optionally, embodiments of the present application further provide a computer program product. All or part of the processes in the above method embodiments may be completed by a computer program instructing the relevant hardware. The program may be stored in the above computer program product, and when executed, the program may include the processes of the above method embodiments.
[0303] Optionally, an embodiment of the present application further provides a computer instruction. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct related hardware (such as a computer, a processor, an access network device, a mobility management network element, or a session management network element). The program can be stored in the above computer-readable storage medium or in the above computer program product.
[0304] Optionally, an embodiment of the present application further provides a communication system, including: the first node and terminal in the above embodiment.
[0305] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0306] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0307] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0308] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0309] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for obtaining signature information, characterized in that: Applied to the first node, the method includes: Obtain the private key shard of the first node and the key information of the terminal; The key information of the terminal is signed according to the private key fragment of the first node to obtain the signature fragment of the first node. The signature fragment of the first node is used to determine the signature information, and the signature information is used for authentication between the terminal and the first node.
2. The method according to claim 1, characterized in that The method further comprises: Obtain N signature fragments, where the N signature fragments correspond to Q nodes, and any one of the N signature fragments is obtained by signing the key information of the terminal using the private key fragment of the node corresponding to the signature fragment, where N and Q are natural numbers, and Q is less than or equal to N; The signature fragment of the first node and the N signature fragments are used together to determine the signature information.
3. The method according to claim 2, characterized in that The signature information is also used for authentication between the terminal and the Q nodes.
4. The method according to claim 2 or 3, characterized in that The obtaining of N signature fragments includes: Receive the N signature fragments from the Q nodes.
5. The method according to any one of claims 2 to 4, characterized in that Before obtaining N signature fragments, the method further includes: First information is sent to M nodes, where the first information includes key information of the terminal, the M nodes include the Q nodes, and M is a natural number greater than or equal to Q.
6. The method according to claim 5, characterized in that The method further comprises: Send at least one of the following information to the M nodes: a verification result of the first node on the contract information of the terminal or a signature fragment of the first node.
7. The method according to claim 2 or 3, characterized in that The N signature shards are stored in the blockchain node.
8. The method according to claim 7, characterized in that Before obtaining the N signature fragments, the method further includes: Send the key information of the terminal and the signature fragment of the first node to the blockchain node.
9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: Sending third information to the terminal, where the third information includes the signature information.
10. The method according to claim 9, characterized in that If the signature information is stored in a blockchain node, the method further includes: Sending the blockchain transaction identifier corresponding to the signature information to the terminal.
11. The method according to any one of claims 1 to 10, characterized in that The obtaining of the private key shard of the first node includes: Receive the private key shard of the first node from a third-party node.
12. The method according to any one of claims 1 to 11, characterized in that The method further comprises: receiving a first request from the terminal, where the first request includes the signature information and a first random number; Perform authentication with the terminal according to the first request.
13. The method according to claim 12, characterized in that The first node is included in a node set, and the method further includes: Obtaining the public key of the node set; The performing authentication with the terminal according to the first request includes: Sending a first message to the terminal, where the first message includes a certificate of the first node, first authentication information, and a second random number, where the first authentication information is obtained based on a private key of the first node and the first random number; receiving a second message from the terminal, where the second message includes second authentication information, where the second authentication information is obtained based on a private key of the terminal and the second random number; Obtaining key information of the terminal according to the public key of the node set and the signature information; The second authentication information is authenticated according to the key information of the terminal.
14. The method according to claim 12 or 13, characterized in that After receiving the first request from the terminal, the method further includes: Sending a third message to the blockchain node, where the third message is used to query the signature information; A fourth message is received from the blockchain node, where the fourth message includes the signature information.
15. A method for obtaining signature information, characterized in that: Applied to a terminal, the method includes: Sending key information of the terminal to the first node; Receive third information from the first node, where the third information includes signature information, where the signature information is used for authentication between the terminal and the first node, where the signature information is obtained based on N signature fragments and the signature fragment of the first node, where the signature fragment of the first node is obtained by signing the key information of the terminal with the private key fragment of the first node, where the N signature fragments correspond to Q nodes, and where any one of the N signature fragments is obtained by signing the key information of the terminal with the private key fragment of the node corresponding to the signature fragment, where N and Q are natural numbers, and Q is less than or equal to N.
16. The method according to claim 15, characterized in that The method further comprises: Receive an identifier of the blockchain transaction corresponding to the signature information from the first node.
17. The method according to claim 15 or 16, characterized in that The first node and the Q nodes are included in a node set, and the method further includes: The node set is determined according to a preset strategy, and the preset strategy includes at least one of the following: the selection of the user corresponding to the terminal, the network access requirements of the nodes in the node set, the networking scale of the network where the nodes in the node set are located, or the security level of the network where the nodes in the node set are located.
18. The method according to any one of claims 15 to 17, characterized in that The method further comprises: Sending a first request to the first node, where the first request includes the signature information and a first random number; Perform authentication with the first node according to the first request.
19. The method according to claim 18, characterized in that The performing authentication with the first node according to the first request includes: receiving a first message from the first node, the first message including a certificate of the first node, first authentication information, and a second random number, where the first authentication information is obtained based on a private key of the first node and the first random number; In the case where the first authentication information is successfully authenticated, a second message is sent to the first node, where the second message includes second authentication information, and the second authentication information is obtained according to the private key of the terminal and the second random number.
20. A communication device, characterized in that: The method comprises a unit or module for executing the method according to any one of claims 1 to 14, or a unit or module for executing the method according to any one of claims 15 to 19.
21. A communication device, characterized in that: include: A processor, the processor being coupled to a memory, the memory being used to store programs or instructions, and when the programs or instructions are executed by the processor, causing the apparatus to perform the method according to any one of claims 1 to 14, or the method according to any one of claims 15 to 19.
22. A chip, characterized in that: include: A processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the chip executes the method according to any one of claims 1 to 14 or the method according to any one of claims 15 to 19.
23. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instructions are executed, the computer is caused to perform the method according to any one of claims 1 to 14 or the method according to any one of claims 15 to 19.
24. A computer program product, comprising computer program code, characterized in that: When the computer program code is run on a computer, the computer is enabled to implement the method according to any one of claims 1 to 14 or the method according to any one of claims 15 to 19.
