Industrial internet of things bidirectional anonymous data sharing method based on proxy re-encryption

CN117614718BActive Publication Date: 2026-09-22ANHUI UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311633924.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-01
Publication Date
2026-09-22
Estimated Expiration
2043-12-01

AI Technical Summary

Benefits of technology

[0036](1)本发明能够实现工业物联网中设备之间灵活的双向匿名数据共享,并根据具体要求和情况通过选择不同的底层加密算法进行定制。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117614718B_ABST
    Figure CN117614718B_ABST
Patent Text Reader

Abstract

The application discloses a kind of industrial internet of things bidirectional anonymous data sharing methods based on proxy re-encryption, including system initialization phase, equipment joins corresponding group;Data storage phase, equipment uploads data to cloud server;Data request phase, equipment sends data request to gateway;Data distribution phase, proxy processes data and sends data to requester by some operations.The application uses group signature technology to ensure the anonymity of equipment, and uses hardware-based proxy re-encryption technology to realize efficient and secure data transmission.While ensuring the bidirectional anonymity of equipment, high data sharing efficiency and security are realized.Meanwhile, the underlying algorithms of group signature and proxy re-encryption can be flexibly selected according to specific circumstances.The overhead of industrial internet of things equipment is reduced, and the efficiency of the entire system can be greatly improved, making it more suitable for some more complex scenarios in industrial internet of things.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the Industrial Internet of Things (IIoT), proxy re-encryption, and group signature technology, specifically to an IIoT bidirectional anonymous data sharing method based on proxy re-encryption. Background Technology

[0002] The Industrial Internet of Things (IIoT) is a concept that applies Internet and Internet of Things (IoT) technologies to the industrial sector. It connects various industrial devices, tools, and processes through IoT technology, enabling data sharing, monitoring, analysis, and control among these devices. Its aim is to significantly improve production efficiency, reduce costs, improve product quality, reduce energy consumption, and enhance workplace safety.

[0003] In Industrial Internet of Things (IIoT) systems, these devices have limited storage space and computing power, making it impossible to store and process large amounts of data. Complex calculations or large amounts of data are typically transferred to servers for processing or storage. When devices need to upload or request these resources, they first request a qualification certificate from their gateway, and then use the certificate to upload or request the resources. Only authenticated devices can perform the relevant operations. In this way, resource-constrained devices can avoid complex operations with high computing and storage costs. However, storing device data on cloud servers also brings the risk of data loss and security risks. If the data is not properly encrypted, it may lead to data leakage and misuse. To ensure data confidentiality, data should be stored in encrypted form.

[0004] Meanwhile, due to the openness of networks in IIoT systems, the transmission of terminal device identity information through open channels during communication poses a risk of privacy leakage. Furthermore, communication entities are not entirely trustworthy, and dishonest entities may maliciously leak device identity information. Therefore, introducing a two-way anonymity mechanism for devices is essential in this context. Two-way anonymity ensures that the device's identity is protected during data exchange. This is crucial for device privacy, as the device's identity may contain sensitive information such as manufacturer, model, and location. Anonymity prevents devices from being tracked and exposed to untrusted environments. This is also crucial for protecting the privacy and security of data sources, especially when the data source is critical or contains sensitive information. This is particularly important for applications in the Industrial Internet of Things (IIoT) that require ensuring the privacy of both device and user identities. Therefore, it is necessary to design an IIoT two-way anonymity data sharing scheme to protect device privacy while ensuring data confidentiality.

[0005] Proxy re-encryption is an effective means of solving data confidentiality issues. Although some schemes guarantee data confidentiality, they also suffer from efficiency problems. Traditional proxy re-encryption algorithms mostly suffer from poor performance and scalability, cannot achieve ciphertext conversion between arbitrary encryption schemes, and incur significant overhead during decryption and conversion, making them less than ideal for practical applications in some scenarios. Furthermore, we have found that many existing solutions primarily focus on the anonymity of the data recipient, while failing to adequately protect the anonymity of the data sender. Group signatures are commonly used cryptographic primitives for achieving anonymity; their anonymity, untraceability, and non-linkability can meet the privacy protection requirements of IIoT systems. Summary of the Invention

