A secure and efficient industrial Internet authentication framework based on ZKP
Through the ZKP-based authentication framework, combined with secure hashing algorithms and non-interactive ZKP, the security and efficiency of authentication and key negotiation in the industrial Internet are solved, and secure and efficient identity authentication and key negotiation are achieved, which improves the robustness and privacy protection capabilities of the system.
Patent Information
- Application Number
- CN202411778930.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2044-12-05
AI Technical Summary
The industrial Internet faces security threats caused by complex and changing network environments, dispersed deployment of terminal equipment, and massive communication data. The existing authentication and key negotiation technology are difficult to balance security and efficiency, especially under PUF machine learning attacks, there is a risk of private information leakage.
Adopt a secure and efficient authentication framework based on ZKP, and use registry centers, end users, edge servers and smart devices, combined with secure hashing algorithms, blockchains and non-interactive ZKP to realize public key mapping of user bio fingerprints and PUF responses, avoid dependence on trusted third parties, and construct zero-knowledge proof for authentication and key negotiation.
It realizes safe and efficient identity authentication and key negotiation in the industrial Internet, avoids the leakage of user privacy information, improves the robustness and reliability of the system, and meets the diversity, real-time and privacy needs of the industrial Internet.
Smart Images

Figure CN119363344B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of Internet authentication, and in particular relates to a secure and efficient industrial Internet authentication framework based on ZKP. Background Art
[0002] The rapid development of the Industrial Internet has disrupted the closed and trusted production environments of traditional industrial systems, allowing existing Internet security threats to gradually penetrate the industrial sector. This has led to increasingly complex security scenarios, diverse security issues, and significant security risks for the Industrial Internet. Complex and volatile networks, a large number of dispersed terminal devices, and massive amounts of real-time data communication make the Industrial Internet extremely vulnerable to security attacks such as data interception and device theft, severely hindering the development and progress of Industrial Internet systems.
[0003] Compared with traditional information security, the industrial Internet usually contains a large number of terminal devices and sensors, and these devices are distributed over a wide area, making the security management of the industrial Internet complicated and difficult; the application scenarios of the industrial Internet are very rich, involving manufacturing, operations, transportation, medical care, management and other fields, so the security needs of the industrial Internet should also be diverse; the real-time control decisions during industrial production in the industrial Internet rely on the data acquired, processed and transmitted under real-time conditions by sensors, so the security needs of the industrial Internet should be real-time; the data in the industrial Internet is of great significance to the stability and normal operation of the system; if the data transmission is incorrect, it may cause the entire production line to stop, causing significant losses, so the reliability of equipment and systems needs to be ensured; the industrial Internet contains a large amount of confidential information, including production data, product design, corporate secrets, etc., so its security needs require a high degree of privacy protection.
[0004] To address these security requirements, authentication and key agreement technologies can become a crucial security enabler for the Industrial Internet. They can provide identity authentication and access control, establish secure communication links, ensure the confidentiality, integrity, and availability of data transmission, enhance system robustness and security, and ensure efficient, secure, and stable operation.
[0005] This patent proposes a secure and efficient industrial Internet authentication framework based on ZKP to balance the security and efficiency of authentication in the industrial Internet, while solving the problem of machine learning attacks against PUF. Summary of the Invention
[0006] In view of the above-mentioned defects of the prior art, the present invention proposes a secure and efficient industrial Internet authentication framework based on ZKP. The technical solution designed by the present invention includes:
[0007] Registration center, end users, edge servers and smart devices;
[0008] The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment. It also performs end-user registration, edge server registration, and smart device registration.
[0009] End users authenticate and negotiate keys with edge servers based on non-interactive ZKP, and also authenticate and negotiate keys with smart devices based on non-interactive ZKP.
[0010] Smart devices authenticate and negotiate keys with edge servers based on non-interactive ZKP;
[0011] The execution of public parameter initialization, blockchain initialization, and smart contract deployment includes the following steps:
[0012] S1001: The registration center selects a cyclic addition group The order is a prime number q, the generator is P, and two secure hash functions are selected Select random number As the master private key, calculate the master public key P pub =sP;
[0013] S1002: Establish a blockchain and generate a genesis block, and select two or more trusted partners to jointly be responsible for the operation and maintenance of the blockchain;
[0014] S1003: Deploy smart contract PKT to store and manage the public key information of end users and smart devices for anonymous authentication of both communicating parties;
[0015] S1004: Store the master private key s and publish public parameters And the address of the smart contract PKT.
[0016] Preferably, the smart contract PKT in S1003 includes three functions: Register, Query, and Revoke;
[0017] The Register function is only called by the registration center to complete the registration of end users and smart devices;
[0018] The Query function is called by any edge server to obtain the public key information of the end user and / or smart device for identity authentication;
[0019] The Revoke function is only called by the registration center to revoke the authorization information of illegal terminal users and / or invalid smart devices.
[0020] Preferably, the performing of terminal user registration, edge server registration, and smart device registration comprises the following steps:
[0021] S2001: End-user EUi Select an ID i , enter biometric fingerprint B i , extract the key σ i and auxiliary value τ i ,(σ i ,τ i )=Gen(B i ), Gen(·) is the generating function of the fuzzy extractor, and the terminal user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send registration request Req u ={ID i ,X i} to the registration center RA, and after receiving the message Req u After that, the registration center RA generates the end user EU i TID i =h(s‖ID i ), the smart card SC i ={TID i ,X i ,C} issued to the end user, TID i For end-user EU i The registration center calculates the TID i The index value addr when the device is registered using the Register function i ,addr i =h(TID i ), call the Register function to add {addr i :ID i ,X i ,C} is stored in the smart contract PKT, and when receiving the message SC i After that, the end user EU i Enter the password PW i , calculate T * =h(ID i ‖PW i ‖x i ), {T * ,τ i}Add to smart card and save;
[0022] S2002: Edge Server ES k The identity ID k Sent to the registration center RA, the registration center RA selects a random number Calculate R k =rk P, generates the private key sk of the edge server k =r k +s·H(ID k ‖R k ) and public key pk k =sk k P, will {sk k ,R k}Send to the edge server and publish the edge server's public key pk k After receiving the message, the edge server ES k verify If they are not equal, the registration fails. If they are equal, the secret storage sk k ;
[0023] S2003: Registration center RA selects challenge C and sends it to smart device SD j , smart device SD j Computing Group The element R in j and smart device SD j The public and private key pair (x j ,X j ), R j =PUF j (C),x j =h(R j ),X j =x j P, PUF j (·) is an instance of the function PUF, select the identity ID j , the ID j ,X j Sent to the registration center RA, the registration center RA generates a pseudonym TID for the smart device j =h(s‖ID j ) and send to SD j , the registration center RA calculates addr j =h(TID j ), call the Register function to add {addr j :ID j ,X j ,C}Stored in smart contract PKT, smart device SD j {TID j ,C,X j}Stored securely locally.
[0024] Preferably, the terminal user performs authentication and key negotiation with the edge server based on non-interactive ZKP, comprising the following steps:
[0025] S3001: End user EUi Input ID i , password PW i ′, fingerprint B i ′ and the current timestamp T1, calculate σ i =Rec(B i ′,τ i ),x i =H(ID i ,σ i ), Rec(·) is the reconstruction function of the fuzzy extractor, verification If they are not equal, the terminal user login fails. If they are equal, a random number is selected. Calculate commitment R i =r i P, generate session key SK ik =h(R i ,T1,x i pk k ), the end user generates a challenge c = H(P,R i ,X i ,T1,SK ik ), calculate the response s i =r i -cx i , the terminal user sends a message M1 = {TID i ,c,s i ,T1} to the edge server;
[0026] S3002: Edge Server ES k Check whether the timestamp T1-T1′≤Δt is true, where T1′ is the time when the receiver receives the message and Δt is the predefined waiting time threshold. If not, terminate the session. If true, calculate addr i =h(TID i ), call the Query function to obtain the message M2 stored in the smart contract PKT = {X i}, Edge Server ES k Calculate R i ′=s i P+cX i , generate the session key SK ki =h(R i ′,T1,sk k X i ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
[0027] Preferably, the terminal user performs authentication and key negotiation with the smart device based on non-interactive ZKP, comprising the following steps:
[0028] S4001: End-user EU i Input ID i ,PW i ′,B i ′ and the current timestamp T1, calculate σ i =Rec(B i ′,τ i ),x i =H(ID i ,σ i ),verify If they are not equal, the login fails. If they are equal, the terminal user EU i Select random number Calculate commitment R i =r i P, end user EU i Generate session key SK ij =h(x i X j ,R i ,T1), computing challenge c=H(P,R i ,X i ,X j ,SK ij ,T1), calculate the response s i =r i -cx i , the terminal user will M1={c,s i ,X i ,T1} is sent to the smart device;
[0029] S4002: Smart device SD j Verify whether the timestamp T1-T1′≤Δt is established. If not, terminate the session. If established, the smart device SD j Calculate R = PUF j (C),x j =H(R), calculate commitment R i ′=s i P+cX j , generate the session key SK ji =h(x j X i ,R i ′,T1), verification challenge c=H(P,R i ′,X i ,X j ,SK ji ,T1).
[0030] Preferably, the smart device authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps:
[0031] S5001: Smart Device SD j Select the current timestamp T1 and calculate R=PUF j (C),x j =H(R), select a random number Calculate commitment R j =r j P, calculate the session key SK jk =h(C,R j ,T1,x j pk k ), smart device SD j Generate Challenge c j =H(P,R j ,X j ,T1,SK jk ), calculate the response s j =r j -cx j , SD j M1={TID j ,c,s j ,T1} is sent to the edge server;
[0032] S5002: Edge Server ES k Verify the timestamp T1-T1′≤Δt. If not, terminate the session. If satisfied, calculate addr j =h(TID j ), call the Query function to obtain M2 stored in the smart contract PKT = {X j}, calculate R j ′=s j P+cX j , generate the session key SK kj =h(C,R j ′,T1,sk k X j ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
[0033] Beneficial effects: The present invention designs a secure and efficient industrial Internet authentication framework based on ZKP. The framework uses a secure hash algorithm to extract private keys from user biometric fingerprints, passwords, and PUF responses and maps them to group elements to obtain public keys. Secondly, the blockchain is used to manage the public keys of the participants to avoid dependence on trusted third parties. Finally, zero-knowledge proof is used to construct non-interactive authentication and key negotiation, and the physical security of PUF in authentication is utilized. At the same time, it can effectively avoid the leakage of user privacy information, realize secure and efficient authentication and key negotiation, and has practical application value. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 It is a structural schematic diagram of a preferred embodiment of the present invention;
[0035] Figure 2 This is a schematic diagram of the authentication and key negotiation process between a terminal user and an edge server according to a preferred embodiment of the present invention;
[0036] Figure 3 This is a schematic diagram of the process of authentication and key negotiation between a terminal user and a smart device according to a preferred embodiment of the present invention;
[0037] Figure 4 The figure is a flow chart of authentication and key negotiation between an edge server and a smart device according to a preferred embodiment of the present invention. DETAILED DESCRIPTION
[0038] The embodiments of the present invention are described in detail below. The following embodiments are implemented based on the technical solutions of the present invention, and provide detailed implementation methods and specific operating procedures. However, the protection scope of the present invention is not limited to the following embodiments.
[0039] This paper designs a secure and efficient industrial Internet authentication framework based on ZKP. The technical solution includes the following steps: Figure 1 As shown, specifically including:
[0040] Registration center, end users, edge servers and smart devices;
[0041] The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment. It also performs end-user registration, edge server registration, and smart device registration.
[0042] End users authenticate and negotiate keys with edge servers based on non-interactive ZKP, and also authenticate and negotiate keys with smart devices based on non-interactive ZKP.
[0043] Smart devices authenticate and negotiate keys with edge servers based on non-interactive ZKP;
[0044] Perform public parameter initialization, blockchain initialization, and smart contract deployment, including the following steps:
[0045] S1001: The registration center selects a cyclic addition group The order is a prime number q, the generator is P, and two secure hash functions are selected Select random number As the master private key, calculate the master public key P pub =sP;
[0046] S1002: Establish a blockchain and generate a genesis block, and select two or more trusted partners to jointly be responsible for the operation and maintenance of the blockchain;
[0047] S1003: Deploy smart contract PKT to store and manage the public key information of end users and smart devices for anonymous authentication of both communicating parties;
[0048] S1004: Store the master private key s and publish public parameters And the address of the smart contract PKT.
[0049] Preferably, the smart contract PKT in S1003 includes three functions: Register, Query, and Revoke;
[0050] The Register function is only called by the registration center to complete the registration of end users and smart devices;
[0051] The Query function is called by any edge server to obtain the public key information of the end user and / or smart device for identity authentication;
[0052] The Revoke function is only called by the registration center to revoke the authorization information of illegal terminal users and / or invalid smart devices.
[0053] Preferably, performing terminal user registration, edge server registration, and smart device registration includes the following steps:
[0054] S2001: End-user EU i Select an ID i , enter biometric fingerprint B i , extract the key σ i and auxiliary value τ i ,(σ i ,τ i )=Gen(B i ), Gen(·) is the generating function of the fuzzy extractor, and the terminal user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send registration request Req u ={ID i ,X i} to the registration center RA, and after receiving the message Req u After that, the registration center RA generates the end user EU i TID ii =h(s‖ID i ), the smart card SC i ={TID i ,X i,C} issued to the end user, TID i For end-user EU i The registration center calculates the TID i The index value addr when the device is registered using the Register function i ,addr ii =h(TID i ), call the Register function to add {addr i :ID i ,X i ,C} is stored in the smart contract PKT, and when receiving the message SC i After that, the end user EU i Enter the password BW i , calculate T*=h(ID i ‖PW i ‖x i ), {T*,τ i}Add to smart card and save;
[0055] S2002: Edge Server ES k The identity ID k Sent to the registration center RA, the registration center RA selects a random number Calculate R k =r k P, generates the private key sk of the edge server k =r k +s·H(ID k ‖R k ) and public key pk k =sk k P, will {sk k ,R k}Send to the edge server and publish the edge server's public key pk k After receiving the message, the edge server ES k verify If they are not equal, the registration fails. If they are equal, the secret storage sk k ;
[0056] S2003: Registration center RA selects challenge C and sends it to smart device SD j , smart device SD j Computing Group The element R in j and smart device SD j The public and private key pair (x j ,X j ), R j =PUF j (C),x j =h(Rj ),X j =x j P, PUF j (·) is an instance of the function PUF, select the identity ID j , the ID j ,X j Sent to the registration center RA, the registration center RA generates a pseudonym TID for the smart device j =h(s‖ID j ) and send to SD j , the registration center RA calculates addr j =h(TID j ), call the Register function to add {addr j :ID j ,X j ,C}Stored in smart contract PKT, smart device SD j {TID j ,C,X j}Stored securely locally.
[0057] Specifically, the PUF function is a physical unclonable function (PUF), which is not a mathematical function in the strict sense, but refers to a mapping relationship between the input challenge and the output response, namely the challenge response pair (CRP). The physical unclonability of the PUF is mapped from the uncontrollable random process deviations during the manufacture of the integrated circuit (IC). The ideal PUF is a set of deterministic mapping function entities. Its input domain is The output domain is For any PUF instance Input Challenge The output is uniformly randomly distributed over the domain The deterministic response r = puf(c) on the PUF is r = puf(c), and each instantiated function depends on the random process deviations that are uncontrollable during manufacturing. In addition, an ideal PUF usually has the following properties: Reliability: Given a PUF instance For the same challenge k inputs, the output response {r i} i={1,…,k} satisfy Uniqueness: Given two different PUF instances Enter the same challenge The output responses r1=puf1(c), r2=puf2(c) satisfy r1≠r2. Unpredictability: Given a PUF instance The input is a challenge, and the output response is unpredictable.
[0058] In addition, for fuzzy extractors, uniformly distributed and accurately reproduced bit strings can be extracted from noisy "random sources" (such as biometric fingerprints, irises, and noise from electronic devices) as keys in cryptographic systems. The fuzzy extractor includes the generation algorithm Gen(·) and the reconstruction algorithm Rec(·), where It is the plaintext space, is the length of the extraction key, t is the error check threshold, and ∈ is an infinitesimal value. Generation algorithm: Gen(·) is a probability generation algorithm. Given a fuzzy extractor, input Output extraction key σ∈{0,1} l and auxiliary string τ∈{0,1} * , that is, (σ,τ)←Gen(ω). Reconstruction algorithm: Rec(·) is a deterministic regeneration algorithm. Given a fuzzy extractor, for any Satisfying HD(ω,ω′)≤t,(σ,τ)←Gen(ω), where HD represents the Hamming distance, input and the auxiliary string τ, and output the extraction key σ, that is, σ=Rec(ω′,τ).
[0059] Preferably, if Figure 2 As shown, the end user authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps:
[0060] S3001: End user EU i Input ID i , password PW i ′, fingerprint B i ′ and the current timestamp T1, calculate σ i =Rec(B i ′,τ i ),x i =H(ID i ,σ i ), Rec(·) is the reconstruction function of the fuzzy extractor, verification If they are not equal, the terminal user login fails. If they are equal, a random number is selected. Calculate commitment R i =r i P, generate session key SK ik =h(R i ,T1,x i pk k ), the end user generates a challenge c = H(P,R i ,X i ,T1,SKik ), calculate the response s i =r i -cx i , the terminal user sends a message M1 = {TID i ,c,s i ,T1} to the edge server;
[0061] S3002: Edge Server ES k Check whether the timestamp T1-T1′≤Δt is true, where T1′ is the time when the receiver receives the message and Δt is the predefined waiting time threshold. If not, terminate the session. If true, calculate addr i =h(TID i ), call the Query function to obtain the message M2 stored in the smart contract PKT = {X i}, Edge Server ES k Calculate R i ′=s i P+cX i , generate the session key SK ki =h(R i ′,T1,sk k X i ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
[0062] Preferably, if Figure 3 As shown in the figure, the end user authenticates and negotiates keys with the smart device based on non-interactive ZKP, including the following steps:
[0063] S4001: End-user EU i Input ID i ,PW i ′,B i ′ and the current timestamp T1, calculate σ i =Rec(B i ′,τ i ),x i =H(ID i ,σ i ),verify If they are not equal, the login fails. If they are equal, the terminal user EU i Select random number Calculate commitment R i =r i P, end user EU i Generate session key SK ij =h(x i X j ,R i ,T1), computing challenge c=H9P,Ri ,X i ,X j ,SK ij ,T1), calculate the response s i =r i -cx i , the terminal user will M1={c,s i ,X i ,T1} is sent to the smart device;
[0064] S4002: Smart device SD j Verify whether the timestamp T1-T1′≤Δt is established. If not, terminate the session. If established, the smart device SD j Calculate R = PUF j (C),x j =H(R), calculate commitment R i ′=s i P+cX j , generate the session key SK ji =h(x j X i ,R i ′,T1), verification challenge c=H(P,R i ′,X i ,X j ,SK ji ,T1).
[0065] Preferably, if Figure 4 As shown, the smart device authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps:
[0066] S5001: Smart Device SD j Select the current timestamp T1 and calculate R=PUF j (C),x j =H(R), select a random number Calculate commitment R j =r j P, calculate the session key SK jk =h(C,R j ,T1,x j pk k ), smart device SD j Generate Challenge c j =H(P,R j ,X j ,T1,SK jk ), calculate the response s j =r j -cx j , SD j M1={TIDj ,c,s j ,T1} is sent to the edge server;
[0067] S5002: Edge Server ES k Verify the timestamp T1-T1′≤Δt. If not, terminate the session. If satisfied, calculate addr j =h(TID j ), call the Query function to obtain M2 stored in the smart contract PKT = {X j}, calculate R j ′=s j P+cX j , generate the session key SK kj =h(C,R j ′,T1,sk k X j ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
[0068] The above describes in detail the preferred embodiments of the present invention. It should be understood that numerous modifications and variations based on the concepts of the present invention can be made by those skilled in the art without inventive effort. Therefore, any technical solution that can be derived by those skilled in the art based on the concepts of the present invention through logical analysis, reasoning, or limited experimentation based on the existing technology should be within the scope of protection defined by the claims.
Claims
1. A secure and efficient industrial Internet authentication system based on ZKP, characterized by: include: Registration center, end users, edge servers and smart devices; The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment. It also performs end-user registration, edge server registration, and smart device registration. End users authenticate and negotiate keys with edge servers based on non-interactive ZKP, and also authenticate and negotiate keys with smart devices based on non-interactive ZKP. Smart devices authenticate and negotiate keys with edge servers based on non-interactive ZKP; The execution of public parameter initialization, blockchain initialization, and smart contract deployment includes the following steps: S1001: The registration center selects a cyclic additive group The order is a prime number q, the generator is P, and two secure hash functions are selected Select random number As the master private key, calculate the master public key P pub =sP; S1002: Establish a blockchain and generate a genesis block, and select two or more trusted partners to jointly be responsible for the operation and maintenance of the blockchain; S1003: Deploy smart contract PKT to store and manage the public key information of end users and smart devices for anonymous authentication of both communicating parties; S1004: Store the master private key s and publish public parameters And the address of the smart contract PKT; The smart contract PKT in S1003 includes three functions: Register, Query, and Revoke; The Register function is only called by the registration center to complete the registration of end users and smart devices; The Query function is called by any edge server to obtain the public key information of the end user and / or smart device for identity authentication; The Revoke function is only called by the registration center to revoke the authorization information of illegal terminal users and / or invalid smart devices; The execution of terminal user registration, edge server registration, and smart device registration includes the following steps: S2001: End-user EU i Select an ID i , enter biometric fingerprint B i , extract the key σ i and auxiliary value τ i ,(σ i ,τ i )=Gen(B i ), Gen(·) is the generating function of the fuzzy extractor, and the terminal user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send registration request Req u ={ID i ,X i } to the registration center RA, and after receiving the message Req u After that, the registration center RA generates the end user EU i TID i =h(s‖ID i ), the smart card SC i ={TID i ,X i ,C} issued to the end user, TID i For end-user EU i The registration center calculates the TID i The index value addr when the device is registered using the Register function i ,addr i =h(TID i ), call the Register function to add {addr i :ID i ,X i ,C} is stored in the smart contract PKT, and when receiving the message SC i After that, the end user EU i Enter the password PW i , calculate T * =h(ID i ‖PW i ‖x i ), {T * ,τ i }Add to smart card and save; S2002: Edge Server ES k The identity ID k Sent to the registration center RA, the registration center RA selects a random number Calculate R k =r k P, generates the private key sk of the edge server k =r k +s·H(ID k ‖R k ) and public key pk k =sk k P, will {sk k ,R k }Send to the edge server and publish the edge server's public key pk k After receiving the message, the edge server ES k verify If they are not equal, the registration fails. If they are equal, the secret storage sk k ; S2003: Registration center RA selects challenge C and sends it to smart device SD j , smart device SD j Computing Group The element R in j and smart device SD j The public and private key pair (x j ,X j ), R j =PUF j (C),x j =h(R j ),X j =x j P, PUF j (·) is an instance of the function PUF, select the identity ID j , the ID j ,X j Sent to the registration center RA, the registration center RA generates a pseudonym TID for the smart device j =h(s‖ID j ) and send to SD j , the registration center RA calculates addr j =h(TID j ), call the Register function to add {addr j :ID j ,X j ,C}Stored in smart contract PKT, smart device SD j {TID j ,C,X j }Stored securely locally.
2. A secure and efficient industrial Internet authentication system based on ZKP according to claim 1, characterized in that: The terminal user authenticates and negotiates a key with the edge server based on a non-interactive ZKP, including the following steps: S3001: End user EU i Input ID i , password PW′ i , fingerprint B′ i and the current timestamp Y1, calculate σ i =Rec(B′ i ,τ i ),x i =H(ID i ,σ i ), Rec(·) is the reconstruction function of the fuzzy extractor, verification If they are not equal, the terminal user login fails. If they are equal, a random number is selected. Calculate commitment R i =r i P, generate session key SK ik =h(R i ,T1,x i pk k ), the end user generates a challenge c = H(P,R i ,X i ,T1,SK ik ), calculate the response s i =r i -cx i , the terminal user sends a message M1={TID i ,c,s i ,T1} to the edge server; S3002: Edge Server ES k Check whether the timestamp T1-T'1≤Δt is true, where T'1 is the time when the receiver receives the message and Δt is the predefined waiting time threshold. If not, terminate the session. If true, calculate addr i =h(TID i ), call the Query function to obtain the message M2 stored in the smart contract PKT = {X i }, Edge Server ES k Calculate R′ i =s i P+cX i , generate the session key SK ki =h(R′ i ,T1,sk k X i ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
3. A secure and efficient industrial Internet authentication system based on ZKP according to claim 2, characterized in that: The terminal user authenticates and negotiates a key with the smart device based on a non-interactive ZKP, including the following steps: S4001: End-user EU i Input ID i ,PW′ i ,B′ i and the current timestamp T1, calculate σ i =Rec(B′ i ,τ i ),x i =H(ID i ,σ i ),verify If they are not equal, the login fails. If they are equal, the terminal user EU i Select random number Calculate commitment R i =r i P, end user EU i Generate session key SK ij =h(x i X j ,R i ,T1), computing challenge c=H(P,R i ,X i ,X j ,SK ij ,T1), calculate the response s i =r i -cx i , the terminal user will M1={c,s i ,X i ,T1} is sent to the smart device; S4002: Smart device SD j Verify whether the timestamp T1-T′1≤Δt is established. If not, terminate the session. If established, the smart device SD j Calculate R = PUF j (C),x j =H(R), calculate commitment R′ i =s i P+cX j , generate the session key SK ji =h(x j X i ,R′ i ,T1), verification challenge c=H(P,R′ i ,X i ,X j ,SK ji ,T1).
4. A secure and efficient industrial Internet authentication system based on ZKP according to claim 3, characterized in that: The smart device authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps: S5001: Smart Device SD j Select the current timestamp T1 and calculate R=PUF j (C),x j =H(R), select a random number Calculate commitment R j =r j P, calculate the session key SK jk =h(C,R j ,T1,x j pk k ), smart device SD j Generate Challenge c j =H(P,R j ,X j ,T1,SK jk ), calculate the response s j =r j -cx j , SD j M1={TID j ,c,s j ,T1} is sent to the edge server; S5002: Edge Server ES k Verify the timestamp T1-T′1≤Δt. If not, terminate the session. If satisfied, calculate addr j =h(TID j ), call the Query function to obtain M2 stored in the smart contract PKT = {X j }, calculate R′ j =s j P+cX j , generate the session key SK kj =h(C,R′ j ,T1,sk k X j ),verify If they are not equal, the session is terminated; if they are equal, the authentication is successful.
Citation Information
Patent Citations
Industrial environment authentication method based on PUF and block chain
CN114422152A
Block chain-enabled industrial Internet of Things authentication and key agreement method
CN116015706A