A fog-IoT authentication method based on blockchain and CL encryption

CN116800396BActive Publication Date: 2026-10-16NANJING UNIV OF POSTS & TELECOMM +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310592036.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-24
Publication Date
2026-10-16
Estimated Expiration
2043-05-24

AI Technical Summary

Technical Problem

这种方法没有设置可定时更新的验证因子,在进行认证时灵活性较低,无法保证高安全性

Benefits of technology

[0062] This invention can prevent intentional tampering and forgery. By combining the high redundancy inherent in blockchain's distributed storage with its identity authentication mechanism, this invention ensures that attackers cannot impersonate a legitimate IoT device to intentionally tamper with or forge data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116800396B_ABST
    Figure CN116800396B_ABST
Patent Text Reader

Abstract

The application belongs to the field of Internet of Things node authentication, and discloses a blockchain and CL encryption FOG-IoT authentication method, which comprises a public parameter generation stage: all participants cooperate to generate public parameters of a CL encryption scheme, which are shared among users as public values; an initialization stage: a plurality of blockchain nodes are selected to build a blockchain network, and a public-private key pair of a FOG end and a public-private key pair of an Internet of Things terminal are generated by a KGC; a registration stage: a registration request and a registration response; an authentication stage: the FOG end performs authentication according to a verification factor and an identity ID provided by the Internet of Things terminal; and a verification factor regular updating stage. The application can ensure the safety and integrity of information of Internet of Things sensing devices, records the updating record of the verification factor by the blockchain, increases the flexibility of verification, simultaneously utilizes the small communication amount advantage of the CL homomorphic encryption technology, has small communication cost, and can realize authentication with small delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of IoT node authentication, specifically involving a FOG-IoT authentication method based on blockchain and CL encryption. Background Technology

[0002] Blockchain is a decentralized shared ledger that combines data blocks in chronological order into a specific data structure, using cryptography to ensure the immutability and tamper-proof nature of the data. It securely stores simple, sequential, and verifiable data. Blockchain technology uses an encrypted chain of blocks to verify and store data, and a distributed node consensus algorithm to generate and update data. Blockchain technology is the underlying technology of Bitcoin; it records data information in a distributed manner, collaboratively by all participants. This data is stored across all nodes, not in a single centralized institution. Blockchain technology ensures that the system records, transmits, and stores value transfer activities, guaranteeing the reliability of the final result.

[0003] IoT device authentication refers to the process of identifying and verifying the identity of IoT devices when they connect to an IoT system to confirm their legitimacy. Device authentication is the first step in the entire IoT security process. For legitimate devices, the authentication mechanism allows them to access the IoT and communicate and exchange information with other devices. For illegitimate devices, the authentication mechanism restricts their access to the IoT, thereby preventing the security risks they may pose.

[0004] Authentication, also known as "verification" or "authorization," refers to confirming a user's identity through certain means. There are many authentication methods, which can be broadly categorized into shared-key authentication and public-key cryptography authentication. Shared-key authentication involves the server and user jointly possessing one or more passwords. When a user needs to authenticate, they submit a password shared by both the user and the server, either by entering it or through a device storing the password. Upon receiving the submitted password, the server checks if it matches the password stored on the server. If they match, the user is considered legitimate; otherwise, authentication fails. Public-key cryptography authentication involves both parties in the communication holding public and private keys. One party uses the private key to encrypt specific data, while the other uses the public key to decrypt it. If decryption is successful, the user is considered legitimate; otherwise, authentication fails.

[0005] CN106301794 A describes a method and system for authorization and authentication using blockchain. This invention provides an authentication system based on blockchain private keys / addresses. In this system, the administrator maintains a list of addresses accessible to the device on the blockchain. When an entity accesses the smart device, the device queries the blockchain to see if the entity's address is among those stored in the blockchain. If it is, access is granted; otherwise, access is denied. This method represents a simple application of blockchain in the field of IoT identity authentication, relying solely on address verification. Its security is low, and it cannot adapt to complex identity authentication scenarios. Furthermore, due to the presence of the administrator, this invention does not achieve true decentralization.