[0006] Purpose of the Invention: The purpose of this invention is to address the shortcomings of existing technologies and provide a bidirectional anonymous data sharing method for the Industrial Internet of Things (IIoT) based on proxy re-encryption. This invention combines group signature technology and hardware-based proxy re-encryption technology. Group signature technology ensures bidirectional anonymity, allowing both the data sender and receiver to remain anonymous, thereby reducing the risk of privacy leaks. Hardware-based proxy re-encryption technology converts ciphertext in a secure enclave and can employ simple encryption algorithms. While ensuring data confidentiality, it reduces device-side overhead and effectively protects data from unauthorized access during data transmission, making it suitable for some complex scenarios in the Industrial Internet of Things.

[0007] Technical Solution: The present invention provides a method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption, comprising the following steps:

[0008] Step (1), System initialization phase, Gateway (GW) s / GW r Initialize the group common parameters, which is done by the shared device's gateway (GW). s Initialize the secure enclave with the proxy server PS, GW r This request is made to the device-side gateway; the group common parameters include the group common parameters PP, master key msk, traceability key tsk, and gateway encryption private key sk. G.pke PK with encrypted public key G.pke ;

[0009] Step (2), Equipment Addition Stage, (GW) s / GW r ) for device (SD) i / RD j Use the group join algorithm GS.Join(PP, msk, id) i / id j Generate group signature key and the corresponding device identity (id) i / id jAdd to the locally maintained identity list (IDLI / IDLJ); SD i and RD j These are the shared device and the requesting device, id. i id j These are the identities of the i-th sharing device and the j-th requesting device, respectively.

[0010] Step (3), data storage stage, shared device SD i Use the gateway's public key to PK G.pke Encrypt the data and then encrypt the resulting ciphertext ct′={ct,σ ct The data is transmitted to the cloud server, and then the data information is sent to the gateway GW. s Shared device gateway GW s After receiving the data information DataInfo = {DataTag, Addr}, the DataInfo is stored in the locally maintained data information list DIL; DataTag is the identifier of the data, and Addr is the address where the data is stored in the cloud server;

[0011] Step (4), Data Request Phase, Requesting Device RD i To access data, first generate a data access request m. ar Then m ar Send to GW s GW s Verify if the request comes from GW r If the group being managed is successfully verified, GW s A re-encryption key will be generated and sent to the proxy server PS;

[0012] Step (5), the data distribution stage, the proxy server performs the ciphertext conversion process in the enclave; then it re-encrypts the ciphertext ct. re Send to GW r GW r The requester device RD was located using a swarm tracking algorithm. j Then re-encrypt the ciphertext ct re and corresponding signature σ re Forwarded to the requester device RD j Finally, RD j Plaintext data is obtained by running a decryption algorithm.

[0013] Furthermore, the detailed process of step (1) is as follows:

[0014] Step (1-1), Group Initialization: Gateway (GW) s and GW r Run the group setup algorithm GS.Setup(1)λ ), obtain the group common parameters PP, master key rusk, and tracing key tsk, secretly store the master key rusk and tracing key tsk, and publish the group common parameters PP; GW s Create an identity list IDLI and a data information list DIL, and initialize them to empty; GW r Also create an identity list IDLJ and initialize it to empty;

[0015] Steps (1-2), Enclave Initialization: Gateway GW s The proxy server PS runs HW.Setup(1) on their respective HW instances. λ ), and record the output parameter params;

[0016] Steps (1-3), Gateway (GW) s The proxy server PS runs their key generation method to perform remote authentication of the enclave and generates the corresponding key.

[0017] Furthermore, the specific process of the data storage stage in step (3) is as follows:

[0018] Step (3-1), Shared device SD i First, use the gateway's public key to PK. G.pke Encrypt data using PKE.Enc(pk G.pke The ciphertext ct is obtained by the (Data) algorithm, which can be regarded as the initial encryption stage of the proxy re-encryption;

[0019] Step (3-2), Shared device SD i pass Algorithm for generating group signature σ ct ;

[0020] Step (3-3), Shared device SD i Send the encrypted text ct′={ct,σ to the cloud server ct};

