Trusted data space construction method, device, storage medium and system
By using zero-knowledge attribute proof and dynamic attribute base proxy re-encryption technology, the data consumer's permissions are verified and encryption/decryption is performed, solving the security and privacy protection issues in the data sharing process and realizing secure data circulation and privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-16
- Publication Date
- 2026-03-24
AI Technical Summary
Existing technologies are insufficient to effectively guarantee data security and privacy protection during data sharing, especially in the flow and collaboration of data between different entities, where there is a risk of sensitive information leakage.
Employing zero-knowledge attribute proof and dynamic attribute base proxy re-encryption technology, the system verifies the data consumer's permissions through the policy manager and uses the re-encryption key and target time slice parameters to encrypt and decrypt the data, ensuring that the encryption parameters differ when the data is accessed at different times, thereby improving security.
It enables secure data flow during data sharing, maximizes the protection of user privacy, reduces the risk of sensitive information leakage, and improves data security and compliance.
Smart Images

Figure CN121356911B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data security technology, and in particular to a method, device, storage medium and system for constructing a trusted data space. Background Technology
[0002] Trusted Data Space is a data circulation and utilization infrastructure based on consensus rules, connecting multiple entities to achieve data resource sharing and utilization. It is a digital environment built on data security, privacy protection, and trust mechanisms, aiming to realize data sharing, circulation, and collaboration among different entities (such as enterprises, institutions, and individuals), while ensuring the security, controllability, and compliance of data throughout its entire lifecycle (collection, storage, processing, transmission, and use). Summary of the Invention
[0003] In view of this, this application provides a method, apparatus, storage medium and system for constructing a trusted data space.
[0004] Specifically, this application is implemented through the following technical solution:
[0005] According to a first aspect of the embodiments of this application, a trusted data space construction is provided, applied to a proxy computing node, the method comprising:
[0006] Upon receiving a data access request from a data consumer and confirming that the policy manager has successfully verified the attributes of the data consumer, a re-encryption key is generated based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed. The data access request is sent by the data consumer to the proxy computing node after the data consumer has passed the policy manager's attribute verification using zero-knowledge attribute proof.
[0007] Using the re-encryption key and the target time slice parameter, the encrypted data to be accessed is re-encrypted to obtain the re-encrypted data to be accessed. The encrypted data to be accessed is encrypted by the data owner based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node. The target time slice parameter is generated by the policy manager based on a target timestamp and, if the data consumer attribute verification passes, is sent to both the proxy computing node and the data consumer. The target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer.
[0008] The re-encrypted data to be accessed is sent to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed, thereby obtaining the data to be accessed.
[0009] According to a second aspect of the embodiments of this application, a trusted data space construction apparatus is provided, deployed on a proxy computing node, the apparatus comprising:
[0010] The communication unit is used to receive data access requests sent by data consumers;
[0011] A determining unit is configured to determine whether the policy manager has passed the attribute verification of the data consumer when the communication unit receives a data access request sent by the data consumer;
[0012] A generation unit is configured to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when the communication unit receives a data access request sent by the data consumer and the determining unit determines that the policy manager has passed the attribute verification of the data consumer; wherein the data access request is sent by the data consumer to the proxy computing node after passing the attribute verification of the policy manager using zero-knowledge attribute proof.
[0013] A re-encryption unit is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter to obtain the re-encrypted data to be accessed. The encrypted data to be accessed is encrypted by the data owner based on the public key of the policy manager and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node. The target time slice parameter is generated by the policy manager based on a target timestamp and, if the data consumer attribute verification passes, is sent to both the proxy computing node and the data consumer. The target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer.
[0014] The communication unit is further configured to send the re-encrypted data to be accessed to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed and obtain the data to be accessed.
[0015] According to a third aspect of the embodiments of this application, an electronic device is provided, including a processor and a memory, wherein...
[0016] Memory, used to store computer programs;
[0017] The processor, when executing a program stored in memory, implements the method provided in the first aspect.
[0018] According to a fourth aspect of the embodiments of this application, a machine-readable storage medium is provided, wherein machine-executable instructions are stored therein, and when the machine-executable instructions are executed by a processor, the method provided in the first aspect is implemented.
[0019] According to a fifth aspect of the embodiments of this application, a computer program product is provided, wherein the computer program product stores a computer program, and the computer program, when executed by a processor, implements the method provided in the first aspect.
[0020] According to a sixth aspect of the embodiments of this application, a trusted data space construction system is provided, comprising: a data owner, a data consumer, an agent computing node, and a policy manager; wherein:
[0021] The data owner is used to encrypt the data to be accessed based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, to obtain the encrypted data to be accessed, and to send the encrypted data to the proxy computing node.
[0022] The data consumer is used to send a zero-knowledge attribute verification request to the policy manager when there is a data access requirement.
[0023] The policy manager is configured to perform attribute verification on the data consumer upon receiving a zero-knowledge attribute verification request from the data consumer; and to generate target time slice parameters based on a target timestamp, and, if the data consumer's attribute verification passes, send the target time slice parameters to the proxy computing node and the data consumer respectively; wherein, the target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request from the data consumer;
[0024] The data consumer is also used to send a data access request to the proxy computing node after passing the attribute verification of the policy manager;
[0025] The proxy computing node is used to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when it receives a data access request sent by a data consumer and determines that the policy manager has passed the attribute verification of the data consumer.
[0026] The proxy computing node is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter, to obtain the re-encrypted data to be accessed, and to send the re-encrypted data to be accessed to the data consumer.
[0027] The data consumer is further configured to use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed, thereby obtaining the data to be accessed.
[0028] The trusted data space construction method of this application embodiment involves a proxy computing node receiving a data access request from a data consumer and determining that the policy manager has successfully verified the data consumer's attributes. Based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed, a re-encryption key is generated. Using the re-encryption key and a target time slice parameter, the encrypted data to be accessed is re-encrypted to obtain the re-encrypted data. This re-encrypted data can then be sent to the data consumer, allowing the data consumer to decrypt it using its private key and the target time slice parameter. For any data to be accessed, the re-encryption process requires using a time slice parameter related to the time the data consumer initiates zero-knowledge attribute verification. This means that for the same data to be accessed, the actual encryption parameters used during re-encryption will differ depending on the time of access, effectively improving data security. Attached Figure Description
[0029] Figure 1 This application provides an exemplary embodiment of a trusted data space construction system, which is illustrated by the following schematic diagram.
[0030] Figure 2 This is a flowchart illustrating a trusted data space construction method as an exemplary embodiment of this application;
[0031] Figure 3 This is a schematic diagram illustrating a data communication implementation scenario in a trusted data space, as shown in an exemplary embodiment of this application.
[0032] Figure 4 A schematic diagram of a trusted data space construction apparatus is shown as an exemplary embodiment of this application;
[0033] Figure 5 This is a schematic diagram of the hardware structure of an electronic device as illustrated in an exemplary embodiment of this application. Detailed Implementation
[0034] To enable those skilled in the art to better understand the technical solutions provided in the embodiments of this application, some technical terms involved in the embodiments of this application will be explained below.
[0035] 1. Zero-Knowledge Attribute Proof: Allows the prover to demonstrate to the verifier that they possess a certain attribute without revealing any additional information.
[0036] 2. Distributed Key Generation: Multiple parties collaborate to generate keys, and no one has complete private keys during the process, avoiding single point of trust risks.
[0037] 3. Dynamic Attribute-Based Proxy Re-Encryption: This feature combines attribute-based encryption with proxy re-encryption technology, supporting dynamic policy updates.
[0038] To make the above-mentioned objectives, features and advantages of the embodiments of this application more apparent and understandable, the technical solutions of the embodiments of this application will be further described in detail below with reference to the accompanying drawings.
[0039] The following description, in conjunction with the accompanying drawings, explains the system architecture applicable to the trusted data space construction scheme in the embodiments of this application.
[0040] Please see Figure 1 This is a schematic diagram of the architecture of a trusted data space construction system provided in an embodiment of this application, such as... Figure 1 As shown, the trusted data space construction system may include: a data owner, a data consumer, a proxy computing node, and a policy manager; wherein:
[0041] The data owner encrypts the data on this device (which can be referred to as the data to be accessed or the raw data in this article) and sends the encrypted data to the agent computing node for storage and management.
[0042] When a data consumer has a data access need, it can authenticate with the policy manager to prove that the device has the right to access the data to be accessed. If the access authentication is successful, it can then send an access request for the data to be accessed to the proxy computing node.
[0043] When the proxy computing node receives a data access request from a data consumer and confirms that the data consumer's access permission authentication is successful (i.e., it has the permission to access the data to be accessed), it re-encrypts the encrypted data to be accessed and sends the re-encrypted data to the data consumer, who then decrypts the re-encrypted data to obtain the data to be accessed.
[0044] It is evident that the secure flow of data is ensured and a trusted data space is constructed through the interaction and cooperation among data owners, data consumers, proxy computing nodes, and policy managers.
[0045] The implementation process of constructing a trusted data space is explained below with reference to the accompanying diagram.
[0046] Please see Figure 2 This is a flowchart illustrating a trusted data space construction method provided in an embodiment of this application. The trusted data space construction method can be applied to proxy computing nodes (such as...). Figure 1 (in the proxy computing node), such as Figure 2 As shown, the trusted data space construction method may include the following steps:
[0047] Step S200: Upon receiving a data access request from the data consumer and confirming that the policy manager has successfully verified the data consumer's attributes, a re-encryption key is generated based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed. The data access request is sent by the data consumer to the proxy computing node after the policy manager has verified the attributes using zero-knowledge attribute proof.
[0048] In this embodiment of the application, in order to maximize the protection of user privacy and reduce the risk of sensitive information leakage, the data consumer can use a zero-knowledge attribute verification method to authenticate access permissions with the policy manager, proving that it has the attributes that allow access to the data to be accessed (i.e., the attributes of the data consumer match the dynamic access policy corresponding to the data to be accessed).
[0049] When the policy manager receives a zero-knowledge attribute verification request from a data consumer, it can perform attribute verification on the data consumer and determine the attribute verification result.
[0050] For example, a data consumer's zero-knowledge attribute verification request may include identification information (such as data_id) of the data the data consumer requests to access (the data to be accessed), and a zero-knowledge proof (generated by the data consumer). The policy manager can query the dynamic access policy information of the data to be accessed from the policy database based on the identification information of the data to be accessed, and verify the zero-knowledge proof submitted by the data consumer based on the attribute information (such as the attribute set required to access the data to be accessed) and time constraints returned by the policy database. This verification process verifies whether the data consumer's attributes meet the dynamic access policy requirements of the data to be accessed.
[0051] For example, the attribute validation result may include attribute validation passed (i.e., the data consumer has the permission to access the data to be accessed), or attribute validation failed (i.e., the data consumer does not have the permission to access the data to be accessed).
[0052] On the other hand, the policy manager can generate corresponding time slice parameters (which can be called target time slice parameters) based on the timestamp corresponding to the time when the zero-knowledge attribute verification request sent by the data consumer is received (which can be called the target timestamp).
[0053] Once the policy manager confirms that the data consumer attributes have been validated, it can send the target time slice parameters to the proxy compute node and the data consumer, respectively.
[0054] In this embodiment of the application, if the data consumer determines that the device attribute verification is successful, it can send a data access request to the proxy computing node.
[0055] The data access request carries identification information of the data to be accessed.
[0056] When a proxy computing node receives a data access request from a data consumer, it can determine the attribute verification result of the policy manager for the data consumer. If the policy manager's attribute verification of the data consumer is successful, it can generate a re-encryption key based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed.
[0057] Step S210: Using the re-encryption key and the target time slice parameter, the encrypted data to be accessed is re-encrypted to obtain the re-encrypted data to be accessed; wherein, the encrypted data to be accessed is encrypted by the data owner according to the public key of the policy manager and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node; the target time slice parameter is generated by the policy manager according to the target timestamp, and is sent to the proxy computing node and the data consumer respectively after the data consumer attribute verification is passed; the target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer.
[0058] In this embodiment of the application, in order to improve data security, data encryption can be performed using a dynamic attribute-based proxy re-encryption method.
[0059] For example, proxy encryption based on dynamic attribute bases can include two parts: 1) The data owner encrypts the data on this device (which can be referred to as the data to be accessed or the original data in this document) based on a dynamic attribute base (such as a dynamic access policy); 2) The proxy computing node re-encrypts the data encrypted by the data owner (i.e., the encrypted data to be accessed). For example, the proxy computing node performs re-encryption when it needs to send the data to be accessed to an authenticated data consumer.
[0060] For example, for any data to be accessed, a corresponding dynamic access policy can be set. For instance, the data owner can set a corresponding dynamic access policy for their own data to be accessed, and the data consumer whose attributes match the dynamic access policy has access rights to the data to be accessed.
[0061] For example, the data owner can encrypt the data to be accessed based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed.
[0062] For example, the data owner can generate a data encryption key based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, and use the data encryption key to encrypt the data to be accessed to obtain the encrypted data to be accessed.
[0063] The data owner can send the encrypted data to the proxy computing node, which will then store and manage the encrypted data.
[0064] It should be noted that, for any data to be accessed, if the dynamic access policy of the data to be accessed is updated, the data owner can re-encrypt the data to be accessed according to the updated dynamic access policy (the specific processing flow can be found in the relevant description in the above embodiments), and send the encrypted data to be accessed to the proxy computing node.
[0065] In this embodiment of the application, when the proxy computing node has determined the re-encryption key in the manner described above, it can use the re-encryption key and the target time slice parameter to re-encrypt the encrypted data to be accessed, obtain the re-encrypted data to be accessed, and send the re-encrypted data to the data consumer.
[0066] Step S230: Send the re-encrypted data to be accessed to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed and obtain the data to be accessed.
[0067] In this embodiment of the application, when the data consumer receives the re-encrypted data to be accessed, it can use the data consumer's private key and the target time slice parameter to decrypt the re-encrypted data to obtain the data to be accessed.
[0068] It can be seen that, in Figure 1 In the illustrated method flow, when the proxy computing node receives a data access request from the data consumer and confirms that the policy manager has successfully verified the data consumer's attributes, it generates a re-encryption key based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed. Using the re-encryption key and the target time slice parameter, the encrypted data to be accessed is re-encrypted to obtain the re-encrypted data. This re-encrypted data can then be sent to the data consumer, allowing the data consumer to decrypt it using its private key and the target time slice parameter. For any given data to be accessed, the re-encryption process requires using a time slice parameter related to the time the data consumer initiated the zero-knowledge attribute verification. This means that for the same data to be accessed, the actual encryption parameters used during re-encryption will differ depending on the time of access, effectively improving data security.
[0069] In some embodiments, generating a re-encryption key based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed may include:
[0070] Send a re-encryption key generation request to the distributed key network; the re-encryption key generation request carries the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, so that the distributed key network can generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed.
[0071] Receive the re-encryption key returned by the distributed key network.
[0072] For example, to avoid single point of trust risks and improve key security, the proxy computing node can use a distributed key generation method to generate re-encryption keys.
[0073] Accordingly, when the proxy computing node receives a data access request from a data consumer and determines that the policy manager has verified the attributes of the data consumer, it can send a re-encryption key generation request to the distributed key network.
[0074] The distributed key network can generate a re-encryption key using the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed, and then return the re-encryption key to the agent computing node.
[0075] In some embodiments, the process of re-encrypting the encrypted data to be accessed using the re-encryption key and the target time slice parameter to obtain the re-encrypted data to be accessed may include:
[0076] Using the re-encryption key and the target time slice parameter, generate a new re-encryption key;
[0077] The encrypted data to be accessed is re-encrypted using a new re-encryption key.
[0078] For example, if the proxy computing node has determined the re-encryption key in the manner described above, it can use the re-encryption key and the target time slice parameter to generate a new re-encryption key, and use the new re-encryption key to re-encrypt the encrypted data to be accessed.
[0079] Accordingly, when a data consumer receives the re-encrypted data to be accessed, it can use the data consumer's private key and the target time slice parameter to generate a corresponding key, and use the key to decrypt the re-encrypted data to obtain the data to be accessed.
[0080] For example, by using the generated re-encryption key, the encrypted data to be accessed can be re-encrypted by the proxy computing node. This allows the encrypted data to be decrypted and then re-encrypted (this is a whole process, and the decrypted data to be accessed is not exposed).
[0081] For example, the process of generating the final re-encryption key by the proxy computing node requires the private key of the policy manager, the public key of the data consumer, the dynamic access policy corresponding to the data to be accessed, and the target time slice parameter. The private key of the policy manager and the dynamic access policy corresponding to the data to be accessed can be used to decrypt the encrypted data to be accessed during the re-encryption process. The public key of the data consumer and the target time slice parameter can be used to re-encrypt the decrypted data to be accessed.
[0082] In the above process, there is a strict cryptographic connection between the process by which the proxy computing node generates the final re-encryption key and the process by which the data owner generates the encryption key (using the policy manager's public key and the dynamic access policy corresponding to the data to be accessed) and the process by which the data consumer generates the decryption key (using the data consumer's private key and the target time slice parameter). This ensures that during the process by which the proxy computing node re-encrypts the encrypted data to be accessed, it can decrypt the encrypted data to be accessed, and that the re-encrypted data to be accessed can be decrypted by data consumers who have been authenticated with access permissions.
[0083] In some embodiments, sending the re-encrypted data to be accessed to the data consumer may include:
[0084] If, based on the data access request, it is determined that the data consumer has a target processing requirement for the data to be accessed, and the re-encrypted data to be accessed supports homomorphic operations for the target processing, the re-encrypted data to be accessed is subjected to target processing, and the processed, encrypted data to be accessed is sent to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the processed, encrypted data to be accessed, and obtain the processed data to be accessed.
[0085] For example, considering real-world scenarios, a data consumer's access request for the data may be the result of specific processing of the data, rather than the data itself.
[0086] For example, if the data to be accessed is the exam scores of a certain class in a certain subject, the data to be accessed may include the specific scores of each student in that subject, but the data consumer needs to obtain the average score of the class in that subject.
[0087] Accordingly, in order to further improve data security and reduce privacy information leakage, if it is determined from the data access request that the data consumer has a specific processing requirement for the data to be accessed (which can be called the target processing requirement), and the re-encrypted data to be accessed supports homomorphic operations for the target processing, the proxy computing node can perform target processing on the re-encrypted data to be accessed and send the processed, encrypted data to be accessed to the data consumer.
[0088] Once a data consumer obtains the processed, encrypted data to be accessed, it can use its private key and the target time slice parameter to decrypt the processed, encrypted data to obtain the processed data to be accessed.
[0089] For example, the target processing described above may include one or more of addition, subtraction, multiplication, and division operations.
[0090] Continuing with the previous example, the proxy computing node can calculate the average score based on the re-encrypted exam scores of the class and subject, obtain the average score of the class and subject in the encrypted state, and send it to the data consumer. The data consumer decrypts the average score of the class and subject in the encrypted state to obtain the average score of the class and subject. Thus, the data consumer can obtain the average score of the class and subject without needing to obtain the specific scores of each student in each subject, which better ensures the privacy of the data.
[0091] To enable those skilled in the art to better understand the technical solutions provided in the embodiments of this application, the technical solutions provided in the embodiments of this application are described below with reference to specific examples.
[0092] Please see Figure 3 This is a schematic diagram illustrating a data communication implementation scenario in a trusted data space, as provided in an embodiment of this application. Figure 3 As shown, the trusted data space may include a data owner (DO), a data consumer (DC), a proxy computing node (PCN), and a policy manager (PM).
[0093] like Figure 3 As shown, the data communication implementation process in a trusted data space may include:
[0094] 1. Data encryption and distribution.
[0095] For example, the data owner can use a dynamic attribute-based proxy re-encryption method to encrypt the original data (i.e., the data to be accessed mentioned above):
[0096]
[0097] in, For dynamic access policies, This is the public key for the policy manager.
[0098] The data owner can send the encrypted version of the original data (which can be denoted as CT) to the agent computing node, which will then store and manage it.
[0099] 2. Zero-knowledge attribute verification.
[0100] 3. Attribute validation results are returned.
[0101] For example, a data consumer can submit zero-knowledge property proofs to the policy manager when there is a need for data access:
[0102]
[0103] in, (can be remembered as) ) represents the zero-knowledge property proof, and Prove() represents the proof generation algorithm. The first one to be proven The attributes that need to be proven are those of the data consumer and the dynamic access strategy of the data to be accessed. match.
[0104] The policy manager returns the attribute validation result after validating the attribute.
[0105] For example, the verification formula can be as follows:
[0106]
[0107] Where Verify() is the verification algorithm, This indicates that the attribute validation has passed, meaning the data consumer's attributes match the dynamic access policy. Matching (data consumer attributes and dynamic access strategies) In the case of a match, the validation result will also be "attribute validation passed".
[0108] 4. Dynamic strategy updates.
[0109] For example, the policy manager can generate time slice parameters based on the timestamp corresponding to the time when the zero-knowledge attribute proof is received (i.e., the target timestamp mentioned above, which can be denoted as t):
[0110]
[0111]
[0112] in, For signature algorithms based on LWE, Here, t is the policy manager's private key, and t is the target timestamp. For the concatenation operation, Hash is a collision-resistant hash algorithm. These are the time slice parameters.
[0113] For example, if the data consumer's attributes are validated, the policy manager can send the time slice parameters to the proxy compute node and the data consumer respectively.
[0114] 5. The data consumer sends a data access request to the agent computing node.
[0115] 6. The proxy computing node re-encrypts the data to be accessed and sends the re-encrypted data to the data consumer.
[0116] For example, when a proxy computing node receives a data access request from a data consumer and confirms that the data consumer's attributes have been verified, it can send a re-encryption key generation request to the distributed key network. This re-encryption key generation request can carry the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed. The distributed key network then uses a distributed key generation protocol to collaboratively generate a re-encryption key.
[0117]
[0118] in, For re-encryption key, This is a re-encryption key generation algorithm. For the policy manager's private key, For data consumers' public keys.
[0119] Among them, the key pair of the data consumer ( , This can be generated by the data consumer in a local secure environment using lattice cryptographic algorithms (such as NTRU). For example:
[0120] ( , )
[0121] Where λ is a safety parameter.
[0122] For example, the proxy computing node can use the re-encryption key to re-encrypt the encrypted data to be accessed:
[0123]
[0124] in, For re-encryption algorithms, The data to be accessed is re-encrypted (which can be denoted as CT').
[0125] It should be noted that the process of re-encrypting the encrypted data to be accessed by the proxy computing node can include both decrypting the encrypted data and re-encrypting the decrypted data, thus converting the encrypted data into re-encrypted data that can be decrypted by the data consumer (legitimate data consumers use their private key and time slice parameters). (Can be decrypted).
[0126] 7. The data consumer uses its private key and time slice parameters. The re-encrypted data to be accessed is decrypted to obtain the data to be accessed. Among them:
[0127]
[0128] It should be noted that, in this embodiment of the application, the data consumer has a target processing requirement for the data to be accessed, and When homomorphic operations targeting specific data are supported, the proxy computing node can perform target processing on the re-encrypted data to be accessed, obtaining the processed, encrypted data to be accessed. For example:
[0129]
[0130] in, Ciphertext computation operations for fully homomorphic encryption The processing of the above objectives may include operations such as addition, subtraction, multiplication, and division.
[0131] The proxy computing node will The data is sent to the data consumer, who can then use the data consumer's private key and time slice parameters. ,right Decryption is performed to obtain the data to be accessed after target processing.
[0132] The method provided in this application has been described above. The apparatus provided in this application is described below:
[0133] Please see Figure 4 This is a schematic diagram of a trusted data space construction device provided in an embodiment of this application. The trusted data space construction device can be deployed on the proxy computing node in the above embodiment, such as... Figure 4As shown, the trusted data space construction apparatus may include:
[0134] The communication unit is used to receive data access requests sent by data consumers;
[0135] A determining unit is configured to determine whether the policy manager has passed the attribute verification of the data consumer when the communication unit receives a data access request sent by the data consumer;
[0136] A generation unit is configured to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when the communication unit receives a data access request sent by the data consumer and the determining unit determines that the policy manager has passed the attribute verification of the data consumer; wherein the data access request is sent by the data consumer to the proxy computing node after passing the attribute verification of the policy manager using zero-knowledge attribute proof.
[0137] A re-encryption unit is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter to obtain the re-encrypted data to be accessed. The encrypted data to be accessed is encrypted by the data owner based on the public key of the policy manager and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node. The target time slice parameter is generated by the policy manager based on a target timestamp and, if the data consumer attribute verification passes, is sent to both the proxy computing node and the data consumer. The target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer.
[0138] The communication unit is further configured to send the re-encrypted data to be accessed to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed and obtain the data to be accessed.
[0139] For example, the specific implementation process of the communication unit, the determining unit, the generating unit, and the re-encryption unit in constructing the trusted data space can be found in the relevant descriptions in the above embodiments, and will not be repeated here in the embodiments of this application.
[0140] This application also provides an electronic device, including a processor and a memory, wherein the memory is used to store computer programs; and the processor is used to implement the trusted data space construction method described above when executing the program stored in the memory.
[0141] Please see Figure 5 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. The electronic device may include a processor 501 and a memory 502 storing machine-executable instructions. The processor 501 and the memory 502 can communicate via a system bus 503. Furthermore, by reading and executing the machine-executable instructions corresponding to the trusted data space construction logic in the memory 502, the processor 501 can execute the trusted data space construction method described above.
[0142] The memory 502 mentioned in this document can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, etc. For example, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0143] In some embodiments, a machine-readable storage medium, such as Figure 5 The memory 502 in the machine-readable storage medium stores machine-executable instructions that, when executed by a processor, implement the trusted data space construction method described above. For example, the machine-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, or optical data storage device.
[0144] This application also provides a computer program product that stores a computer program, and when a processor executes the computer program, it causes the processor to execute the trusted data space construction method described above.
[0145] This application also provides a trusted data space construction system, including: a data owner, a data consumer, a proxy computing node, and a policy manager; wherein:
[0146] The data owner is used to encrypt the data to be accessed based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, to obtain the encrypted data to be accessed, and to send the encrypted data to the proxy computing node.
[0147] The data consumer is used to send a zero-knowledge attribute verification request to the policy manager when there is a data access requirement.
[0148] The policy manager is configured to perform attribute verification on the data consumer upon receiving a zero-knowledge attribute verification request from the data consumer; and to generate target time slice parameters based on a target timestamp, and, if the data consumer's attribute verification passes, send the target time slice parameters to the proxy computing node and the data consumer respectively; wherein, the target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request from the data consumer;
[0149] The data consumer is also used to send a data access request to the proxy computing node after passing the attribute verification of the policy manager;
[0150] The proxy computing node is used to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when it receives a data access request sent by a data consumer and determines that the policy manager has passed the attribute verification of the data consumer.
[0151] The proxy computing node is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter, to obtain the re-encrypted data to be accessed, and to send the re-encrypted data to be accessed to the data consumer.
[0152] The data consumer is further configured to use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed, thereby obtaining the data to be accessed.
[0153] In this embodiment of the application, in order to improve data security, the data owner may use a dynamic attribute-based proxy re-encryption method to encrypt the data of this device (which may be referred to as the data to be accessed or the original data in this document).
[0154] For example, for any data to be accessed, a corresponding dynamic access policy can be set. For instance, the data owner can set a corresponding dynamic access policy for their own data to be accessed, and the data consumer whose attributes match the dynamic access policy has access rights to the data to be accessed.
[0155] For example, the data owner can encrypt the data to be accessed based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed.
[0156] For example, the data owner can generate a data encryption key based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, and use the data encryption key to encrypt the data to be accessed to obtain the encrypted data to be accessed.
[0157] The data owner can send the encrypted data to the proxy computing node, which will then store and manage the encrypted data.
[0158] In this embodiment of the application, in order to maximize the protection of user privacy and reduce the risk of sensitive information leakage, the data consumer can use a zero-knowledge attribute verification method to prove to the policy manager that it has the attribute that allows access to the data to be accessed (that is, the attributes of the data consumer match the dynamic access policy corresponding to the data to be accessed).
[0159] Accordingly, when a data consumer has a data access need, it can send a zero-knowledge attribute verification request to the policy manager.
[0160] When the policy manager receives a zero-knowledge attribute verification request from a data consumer, it can perform attribute verification on the data consumer and determine the attribute verification result.
[0161] For example, the attribute validation result may include data validation passed (i.e., the data consumer has the permission to access the data to be accessed), or attribute validation failed (i.e., the data consumer does not have the permission to access the data to be accessed).
[0162] On the other hand, the policy manager can generate corresponding time slice parameters (which can be called target time slice parameters) based on the timestamp corresponding to the time when the zero-knowledge attribute verification request sent by the data consumer is received (which can be called the target timestamp).
[0163] Once the policy manager confirms that the data consumer attributes have been validated, it can send the target time slice parameters to the proxy compute node and the data consumer, respectively.
[0164] In this embodiment of the application, if the data consumer determines that the device attribute verification is successful, it can send a data access request to the proxy computing node.
[0165] The data access request carries identification information of the data to be accessed.
[0166] When a proxy computing node receives a data access request from a data consumer, it can determine the attribute verification result of the policy manager for the data consumer. If the policy manager's attribute verification of the data consumer is successful, it can generate a re-encryption key based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed.
[0167] For example, to avoid single point of trust risks and improve key security, the proxy computing node can use a distributed key generation method to generate re-encryption keys.
[0168] In this embodiment of the application, when the agent computing node has determined the re-encryption key, it can use the re-encryption key and the target time slice parameter to re-encrypt the encrypted data to be accessed, obtain the re-encrypted data to be accessed, and send the re-encrypted data to the data consumer.
[0169] As can be seen, in the embodiments of this application, for any data to be accessed, in the process of re-encrypting the encrypted data, it is necessary to use the time slice parameter related to the time when the data consumer initiates zero-knowledge attribute verification for re-encryption. That is, for the same data to be accessed, the actual encryption parameters used in the re-encryption process will also be different when accessed at different times, which effectively improves data security.
[0170] In this embodiment of the application, when the data consumer receives the re-encrypted data to be accessed, it can use the data consumer's private key and the target time slice parameter to decrypt the re-encrypted data to obtain the data to be accessed.
[0171] In some embodiments, the policy manager generates target time slice parameters based on the target timestamp, including:
[0172] Using the private key of the policy manager, the target timestamp is signed based on LWE to obtain a digital signature of the target timestamp;
[0173] The digital signature of the target timestamp is concatenated with the target timestamp, and a collision-resistant hash function is used to generate target time slice parameters.
Claims
1. A method for constructing a trusted data space, characterized in that, Applied to proxy computing nodes, the method includes: Upon receiving a data access request from a data consumer and confirming that the policy manager has successfully verified the attributes of the data consumer, a re-encryption key is generated based on the policy manager's private key, the data consumer's public key, and the dynamic access policy corresponding to the data to be accessed. The data access request is sent by the data consumer to the proxy computing node after the data consumer has passed the policy manager's attribute verification using zero-knowledge attribute proof. Using the re-encryption key and the target time slice parameter, the encrypted data to be accessed is re-encrypted to obtain the re-encrypted data to be accessed. The encrypted data to be accessed is encrypted by the data owner based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node. The target time slice parameter is generated by the policy manager based on a target timestamp and, if the data consumer attribute verification passes, is sent to both the proxy computing node and the data consumer. The target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer. The re-encrypted data to be accessed is sent to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed, thereby obtaining the data to be accessed.
2. The method according to claim 1, characterized in that, The step of generating a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed includes: A re-encryption key generation request is sent to the distributed key network; the re-encryption key generation request carries the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, so that the distributed key network generates a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed. Receive the re-encryption key returned by the distributed key network.
3. The method according to claim 1, characterized in that, The step of re-encrypting the encrypted data to be accessed using the re-encryption key and the target time slice parameters to obtain the re-encrypted data to be accessed includes: Using the re-encryption key and the target time slice parameters, a new re-encryption key is generated; The encrypted data to be accessed is re-encrypted using the new re-encryption key.
4. The method according to claim 1, characterized in that, Sending the re-encrypted data to the data consumer includes: If, based on the data access request, it is determined that the data consumer has a target processing requirement for the data to be accessed, and the re-encrypted data to be accessed supports homomorphic operations for the target processing, the target processing is performed on the re-encrypted data to be accessed, and the processed, encrypted data to be accessed is sent to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the processed, encrypted data to be accessed, and obtain the processed data to be accessed.
5. A trusted data space construction device, deployed on a proxy computing node, the device comprising: The communication unit is used to receive data access requests sent by data consumers; A determining unit is configured to determine whether the policy manager has passed the attribute verification of the data consumer when the communication unit receives a data access request sent by the data consumer; A generation unit is configured to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when the communication unit receives a data access request sent by the data consumer and the determining unit determines that the policy manager has passed the attribute verification of the data consumer; wherein the data access request is sent by the data consumer to the proxy computing node after passing the attribute verification of the policy manager using zero-knowledge attribute proof. A re-encryption unit is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter to obtain the re-encrypted data to be accessed. The encrypted data to be accessed is encrypted by the data owner based on the public key of the policy manager and the dynamic access policy corresponding to the data to be accessed, and then sent to the proxy computing node. The target time slice parameter is generated by the policy manager based on a target timestamp and, if the data consumer attribute verification passes, is sent to both the proxy computing node and the data consumer. The target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request sent by the data consumer. The communication unit is further configured to send the re-encrypted data to be accessed to the data consumer, so that the data consumer can use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed and obtain the data to be accessed.
6. An electronic device, characterized in that, Including processor and memory, among which, Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1 to 4.
7. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-executable instructions, which, when executed by a processor, implement the method as described in any one of claims 1 to 4.
8. A computer program product, characterized in that, The computer program product contains a computer program that, when executed by a processor, implements the method described in any one of claims 1 to 4.
9. A trusted data space construction system, characterized in that, include: Data owner, data consumer, agent computing node, and policy manager; among which: The data owner is used to encrypt the data to be accessed based on the policy manager's public key and the dynamic access policy corresponding to the data to be accessed, to obtain the encrypted data to be accessed, and to send the encrypted data to the proxy computing node. The data consumer is used to send a zero-knowledge attribute verification request to the policy manager when there is a data access requirement. The policy manager is configured to perform attribute verification on the data consumer upon receiving a zero-knowledge attribute verification request from the data consumer; and to generate target time slice parameters based on a target timestamp, and, if the data consumer's attribute verification passes, send the target time slice parameters to the proxy computing node and the data consumer respectively; wherein, the target timestamp is the timestamp corresponding to the time when the policy manager receives the zero-knowledge attribute verification request from the data consumer; The data consumer is also used to send a data access request to the proxy computing node after passing the attribute verification of the policy manager; The proxy computing node is used to generate a re-encryption key based on the private key of the policy manager, the public key of the data consumer, and the dynamic access policy corresponding to the data to be accessed, when it receives a data access request sent by a data consumer and determines that the policy manager has passed the attribute verification of the data consumer. The proxy computing node is used to re-encrypt the encrypted data to be accessed using the re-encryption key and the target time slice parameter, to obtain the re-encrypted data to be accessed, and to send the re-encrypted data to be accessed to the data consumer. The data consumer is further configured to use its private key and the target time slice parameter to decrypt the re-encrypted data to be accessed, thereby obtaining the data to be accessed.
10. The trusted data space construction system according to claim 9, characterized in that, The policy manager generates target time slice parameters based on the target timestamp, including: Using the private key of the policy manager, a signature based on Learning With Error (LWE) is performed on the target timestamp to obtain a digital signature of the target timestamp; The digital signature of the target timestamp is concatenated with the target timestamp, and a collision-resistant hash function is used to generate target time slice parameters.
Citation Information
Patent Citations
Proxy re-encryption method for access control
CN112926066A
Private data storage and access control method and system based on block chain
CN112989415A