[0006] CN109981582 A discloses a blockchain-based method for authenticating IoT devices, belonging to the field of the Internet of Things (IoT). This method constructs a consortium blockchain for IoT device authentication based on Schnorr signatures and blockchain technology. During the registration phase, the IoT device identifier and public key pair (ID, PK) are stored in the blockchain as a blockchain transaction. During the authentication phase, the public key PK used during registration is used to authenticate the IoT device identifier ID. However, this method lacks a periodically updated verification factor, resulting in low flexibility during authentication and failing to guarantee high security. Summary of the Invention

[0007] To address the aforementioned issues, this invention provides a FOG-IoT authentication method based on blockchain and CL encryption. This method securely authenticates devices seeking to access an IoT system. It utilizes fog devices to offload network tasks locally from the central server, increasing the central server's processing power and making network traffic easier to manage. Furthermore, it leverages the immutability of blockchain to ensure the security and integrity of information from IoT sensing devices. The blockchain also records updates to verification factors, increasing authentication flexibility. The encryption scheme of this invention is based on CL homomorphic encryption technology, eliminating the need for factorization by a trusted third party and avoiding range proofs, thus better protecting data and information security. Simultaneously, CL encryption offers the advantages of low communication volume and low communication cost, enabling authentication with low latency.

[0008] To achieve the above objectives, the present invention is implemented through the following technical solution:

[0009] This invention is a FOG-IoT authentication method based on blockchain and CL encryption, specifically including the following steps:

[0010] S1, Public Parameter Generation Phase: All participants collaborate to generate public parameters for the CL encryption scheme, which are shared among users as public values;

[0011] S2. Initialization Phase: Multiple blockchain nodes are selected to build a blockchain network. The KGC (Key Management Center) generates public and private key pairs (PK) for the FOG end. F ,sk F ) and public / private key pairs (PK) of IoT terminals i ,sk i );

[0012] S3. Registration Phase: The IoT terminal generates a third-order polynomial and sends a registration request to the FOG terminal. The FOG terminal stores the IoT device's identifier and key pair (ID, key) locally and sets the key and secret pair <key,(a,b,c,d). key >

[0013] Upload to the blockchain to complete the IoT device registration request;

[0014] S4. Authentication Phase: The FOG terminal performs authentication based on the verification factor and the identity ID provided by the IoT terminal.

[0015] S5, Periodic Update Phase of Validation Factors: FOG updates validation factors periodically.

[0016] Furthermore, the specific steps of the common parameter generation stage described in S1 are as follows:

[0017] S1-1, Calculate the basic discriminant and the random common parameter q used to generate the class group;

[0018] S1-1-1, n participants P i Input common parameters (q, 1) λ The ISetup algorithm is run collaboratively, where λ is a safety parameter and q is the finite field F. q The order; Participant P i Select a random number r i , Calculate r i The promise (gc) i ,gd i )←Com(r i ), and broadcast gc i Where Com refers to the commitment algorithm, gc i For the purpose of providing information, gd i To open the promised information;

[0019] S1-1-2, Participating Parties P i Received from the remaining party {P j} j≠i The promise {gc j} j≠i Afterwards, broadcast gd i ;

[0020] S1-1-3, Participating Parties P i GD received the broadcast i Then, execute r i ←Open(gc i gd i ), reveal r i Open is the algorithm for the open commitment;

[0021] S1-1-4 Participating Parties P i Calculate common parameters

[0022] S1-2, Collaborative generation of common parameters g q ;

[0023] S1-2-1, Participating Parties P i run in, It is a λ-bit integer, a subgroup Depend on generate, Subgroup F is generated by f. yes The upper limit of the order, and the common parameters for generating the CL scheme;

[0024] S1-2-2, Participating Parties P i Choose a random number t i , calculate Generate their own random g i Share;