[0021] Steps (3-4), Shared device SD i To GW s Send data information DataInfo = {DataTag, Addr};

[0022] Steps (3-5), Gateway (GW) s After receiving the data information DataInfo, it stores it in the local data information list DIL.

[0023] Furthermore, the detailed process of the data request in step (4) is as follows:

[0024] Step (4-1): Request device RD j Generate a random public-private key pair (sk temp , pk temp ),pass The algorithm generates a group signature σ j ;

[0025] Request device RD j To GW s Send an access request m ar ={{DataTag, pk temp , σ j};

[0026] Step (4-2), Gateway (GW) s Inspection team signature σ j Is it effective? If so, then GW s The data storage address Addr will be located in the local data information list DIL;

[0027] Then through S.Sign(sk G.sign {Addr, pk temp m ar}) Calculate a signature σ rem ;({Addr, pk temp m ar}, σ rem ) is the re-encryption key;

[0028] Last gateway GW s ({Addr, p k temp m ar}, σ rem Send it to the proxy server PS.

[0029] Furthermore, the specific process of data distribution in step (5) is as follows:

[0030] Step (5-1): When the proxy server PS receives the re-encryption key ({Addr, pk...) temp m ar}, σ rem After that, run the re-encryption algorithm within the enclave to re-encrypt the ciphertext; and output {ct} re , σ re m ar} was sent to the gateway GW r ;

[0031] Step (5-2), GW r It receives data from the proxy server and runs a swarm tracking algorithm to find the requesting device ID. j←GS.Trace(PP,tsk,{DataTag,pk temp}, σ j ). GW r Send {ct r e, σ re} Give the requesting device RD j ;

[0032] Step (5-3), RD j Received re-encrypted message ct re and the corresponding signature σ re and for σ re Perform verification; b←S.Verify(vk P , σ re ct re If b = 1, RD j Run PKE.Dec(sk) temp ct re Get the requested data.

[0033] When multiple requests point to the same data, this invention simplifies the re-encryption operation. Specifically, when the proxy server receives multiple requests pointing to the same data, it only needs to decrypt the data once, thus greatly saving computational overhead.

[0034] Input parameters (reencrypy, m) rem , σ rem First, calculate the signature S.Verify(vk) G.sign , σ rem m rem If b = 0, output ⊥; then from m rem In the analysis of Addr, σ rd and PK temp Read sk from static memory G.pke Read ct′={ct,σ ct}; then decrypt m using the decryption algorithm PKE.Dec(sk G.pke ,ct), decrypt ct re By decrypting the algorithm PKI.Eec(pk temp ,m), then for ct re Digital signatures are performed via S.Sign(sk P.sign ct re ) to obtain σ re The final output is (ct) re , σ re m ar ).

[0035] Beneficial effects: Compared with the prior art, the present invention has the following advantages:

[0036] (1) The present invention can realize flexible two-way anonymous data sharing between devices in the Industrial Internet of Things, and can be customized by selecting different underlying encryption algorithms according to specific requirements and circumstances.

[0037] (2) The present invention designs an IIoT cross-domain anonymous sharing method using group signature and proxy re-encryption technology and integrates it into the present invention. It has bidirectional anonymity and at the same time guarantees the anonymity of sharing devices and requesting devices in IIoT.

[0038] (3) This invention can achieve more functions, such as arbitrary ciphertext conversion, batch re-encryption, permission revocation, and higher scalability. In addition, the security of this cryptographic protocol is evaluated through formal security analysis and can resist various types of attacks, and has stronger security compared with other related schemes. Attached Figure Description

[0039] Figure 1 This is a system model diagram of the present invention;

[0040] Figure 2 Overall flowchart of the present invention;

[0041] Figure 3 This is a comparison chart of the overall computational overhead in one embodiment of the present invention;

[0042] Figure 4 This is a comparison chart of some computational overhead in one embodiment of the present invention. Detailed Implementation

[0043] The technical solution of the present invention will be described in detail below, but the scope of protection of the present invention is not limited to the embodiments described.

[0044] like Figure 1 As shown, the present invention provides a method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption, comprising the following steps:

[0045] Step (1), System initialization phase, Gateway (GW) s / GW r Initialize the group common parameters, which is done by the shared device's gateway (GW). s Initialize the secure enclave with the proxy server PS, GW r This request is made to the device-side gateway; the group common parameters include the group common parameters PP, master key msk, traceability key tsk, and gateway encryption private key sk. G.pke PK with encrypted public key G.pke ;

[0046] Step (2), Equipment Addition Stage, (GW) s / GW r ) for device (SD) i / RD j Generate group signature key and the corresponding device identity (id) i / id j Add to the locally maintained identity list (IDLI / IDLJ); SD i and RD j These are the shared device and the requesting device, id. i id j These are the identities of the i-th sharing device and the j-th requesting device, respectively.

