Block chain auxiliary cross-domain identity authentication method and system based on Merkle signature
Through the improved Merkle signature scheme and blockchain-assisted cross-domain authentication architecture, combined with the nested Merkle-Prefix tree structure, the problem of inefficient cross-domain identity authentication in the industrial Internet of Things environment is solved, and efficient and secure cross-domain authentication and key negotiation are achieved to adapt to the performance needs of different IoT scenarios.
Patent Information
- Application Number
- CN202510207441.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-25
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2045-02-25
AI Technical Summary
It is difficult for the prior art to achieve efficient and secure cross-domain identity authentication in the industrial Internet of Things environment. The traditional PKI-based authentication system is inefficient in cross-domain communication. Blockchain-based solutions have high communication and time costs due to frequent query and update operations.
Using the improved Merkle signature scheme, the blockchain assists the cross-domain authentication architecture and nested Merkle-Prefix tree structure design realizes identity authentication between different management domain devices, and negotiates to generate session keys to reduce computing and storage costs.
It realizes cross-domain identity authentication of industrial IoT devices that are flexible, efficient, secure and low-latency, avoids the trust and reliability risks of the centralized authentication architecture, and adapts to performance adjustments in different IoT scenarios.
Smart Images

Figure CN120074835A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of industrial Internet of Things information security, and more specifically, to a blockchain-assisted cross-domain identity authentication method and system based on Merkle signature. Background Art
[0002] The industrial Internet of Things includes interconnected sensors, instruments, and devices integrated with industrial applications, and plays a crucial role in solving various industrial-related problems such as intelligent manufacturing and improving productivity. Industrial Internet of Things devices are usually deployed in remote distributed environments and divided into different management domains. As industrial processes become increasingly complex, collaboration between multiple management domains is crucial. Since adversaries can access the network without authorization to inject forged data, industrial security principles require these domains to be relatively independent, and only authorized entities can access sensitive data. Therefore, ensuring secure cross-domain authentication between industrial Internet of Things devices is crucial for promoting safe and efficient intelligent industrial production.
[0003] To address this situation, traditional authentication mechanisms such as public key infrastructure-based solutions and identity-based cryptography (IBC) solutions have been widely proposed. However, these solutions rely on centralized institutions, and the exponential growth in the scale of the industrial Internet of Things has led to huge overheads in managing certificates, increasing the risk of single points of failure. Due to significant differences in the network architectures, device computing, and storage resources of each management domain, the cross-domain adaptability of these solutions is poor.
[0004] The decentralized and tamper-proof characteristics of blockchain make it possible to establish collaborative relationships in distributed networks lacking trust. Consortium blockchains allow multiple organizations to jointly maintain a distributed ledger, so they are particularly suitable for cross-domain authentication. However, an important problem with related methods is frequent query and update operations, and due to the communication and time costs of consensus, these solutions are not feasible in the Internet of Things environment.
[0005] In summary, the problems existing in the prior art are:
[0006] (1) In the context of the industrial Internet of Things with complex environments and limited resources, centralized nodes in traditional PKI-based authentication systems may be overloaded in cross-domain communication, resulting in low efficiency in certificate and key management. At the same time, the adaptability of these solutions between domains with different network architectures, device computing, and storage resource limitations is poor.
[0007] (2) Existing blockchain-based authentication solutions have solved the problem of authentication centralization, but generally have the problem of frequent ledger query and update operations. Due to the large communication and time costs of consensus, these solutions are difficult to directly apply to the industrial Internet of Things.
[0008] (3) Existing cross - domain identity authentication methods often combine blockchain with traditional identity authentication mechanisms. However, in the authentication process based on PKI and IBC, frequent bilinear pairings and elliptic curve multiplications greatly increase the computational load and may even require dedicated hardware. In addition, homomorphic - encryption - based schemes are often not suitable for the resource - limited Internet of Things environment. In contrast, the authentication scheme based on the Merkle signature scheme only relies on a secure cryptographic hash function, thus simplifying the implementation process and accelerating the cross - heterogeneous - domain authentication speed. With the rapid development of quantum computing, the quantum - secure Merkle signature scheme can provide long - term security for Internet of Things devices with a long life cycle. However, the current similar schemes lack adaptability in heterogeneous management domains with different real - time and storage limitations, resulting in high computational or storage costs. Summary of the Invention
[0009] Aiming at the problems existing in the prior art, the present invention provides a blockchain - assisted cross - domain identity authentication method for industrial Internet of Things devices based on the Merkle signature. The technical solution is as follows:
[0010] In the first aspect of the present invention, a blockchain - assisted cross - domain identity authentication method for industrial Internet of Things devices based on an improved Merkle signature is provided. Through the blockchain - assisted cross - domain authentication architecture and block structure design, an improved Merkle signature scheme is used to complete the identity authentication between devices in different management domains, and a session key is negotiated to achieve secure, reliable, and efficient cross - domain authentication and communication. The cross - domain identity authentication method includes the following steps:
[0011] System initialization step: Nodes within each domain determine public parameters, including blockchain system public parameters and cryptographic schemes. Each domain authentication proxy server generates a signature key sequence and a master public key according to the Merkle signature scheme and uploads them to the blockchain network.
[0012] Identity registration step: The industrial Internet of Things device generates a key seed and requests the domain authentication proxy server to generate the complete keys required for cross - domain. The domain authentication proxy server generates a device pseudonym and a key pair based on the request, uploads them to the blockchain network, and distributes the key pair to the corresponding industrial Internet of Things device. Then, the industrial Internet of Things device verifies the validity of the key.
[0013] Cross - domain identity authentication steps: The first industrial Internet of Things device located in one administrative domain signs the authentication request to be sent, and then sends the authentication request with the attached signature and signature verification path to the second industrial Internet of Things device in another administrative domain. The second industrial Internet of Things device performs a timeliness check on the received authentication request. If it passes, it forwards the authentication request to the domain authentication proxy server in its own administrative domain. Subsequently, based on the signature, it calculates the estimated public master key of the first industrial Internet of Things device, and queries the public key of the first industrial Internet of Things device in the blockchain ledger through the interface called by the domain authentication proxy server in its own administrative domain and calculates a partial session key. Subsequently, it returns the public master key and the partial session key of the first industrial Internet of Things device to the second industrial Internet of Things device. The second industrial Internet of Things device verifies whether the received public master key is equal to the estimated public master key of the first industrial Internet of Things device. If they are equal, it attaches the partial session key to the authentication confirmation message and returns it to the first industrial Internet of Things device, requesting the first industrial Internet of Things device to perform authentication. Among them, the signature verification path and the partial session key are obtained by the first industrial Internet of Things device applying to the domain authentication proxy server in its own administrative domain before sending the authentication request;
[0014] Key negotiation steps: The second industrial Internet of Things device calculates the complete session key based on the partial session key. After receiving the authentication confirmation message, the first industrial Internet of Things device performs a timeliness check and a legality check on the received authentication confirmation message, and then calculates the complete session key based on the partial session key in the authentication confirmation message.
[0015] In one implementation, the blockchain - assisted cross - domain authentication architecture consists of an entity layer, a proxy layer, and a blockchain layer. The entity layer includes industrial Internet of Things devices and domain authentication proxy servers; the proxy layer includes blockchain proxy servers in all domains; the blockchain layer is a consortium chain abstraction layer composed of domain authentication proxy server nodes and blockchain proxy server nodes, including two parts: a blockchain ledger and a smart contract.
[0016] In one implementation, the blockchain - assisted cross - domain authentication architecture specifically includes the following components:
[0017] Industrial Internet of Things devices, which are used to perform signature generation or verification during the cross - domain identity authentication process;
[0018] Domain proxy authentication servers, which are used to manage the identities within their domains and participate in the blockchain network. When the local blockchain view is incomplete, they forward query requests to the blockchain network;
[0019] Blockchain proxy servers, all blockchain proxy servers jointly maintain a consortium blockchain and retain a complete copy of the blockchain ledger; cross-domain authentication identity credentials will be sent to the blockchain proxy server through the domain proxy authentication server and uploaded or updated to the blockchain ledger; the blockchain proxy server provides blockchain query services for inter-domain authentication, and looks up the cross-domain authentication identity credential information of the corresponding target device in the blockchain ledger when verifying a new cross-domain authentication request or when the blockchain view is missing. Among them, the cross-domain authentication identity credentials include the ID and the master public key of each device;
[0020] Blockchain ledger, used to store cross-domain records and cross-domain identity credentials of nodes within each domain;
[0021] Smart contract, an advanced functional interface running on the blockchain system, providing interfaces for uploading, updating, querying, and deleting identity credentials and a public key query interface.
[0022] In one implementation, a nested Merkle-Prefix tree structure is adopted in the block structure design. While the block storage node stores cross-domain authentication identity credentials, it saves and realizes fast indexing of hash public key information through the nested Merkle-Prefix tree; the nested Merkle-Prefix tree is a part of a perfect binary balanced tree. Each non-leaf node in the tree contains the prefix tree root of the subtree rooted at this node. The prefix tree root corresponding to the prefix tree summarizes the cross-domain identity credentials of devices in different domains under the current non-leaf node in the dictionary order of device IDs. The prefix tree root and the digest of the identity credential information updated in time sequence are summarized together to obtain the state tree root; the state tree root, together with the block number, the hash of the previous block, the hash of the current block, and the timestamp, is included in the block header of the block structure design.
[0023] In one implementation, the system initialization steps include:
[0024] S101: Determine common parameters among nodes in each domain, including blockchain system common parameters and cryptographic schemes; all nodes participating in the cross-domain authentication system share signature parameter w and one-way secure hash functions, a secure hash function H 1 :{0,1} * →{0,1} m ,H 2 :{0,1} * →{0,1} n , where n is the output bit number of the message digest hash function and m is the output bit number of other hashes;
[0025] S102: The domain authentication proxy server PAS within each domain A Randomly selects a seed of length m bits and generates a seed sequence through a pseudorandom number generator Among them is the Merkle tree height, calculate l 1 = n / w, l 2 = log(l 1 (2 w - 1)) + 1, l = l 1 + l 2 where l 1 , l 2 , l is the number of key groups. For each seed seed in the seed sequence i , use a pseudorandom number generator to generate l random numbers as the private key Calculate the public key Get the private key sequence and the public key sequence Among them, Take as the leaf node of the Merkle tree to construct the domain authentication proxy server PAS A of the master public key Subsequently, PAS A Take Upload to the blockchain ledger, where ID PASA is the device identifier of PAS A , Inf A is the public parameter of domain A.
[0026] In one implementation, the identity registration step includes:
[0027] S201: The first industrial Internet of Things device D to be registered A Generate a random number Send to the domain authentication proxy server PAS of this management domain A , where is the device identifier of the first industrial Internet of Things device D A ;
[0028] S202: PAS A Use to generate a key seed sequence Among them where q is a positive integer, is the latest private key of PAS A , k is a fixed key generation parameter and is a positive integer; Based on Generate a Merkle key pair and the master public key PAS A Calculate the pseudonym
[0029] S203: PASA Sign to obtain signature σ RA ;
[0030] S204: PAS A Upload to the blockchain proxy server Execute the query contract, and when the query is successful, Return to D A , where Path 0 is the signature verification path from vk 0 to ;
[0031] S205: D A After receiving , use Path 0 to start path verification from vk 0 to obtain the estimated value of the master public key , where when the key is considered valid.
[0032] In one implementation, the cross-domain identity authentication step includes:
[0033] S301: The first industrial Internet of Things device D located in administrative domain A A Before requesting authentication from the first industrial Internet of Things device D located in administrative domain B B , request the next verification path from PAS A and a partial session key P = N A *G. Similarly, D located in administrative domain B 0 requests the next verification path from PAS B before authentication B P = N B *G, where N 1 , N 0 , N 1 are random numbers, and G is the base point of the elliptic curve generation;
[0034] S302: D A Execute message pre-encoding. The specific method is as follows: D A Generates a random number r, calculates the current digest and checksum where T 0 is the timestamp when the digest is calculated for the first time, MSG is the message or command information to be sent, and dig r,i is the i-th group after splitting DIG r by bit; repeat the above steps R times to find the random number r min that makes the checksum reach the minimum value;
[0035] S303: D A Using sd i as a seed to generate sk i , and then generate the signature of M max
[0036] S304: D A Send an authentication request to D B where AUTHReq is the authentication identifier, T 1 is the current timestamp, is the pseudonym of D A ;
[0037] S305: D B After receiving the authentication request, check whether |T 1 '-T 1 |<ΔT 1 and |T 1 '-T 0 |<ΔT 2 hold to check the timeliness of the message. Here, T 1 ' is the timestamp when the request is received, and ΔT 1 , ΔT 2 is the message delay threshold. When the timeliness is met, D B will forward it to PAS B , where N 1 is a random number. Then divide M max into l parts M max =(b 0 , b 1 ,…, b l-1 ), and calculate the public key estimate
[0038] S306: PAS B After receiving the forwarded authentication request, first search in the local blockchain view When the view is missing, forward the query message to the blockchain proxy server, and the blockchain proxy server calls the query contract to query PID DA and After the query is successful, PAS B calculates the partial session key P B =N 1 *G, and then returns to D B , where is the current signature verification path of D B ;
[0039] S307: D B After receiving the valid result, according to vk' and calculate D A 's public key estimate If holds, the one-way identity authentication is successful; otherwise, D B will upload an alert;
[0040] S308: D B Execute the same process as S302 to S304, and send to D A , where M 1 contains the valid signature of D B and P B ; D A Execute the same process as S305 to S307. After successfully verifying the D B signature, the two-way authentication is successful.
[0041] In one embodiment, the key negotiation step includes:
[0042] After step S306 is completed, PAS B calculates the session key TK = H 2 ((N 1 * P A )) and returns it to D B ; D A After successfully verifying the D B message, forwards {KNReq, P B , N 0} to PAS A , where KNReq is the key negotiation request identifier, and PAS A calculates the session key TK' = H 2 ((N 0 * P B )). Since N 0 * P B = N 0 * N 1 * G = N 1 * P A , D A and D B share the temporary session key TK = TK'.
[0043] Based on the same inventive concept, the second aspect of the present invention provides a blockchain-assisted cross-domain identity authentication method based on Merkle signatures, which is implemented based on a blockchain-assisted cross-domain authentication architecture and a blockchain structure. The blockchain-assisted cross-domain identity authentication system includes:
[0044] The system initialization module is used for nodes within each domain to determine common parameters, including the common parameters of the blockchain system and the cryptographic scheme. The authentication proxy servers in each domain generate a signature key sequence and a master public key according to the Merkle signature scheme and upload them to the blockchain network;
[0045] The identity registration module is used for industrial Internet of Things devices to generate key seeds and request the generation of complete keys required for cross-domain to the domain authentication proxy servers. The domain authentication proxy servers generate device pseudonyms and key pairs based on the requests, upload them to the blockchain network, and distribute the key pairs to the corresponding industrial Internet of Things devices, and then the industrial Internet of Things devices verify the validity of the keys;
[0046] The cross-domain identity authentication module is used for the first industrial Internet of Things device located in one management domain to sign the authentication request to be sent, and then send the authentication request with the attached signature and signature verification path to the second industrial Internet of Things device in another management domain. The second industrial Internet of Things device checks the timeliness of the received authentication request. If it passes, it forwards the authentication request to the domain authentication proxy server of its own management domain. Subsequently, it calculates the estimated master public key of the first industrial Internet of Things device according to the signature, queries the public key of the first industrial Internet of Things device in the blockchain ledger through the interface called by the domain authentication proxy server of its own management domain, and calculates the partial session key. Subsequently, it returns the master public key and the partial session key of the first industrial Internet of Things device to the second industrial Internet of Things device. The second industrial Internet of Things device verifies whether the received master public key is equal to the estimated master public key of the first industrial Internet of Things device. If they are equal, it attaches the partial session key to the authentication confirmation message and returns it to the first industrial Internet of Things device, requesting the first industrial Internet of Things device to perform authentication. Among them, the signature verification path and the partial session key are applied for by the first industrial Internet of Things device from the domain authentication proxy server of its own management domain before sending the authentication request;
[0047] The key negotiation module is used for the second industrial Internet of Things device to calculate the complete session key according to the partial session key. After receiving the authentication confirmation message, the first industrial Internet of Things device checks the timeliness and legality of the received authentication confirmation message, and then calculates the complete session key according to the partial session key in the authentication confirmation message.
[0048] In one implementation, the blockchain-assisted cross-domain authentication architecture consists of an entity layer, an agent layer, and a blockchain layer. The entity layer includes industrial Internet of Things devices and domain authentication proxy servers; the agent layer includes blockchain proxy servers in all domains; the blockchain layer is a consortium chain abstraction layer composed of domain authentication proxy server nodes and blockchain proxy server nodes, including two parts: a blockchain ledger and a smart contract.
[0049] Compared with the prior art, the advantages and beneficial technical effects of the present invention are as follows:
[0050] The present invention provides a blockchain-assisted cross-domain identity authentication method for industrial Internet of Things devices based on an improved Merkle signature. The method includes four core steps: system initialization, identity registration, cross-domain identity authentication, and key negotiation. Through the design of the blockchain-assisted cross-domain authentication architecture and block structure, the present invention improves the Merkle signature scheme by adopting strategies such as parameterization, pre-allocation of key and signature verification paths, and message pre-coding to complete the identity authentication between devices in different management domains, and negotiate to generate a session key. It can flexibly adjust performance for different Internet of Things scenarios, with relatively low calculation and storage costs, and thus can achieve flexible, efficient, secure, and low-latency cross-domain identity authentication for industrial Internet of Things devices. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0052] Figure 1 It is a schematic diagram of the blockchain-assisted cross-domain authentication architecture provided by an embodiment of the present invention.
[0053] Figure 2 It is a schematic diagram of each step of the blockchain-assisted cross-domain identity authentication method for industrial Internet of Things devices based on the improved Merkle signature provided by an embodiment of the present invention.
[0054] In the figure: S1, the system initialization step. S2, the identity registration step. S3, the cross-domain identity authentication step. S4, the key negotiation step. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0055] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the scope of protection of the present invention.
[0056] Embodiment 1
[0057] This embodiment discloses a blockchain-assisted cross-domain identity authentication method based on Merkle signature, which is implemented based on the blockchain-assisted cross-domain authentication architecture and blockchain structure. The blockchain-assisted cross-domain identity authentication method includes:
[0058] S1: System initialization step. Nodes within each domain determine common parameters, including the common parameters of the blockchain system and the cryptographic scheme. Each domain authentication proxy server generates a signature key sequence and a master public key according to the Merkle signature scheme and uploads them to the blockchain network;
[0059] S2: Identity registration step. The industrial Internet of Things device generates a key seed and requests the generation of the complete keys required for cross-domain to the domain authentication proxy server. The domain authentication proxy server generates a device pseudonym and a key pair based on the request, uploads them to the blockchain network, and distributes the key pair to the corresponding industrial Internet of Things device. Then, the industrial Internet of Things device verifies the validity of the key;
[0060] S3: Cross-domain identity authentication step. The first industrial Internet of Things device located in one administrative domain signs the authentication request to be sent, and then sends the authentication request with the attached signature and signature verification path to the second industrial Internet of Things device in another administrative domain. The second industrial Internet of Things device checks the timeliness of the received authentication request. If it passes, it forwards the authentication request to the domain authentication proxy server of its own administrative domain. Subsequently, it calculates the estimated master public key of the first industrial Internet of Things device based on the signature, queries the public key of the first industrial Internet of Things device in the blockchain ledger through the interface called by the domain authentication proxy server of its own administrative domain, and calculates the partial session key. Subsequently, it returns the master public key and the partial session key of the first industrial Internet of Things device to the second industrial Internet of Things device. The second industrial Internet of Things device verifies whether the received master public key is equal to the estimated master public key of the first industrial Internet of Things device. If they are equal, it attaches the partial session key to the authentication confirmation message and returns it to the first industrial Internet of Things device, requesting the first industrial Internet of Things device to perform authentication. Among them, the signature verification path and the partial session key are applied for by the first industrial Internet of Things device from the domain authentication proxy server of its own administrative domain before sending the authentication request;
[0061] S4: Key negotiation step. The second industrial Internet of Things device calculates the complete session key according to the partial session key. After receiving the authentication confirmation message, the first industrial Internet of Things device checks the timeliness and legality of the received authentication confirmation message, and then calculates the complete session key according to the partial session key in the authentication confirmation message.
[0062] Specifically, the cross-domain identity authentication step in S3 is carried out between industrial Internet of Things devices in two different administrative domains. For example, the first industrial Internet of Things device D in administrative domain A A and the second industrial Internet of Things device D in administrative domain B B , before the first industrial Internet of Things device D in administrative domain A A requests authentication from the industrial Internet of Things device D in administrative domain B B , D AIt will send a request to the domain authentication proxy server PAS A for the signature verification path and a part of the session key required for authentication, then sign the authentication request to be sent, and send the authentication request with the signature and the signature verification path to the device D B Similarly, before the second industrial Internet of Things device D located in the management domain B requests authentication from the first industrial Internet of Things device D located in the management domain A, D B will send a request to the domain authentication proxy server PAS A for the signature verification path and a part of the session key required for authentication. B It will send a request to the domain authentication proxy server PAS B for the signature verification path and a part of the session key required for authentication.
[0063] It should be noted that in the "complete session key", the session key is a symmetric key used by both parties in authentication to encrypt the messages transmitted in subsequent communications; the key in the "complete key" is the secret information used by both parties in communication to achieve identity authentication, which refers to the public and private keys of the Merkle signature scheme in the present invention.
[0064] In the key negotiation step S4 of the device D A after receiving the authentication confirmation message, it will verify the message legality according to the verification method in step S3 (including timeliness check, public key estimation calculation and comparison).
[0065] In one implementation, as Figure 1 shown, the blockchain-assisted cross-domain authentication architecture consists of an entity layer, a proxy layer and a blockchain layer. The entity layer includes industrial Internet of Things devices and domain authentication proxy servers; the proxy layer includes blockchain proxy servers in all domains; the blockchain layer is a consortium chain abstraction layer composed of domain authentication proxy server nodes and blockchain proxy server nodes, including two parts: a blockchain ledger and a smart contract.
[0066] In one implementation, the blockchain-assisted cross-domain authentication architecture specifically includes the following components:
[0067] Industrial Internet of Things devices, which are used to perform signature generation or verification during the cross-domain identity authentication process;
[0068] Domain proxy authentication servers, which are used to manage the identities within their domains and participate in the blockchain network. When the local blockchain view is incomplete, they forward query requests to the blockchain network;
[0069] Blockchain proxy servers, all of which jointly maintain a consortium blockchain and retain a complete copy of the blockchain ledger; cross-domain authentication identity credentials will be sent to the blockchain proxy servers through the domain proxy authentication servers and uploaded or updated to the blockchain ledger; the blockchain proxy servers provide blockchain query services for inter-domain authentication and search for cross-domain authentication identity credential information of the corresponding target device in the blockchain ledger when verifying a new cross-domain authentication request or when the blockchain view is missing. Among them, the cross-domain authentication identity credentials include the IDs and master public keys of each device;
[0070] Blockchain ledger, which is used to store cross-domain records and cross-domain identity credentials of nodes within each domain;
[0071] Smart contract, which is an advanced functional interface running on the blockchain system and provides interfaces for uploading, updating, querying, and deleting identity credentials and a public key query interface.
[0072] In the specific implementation process, industrial Internet of Things devices refer to interconnected sensors, instruments, and other devices that can collect, store, and share real-time data, with highly limited resources and only perform simple signature generation or verification during the cross-domain authentication process. The domain proxy authentication servers only retain a partial blockchain view instead of retaining a complete ledger copy; Blockchain ledger: A shared database distributedly stored by each node, which stores cross-domain records and cross-domain identity credentials of nodes within each domain and is not controlled by any single node or a small number of nodes.
[0073] In one implementation, a nested Merkle-Prefix tree structure is adopted in the block structure design. While storing the cross-domain authentication identity credentials of block storage nodes, the hash public key information is saved and quickly indexed through the nested Merkle-Prefix tree; the nested Merkle-Prefix tree is a part of a perfect binary balanced tree. Each non-leaf node in the tree contains the prefix tree root of the subtree rooted at this node. The prefix tree corresponding to this prefix tree summarizes the cross-domain identity credentials of devices in different domains under the current non-leaf node in the dictionary order of device IDs. The prefix tree root and the digest of the identity credential information updated in chronological order are summarized together to obtain the state tree root; the state tree root, together with the block number, the hash of the previous block, the hash of the current block, and the timestamp, is included in the block header of the block structure design.
[0074] Specifically, if necessary, the identity credentials stored in any block can be effectively verified through the latest block without traversing the entire blockchain ledger, thus ensuring efficient cross-domain authentication.
[0075] Figure 2 It is a schematic diagram of the steps of the industrial Internet of Things device blockchain-assisted cross-domain authentication method based on the improved Merkle signature provided by the embodiments of the present invention.
[0076] In one implementation, the system initialization step includes:
[0077] S101: Determine common parameters among domain nodes, including the common parameters of the blockchain system and the cryptographic scheme; all nodes participating in the cross-domain authentication system share the signature parameter w and the one-way secure hash function, the secure hash function H 1 :{0,1} * →{0,1} m ,H 2 :{0,1} * →{0,1} n , where n is the output bit number of the message digest hash function and m is the output bit number of other hashes;
[0078] S102: The domain authentication proxy server PAS within each domain A Randomly select a seed of length m bits and generate a seed sequence through a pseudo-random number generator where is the height of the Merkle tree, calculate l 1 = n / w, l 2 = log(l 1 (2 w -1)) + 1, l = l 1 + l 2 , where l 1 , l 2 , l is the number of key groups. For each seed seed in the seed sequence i , use the pseudo-random number generator to generate l random numbers as the private key Calculate the public key to obtain the private key sequence and the public key sequence where, Take as the leaf node of the Merkle tree to construct the master public key of the domain authentication proxy server PAS A Subsequently, PAS uploads A Take to the blockchain ledger, where is the device identifier of PAS A , Inf A is the common parameter of domain A.
[0079] In the specific implementation process, before cross-domain authentication, common parameters need to be determined among domain nodes, and these parameters are configured in the initial block to ensure transparency for each node.
[0080] In one implementation, the identity registration step includes:
[0081] S201: The first industrial Internet of Things device D to be registered A generates a random number and sends it to the domain authentication proxy server PAS of this management domain A , where is the device identifier of the first industrial Internet of Things device D A ;
[0082] S202: PAS A uses to generate a key seed sequence where q is a positive integer, is the latest private key of PAS A , k is a fixed key generation parameter and is a positive integer; based on it generates a Merkle key pair and the master public key PAS A calculates the pseudonym
[0083] S203: PAS A signs to obtain the signature
[0084] S204: PAS A uploads to the blockchain proxy server to execute a query contract, and when the query is successful, it returns to D A , where Path 0 is the signature verification path from vk 0 to ;
[0085] S205: After D A receives , it uses Path 0 to start path verification from vk 0 to obtain the master public key estimate , where when the key is considered valid.
[0086] Specifically, S202 uses the same process as in step S102 to generate the Merkle key pair and the public key
[0087] S203 can be implemented by the following method:
[0088] Calculation Summary The DIG is bitwise divided into l 1 parts to obtain each part with a length of w bits; regarding dig i as an integer, calculate C is bitwise divided into l 2 parts to get c = (c 0 , c 1 , …, c l2-1 ); calculate the message group b to be signed as b = dig||c = (b 0 , b 1 , …, b l-1 ), and then generate a signature where wsk j is a sub-item of, b 0 , b l-1 are single items in the group.
[0089] In one implementation, the cross-domain identity authentication step includes:
[0090] S301: Before the first industrial Internet of Things device D A located in administrative domain A requests authentication from the first industrial Internet of Things device D B located in administrative domain B, it requests the next verification path A and a partial session key P = N A *G from PAS. Similarly, D 0 located in administrative domain B requests the next verification path B P B = N P B = N 1 *G before authentication, where N 0 , N 1 are random numbers and G is the base point of the elliptic curve generation;
[0091] S302: D A performs message precoding. The specific method is as follows: D A generates a random number r and calculates the current digest DIG r = H 2 (MPK DA ||P A ||MSG||T 0 ||r) and the checksum where T 0 is the timestamp when the digest is first calculated, MSG is the message or command information to be sent, and dig r,i is DIG rThe i-th group after bitwise splitting; repeat the above steps R times to find the random number r that minimizes the checksum min ;
[0092] S303: D A Generate sk with sd i as the seed, and then execute the same process as S203 to generate the signature of M i max
[0093] S304: D A Send an authentication request to D B where AUTHReq is the authentication identifier, T 1 is the current timestamp, is the pseudonym of D A ;
[0094] S305: D B After receiving the authentication request, determine whether |T 1 '-T 1 |<ΔT 1 and |T 1 '-T 0 |<ΔT 2 hold to check the message timeliness, where T 1 ' is the timestamp when the request is received, and ΔT 1 , ΔT 2 is the message delay threshold. When the timeliness is met, D B will forward to PAS B , where N 1 is a random number, and then divide M max into l parts M max =(b 0 , b 1 ,…, b l-1 ), and calculate the public key estimate
[0095] S306: PAS B After receiving the forwarded authentication request, first search in the local blockchain view When the view is missing, the query message will be forwarded to the blockchain proxy server, and the blockchain proxy server will call the query contract to query and After the query is successful, PAS B calculates the partial session key P B =N 1 *G, and then returns to D B , where is for DB The current signature verification path;
[0096] S307:D B After receiving the valid result, according to vk' and Calculate D A Master public key estimate if If established, the one-way identity authentication is successful, otherwise D B The alert will be uploaded;
[0097] S308:D B Execute the same process as S302 to S304 and send To D A , where M 1 Contains D B The valid signature and P B ;D A Perform the same process as S305 to S307 and successfully verify D B After signing, two-way authentication is successful.
[0098] Specifically, S302D A Message pre-encoding is performed to speed up signature verification, since the number of hash operations required to generate a signature depends on to vk i The sum of the distances (calculated by the checksum), so the message that requires the least number of hash operations Its signature verification speed is the fastest.
[0099] In one implementation, the key negotiation step includes:
[0100] After step S306 is completed, PAS B Calculate the session key TK = H 2 ((N 1 *P A )) and return to D B ;D A Successfully verified D B Message forwarding {KNReq,P B ,N 0} to PAS A , where KNReq is the key agreement request identifier, PAS A Calculate the session key TK' = H 2 ((N 0 *P B )), due to N 0 *P B =N 0 *N 1 *G=N 1 *P A , DA and D B Share the temporary session key TK = TK'.
[0101] The present invention realizes a lightweight cross - domain identity authentication scheme for resource - constrained industrial Internet of Things devices. It uses a Merkle - Prefix tree for efficient public key status management, deploys a consortium blockchain to provide inter - domain trust for cross - domain devices, and adopts an improved Merkle signature scheme to authenticate devices. At the same time, it uses key negotiation to ensure the authenticity and integrity of the data transmitted in cross - domain connections. The present invention can avoid the trust and reliability risks caused by a centralized authentication architecture, achieve efficient key query and management. In addition, the present invention improves the traditional Merkle signature scheme by applying strategies such as parameterization, pre - allocation of key and signature verification paths, and message pre - coding, and can flexibly adjust performance for different Internet of Things scenarios, with lower computing and storage costs, and thus can achieve flexible, efficient, secure and low - latency cross - domain identity authentication for industrial Internet of Things devices.
[0102] The following elaborates on the variant recovery method of the present invention through a specific process.
[0103] Embodiment 2
[0104] Based on the same inventive concept, this embodiment discloses
[0105] Since the device introduced in Embodiment 2 of the present invention is the device used in the blockchain - assisted cross - domain identity authentication method based on the improved Merkle signature in Embodiment 1 of the present invention, based on the method introduced in Embodiment 1 of the present invention, those skilled in the art can understand the specific structure and variations of the device, so it will not be elaborated here. Any device used in the method of Embodiment 1 of the present invention belongs to the scope protected by the present invention.
[0106] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer - usable storage media (including but not limited to disk memory, CD - ROM, optical memory, etc.) containing computer - usable program code.
[0107] The present invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each flow and / or block in the flowchart illustrations and / or block diagrams, and combinations of flows and / or blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing apparatus create means for implementing the functions specified in the flow Figure 1 one or more flows and / or blocks Figure 1 or means for implementing the functions specified in one or more blocks.
[0108] Although the preferred embodiments of the present invention have been described, additional changes and modifications can be made to these embodiments by those skilled in the art once they learn of the basic inventive concept. Therefore, the appended claims are intended to be construed to include the preferred embodiments as well as all changes and modifications that fall within the scope of the present invention. Obviously, those skilled in the art can make various changes and variations to the embodiments of the present invention without departing from the spirit and scope of the embodiments of the present invention. Thus, if these modifications and variations of the embodiments of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these modifications and variations.
Claims
1. A blockchain-assisted cross-domain identity authentication method based on Merkle signature, characterized in that: Based on the blockchain-assisted cross-domain authentication architecture and blockchain structure implementation, the blockchain-assisted cross-domain identity authentication method includes: In the system initialization step, each node in the domain determines the public parameters, including the public parameters and cryptographic scheme of the blockchain system. Each domain authentication proxy server generates a signature key sequence and a master public key according to the Merkle signature scheme and uploads them to the blockchain network. In the identity registration step, the IIoT device generates a key seed and requests the domain authentication proxy server to generate the complete key required across domains. The domain authentication proxy server generates a device pseudonym and key pair based on the request, uploads them to the blockchain network, and distributes the key pair to the corresponding IIoT device, which then verifies the validity of the key. In the cross-domain identity authentication step, the first industrial Internet of Things device located in one management domain signs the authentication request to be sent, and then sends the authentication request with the attached signature and signature verification path to the second industrial Internet of Things device in another management domain. The second industrial Internet of Things device performs a timeliness check on the received authentication request. If it passes, the authentication request is forwarded to the domain authentication proxy server of the current management domain, and then the master public key estimate of the first industrial Internet of Things device is calculated according to the signature. The public key of the first industrial Internet of Things device in the blockchain account book is queried through the domain authentication proxy server of the current management domain through a call interface and a partial session key is calculated. Then, the master public key and partial session key of the first industrial Internet of Things device are returned to the second industrial Internet of Things device. The second industrial Internet of Things device verifies whether the received master public key is equal to the master public key estimate of the first industrial Internet of Things device. If they are equal, the partial session key is attached to the authentication confirmation message and returned to the first industrial Internet of Things device, requesting the first industrial Internet of Things device to perform authentication, wherein the signature verification path and the partial session key are obtained by the first industrial Internet of Things device from the domain authentication proxy server of the current management domain before sending the authentication request; In the key negotiation step, the second industrial Internet of Things device calculates the complete session key based on the partial session key. After receiving the authentication confirmation message, the first industrial Internet of Things device performs a timeliness check and a legality check on the received authentication confirmation message, and then calculates the complete session key based on the partial session key in the authentication confirmation message.
2. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 1, characterized in that: The blockchain-assisted cross-domain authentication architecture consists of a physical layer, a proxy layer and a blockchain layer. The physical layer includes industrial Internet of Things devices and domain authentication proxy servers; the proxy layer includes blockchain proxy servers in all domains; the blockchain layer is a consortium chain abstraction layer composed of domain authentication proxy server nodes and blockchain proxy server nodes, including two parts: blockchain ledger and smart contract.
3. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 2, characterized in that: The blockchain-assisted cross-domain authentication architecture specifically includes the following components: Industrial IoT devices that perform signature generation or verification during cross-domain authentication; Domain proxy authentication server, which manages identities within its domain and participates in the blockchain network, forwarding query requests to the blockchain network when the local blockchain view is incomplete; Blockchain proxy servers, all blockchain proxy servers jointly maintain the alliance chain and retain a complete copy of the blockchain ledger; The cross-domain authentication identity credentials will be sent to the blockchain proxy server through the domain proxy authentication server and uploaded or updated to the blockchain ledger; The blockchain proxy server provides blockchain query services for inter-domain authentication, and searches for the cross-domain authentication identity credentials of the corresponding target device in the blockchain ledger when a new cross-domain authentication request is verified or the blockchain view is missing. The cross-domain authentication identity credentials include the ID and master public key of each device; The blockchain ledger is used to store cross-domain records and cross-domain identity credentials of nodes in each domain; Smart contracts are high-level functional interfaces running on blockchain systems, providing interfaces for uploading, updating, querying, and deleting identity credentials, as well as public key query interfaces.
4. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 1, characterized in that: The block structure design adopts a nested Merkle-Prefix tree structure. While the block stores the cross-domain authentication identity credentials of the node, it saves and implements fast indexing of hash public key information through the nested Merkle-Prefix tree; the nested Merkle-Prefix tree is part of a perfect binary balanced tree, and each non-leaf node in the tree contains a prefix tree root of a subtree with the node as the root. The prefix tree corresponding to the prefix tree root summarizes the cross-domain identity credentials of devices in different domains under the current non-leaf node in the device ID dictionary order. The prefix tree root is summarized together with the identity credential information summary updated in time sequence to obtain a state tree root; the state tree root is included in the block header of the block structure design together with the block number, the previous block hash, the current block hash, and the timestamp.
5. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 1, characterized in that: System initialization steps include: S101: Public parameters are determined between nodes in each domain, including public parameters of the blockchain system and cryptographic schemes; all nodes participating in the cross-domain authentication system share signature parameters w and one-way secure hash functions, and secure hash functions H1:{0,1} that are resistant to second preimages. * →{0,1} m ,H2:{0,1} * →{0,1} n , where n is the number of bits output by the message digest hash function, and m is the number of bits output by other hashes; S102: Domain authentication proxy server PAS in each domain A Randomly select a seed of length m bits and generate a seed sequence using a pseudo-random number generator in is the Merkle tree height, calculate l1=n / w,l2=log(l1(2 w -1))+1,l=l1+l2, where l1,l2,l are the number of key groups. For each seed in the seed sequence i , use a pseudo-random number generator to generate l random numbers as private keys Calculate the public key Get the private key sequence and public key sequence in, Will Constructing a domain authentication proxy server PAS as a leaf node of the Merkle tree A Master public key Then PAS A Will Uploaded to the blockchain ledger, where For PAS A Device identifier, Inf A It is the public parameter of domain A.
6. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 1, characterized in that: The identity registration steps include: S201: The first industrial IoT device D to be registered A Generate random numbers send To the domain authentication proxy server PAS of this management domain A ,in The first industrial IoT device A device identifier; S202:PAS A Using seeds DA Generate key seed sequence in Where q is a positive integer, For PAS A The latest private key of , k is a fixed key generation parameter and is a positive integer; based on Generate a Merkle key pair and the master public key PAS A Calculating pseudonyms S203:PAS A right Sign Get Signature S204:PAS A Upload to blockchain proxy server Execute the query contract. When the query is successful, Return to D A , where Path0 is from vk0 to The signature verification path of S205:D A Received Then, use Path0 to perform path verification starting from vk0 to obtain the estimated value of the master public key. Among them, when The key is considered valid when 7. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as claimed in claim 1, characterized in that: The cross-domain identity authentication steps include: S301: The first industrial IoT device D located in management domain A A To the first industrial IoT device D located in management domain B B Before requesting certification, please contact PAS A Request the next verification path and the partial session key P A =N0*G, the same, D located in management domain B B Before certification, B Request the next verification path P B =N1*G, where N0, N1 are random numbers and G is the base point for elliptic curve generation; S302:D A Perform message precoding, the specific method is as follows: D A Generate a random number r and calculate the current summary and checksum T0 is the timestamp when the digest is first calculated, MSG is the message or command information to be sent, and r,i For DIG r The i-th group after bitwise splitting; repeat the above steps R times to find the random number r that makes the checksum minimum min ; S303:D A SD i Generate sk for the seed i , then generate M max Signature S304:D A To D B Send authentication request AUTHReq is the authentication identifier, T1 is the current timestamp, D A alias; S305:D B After receiving the authentication request, it is determined whether |T1'-T1|<ΔT1 and |T1'-T0|<ΔT2 are established to check the timeliness of the message, where T1' is the timestamp when the request is received, ΔT1, ΔT2 are the message delay thresholds, and when the timeliness is met, D B Will forward To PAS B , where N1 is a random number, and then M max Divide into l parts M max =(b0,b1,…,b l-1 ), calculate the public key estimate S306:PAS B After receiving the forwarded authentication request, first look for it in the local blockchain view When the view is missing, the query message will be forwarded to the blockchain proxy server, and the blockchain proxy server will call the query contract to query and After the query is successful, PAS B Calculate the partial session key P B =N1*G, then Return to D B ,in D B The current signature verification path; S307:D B After receiving the valid result, according to vk' and Calculate D A Master public key estimate if If established, the one-way identity authentication is successful, otherwise D B The alert will be uploaded; S308:D B Execute the same process as S302 to S304 and send To D A , where M1 contains D B The valid signature and P B ;D A Perform the same process as S305 to S307 and successfully verify D B After signing, two-way authentication is successful.
8. The blockchain-assisted cross-domain identity authentication method based on Merkle signature as described in claim 7 is characterized in that: The key negotiation steps include: After step S306 is completed, PAS B Calculate the session key TK = H2((N1*P A )) and return to D B ;D A Successfully verified D B Message forwarding {KNReq,P B ,N0} to PAS A , where KNReq is the key agreement request identifier, PAS A Calculate the session key TK' = H2((N0*P B )), due to N0*P B =N0*N1*G=N1*P A , D A and D B Share the temporary session key TK=TK'.
9. A blockchain-assisted cross-domain identity authentication method based on Merkle signature, characterized in that: Based on the blockchain-assisted cross-domain authentication architecture and blockchain structure implementation, the blockchain-assisted cross-domain identity authentication system includes: The system initialization module is used by nodes in each domain to determine public parameters, including blockchain system public parameters and cryptographic schemes. Each domain authentication proxy server generates a signature key sequence and a master public key according to the Merkle signature scheme and uploads them to the blockchain network. The identity registration module is used for the industrial IoT device to generate a key seed and request the domain authentication proxy server to generate the complete key required for cross-domain. The domain authentication proxy server generates a device pseudonym and key pair based on the request, uploads it to the blockchain network, and distributes the key pair to the corresponding industrial IoT device, which then verifies the validity of the key. A cross-domain identity authentication module is used for a first industrial Internet of Things device located in one management domain to sign the authentication request to be sent, and then send the authentication request with the attached signature and signature verification path to a second industrial Internet of Things device in another management domain. The second industrial Internet of Things device performs a timeliness check on the received authentication request. If it passes, the authentication request is forwarded to the domain authentication proxy server of the current management domain, and then the master public key estimate of the first industrial Internet of Things device is calculated according to the signature. The public key of the first industrial Internet of Things device in the blockchain account book is queried through the domain authentication proxy server of the current management domain and a partial session key is calculated. Then, the master public key and the partial session key of the first industrial Internet of Things device are returned to the second industrial Internet of Things device. The second industrial Internet of Things device verifies whether the received master public key is equal to the master public key estimate of the first industrial Internet of Things device. If they are equal, the partial session key is attached to the authentication confirmation message and returned to the first industrial Internet of Things device, requesting the first industrial Internet of Things device to perform authentication, wherein the signature verification path and the partial session key are obtained by the first industrial Internet of Things device before sending the authentication request, by applying to the domain authentication proxy server of the current management domain; The key negotiation module is used for the second industrial Internet of Things device to calculate the complete session key based on the partial session key. After the first industrial Internet of Things device receives the authentication confirmation message, it performs a timeliness check and a legality check on the received authentication confirmation message, and then calculates the complete session key based on the partial session key in the authentication confirmation message.
10. The blockchain-assisted cross-domain identity authentication system based on Merkle signature as claimed in claim 9, characterized in that: The blockchain-assisted cross-domain authentication architecture consists of a physical layer, a proxy layer and a blockchain layer. The physical layer includes industrial Internet of Things devices and domain authentication proxy servers; the proxy layer includes blockchain proxy servers in all domains; the blockchain layer is a consortium chain abstraction layer composed of domain authentication proxy server nodes and blockchain proxy server nodes, including two parts: blockchain ledger and smart contract.
Citation Information
Patent Citations
Industrial Internet of Things equipment cross-domain identity authentication scheme based on block chain
CN113162949A
Cross-domain identity authentication method based on block chain certificate
CN113824563A
Cross-domain authentication method based on block chain and certificateless signature
CN117424708A
Industrial Internet of Things cross-domain authentication method based on block chain
CN117527301A
Cited By
Cross-domain authentication and key negotiation method and system based on multi-block chain architecture
CN120415749A