[0025] S1-2-3, Participating Parties P i Calculate g i promise broadcast For the purpose of providing information, To open the promised information;

[0026] S1-2-4, Participating Parties P i Received from the remaining party {P j} j≠i promise Afterwards, broadcast

[0027] S1-2-5, Participating Parties P i Received broadcast Then, execute Unveiling g i ;

[0028] S1-2-6, Participating Parties P iBroadcast t i Zero-knowledge proof ZKPoK, Prove that you know t i ;

[0029] S1-2-7、{P j} j≠i Upon receiving the broadcast zero-knowledge proof, it will be verified. If the verification fails, the protocol will be terminated.

[0030] S1-2-8, Participating Parties P i Calculate the common parameter g of the CL encryption scheme. q , Output common parameters of the CL scheme

[0031] Furthermore, the specific steps of the registration phase described in S3 are as follows:

[0032] S3-1, The IoT terminal initiates a registration request to the FOG terminal;

[0033] S3-1-1, The Internet of Things terminal randomly generates a third-order polynomial E(x) = ax 3 +bx 2 +cx+d;

[0034] S3-1-2. The IoT terminal selects a random number k and obtains the current timestamp T. Then, the terminal uses its private key to...

[0035] m A Generate a signature using (a, b, c, d, k, T).

[0036] S3-1-3, IoT terminal uses FOG public key PK F m B Encrypt (a, b, c, d, k, T, sign, ID) to generate ciphertext. Send a registration request to the FOG client;

[0037] S3-2, The FOG terminal processes registration requests sent by IoT terminals;

[0038] S3-2-1. After receiving the registration request from the IoT terminal, the FOG terminal verifies the correctness of the signature.

[0039] S3-2-2. If the signature verification is successful, the FOG end uses the AES encryption algorithm to encrypt (a,b,c,d) with the encryption key "key", generating (a,b,c,d). key ;

[0040] S3-2-3, Map <key,(a,b,c,d) key> Upload to the blockchain and return a registration success message to the IoT terminal;

[0041] S3-2-4. If signature authentication fails, return a registration failure message.

[0042] Furthermore, the specific steps of the authentication phase described in S4 are as follows:

[0043] S4-1, The FOG broadcasts a message indicating that resources are available to nodes within the system;

[0044] S4-1-1, FOG randomly selects a first or second order polynomial Δ(x) = αx 2 +βx+γ is used as a verification factor;

[0045] S4-1-2, The FOG end uploads the coefficients (α,β,γ) of the second-order polynomial to the blockchain;

[0046] S4-2. After receiving the availability message from the FOG terminal, the IoT terminal initiates an authentication request to the FOG terminal.

[0047] S4-2-1. After receiving the authentication request from the IoT terminal, the FOG terminal finds the encryption key corresponding to the ID in the security module based on the ID.

[0048] S4-2-2, FOG terminal downloads the corresponding <key,(a,b,c,d) from the blockchain for this ID. key >, use the Key to decrypt and obtain (a,b,c,d);

[0049] S4-3, The FOG terminal begins to verify whether (a,b,c,d) obtained from the chain is the same as (a,b,c,d)′ in the IoT terminal that initiated the verification request.

[0050] S4-3-1, FOG end calculation We obtain F(x) = εx + ω;

[0051] S4-3-2. Select a random number h at the FOG end and calculate k = F(h) = εh + ω;

[0052] S4-3-3, The FOG end encrypts h using the CL homomorphic encryption scheme, generates ciphertext c = CL(h), and sends it to the IoT terminal;

[0053] S4-3-4. After receiving the ciphertext c, the IoT terminal obtains Δ(x) = αx from (α, β, γ) on the chain. 2 +βx+γ;

[0054] S4-3-5, IoT terminal computing We obtain F′(x) = mx + n;

[0055] S4-3-6. The IoT terminal uses m and n of the function F′(x) to perform homomorphic multiplication and addition on the ciphertext c, and returns the calculation result V to the FOG terminal.