[0047] Step (3), data storage stage, shared device SD i Use the gateway's public key to PK G.pke Encrypt the data 'data' and then encrypt the resulting ciphertext ct′={ct,σ ct The data is transmitted to the cloud server, and then the data information is sent to the gateway GW. s Shared device gateway GW s After receiving the data information DataInfo = {DataTag, Addr}, the DataInfo is stored in the locally maintained data information list DIL; DataTag is the identifier of the data, and Addr is the address where the data is stored in the cloud server;

[0048] Step (4), Data Request Phase, Requesting Device RD j To access data, first generate a data access request m. ar Then m ar Send to GW s GW s Verify if the request comes from GW r If the group being managed is successfully verified, GW s A re-encryption key will be generated and sent to the proxy server PS;

[0049] Step (5), the data distribution stage, the proxy server performs the ciphertext conversion process in the enclave; then it re-encrypts the ciphertext ct. re Send to GW r GW r Find the requester device RD using a swarm tracking algorithm j Then re-encrypt the ciphertext ct re and corresponding signature σ re Forwarded to the requester device RD j Finally, RD jPlaintext data is obtained by running a decryption algorithm.

[0050] Step (1) of this embodiment: Gateway GW s The specific process of using the key generation method on the proxy server PS to perform remote authentication of the enclave and generate the key is as follows:

[0051] Step 1) GW s And PS runs HW.load( p arams, Q G.KeyGen ) and HW.load(params, Q P.KeyGen Obtain the program handle hdl G and hdl G ;

[0052] Step 2) GW s Run HW.R(hdl) P , ("init", 1 λ )) and HW.Run&Quote(hdl G , ("init", 1 λ Get the key (vk) P.s ign vk G.sign , pk G.pke ) and GW s Enclave certification report quote G ;

[0053] Step 3) Receive GW on the proxy server PS s The issued certification report quote G Then, run HW.Run&Quote(hdl) P , ("attestation", quote G 1 λ To obtain the PS enclave certification report quote P ;

[0054] Step 4) GW s Run HW.R(hdl) G , (“provision”, quete P , pk hw )) to get (ct sk , σ sk );

[0055] Step 5) After receiving the feedback, the agent runs HW.R(hdl) P , (“ p rovision", ct sk , σ sk )).

[0056] The algorithm described above is as follows:

[0057] The key generation program segment is defined as follows:

[0058] Q G.KeyGen This is the key generation code segment on the gateway, which includes two functions. The first function is responsible for generating the signing and verification keys, as well as the encryption and decryption keys. The second function is responsible for encrypting the key used for decryption. P.KeyGen This is the key generation program segment used by the agent, which consists of three functions. The first function is responsible for generating the signature and verification keys. The second function is responsible for generating the internal key. The third function is responsible for decrypting the key used for decryption.

[0059] Gateway key generation program segment Q G.KeyGen Function 1: Input parameters ("init", 1) λ ), run S.KeyGen(1 λ Generate signature verification key pair (vk G.sign ,sk G.。ign Then run PKE.KeyGen(1) λ Generate public-private key pairs (pk G.pke ,sk G.pke Finally, (sk) G.pk e, vk G.sign ,sk G.sign ) is stored in static memory, and (vk G.sign , Pk G.pke Output.

[0060] Gateway key generation program segment Q G.KeyGen Function 2: Input parameters ("provision", query) P , pk hw ), parsing quote P =(md hdl , tag Q ,in,out,σ), if tag Q ≠tag P Output ⊥. Otherwise, run HW.QuoteVerify(params, quote) P If b is obtained, and b = 0, output ⊥. Otherwise, run PKE.Enc(pk hw ,sk G.pke ) Obtain the ciphertext ct sk , for encrypted ct sk Perform the signature S.Sign(sk) G.sign ct st ) Obtain signature σ skFinally, the ciphertext and signature are output (ct) sk , σ sk ).

