ZKP-based safe and efficient industrial internet authentication framework
By adopting a ZKP-based authentication framework in the Industrial Internet and using biometric fingerprints and PUF responses for secure hashing algorithms, the problem of complex security threats and PUF machine learning attacks in the Industrial Internet is solved, and efficient and secure authentication and keys are achieved. Negotiate.
Patent Information
- Application Number
- CN202411778930.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-12-05
AI Technical Summary
The industrial Internet faces complex security threats, including data interception and device theft, and the existing technology is difficult to effectively solve the problem of PUF machine learning attacks, resulting in the complexity and difficulty of the security management of the industrial Internet.
A secure and efficient industrial Internet authentication framework based on zero-knowledge proof (ZKP) is designed. The secure hash algorithm is used to extract the private key from the user's biometric fingerprint and PUF response. The public keys of the participants are managed through the blockchain to avoid any unauthorized access to the public key. Trust third-party dependencies, and use zero-knowledge proof to construct non-interactive authentication and key agreement.
It achieves efficient and secure authentication and key negotiation in the industrial Internet, effectively avoids the leakage of user privacy information, enhances the robustness and security of the system, and reduces the risk of security attacks.
Smart Images

Figure CN119363344A_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] With the rapid development of the industrial Internet, the closed and trusted production environment of the traditional industrial system has been broken, allowing existing Internet security threats to gradually penetrate into the industrial field, resulting in the complexity of security forms, diversification of security issues, and huge security risks faced by the industrial Internet. The complex and ever-changing network, a large number of decentralized terminal devices, and massive real-time data of communications make the industrial Internet extremely vulnerable to security attacks such as data interception and device theft, which has seriously hindered the development and progress of the industrial Internet system.
[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 multiple fields such as manufacturing, operations, transportation, medical care, and management, 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 it is necessary to ensure the reliability of equipment and systems; 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] In response to the above security requirements, authentication and key negotiation technology can become an important security guarantee for the Industrial Internet. Authentication and key negotiation technology can provide identity authentication and access control, establish a secure communication link, ensure the confidentiality, integrity and availability of data transmission, enhance the robustness and security of the system, and ensure the efficient, safe and stable operation of the system.
[0005] This invention 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] Registry, end users, edge servers, and smart devices;
[0008] The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment, and also performs end-user registration, edge server registration, and smart device registration;
[0009] The end user authenticates and negotiates keys with the edge server based on non-interactive ZKP, and also authenticates and negotiates keys with the smart device 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 terminal 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 end user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send a 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 {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, generate 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: The registration center RA selects a challenge C and sends it to the smart device SD j , Smart Device SD j Computing Group The element R 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 , and 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 {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 authenticates and negotiates keys with the edge server based on non-interactive ZKP, including 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 ii 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-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+c 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, including 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 end 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-T′1≤Δt is true. If not, terminate the session. If true, the smart device SD j Calculate R = PUF j (C),x j =G(R), calculate commitment R′ i =s i P+c 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 , S.D. j M1={TID j ,c,s j ,T1} is sent to the edge server;
[0032] S5002: Edge Server ES k Verify 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+c 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 effect: 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, thereby achieving 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 a smart contract PKT algorithm of a preferred embodiment of the present invention;
[0036] Figure 3 This is a schematic diagram of the authentication and key negotiation process between a terminal user and an edge server in a preferred embodiment of the present invention;
[0037] Figure 4 This is a schematic diagram of the process of authentication and key negotiation between a terminal user and a smart device in a preferred embodiment of the present invention;
[0038] Figure 5 The figure is a schematic diagram of the edge server and smart device authentication and key negotiation process in a preferred embodiment of the present invention. DETAILED DESCRIPTION
[0039] The embodiments of the present invention are described in detail below. The following embodiments are implemented on the premise of the technical solution of the present invention, and detailed implementation methods and specific operation processes are given, but the protection scope of the present invention is not limited to the following embodiments.
[0040] The present invention 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:
[0041] Registry, end users, edge servers, and smart devices;
[0042] The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment, and also performs end-user registration, edge server registration, and smart device registration;
[0043] The end user authenticates and negotiates keys with the edge server based on non-interactive ZKP, and also authenticates and negotiates keys with the smart device based on non-interactive ZKP;
[0044] Smart devices authenticate and negotiate keys with edge servers based on non-interactive ZKP;
[0045] Perform public parameter initialization, blockchain initialization, and smart contract deployment, including the following steps:
[0046] 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;
[0047] 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;
[0048] S1003: Deploy smart contract PKT to store and manage the public key information of terminal users and smart devices for anonymous authentication of both communicating parties;
[0049] S1004: Store the master private key s and publish public parameters And the address of the smart contract PKT.
[0050] Preferably, if Figure 2 As shown, the smart contract PKT in S1003 includes three functions: Register, Query, and Revoke;
[0051] The Register function is only called by the registration center to complete the registration of end users and smart devices;
[0052] 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;
[0053] The Revoke function is only called by the registration center to revoke the authorization information of illegal terminal users and / or invalid smart devices.
[0054] Preferably, performing terminal user registration, edge server registration and smart device registration includes the following steps:
[0055] 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 end user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send a 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 {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;
[0056] 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, generate 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 ;
[0057] S2003: The registration center RA selects a challenge C and sends it to the smart device SD j , Smart Device SD j Computing Group The element R j and smart device SDj 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 , and 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 {addr j :ID j ,X j ,C}Stored in smart contract PKT, smart device sD j {TID j ,C,X j}Stored securely locally.
[0058] Specifically, for the function PUF, it is a physical unclonable function (PUF), which is not a mathematical function in the strict sense, but refers to a mapping relationship between input challenge and output response, namely challenge response pair (CRP). The physical unclonability of PUF is mapped from the uncontrollable random process deviation during the manufacture of integrated circuits (IC). An 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, the output response is unpredictable.
[0059] In addition, for fuzzy extractors, uniformly distributed and accurately regenerated 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 is the plaintext space, l 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 Satisfies HD(ω,ω′)≤t,(σ,τ)←Gen(ω), where HD represents the Hamming distance, input And auxiliary string τ, output the extraction key σ, that is, σ=Rec(ω′,τ).
[0060] Preferably, if Figure 3 As shown, the end user authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps:
[0061] 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,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;
[0062] 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+c 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.
[0063] Preferably, if Figure 4 As shown, the end user authenticates and negotiates keys with the smart device based on non-interactive ZKP, including the following steps:
[0064] 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 iGenerate 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 end user will M1={c,s i ,X i ,T1} is sent to the smart device;
[0065] S4002: Smart Device SD j Verify whether the timestamp T1-T′1≤Δt is true. If not, terminate the session. If true, the smart device SD j Calculate R = PUF j (C),x j =H(R), calculate commitment R′ i =s i P+c 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).
[0066] Preferably, if Figure 5 As shown, the smart device authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps:
[0067] 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 , S.D. j M1={TID j ,c,s j ,T1} is sent to the edge server;
[0068] S5002: Edge Server ES k Verify 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+c 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.
[0069] The preferred specific embodiments of the present invention are described in detail above. It should be understood that ordinary technicians in the field can make many modifications and changes based on the concept of the present invention without creative work. Therefore, all technical solutions that can be obtained by technicians in the technical field based on the concept of the present invention through logical analysis, reasoning or limited experiments on the basis of the prior art should be within the scope of protection determined by the claims.
Claims
1. A secure and efficient industrial Internet authentication framework based on ZKP, characterized in that: include: Registry, end users, edge servers, and smart devices; The registration center performs public parameter initialization, blockchain initialization, and smart contract deployment, and also performs end-user registration, edge server registration, and smart device registration; The end user authenticates and negotiates keys with the edge server based on non-interactive ZKP, and also authenticates and negotiates keys with the smart device 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 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; 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 terminal 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.
2. According to a secure and efficient ZKP-based industrial Internet authentication framework according to claim 1, it is characterized in that: 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.
3. According to a secure and efficient ZKP-based industrial Internet authentication framework according to claim 2, it is characterized in that: 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 end user EU is calculated. i The public and private key pair x i =H(ID i ,σ i ),X i =x i P, send a 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 {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: The registration center RA selects a challenge C and sends it to the smart device SD j , Smart Device SD j Computing Group The element R 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 , and 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 {addr j :ID j ,X j ,C}Stored in smart contract PKT, smart device SD j {TID j ,C,X j }Stored securely locally.
4. According to a secure and efficient ZKP-based industrial Internet authentication framework according to claim 3, it is characterized in that: The terminal user authenticates and negotiates keys with the edge server based on non-interactive ZKP, including the following steps: S3001: End-user EU i Enter ID) i , password PW′ i , fingerprint B′ j 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; 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+c 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.
5. According to a secure and efficient ZKP-based industrial Internet authentication framework according to claim 4, it is characterized in that: The terminal user authenticates and negotiates keys with the smart device based on 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 end 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 true. If not, terminate the session. If true, the smart device SD j Calculate R = PUF j (C),x j =H(R), calculate commitment R′ i =s i P+c 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).
6. According to a secure and efficient ZKP-based industrial Internet authentication framework according to claim 5, it is 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 k =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 , S.D. j M1={TID j ,c,s j ,T1} is sent to the edge server; S5002: Edge Server ES k Verify 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+c 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 Internet of Things security authentication method based on block chain
CN113992332A
Industrial environment authentication method based on PUF and block chain
CN114422152A
Block chain-enabled industrial Internet of Things authentication and key agreement method
CN116015706A
Secure sharing method for industrial Internet of Things data
CN116633525A
Zero knowledge proof-based privacy protection method and system for authenticated data in smart contract
US20210297255A1