[0056] S4-3-7. After receiving V, FOG performs homomorphic decryption to obtain k′, compares k′ with k. If k′ = k, the authentication is successful; if k′ ≠ k, the authentication fails.

[0057] Furthermore, the specific steps of the periodic update phase of the verification factor described in S5 are as follows:

[0058] S5-1. Every time t passes, the FOG terminal selects a new second-order polynomial Δ′(x)=α′x 2 +β′x+γ′ is used as a verification factor;

[0059] S5-1-1, The FOG end uploads the coefficients (α′,β′,γ′) of the new second-order polynomial to the blockchain;

[0060] S5-1-2, The FOG broadcasts a message to update the verification factor so that the IoT terminal can obtain the new (α′,β′,γ′) from the chain in a timely manner during authentication.

[0061] The beneficial effects of this invention are:

[0062] This invention can prevent intentional tampering and forgery. By combining the high redundancy inherent in blockchain's distributed storage with its identity authentication mechanism, this invention ensures that attackers cannot impersonate a legitimate IoT device to intentionally tamper with or forge data.

[0063] This invention has low overhead requirements for IoT devices. In the authentication method of this invention, the IoT device only needs to store its private key, thus the storage overhead is small. The authentication process only requires one polynomial division operation, one homomorphic multiplication operation, and one homomorphic addition operation, thus the computational overhead is small.

[0064] The encryption scheme of this invention is based on CL homomorphic encryption technology. It does not require a trusted third party to perform factorization, avoids range proof, and better protects the security of data and information. At the same time, CL encryption has the advantages of low communication volume and low communication cost, and can achieve authentication with low latency.

[0065] This invention updates the verification factor during identity verification at regular intervals. The blockchain records the updates of the verification factor, which enhances the flexibility of verification and further improves the security of the system. Moreover, the verification factor is not updated frequently, so it does not affect the transaction speed. Attached Figure Description

[0066] Figure 1 This is a system model diagram in this invention.

[0067] Figure 2 This is the data structure for transactions in the blockchain in this invention.

[0068] Figure 3 This is a flowchart of device registration in this invention.

[0069] Figure 4 This is a flowchart of device authentication in this invention.

[0070] Figure 5 This is a flowchart of the verification factor update in this invention.

[0071] Figure 6 This is a flowchart of the authentication method of the present invention. Detailed Implementation

[0072] The embodiments of the present invention will be disclosed below with reference to the drawings. For clarity, many practical details will be described in the following description. However, it should be understood that these practical details are not intended to limit the invention. That is, in some embodiments of the invention, these practical details are not essential.

[0073] like Figure 6 As shown, this invention provides a FOG-IoT authentication method based on blockchain and CL encryption, which includes the following steps:

[0074] Step 1, Public Parameter Generation Phase: All participants collaborate to generate public parameters for the CL encryption scheme, which are then shared among users as public values. The specific process includes the following steps:

[0075] Step 1-1: Calculate the basic discriminant and the random common parameters needed to generate the class group. Specifically:

[0076] Step 1-1-1, n participants P i Input common parameters (q, 1) λ The ISetup algorithm is run collaboratively, where λ is a safety parameter and q is the finite field F. q The level, the participating party P i Select a random number r i , Calculate r i The promise (gc) i ,gd i )←Com(r i ), and broadcast gc i Where Com refers to the commitment algorithm, gc i For the purpose of providing information, gd i To open the promised information;

[0077] Step 1-1-2, each participating party P i Received from the remaining party {P j} j≠i The promise {gc j} j≠i Afterwards, broadcast gd i ;

[0078] Step 1-1-3, each participating party P i GD received the broadcast i Then, execute r i ←Open(gc i gd i ), reveal r i Open is the algorithm for the open commitment;

[0079] Step 1-1-4, each participating party P i Calculate common parameters

[0080] Steps 1-2: Collaboratively generate common parameter g q Specifically, it includes the following steps:

[0081] Step 1-2-1, each participating party P i run in, It is a λ-bit integer, a subgroup Depend on generate, Subgroup F is generated by f. yes The upper limit of the order, and the common parameters for generating the CL scheme;

[0082] Step 1-2-2, each participating party P i Choose a random number t i , calculate Generate their own random g i Share;

[0083] Steps 1-2-3, each participating party P i Calculate g i promise broadcast For the purpose of providing information, To open the promised information;

[0084] Steps 1-2-4, each participating party P i Received from the remaining party {P j} j≠i promise Afterwards, broadcast

[0085] Steps 1-2-5, each participating party P i Received broadcast Then, execute Unveiling g i ;

[0086] Steps 1-2-6, each participating party P i Broadcast t i Zero-knowledge proof ZKPoK, Prove that you know t i ;

[0087] Steps 1-2-7, {P j} j≠i Upon receiving the broadcast zero-knowledge proof, it will be verified. If the verification fails, the protocol will be terminated.

[0088] Steps 1-2-8, each participating party P i Calculate the common parameter g of the CL encryption scheme. q , Output common parameters of the CL scheme

[0089] Step 2, Initialization Phase: Multiple blockchain nodes are selected to build a blockchain network. The Key Management Center (KGC) generates public-private key pairs (PK) for the FOG end. F ,sk F ) and public / private key pairs (PK) of IoT terminals i ,sk i ).

[0090] Step 3, Registration Phase: The registration phase includes a registration request and a registration response. The IoT terminal generates a third-order polynomial and sends a registration request to the FOG terminal. The FOG terminal stores the IoT device's identifier and key pair (ID, key) locally and sets the key and secret pair <key,(a,b,c,d). key > Upload to the blockchain to complete the IoT device registration request.

[0091] The registration request is initiated by the IoT terminal to the FOG terminal, and specifically includes the following steps:

[0092] Step 3-1-1: The IoT terminal randomly generates a third-order polynomial E(x) = ax 3 +bx 2 +cx+d;

[0093] Step 3-1-2: The IoT terminal selects a random number k and obtains the current timestamp T. Then, the terminal uses its private key to pair m. A Generate a signature using (a, b, c, d, k, T).

[0094] Step 3-1-3: The IoT terminal uses the public key from the FOG terminal to perform a PK (player kill) operation. F m B Encrypt (a, b, c, d, k, T, sign, ID) to generate ciphertext. Send a registration request to the FOG client.

[0095] The registration response is the process by which the FOG terminal handles the registration request sent by the IoT terminal, and specifically includes the following steps:

[0096] Step 3-2-1: After receiving the registration request from the IoT terminal, the FOG terminal verifies the correctness of the signature;

[0097] Step 3-2-2: If the signature verification is successful, the FOG end uses the AES encryption algorithm to encrypt (a,b,c,d) using the key, generating (a,b,c,d). key ;

[0098] Step 3-2-3: Map <key,(a,b,c,d) key > Upload to the blockchain and return a registration success message to the IoT terminal;

[0099] Step 3-2-4: If signature authentication fails, a registration failure message will be returned.

[0100] Step 4, Authentication Phase: The FOG terminal performs authentication based on the verification factor and the identity ID provided by the IoT terminal, which includes authentication request, request response, and response confirmation.

[0101] The authentication request is as follows:

[0102] Step 4-1: The FOG broadcasts a message indicating that resources are available to the nodes within the system;

[0103] Step 4-1-1: Randomly select a first or second order polynomial Δ(x) = αx at the FOG end. 2 +βx+γ is used as a verification factor;

[0104] Step 4-1-2: The FOG end uploads the coefficients (α,β,γ) of the second-order polynomial to the blockchain;

[0105] Step 4-2: After receiving the availability message from the FOG terminal, the IoT terminal initiates an authentication request to the FOG terminal.

[0106] The request response is initiated by the IoT terminal after receiving an available message from the FOG terminal, and specifically includes:

[0107] Step 4-2-1: After receiving the authentication request from the IoT terminal, the FOG terminal finds the encryption key corresponding to the ID in the security module based on the ID.