[0061] Agent-side key generation program segment Q P.KeyGen Function 1: Input parameters ("init", 1) λ ), run S.KeyGen(1 λ Generate signature verification key pair (vk P.sign ,sk P.sign Finally, (sk) P.sign ) is stored in static memory, and (vk P.sign Output.

[0062] Agent-side key generation program segment Q P.KeyGen Function 2: Input parameters ("attestation", query) G 1 λ ), parsing quote G =(md hdl , tag Q ,in,out,σ), if tag Q ≠tag G Output ⊥. Otherwise, run HW.QuoteVerify(params, quote) G If b = 0, output ⊥. Otherwise, run PKE.KeyGen(1 λ ) to obtain public-private pairing (pk hw ,sk hw Finally, sk hw Store in static memory, then output pk. hw .

[0063] Agent-side key generation program segment Q P.KeyGen Function 3: Input parameters ("provision", ct) sk , σ sk First, calculate the signature S.Verify(vk) G.sign , σ sk ct sk If b is obtained, and b = 0, output ⊥. Otherwise, decrypt the private key sk. G.pke By decrypting the algorithm PBE.Dec(sk) hw ct sk Finally, sk G.pke Stored in static memory.

[0064] In step (5) of this embodiment, if multiple requests point to the same data, they can be simplified by re-encryption. The algorithm is described as follows:

[0065] Q P.Reencrypt The steps of the program segment are as follows: Input parameters (reencrypy, m rem , σ rem First, calculate the signature S.Verify(vk) G.sign , σ rem m rem If b = 0, output ⊥. Then from m... rem In the analysis of Addr, σ ra and PK temp Read sk from static memory G.pke Read ct′={ct,σ ct Then, m is decrypted using the decryption algorithm PKE.Dec(sk). G.pke ,ct), decrypt ct re By decrypting the algorithm PKI.Eec(pk temp ,m), then for ct re Digital signatures are performed via S.Sign(sk P.sign ct re ) to obtain σ re The final output is (ct) re , σ re m ar ).

[0066] To facilitate understanding of the technical solution in this embodiment, the meanings of the relevant variables are explained first, as detailed in Table 1.

[0067] Table 1

[0068]

[0069]

[0070] Example:

[0071] The computational overhead of the technical solution of this invention in actual application is compared with that of other solutions, and the results are as follows: Figure 3 As shown, the present invention (rightmost in the figure) has significant advantages in terms of both overall and partial overhead.

[0072] The encryption overhead of the technical solution of this invention in actual application is compared with the encryption overhead of other solutions, and the results are as follows: Figure 4 As shown, the encryption overhead of the technical solution of the present invention is low.

Claims

1. A method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption, characterized in that, Includes the following steps: Step (1), System initialization phase, Gateway (GW) s / GW r Initialize the group common parameters, which is done by the shared device's gateway (GW). s Initialize the secure enclave with the proxy server PS, GW r This request is made to the device-side gateway; the group common parameters include the group common parameters PP, master key rmsk, traceability key tsk, and gateway encryption private key sk. G.pke PK with encrypted public key G.pke ; Step (2), Equipment Addition Stage, (GW) s / GW r ) for device (SD) i / RD j Generate group signature key and the corresponding device identity (id) i / id j Add to the locally maintained identity list (IDLI / IDLJ); SD i and RD j These are the shared device and the requesting device, id. i id j These are the identities of the i-th sharing device and the j-th requesting device, respectively. Step (3), data storage stage, shared device SD i Use the gateway's public key to PK G.pke Encrypt the data 'data' and then encrypt the resulting ciphertext ct′={ct,σ ct The data is transmitted to the cloud server, and then the data information is sent to the gateway GW. s Shared device gateway GW s After receiving the data information DataInfo = {DataTag, Addr}, the DataInfo is stored in the locally maintained data information list DIL; DataTag is the identifier of the data, and Addr is the address where the data is stored in the cloud server; Step (4), Data Request Phase, Requesting Device RD j To access data, first generate a data access request m. ar Then m ar Send to GW s GW s Verify if the request comes from GW r If the group being managed is successfully verified, GW s A re-encryption key will be generated and sent to the proxy server PS; Step (5), the data distribution stage, the proxy server performs the ciphertext conversion process in the enclave; then it re-encrypts the ciphertext ct. re Send to GW r GW r Find the requester device RD using a swarm tracking algorithm j Then re-encrypt the ciphertext ct re and corresponding signature σ re Forwarded to the requester device RD j Finally, RD j Plaintext data is obtained by running a decryption algorithm.

2. The method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption according to claim 1, characterized in that, The detailed process of step (1) is as follows: Step (1-1), Group Initialization: Gateway (GW) s and GW r Run the group setup algorithm GS.Setup(1) λ ), obtain the group common parameters PP, master key msk, and tracing key tsk, secretly store the master key msk and tracing key tsk, and publish the group common parameters PP; GW s Create an identity list IDLI and a data information list DIL, and initialize them to empty; GW r Also create an identity list IDLJ and initialize it to empty; Steps (1-2), Enclave Initialization: Gateway GW s The proxy server PS runs HW.Setup(1) on their respective HW instances. λ ), and record the output parameter params; Steps (1-3), Gateway (GW) s The proxy server PS runs their key generation method to perform remote authentication of the enclave and generates the corresponding key.

3. The method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption according to claim 1, characterized in that, The specific process of the data storage stage in step (3) is as follows: Step (3-1), Shared device SD i First, use the gateway's public key to PK. G.pke Encrypt data using PKE.Enc(pk G.pke The ciphertext ct is obtained using the (Data) algorithm; Step (3-2), Shared device SD i pass Algorithm for generating group signature σ ct ; Step (3-3), Shared device SD i Send the encrypted text ct′={ct,σ to the cloud server ct }; Steps (3-4), Shared device SD i To the shared device gateway GW s Send data information DataInfo = {DataTag, Addr}; Steps (3-5), Gateway (GW) s After receiving the data information DataInfo, it stores it in the local data information list DIL.

4. The method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption according to claim 1, characterized in that, The detailed process of the data request in step (4) is as follows: Step (4-1): Request device RD j Generate a random public-private key pair (sk temp , pk temp ),pass The algorithm generates a group signature σ j ; Request device RD j To GW s Send an access request m ar ={{DataTag, pk temp , σ j }; Step (4-2), Gateway (GW) s Inspection team signature σ j Is it effective? If so, then GW s The data storage address Addr will be located in the local data information list DIL; Then through S.Sign(sk G.sign {Addr, pk temp m ar }) Calculate a signature σ rem ;({Addr, pk temp m ar }, σ rem ) is the re-encryption key; Last gateway GW s ({Addr, pk) temp m ar }, σ rem Send it to the proxy server PS.

5. The method for bidirectional anonymous data sharing in the industrial Internet of Things based on proxy re-encryption according to claim 1, characterized in that, The specific process of data distribution in step (5) is as follows: Step (5-1): When the proxy server PS receives the re-encryption key ({Addr, pk...) temp m ar }, σ rem After that, run the re-encryption algorithm within the enclave to re-encrypt the ciphertext; and output {ct} re , σ re m ar } was sent to the gateway GW r ; Step (5-2), GW r Data is received from the proxy server, and a swarm tracking algorithm is run to find the requesting device ID. j ←GS.Trace(PP,tsk,{DataTag,pk temp }, σ j Gateway (GW) r Send {ct re , σ re } Give the requesting device RD j ; Step (5-3), RD j Received re-encrypted ciphertext ct re and the corresponding signature σ re and for σ re Perform verification; b←S.Verify(vk P , σ re ct re If b = 1, RD j Run PKE.Dec(sk) temp ct re Get the requested data.