[0108] Step 4-2-2: Download the corresponding <key,(a,b,c,d) from the blockchain on the FOG end. key >, use Key to decrypt and get (a,b,c,d).

[0109] The response confirms that the FOG terminal has begun verifying whether (a,b,c,d) obtained from the chain is the same as (a,b,c,d)′ in the IoT terminal that initiated the verification request. Specifically, it includes the following steps:

[0110] Step 4-3-1, FOG-side calculation We obtain F(x) = εx + ω;

[0111] Step 4-3-2: Select a random number h at the FOG end and calculate k = F(h) = εh + ω;

[0112] Step 4-3-3: The FOG end encrypts h using the CL homomorphic encryption scheme, generates ciphertext c = CL(h), and sends it to the IoT terminal.

[0113] Step 4-3-4: After receiving the ciphertext c, the IoT terminal obtains (α,β,γ) from the chain to get Δ(x)=αx 2 +βx+γ;

[0114] Step 4-3-5, IoT terminal computing We obtain F′(x) = mx + n;

[0115] Step 4-3-6: The IoT terminal uses m and n of function F′(x) to perform homomorphic multiplication and addition on the ciphertext c, and returns the calculation result V to the FOG terminal;

[0116] Step 4-3-7: After receiving V, FOG performs homomorphic decryption to obtain k′, compares k′ with k. If k′ = k, the authentication is successful; if k′ ≠ k, the authentication fails.

[0117] Step 5, Periodic Update of Validation Factors: The FOG side updates the validation factors periodically.

[0118] The FOG (Factory Object Group) periodically updates the validation factor by selecting a new second-order polynomial Δ′(x) = α′x every time time t. 2 +β′x+γ′ is used as the verification factor, and the specific steps include the following:

[0119] Step 5-1-1: The FOG end uploads the coefficients (α′,β′,γ′) of the new second-order polynomial to the blockchain;

[0120] Step 5-1-2: The FOG broadcasts a message to update the verification factor so that the IoT terminal can obtain the new (α′,β′,γ′) from the chain in a timely manner during authentication.

[0121] like Figure 1 As shown, the present invention also provides a blockchain-based FOG-IoT authentication system, which mainly includes two aspects: a registration phase and an authentication phase.

[0122] For devices in the system to use FOG resources, they must first register with FOG. The device first randomly generates a third-order polynomial, which serves as its secret and is bound to its identity. Then, it randomly selects a symmetric encryption key, obtains the current time, and uses its private key to sign the polynomial coefficients (a, b, c, d), the encryption key, and the current time T. Finally, it stores the parameters... The request is sent to the FOG (Federal Entity Group). After receiving the registration request, the FOG decrypts the parameters and verifies the signature. If the verification is successful, it uses AES to encrypt the polynomial parameters (a, b, c, d) of the device, with the encryption key being Key. Then, it uploads the mapping between Key and ciphertext to the blockchain to complete the registration.

[0123] The signature method used in this invention is BLS signature. Since the public-private key pair required for CL encryption is not suitable for signing, the device needs to generate a separate public-private key pair for signing. BLS signature, proposed by Dan Boneh, can combine all signatures in a block into a single signature. Multiple rounds of communication are required between signers, and the generated signature is a curve point. BLS requires two structures: hash to curve and bilinear pairing. In BLS signature, the hash algorithm needs slight modification; it can directly hash to an elliptic curve. The simplest way is to first hash the message and use the result as the x-axis. Bilinear pairing is a special function that takes two points P and Q and maps them to a number:

[0124] e(P,Q)→n

[0125] Its properties are as follows:

[0126] e(a·P,b·Q)=e(P,Q) ab

[0127] The specific steps for signing are as follows: If the private key is sk, the public key is P = sk·G, and the message to be signed is m, then the signature S = sk·H(m). The signature is verified by judgment.

[0128] e(P,H(m))=e(G,S)

[0129] Whether it is valid or not.

[0130] During authentication, FOG first publishes resource availability information to the system's stages. Devices then send verification requests to FOG, including their device IDs. Upon receiving the registration request, FOG retrieves the locally stored encryption key Key using the ID, and uses the Key to obtain the corresponding secret information on the blockchain and the publicly available verification factor to begin verifying the device's legitimacy. FOG first selects a random number h, divides the polynomial obtained on the blockchain by the verification factor, obtaining a first-order polynomial F(x) = εx + ω, and substitutes h into it to obtain the value k. Then, it uses CL homomorphic encryption to encrypt h and sends the encrypted ciphertext to the device. Upon receiving the ciphertext, the device similarly obtains the publicly available verification factor on the blockchain, divides its local third-order polynomial by the verification factor to obtain a first-order polynomial F′(x) = mx + n, and performs homomorphic multiplication and addition on the ciphertext based on the polynomial coefficients, returning the result V to FOG. FOG then performs homomorphic decryption to obtain k′, compares it with k, and if they are equal, the verification is successful.

[0131] This invention utilizes a blockchain-based and CL-encrypted FOG-IoT authentication method to ensure the security and integrity of information from IoT sensing devices. The blockchain also records the update history of the verification factor, increasing the flexibility of the verification process. Furthermore, the CL homomorphic encryption technology has the advantage of low communication volume and low communication cost, enabling authentication with low latency.

[0132] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A FOG-IoT authentication method based on blockchain and CL homomorphic encryption, characterized in that: Includes the following steps: Step 1, Public Parameter Generation Phase: All participants collaborate to generate CL homomorphic encrypted public parameters, which are shared among users as public values; Step 2, Initialization Phase: Multiple blockchain nodes are selected to build a blockchain network, and the Key Management Center (KGC) generates public and private key pairs for the FOG end. and public / private key pairs for IoT terminals ; Step 3, Registration Phase: The registration phase includes a registration request and a registration response. Specifically, the IoT terminal generates a third-order polynomial and sends a registration request to the FOG terminal. The FOG terminal then sends the IoT terminal's identifier ID and key. The mapping constituted Store the key locally. and secrets The mapping constituted Uploaded to the blockchain to complete the IoT terminal registration request, wherein, The coefficients of the third-order polynomial are secret. The FOG end uses the AES encryption algorithm and a key. right Generated by encryption; Step 4, Authentication Phase: The FOG terminal randomly selects a second-order polynomial. As a verification factor, authentication is performed based on the verification factor and the identifier ID provided by the IoT terminal, which specifically includes authentication request, request response and response confirmation. Step 5, Periodic Update of Validation Factors: The FOG side updates the validation factors periodically.

2. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: The process of generating common parameters in step 1 is as follows: Step 1-1: Calculate the basic discriminant and the random common parameters needed to generate the class group. ; Steps 1-2: Collaboratively generate common parameters .

3. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 2, characterized in that: Step 1-1 calculates the basic discriminant and the random common parameters needed to generate the class group. Includes the following steps: Step 1-1-1, n participants Input common parameters ,in, These are safety parameters. Finite field The level, the participants Select random number , ,calculate promise and broadcast ,in, The commitment algorithm For the purpose of providing information, To open the promised information; Step 1-1-2, each participating party Received from the other party promise Afterwards, broadcast ; Step 1-1-3, each participating party Received broadcast Then, execute Unveiling Open is the algorithm for the open commitment; Step 1-1-4, Each Participating Party Calculate common parameters , .

4. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 2, characterized in that: Steps 1-2 collaboratively generate common parameters. Specifically, the steps include the following: Step 1-2-1, Each Participating Party run ,in, yes Bit integers, subgroups Depend on generate, Subgroup F is composed of generate, yes The upper limit of the order is used to generate common parameters for CL homomorphic encryption; Step 1-2-2, Each Participating Party Choose a random number , ,calculate Generate their own random Share; Steps 1-2-3, each participating party calculate promise ,broadcast , For the purpose of providing information, To open the promised information; Steps 1-2-4, each participating party Received from the other party promise Afterwards, broadcast ; Steps 1-2-5, each participating party Received broadcast Then, execute ,broadcast ; Steps 1-2-6, each participating party broadcast Zero-knowledge proof ZKPoK, Prove that you know ; Steps 1-2-7 Upon receiving the broadcast zero-knowledge proof, it will be verified. If the verification fails, the protocol will be terminated. Steps 1-2-8, each participating party Calculate the common parameters of CL homomorphic encryption. , Output the common parameters of CL homomorphic encryption. .

5. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 3, the registration request is initiated by the IoT terminal to the FOG terminal, specifically including the following steps: Step 3-1-1: The IoT terminal randomly generates a third-order polynomial. ; Step 3-1-2: The IoT terminal selects a random number k and obtains the current timestamp. The terminal then uses the private key to... Signature generation ; Step 3-1-3: Use the public key from the FOG terminal on the IoT terminal. Will Encryption, generating ciphertext Send a registration request to the FOG client.

6. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 3, the registration response is the FOG terminal processing the registration request sent by the IoT terminal, specifically including the following steps: Step 3-2-1: After receiving the registration request from the IoT terminal, the FOG terminal verifies the correctness of the signature; Step 3-2-2: If the signature verification is successful, the FOG end uses the AES encryption algorithm to... Encryption, the encryption key is key, generate ; Step 3-2-3: Map Uploaded to the blockchain, and a successful registration message is returned to the IoT terminal; Step 3-2-4: If signature verification fails, a registration failure message will be returned.

7. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 4, the authentication request is specifically as follows: Step 4-1: The FOG broadcasts a message indicating that resources are available to the nodes within the system; Step 4-1-1: Randomly select a second-order polynomial on the FOG end. As a verification factor; Step 4-1-2: FOG end converts the coefficients of the second-order polynomial Uploaded to the blockchain; Step 4-2: After receiving the availability message from the FOG terminal, the IoT terminal initiates an authentication request to the FOG terminal.

8. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 4, the request response is initiated by the IoT terminal after receiving the available message from the FOG terminal, specifically including: Step 4-2-1: After receiving the authentication request from the IoT terminal, the FOG terminal, based on its... Find this in the security module. Corresponding encryption key ; Step 4-2-2: Download the blockchain data from the FOG client. corresponding ,use Decryption .

9. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 4, the response confirms that the FOG end has begun verifying the data obtained from the chain. Is it consistent with the IoT terminal that initiated the verification request? The process is the same, specifically including the following steps: Step 4-3-1, FOG-side calculation ,get ; Step 4-3-2: Select a random number h at the FOG end and calculate... ; Step 4-3-3: The FOG end encrypts h using CL homomorphic encryption to generate ciphertext. Send to the IoT terminal; Step 4-3-4: The IoT terminal receives the encrypted message. Then, retrieve from the chain. get ; Step 4-3-5, IoT terminal computing ,get ; Step 4-3-6: IoT terminal utilizes functions Given m and n, perform homomorphic multiplication and addition on the ciphertext c, and return the calculation result V to the FOG end; Step 4-3-7: After FOG receives V, it performs homomorphic decryption to obtain... , Compare and ,like If the authentication is successful, then the authentication is successful. If not, authentication will fail.

10. The FOG-IoT authentication method based on blockchain and CL homomorphic encryption according to claim 1, characterized in that: In step 5, the FOG side periodically updates the verification factor by selecting a new second-order polynomial every time t. As a validation factor, the specific steps include the following: Step 5-1-1: The FOG end will input the coefficients of the new second-order polynomial. Uploaded to the blockchain; Step 5-1-2: The FOG broadcasts a message updating the verification factor so that the IoT terminal can obtain the new factor from the chain in a timely manner during authentication. .

Citation Information

Patent Citations

  • Method and system for authentication by using block chain

    CN106301794A

  • Internet of Things equipment identity authentication method based on block chain

    CN109981582A