Trusted, private, verifiable and traceable data circulation method and system

By introducing multiple decentralized oracles to the data circulation system, the problems brought about by untrusted data providers, untrusted servers and anonymous data users are solved, and the trustworthy, privacy, verifiable and traceable circulation of data is achieved.

CN119621854APending Publication Date: 2025-03-14HEFEI UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411847169.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The prior art has problems with untrusted data providers, verifiable computing under untrusted servers, and traceability problems of anonymous data users in data circulation.

Method used

A system including data provisioning module, cloud service module, individual oracle module, data usage module and blockchain platform module was designed. The data was screened and verified through committees formed by multiple decentralized oracles. The trusted execution environment and blockchain connect data providers and users, design privacy smart contracts to protect privacy and improve computing efficiency, and realize traceability of data users through watermark embedding.

Benefits of technology

It realizes trustworthy verification of untrusted data provider data, verifiable computing in an untrusted server environment, and solves the traceability problem of anonymous data users, ensuring the safe and trustworthy circulation of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621854A_ABST
    Figure CN119621854A_ABST
Patent Text Reader

Abstract

The invention discloses a credible, privacy, verifiable and traceable data circulation method and system. The method and system are applied to an environment formed by a plurality of data use modules, a cloud service module, a plurality of oracle machine modules, a plurality of data providing modules and a block chain platform. The system generates system parameters and keys through the oracle machine module, and each module generates own parameters and keys; the data providing module uploads data, and the data is forwarded to the cloud service module for storage after the authenticity of the data is judged by the oracle module; the data use module makes a data use request, and the cloud service module responds to and returns data after verification; and after data leakage occurs, the cloud service module extracts data watermarks for responsibility investigation. According to the method, the credibility, privacy, verifiability and traceability of the data circulation process can be ensured, so that the problems of data from an untrusted data provider, verifiability calculation under an untrusted server and data leakage traceability are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a trusted, private, verifiable and traceable data circulation method and system, belonging to the field of data security, trusted circulation of data elements and trusted computing technology. Background Art

[0002] Blockchain enables untrusting parties to reach agreement on data and activities by running a consensus mechanism. These transactions are recorded in a series of blocks after being cryptographically signed, forming a growing distributed ledger with characteristics such as decentralization, immutability, verifiability and partial anonymity. Initially used as an underlying technology, blockchain is now widely used in fields beyond finance, such as insurance, identity management, supply chain management and digital forensics. Blockchain-based services have become an important technical route for building a decentralized trust system. Among them, Ethereum, as one of the blockchains with the highest market value, has a significant advantage in supporting smart contracts. Smart contracts are self-executing codes running on the Ethereum virtual machine, which are used to automatically execute transactions and manage trigger conditions according to predefined logic.

[0003] In order to ensure the continuous and reliable operation of smart contracts, authenticated data flow (ADF) is crucial. Although the data on the blockchain is tamper-proof, verifiable, and privacy-protected after storage, ADF, as the core task of blockchain data governance, is often overlooked by many existing studies. On the other hand, smart contracts inherently have serious privacy issues because the data and calculation processes in the contract are publicly disseminated and visible in the blockchain network. To solve these problems, many privacy protection systems and protocols based on encryption technology have been proposed. In scenarios such as data transactions and digital forensics, the ownership and correct use of data are particularly critical.

[0004] The existing ADF mainly faces the following problems:

[0005] 1. Data from untrusted data providers, as well as external data received by trusted servers, may still be at risk of fraud or deception. Crowdsourced data from distributed data providers (such as human individuals or sensors) is often unreliable and may come from anonymous entities.

[0006] 2. When performing verifiable calculations in an untrusted server environment, outsourcing data to the server may cause the data provider to lose control, and the unreliability of the server may cause data users to doubt the calculation results.

[0007] 3. Regarding the traceability issue of anonymous data users, malicious data users may obtain illegal data or share data with illegal users, thus bringing potential risks. Summary of the invention

[0008] The present invention aims to address the deficiencies of the above-mentioned prior art and proposes a trusted, private, verifiable and traceable data circulation method and system, in order to solve the data problem from untrusted data providers and realize verifiable calculations under untrusted servers, thereby ensuring the tracing of illegal data leakage.

[0009] The present invention adopts the following technical solutions to achieve the above-mentioned purpose:

[0010] The invention provides a reliable, private, verifiable and traceable data circulation system, which includes: a data providing module, a cloud service module, Oracle module, data usage module, blockchain platform module; Select from the oracle modules The oracle modules are used as committee oracle modules, among which, represents the threshold value of the committee oracle module, and ∈ ;

[0011] The data providing module includes: a data providing registration unit and a data uploading unit;

[0012] The cloud service module includes: a cloud service initialization unit, an agent unit, a trusted execution environment unit, a local storage unit, and a privacy smart contract unit;

[0013] The committee oracle module includes: an oracle initialization unit and a data receiving unit;

[0014] The data use module includes: a data use registration unit, a data request unit, and a data tracing unit;

[0015] The oracle initialization unit of the committee oracle module initializes the blockchain platform module, including: setting the consensus mechanism of the blockchain platform module, and at the same time, The oracle initialization unit generates Asymmetric encryption key pair, signature key pair, and ATS signature key pair for the committee oracle module;

[0016] The cloud service initialization unit initializes the proxy unit, the trusted execution environment unit, the local storage unit, and the privacy smart contract unit, including: setting up a cloud service blockchain wallet, generating a remote authentication key pair of the trusted execution environment unit, an asymmetric encryption key pair of the trusted execution environment unit, a signature key pair of the trusted execution environment unit, and an index structure of the local storage unit;

[0017] The privacy smart contract unit registers with any committee oracle module to obtain a trusted and verifiable computing key pair and a watermark key;

[0018] The data usage registration unit generates a data usage asymmetric key pair, and after interacting with the oracle initialization unit of any committee oracle module, obtains a digital certificate and identity, and at the same time, sets a data usage blockchain wallet;

[0019] The data providing registration unit generates a data providing asymmetric key pair, and obtains a verifiable computing key pair after interacting with any oracle initialization unit;

[0020] The data uploading unit determines whether the real data held is computable data or traceable data. If it is computable data, the private key of the verifiable computing key pair is used to perform a verifiable computing signature on the real data held to obtain the verifiable computing signature, and then the public key of the asymmetric encryption key pair of the committee oracle module is used to encrypt the real data held and the verifiable computing signature together to obtain the processed data; otherwise, the public key of the asymmetric encryption key pair of the committee oracle module is used to directly encrypt the real data held to obtain the processed data; thereby sending the processed data to the data receiving unit;

[0021] The data receiving unit uses the private key of the asymmetric encryption key pair of the committee oracle module to decrypt the received processed data to obtain the decrypted data, and verifies the authenticity of the decrypted data. If it is authentic, the decrypted data is stored as a data record, and the decrypted data is re-encrypted using the public key of the asymmetric encryption key pair of the trusted execution environment unit, and then the re-encrypted data is signed using the private key of the signature key pair of the committee oracle module to obtain the primary signature data, and then the ATS signature is performed on the re-encrypted data using the private key of the ATS signature key pair of the committee oracle module, so as to form the encrypted signature data together with the primary signature data and send it to the proxy unit; otherwise, the decrypted data is discarded;

[0022] The proxy unit verifies the encrypted signature data using the public key of the signature key pair of the committee oracle module. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment unit, and the trusted execution environment unit decrypts the encrypted signature data using the private key of its own asymmetric encryption key pair to obtain the real data and forward it to the privacy smart contract unit; otherwise, the encrypted signature data is discarded;

[0023] The privacy smart contract unit receives at least After receiving more than 100 real data, the data ATS aggregation signature and the data aggregation public key are generated, and the data aggregation public key is used to verify the data ATS aggregation signature. If the verification is successful, the index structure of the local storage unit is updated with all the real data, and all the real data is returned to the trusted execution environment unit; otherwise, at least More than one real data;

[0024] After the trusted execution environment unit encrypts all real data, it stores it in the local storage unit, and at the same time calculates the hash value of all real data and signs the hash value, thereby returning the signature of the hash value and the hash value of all real data to the proxy unit, and the proxy unit generates a data upload transaction according to the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform module;

[0025] The blockchain platform module verifies the authenticity of the data upload transaction through a consensus mechanism. If it is true, the data upload transaction is recorded; otherwise, the data upload transaction is discarded;

[0026] The data request unit constructs a remote proof generation request including a digital certificate and an identity identifier and sends the request to the trusted execution environment unit;

[0027] After receiving the remote certificate generation request, the trusted execution environment unit verifies the digital certificate and the identity identifier. If the verification is successful, the remote authentication key pair of the trusted execution environment unit is used to generate the remote certificate and return it to the data request unit; otherwise, the remote authentication generation request is discarded;

[0028] The data request unit verifies the remote proof. If the verification is successful, it generates an original data request according to the data and calculation method required by itself, and encrypts the original data request using the public key in the asymmetric encryption key pair of the trusted execution environment unit, thereby constructing a data request transaction containing the encrypted original data request, and submits the data to the blockchain platform module using the blockchain wallet; otherwise, the current data request process ends;

[0029] The blockchain platform module verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number of the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. Then, a data request message containing the unique number and the encrypted original data request is constructed and sent to the proxy unit; otherwise, the corresponding data request transaction is discarded;

[0030] The proxy unit verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment unit. The trusted execution environment unit uses the private key in its own asymmetric encryption key pair to decrypt the encrypted original data request in the data request message, obtains the original data request, and forwards it to the privacy smart contract unit.

[0031] The privacy smart contract unit determines whether the data required by the data request unit itself is computable data or traceable data according to the original data request. If it is computable data, the corresponding required data is searched on the index structure and calculated using the calculation method to obtain the processing result; otherwise, the watermark key is used to embed the watermark into the data required by itself to obtain the watermark data, and the watermark data is returned to the trusted execution unit as the processing result;

[0032] The trusted execution environment unit encrypts the processing result using the public key of its own asymmetric encryption key pair, and signs the encrypted processing result using the private key of its own signature key pair, obtains the encrypted and signed processing result, and returns it to the agent unit, which constructs a data response transaction using the encrypted and signed processing result, and submits it to the blockchain platform module through the cloud service blockchain wallet;

[0033] The blockchain platform module confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded;

[0034] The data request unit queries the blockchain platform module for a data response transaction, and parses the data response transaction to obtain a processing result after encryption and signature;

[0035] When the traceable data is leaked, the data tracing unit generates a traceability message based on the leaked traceable data and encrypts it and sends it to A data receiving unit for a committee oracle module;

[0036] After any data receiving unit decrypts the encrypted tracing message, it calculates the local sensitive hash of the leaked traceable data and matches it with the data record. If all data receiving units match successfully, the trusted execution environment unit encrypts the tracing message using the public key in its own asymmetric encryption key pair, obtains the re-encrypted tracing message and sends it to the proxy unit; otherwise, the current tracing process ends;

[0037] The proxy unit verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment unit, which decrypts it to obtain the tracing message and forwards it to the privacy smart contract unit; otherwise, the re-encrypted tracing message is discarded;

[0038] The privacy smart contract unit receives at least After receiving more than one traceability message, a traceability ATS aggregate signature and a traceability aggregate public key are generated, and the traceability aggregate public key is used to verify the traceability ATS aggregate signature. If the verification is successful, the watermark information is extracted from the traceability message using the watermark key and returned to the trusted execution environment unit; the trusted execution environment unit generates a hash of the watermark information, and signs the hash of the watermark information to obtain a watermark signature, thereby returning the watermark signature and the hash of the watermark information to the proxy unit;

[0039] The proxy unit uses the watermark signature and the hash structure of the watermark information to trace the transaction, and submits it to the blockchain platform module through the cloud service blockchain wallet;

[0040] The blockchain platform module verifies the authenticity of the traceability transaction through a consensus mechanism. If it is authentic, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.

[0041] The invention discloses a reliable, private, verifiable and traceable data circulation method, which is applied to data providers, cloud service providers, In a network environment consisting of an oracle, a data user, a trusted execution environment, a privacy smart contract, and a blockchain platform, the data circulation method is carried out in the following steps:

[0042] Step 1: System initialization:

[0043] Step 1.1 From Choose from the oracles Each oracle serves as a committee oracle. The committee oracles jointly initialize the blockchain platform, including: setting up the consensus mechanism of the blockchain platform;

[0044] No. Each committee oracle generates the i-th asymmetric encryption key pair, the i-th signature key pair, and the i-th ATS key pair;

[0045] In step 1.2, the cloud service provider initializes the proxy unit, the trusted execution environment unit, and the privacy smart contract, including: setting up a cloud service blockchain wallet, generating a remote authentication key pair of the trusted execution environment, an asymmetric encryption key pair of the trusted execution environment, and a signature key pair of the trusted execution environment, and establishing an index structure;

[0046] The privacy smart contract registers with any committee oracle to obtain a trusted and verifiable computing key pair and a watermark key;

[0047] In step 1.3, the data user generates an asymmetric key pair for data use, and obtains a digital certificate and identity after interacting with the committee oracle; at the same time, sets up a blockchain wallet for data use;

[0048] The data provider in step 1.4 generates an asymmetric key pair for data provision and obtains a verifiable computation key pair after interacting with any committee oracle;

[0049] Step 2: Data collection:

[0050] Step 2.1 The data provider determines whether the real data held is computable data or traceable data. If it is computable data, the private key of the verifiable computation key pair is used to perform a verifiable computation signature on the real data held to obtain a verifiable computation signature, and then the public key of the asymmetric encryption key pair of the committee oracle is used to encrypt the real data held and the verifiable computation signature together to obtain the processed data; otherwise, the public key of the asymmetric encryption key pair of the committee oracle is used to directly encrypt the real data held to obtain the processed data; thus, the processed data is sent to committee oracle;

[0051] Step 2.2 The committee oracle uses the private key of the i-th asymmetric encryption key pair to decrypt the received processed data to obtain the decrypted data, and verifies the authenticity of the decrypted data. If it is authentic, the decrypted data is stored as a data record, and the public key of the asymmetric encryption key pair of the trusted execution environment is used to re-encrypt the decrypted data, and then the private key of the signature key pair of the committee oracle is used to sign the re-encrypted data to obtain the primary signature data, and then the private key of the ATS signature key pair of the committee oracle is used to perform ATS signature on the re-encrypted data, so as to form the encrypted signature data together with the primary signature data and send it to the cloud service provider; otherwise, the decrypted data is discarded;

[0052] Step 2.3 The cloud service provider verifies the encrypted signature data using the public key of the oracle's signature key pair. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment, and the trusted execution environment decrypts the encrypted signature data using the private key of its own asymmetric encryption key pair to obtain the real data and forward it to the privacy smart contract; otherwise, the encrypted signature data is discarded;

[0053] Step 2.4 The privacy smart contract receives at least After receiving more than 100 real data, the data ATS aggregation signature and data aggregation public key are generated, and the data aggregation public key is used to verify the data ATS aggregation signature. If the verification is successful, the index structure is updated with all real data, and all real data is returned to the trusted execution environment; otherwise, at least More than one real data;

[0054] Step 2.5 The trusted execution environment unit encrypts and stores all real data, calculates the hash value of all real data, and signs the hash value with the private key of its own signature key pair, thereby returning the signature of the hash value and the hash value of all real data to the cloud service provider, and the cloud service provider generates a data upload transaction based on the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform;

[0055] Step 2.6 The blockchain platform verifies the authenticity of the data upload transaction through a consensus mechanism. If it is true, the data upload transaction is recorded; otherwise, the data upload transaction is discarded;

[0056] Step 3: Data Request:

[0057] Step 3.1 The data user first constructs a remote attestation generation request including a digital certificate and an identity identifier and sends it to the trusted execution environment. After receiving the remote attestation generation request, the trusted execution environment verifies the digital certificate and the identity identifier. If the verification is successful, the remote attestation is generated using the remote authentication key pair of the trusted execution environment and returned to the data user; otherwise, the remote attestation generation request is discarded;

[0058] Step 3.2 The data user verifies the remote proof. If the verification is successful, the data user will use the data and calculation method required by the user. , generate an original data request, and encrypt the original data request using the public key in the asymmetric encryption key pair of the trusted execution environment, thereby constructing a data request transaction including the encrypted original data request, and submitting the data to the blockchain platform using the blockchain wallet; otherwise, end the current data request process;

[0059] Step 3.3 The blockchain platform verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number for the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. A data request message containing the unique number and the encrypted original data request is then constructed and sent to the cloud service provider; otherwise, the corresponding data request transaction is discarded;

[0060] Step 3.4: The cloud service verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment. The trusted execution environment uses the private key in its own asymmetric encryption key pair to decrypt the encrypted original data request in the data request message, obtains the original data request, and forwards it to the privacy smart contract.

[0061] Step 3.5 The privacy smart contract determines whether the data required by the data user is computable data or traceable data based on the original data request. If it is computable data, execute step 3.5; otherwise, execute step 3.6;

[0062] Step 3.6 After receiving the original data request representing computable data, the privacy smart contract searches on the index structure to obtain the data required by the data user and calculates it. Perform calculations, and send the processing results to the trusted execution environment after obtaining them;

[0063] Step 3.7 After receiving the original data request representing the traceable data, the privacy smart contract uses the watermark key to perform watermark embedding to obtain watermark data, thereby returning the watermark data as a processing result to the trusted execution environment;

[0064] Step 3.8 The trusted execution environment encrypts the processing result using the public key of its own asymmetric encryption key pair, and signs the encrypted processing result using the private key of its own signature key pair, obtains the encrypted and signed processing result, and returns it to the cloud service provider, which constructs a data response transaction using the encrypted and signed processing result and submits it to the blockchain platform through the cloud service blockchain wallet;

[0065] Step 3.9 The blockchain platform confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded;

[0066] Step 3.10 The data user queries the blockchain platform for data response transactions, and parses the data response transactions to obtain the encrypted and signed processing results;

[0067] Step 4: Data tracing:

[0068] Step 4.1 When the traceable data is leaked, the data user generates a traceability message based on the leaked traceable data and encrypts it and sends it to committee oracle;

[0069] Step 4.2 After the committee oracles decrypt the encrypted traceability message, they calculate the local sensitive hash of the leaked traceability data and match it with the data record. If all committee oracles are matched successfully, the trusted execution environment encrypts the traceability message using the public key in its own asymmetric encryption key pair, obtains the re-encrypted traceability message and sends it to the cloud service provider; otherwise, the data traceability process ends;

[0070] Step 4.3 The cloud service provider verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment, which decrypts it to obtain the tracing message and forwards it to the privacy smart contract; otherwise, the re-encrypted tracing message is discarded;

[0071] Step 4.4 The privacy smart contract receives at least After receiving more than one traceability message, a traceability ATS aggregate signature and a traceability aggregate public key are generated, and the traceability aggregate public key is used to verify the traceability ATS aggregate signature. If the verification is successful, the watermark information is extracted from the traceability message using the watermark key and returned to the trusted execution environment; the trusted execution environment generates a hash of the watermark information, and signs the hash of the watermark information to obtain a watermark signature, thereby returning the watermark signature and the hash of the watermark information to the cloud service provider;

[0072] Step 4.5 The cloud service provider uses the watermark signature and the hash structure of the watermark information to trace the transaction and submits it to the blockchain platform through the cloud service blockchain wallet;

[0073] Step 4.6 The blockchain platform verifies the authenticity of the traceability transaction through a consensus mechanism. If it is true, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.

[0074] Compared with the prior art, the present invention has the following beneficial effects:

[0075] 1. The present invention screens the data submitted by individuals or websites through a committee composed of multiple decentralized oracles, and records and traces the identity information of those participating in the oracle notarization behavior for further verification and accountability, thereby solving the problem of data from untrusted data providers.

[0076] 2. The present invention uses a trusted execution environment (TEE) and blockchain to connect data providers and users, store filtered data and respond to tracking requests. At the same time, by designing a privacy smart contract (PSC), data calculations are offloaded from the blockchain to the off-chain TEE in the cloud server to protect privacy and improve computing efficiency. Combined with verifiable computing technology, the present invention solves the problem of verifiable computing in an untrusted server environment.

[0077] 3. The present invention solves the traceability problem of anonymous data users by requiring data users to submit identifiers to the server and embedding the identifiers into the request data as watermarks. At the same time, the present invention designs a mechanism to prevent untrusted servers from obtaining identifiers, thereby protecting the anonymity of users. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] Figure 1 It is a model diagram of the trusted, private, verifiable and traceable data circulation system of the present invention. DETAILED DESCRIPTION

[0079] In this embodiment, a reliable, private, verifiable and traceable data circulation system is provided, such as Figure 1 As shown, it is applied in a network environment composed of multiple data providing modules, a cloud service module, multiple oracle modules, multiple data using modules, and a blockchain platform module; wherein, the data providing module holds the data and sends it to the oracle module, which submits it to the cloud service module after verification, and the cloud service module submits the data collection message to the blockchain platform module in the form of a transaction; the data using module sends a request to the blockchain platform, the cloud service module obtains the request from the blockchain platform, and provides data to the data using module; after a data leak occurs, the data using module sends a tracing request to the oracle module, which forwards it to the cloud service module after verification, and the cloud service module extracts the watermark for tracing.

[0080] Taking a data circulation process as an example, the data provider module is an organization or individual that holds a set of computable data or image data. The oracle module is a government or professional agency responsible for data verification and further processing. The cloud service module is a server deployed in the cloud, responsible for calculating or querying the data. The data usage module is an individual user or institutional user, which obtains query results or calculation results from the cloud service module as needed. The blockchain platform is responsible for recording the data interaction process to ensure the credibility and traceability of the data.

[0081] The data providing module includes: a data providing registration unit and a data uploading unit;

[0082] The cloud service module includes: cloud service initialization unit, proxy unit, trusted execution environment unit, local storage unit, and privacy smart contract unit;

[0083] The committee oracle module includes: oracle initialization unit, data receiving unit;

[0084] The data usage module includes: data usage registration unit, data request unit, and data tracing unit.

[0085] The oracle initialization unit of the committee oracle module initializes the blockchain platform module, including: setting the consensus mechanism of the blockchain platform module, and at the same time, The oracle initialization unit generates The asymmetric encryption key pair, signature key pair, and ATS signature key pair of the committee oracle module.

[0086] The cloud service initialization unit initializes the proxy unit, the trusted execution environment unit, the local storage unit, and the privacy smart contract unit, including: setting up the cloud service blockchain wallet, generating the remote authentication key pair of the trusted execution environment unit, the asymmetric encryption key pair of the trusted execution environment unit, the signature key pair of the trusted execution environment unit, and the index structure of the local storage unit;

[0087] The privacy smart contract unit registers with any committee oracle module to obtain a trusted and verifiable computing key pair and a watermark key;

[0088] The data usage registration unit generates a data usage asymmetric key pair, and after interacting with the oracle initialization unit of any committee oracle module, obtains the digital certificate and identity, and at the same time, sets the data usage blockchain wallet.

[0089] The data provider registration unit generates a data provider asymmetric key pair and obtains a verifiable computing key pair after interacting with any oracle initialization unit;

[0090] The data uploading unit determines whether the real data held is computable data or traceable data. If it is computable data, the private key of the verifiable computing key pair is used to perform a verifiable computing signature on the real data held to obtain the verifiable computing signature, and then the public key of the asymmetric encryption key pair of the committee oracle module is used to encrypt the real data held and the verifiable computing signature together to obtain the processed data; otherwise, the public key of the asymmetric encryption key pair of the committee oracle module is used to directly encrypt the real data held to obtain the processed data; thereby sending the processed data to the data receiving unit.

[0091] The data receiving unit uses the private key of the asymmetric encryption key pair of the committee oracle module to decrypt the received processed data to obtain the decrypted data and verify the authenticity of the decrypted data. If it is authentic, the decrypted data is stored as a data record, and the decrypted data is re-encrypted using the public key of the asymmetric encryption key pair of the trusted execution environment unit, and then the re-encrypted data is signed using the private key of the signature key pair of the committee oracle module to obtain the primary signature data, and then the secondary encrypted data is signed by the private key of the ATS signature key pair of the committee oracle module to perform ATS signature on the secondary encrypted data, thereby forming encrypted signature data together with the primary signature data and sending it to the proxy unit; otherwise, the decrypted data is discarded.

[0092] The proxy unit uses the public key of the signature key pair of the committee oracle module to verify the encrypted signature data. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment unit, and the trusted execution environment unit uses its own asymmetric encryption key pair private key to decrypt the encrypted signature data, obtain the real data and forward it to the privacy smart contract unit; otherwise, the encrypted signature data is discarded.

[0093] The privacy smart contract unit receives at least After receiving more than 100 real data, the data ATS aggregation signature and data aggregation public key are generated, and the data aggregation public key is used to verify the data ATS aggregation signature. If the verification is successful, the index structure of the local storage unit is updated with all the real data, and all the real data is returned to the trusted execution environment unit; otherwise, at least More than one real data.

[0094] After the trusted execution environment unit encrypts all real data, it stores it in the local storage unit, calculates the hash value of all real data, and signs the hash value, thereby returning the signature of the hash value and the hash value of all real data to the proxy unit. The proxy unit generates a data upload transaction based on the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform module.

[0095] The blockchain platform module verifies the authenticity of the data upload transaction through a consensus mechanism. If it is true, the data upload transaction is recorded; otherwise, the data upload transaction is discarded.

[0096] The data request unit constructs a remote proof generation request including a digital certificate and an identity identifier and sends the request to the trusted execution environment unit.

[0097] After receiving the remote proof generation request, the trusted execution environment unit verifies the digital certificate and identity. If the verification is successful, the remote authentication key pair of the trusted execution environment unit is used to generate the remote proof and return it to the data request unit; otherwise, the remote authentication generation request is discarded.

[0098] The data request unit verifies the remote proof. If the verification is successful, it generates an original data request based on the data and calculation method it needs, and encrypts the original data request using the public key in the asymmetric encryption key pair of the trusted execution environment unit, thereby constructing a data request transaction containing the encrypted original data request, and submits it to the blockchain platform module through the data blockchain wallet; otherwise, the current data request process ends.

[0099] The blockchain platform module verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number for the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. A data request message containing the unique number and the encrypted original data request is then constructed and sent to the proxy unit; otherwise, the corresponding data request transaction is discarded.

[0100] The proxy unit verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment unit. The trusted execution environment unit uses the private key in its own asymmetric encryption key pair to decrypt the encrypted original data request in the data request message, obtains the original data request, and forwards it to the privacy smart contract unit.

[0101] The privacy smart contract unit determines whether the data required by the data request unit itself is computable data or traceable data based on the original data request. If it is computable data, it searches the index structure for the corresponding required data and performs calculations to obtain the processing result; otherwise, it uses the watermark key to embed the watermark into the data it needs to obtain the watermark data, and then returns the watermark data as the processing result to the trusted execution unit.

[0102] The trusted execution environment unit uses the public key of its own asymmetric encryption key pair to encrypt the processing result, and uses the private key of its own signature key pair to sign the encrypted processing result, obtains the encrypted and signed processing result, and returns it to the agent unit, which uses the encrypted and signed processing result to construct a data response transaction and submits it to the blockchain platform module through the cloud service blockchain wallet.

[0103] The blockchain platform module confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded.

[0104] The data request unit queries the blockchain platform module for a data response transaction, and parses the data response transaction to obtain a processing result after encryption and signature;

[0105] When the traceability data is leaked, the data traceability unit generates a traceability message based on the leaked traceability data and encrypts it and sends it to The data receiving unit of the committee oracle module.

[0106] After any data receiving unit decrypts the encrypted traceability message, it calculates the local sensitive hash of the leaked traceability data and matches it with the data record. If all data receiving units match successfully, the trusted execution environment unit uses the public key in its own asymmetric encryption key pair to encrypt the traceability message, obtains the re-encrypted traceability message and sends it to the proxy unit; otherwise, the current traceability process ends;

[0107] The proxy unit verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment unit, which decrypts it, obtains the tracing message and forwards it to the privacy smart contract unit; otherwise, the re-encrypted tracing message is discarded.

[0108] The privacy smart contract unit receives at least After receiving more than one traceability message, a traceability ATS aggregate signature and a traceability aggregate public key are generated, and the traceability aggregate public key is used to verify the traceability ATS aggregate signature. If the verification is successful, the watermark information is extracted from the traceability message using the watermark key and returned to the trusted execution environment unit; the trusted execution environment unit generates a hash of the watermark information, and signs the hash of the watermark information to obtain the watermark signature, and then returns the watermark signature and the hash of the watermark information to the proxy unit.

[0109] The proxy unit uses the watermark signature and the hash structure of the watermark information to trace the transaction and submits it to the blockchain platform module through the cloud service blockchain wallet;

[0110] The blockchain platform module verifies the authenticity of the traceability transaction through a consensus mechanism. If it is authentic, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.

[0111] In a specific implementation, a trusted, private, verifiable and traceable data circulation method is used in which the data provider encrypts the data it holds and provides it to an oracle. The oracle verifies the data and forwards it to the cloud service provider. The cloud service provider stores the results. The data user submits a request to the blockchain platform. The cloud service provider obtains the request from the blockchain platform, queries or calculates based on the request, encrypts the result and submits it to the blockchain platform. The data user obtains the result from the blockchain platform. When tracing the data, the data user submits the data to be checked to the oracle. The oracle confirms the leak and forwards it to the cloud service provider. The cloud service provider extracts the watermark of the leaker for tracing.

[0112] In this embodiment, a reliable, private, verifiable and traceable data circulation method is applied to data providers, cloud service providers, In the network environment consisting of a oracle, data users and blockchain platform, the following steps are followed:

[0113] Step 1: System initialization:

[0114] Step 1.1 From Choose from the oracles Committee Oracles Responsible for data authentication, including Indicates A oracle, The committee oracles jointly initialize the blockchain platform, including: setting up the consensus mechanism of the blockchain platform;

[0115] No. The committee oracle generates the i-th asymmetric encryption key pair , the i-th signature key pair , the i-th ATS key pair .

[0116] Step 1.2 The cloud service provider initializes the proxy unit, trusted execution environment unit, and privacy smart contract, including: setting up a public-private key pair Cloud service blockchain wallet , generate a remote authentication key pair for the trusted execution environment , asymmetric encryption key pair for the trusted execution environment And the signing key pair of the trusted execution environment , and establish an index structure; the trusted execution environment runs in the encrypted memory area provided by Intel SGX;

[0117] The privacy smart contract registers with any committee oracle to obtain a trusted and verifiable computing key pair and watermark key ;Privacy smart contracts rely on the Ethereum virtual machine embedded in the trusted execution environment (TEE) to achieve privacy protection and secure computing.

[0118] Step 1.3 The data user generates data using an asymmetric key pair After interacting with the committee oracle, digital certificates and identity identification are obtained; at the same time, a public-private key pair is set up Data using blockchain wallet ;

[0119] Step 1.4 The data provider generates an asymmetric key pair for data provision , and after interacting with any committee oracle, obtain a verifiable computation key pair .

[0120] Step 2: Data collection:

[0121] Step 2.1 The data provider determines whether the real data it holds is computable data or traceable data. If it is computable data, the private key of the verifiable computation key pair is used. Perform a verifiable computational signature on the real data held, obtain a verifiable computational signature, and then use the public key of the asymmetric encryption key pair of the committee oracle Encrypt the real data held and the verifiable computational signature together to obtain the processed data; otherwise, use the public key of the asymmetric encryption key pair of the committee oracle Directly encrypt the real data held to obtain the processed data; thus the processed data is sent to Committee Oracle .

[0122] Step 2.2 The committee oracle uses the private key of the i-th asymmetric encryption key pair Decrypt the received processed data to obtain the decrypted data and verify the authenticity of the decrypted data. If it is authentic, store the decrypted data as a data record and use the public key of the asymmetric encryption key pair of the trusted execution environment The decrypted data is re-encrypted using the private key of the committee oracle’s signature key pair Sign the double-encrypted data to obtain the primary signature data, and then use the private key of the ATS signature key pair of the committee oracle The ATS signature is performed on the data after the second encryption, so that it is combined with the primary signature data to form the encrypted signature data and then sent to the cloud service provider; otherwise, the decrypted data is discarded.

[0123] Step 2.3 The cloud service provider uses the public key of the oracle's signing key pair The encrypted signature data is verified. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment, and the trusted execution environment uses the private key of its own asymmetric encryption key pair to encrypt the data. After decrypting the encrypted signature data, the real data is obtained and forwarded to the privacy smart contract; otherwise, the encrypted signature data is discarded.

[0124] Step 2.4 The privacy smart contract receives at least After more than 100 real data, generate data ATS aggregation signature and data aggregation public key , and use the data aggregation public key Verify the data ATS aggregate signature. If the verification is successful, update the index structure with all real data and return all real data to the trusted execution environment. Otherwise, re-receive at least More than one real data;

[0125] Step 2.5 The trusted execution environment unit encrypts and stores all real data, calculates the hash value of all real data, and uses the private key of its own signing key pair The hash value is signed, and the signature of the hash value and the hash value of all real data are returned to the cloud service provider. The cloud service provider generates a data upload transaction based on the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform.

[0126] Step 2.6 The blockchain platform verifies the authenticity of the data upload transaction through a consensus mechanism. If it is authentic, the data upload transaction is recorded; otherwise, the data upload transaction is discarded.

[0127] Step 3: Data Request:

[0128] Step 3.1 The data user first constructs a remote attestation generation request containing a digital certificate and an identity identifier and sends it to the trusted execution environment. After receiving the remote attestation generation request, the trusted execution environment verifies the digital certificate and the identity identifier. If the verification is successful, the remote authentication key pair of the trusted execution environment is used. to generate a remote certificate and return it to the data user; otherwise, the remote certificate generation request is discarded;

[0129] Step 3.2 The data user verifies the remote proof. If the verification is successful, the data user will be assigned a remote proof based on the data and calculation method required. , generate a raw data request and use the public key in the asymmetric encryption key pair of the trusted execution environment Encrypt the original data request to construct a data request transaction containing the encrypted original data request, and use the blockchain wallet through the data Submit to the blockchain platform; otherwise, end the current data request process.

[0130] Step 3.2 The blockchain platform verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number for the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. A data request message containing the unique number and the encrypted original data request is then constructed and sent to the cloud service provider; otherwise, the corresponding data request transaction is discarded;

[0131] Step 3.3 The cloud service verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment, which uses the private key in its own asymmetric encryption key pair to encrypt the data. After decrypting the encrypted original data request in the data request message, the original data request is obtained and forwarded to the privacy smart contract.

[0132] Step 3.4 The privacy smart contract determines whether the data required by the data user is computable data or traceable data based on the original data request. If it is computable data, execute step 3.5; otherwise, execute step 3.6;

[0133] Step 3.5 After receiving the raw data request representing computable data, the privacy smart contract searches on the index structure to obtain the data set required by the data user. ,in, Indicates data items, and , express The jth data in Q represents the data set The total number of data items included, express The total number of data in; and using the calculation method Perform calculations and send the processing results to the trusted execution environment.

[0134] Step 3.6 After receiving the original data request representing the traceable data, the privacy smart contract uses the watermark key Perform watermark embedding to obtain watermark data, thereby returning the watermark data to the trusted execution environment as a processing result;

[0135] Step 3.7 The trusted execution environment uses the public key of its own asymmetric encryption key pair Encrypt the processing result and use the private key pair in its own signature key pair The encrypted processing result is signed, the encrypted and signed processing result is obtained, and returned to the cloud service provider, who uses the encrypted and signed processing result to construct a data response transaction and sends it to the cloud service blockchain wallet. Submit to the blockchain platform.

[0136] Step 3.8 The blockchain platform confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded.

[0137] Step 3.9 The data user queries the blockchain platform for the data response transaction and parses the data response transaction to obtain the encrypted and signed processing result.

[0138] Step 4: Data tracing:

[0139] Step 4.1 When traceable data is leaked, the data user generates a traceability message based on the leaked traceable data and encrypts it and sends it to Committee Oracles ;

[0140] Step 4.2 Committee Oracles After decrypting the encrypted traceability message, the local sensitive hash of the leaked traceability data is calculated and matched with the data record. If all committee oracles are matched successfully, the trusted execution environment uses the public key in its own asymmetric encryption key pair to encrypt the traceability message, obtain the re-encrypted traceability message and send it to the cloud service provider; otherwise, the data traceability process ends;

[0141] Step 4.3 The cloud service provider verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment, which decrypts it, obtains the tracing message and forwards it to the privacy smart contract; otherwise, the re-encrypted tracing message is discarded.

[0142] Step 4.4 The privacy smart contract receives at least After more than one traceback message, a traceback ATS aggregate signature is generated and traceable aggregate public key , and use the traceability aggregation public key to verify the traceability ATS aggregation signature. If the verification is successful, the watermark key is used After extracting the watermark information from the traceability message, it is returned to the trusted execution environment; the trusted execution environment generates a hash of the watermark information, and signs the hash of the watermark information to obtain a watermark signature, thereby returning the watermark signature and the hash of the watermark information to the cloud service provider;

[0143] Step 4.5 The cloud service provider uses the watermark signature and the hash structure of the watermark information to trace the transaction and submits it to the blockchain platform through the cloud service blockchain wallet;

[0144] Step 4.6 The blockchain platform verifies the authenticity of the traceability transaction through a consensus mechanism. If it is true, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.

[0145] In summary, the present invention solves the problem of authentication data circulation and makes improvements thereon, solves the problem of data from untrusted data providers, the problem of verifiable calculations under untrusted servers and the problem of traceability for anonymous data users, and realizes a trusted, private, verifiable and traceable data circulation method and system, which can ensure the safe and trusted circulation of data elements.

Claims

1. A trusted, private, verifiable and traceable data circulation system, characterized by: include: Data provision module, cloud service module, Oracle module, data usage module, blockchain platform module; Select from the oracle modules The oracle modules are used as committee oracle modules, among which, represents the threshold value of the committee oracle module, and ∈ ; The data providing module includes: a data providing registration unit and a data uploading unit; The cloud service module includes: a cloud service initialization unit, an agent unit, a trusted execution environment unit, a local storage unit, and a privacy smart contract unit; The committee oracle module includes: an oracle initialization unit and a data receiving unit; The data use module includes: a data use registration unit, a data request unit, and a data tracing unit; The oracle initialization unit of the committee oracle module initializes the blockchain platform module, including: setting the consensus mechanism of the blockchain platform module, and at the same time, The oracle initialization unit generates Asymmetric encryption key pair, signature key pair, and ATS signature key pair for the committee oracle module; The cloud service initialization unit initializes the proxy unit, the trusted execution environment unit, the local storage unit, and the privacy smart contract unit, including: setting up a cloud service blockchain wallet, generating a remote authentication key pair of the trusted execution environment unit, an asymmetric encryption key pair of the trusted execution environment unit, a signature key pair of the trusted execution environment unit, and an index structure of the local storage unit; The privacy smart contract unit registers with any committee oracle module to obtain a trusted and verifiable computing key pair and a watermark key; The data usage registration unit generates a data usage asymmetric key pair, and after interacting with the oracle initialization unit of any committee oracle module, obtains a digital certificate and identity, and at the same time, sets a data usage blockchain wallet; The data providing registration unit generates a data providing asymmetric key pair, and obtains a verifiable computing key pair after interacting with any oracle initialization unit; The data uploading unit determines whether the real data held is computable data or traceable data. If it is computable data, the private key of the verifiable computing key pair is used to perform a verifiable computing signature on the real data held to obtain the verifiable computing signature, and then the public key of the asymmetric encryption key pair of the committee oracle module is used to encrypt the real data held and the verifiable computing signature together to obtain the processed data; otherwise, the public key of the asymmetric encryption key pair of the committee oracle module is used to directly encrypt the real data held to obtain the processed data; thereby sending the processed data to the data receiving unit; The data receiving unit uses the private key of the asymmetric encryption key pair of the committee oracle module to decrypt the received processed data to obtain the decrypted data, and verifies the authenticity of the decrypted data. If it is authentic, the decrypted data is stored as a data record, and the decrypted data is re-encrypted using the public key of the asymmetric encryption key pair of the trusted execution environment unit, and then the re-encrypted data is signed using the private key of the signature key pair of the committee oracle module to obtain the primary signature data, and then the ATS signature is performed on the re-encrypted data using the private key of the ATS signature key pair of the committee oracle module, so as to form the encrypted signature data together with the primary signature data and send it to the proxy unit; otherwise, the decrypted data is discarded; The proxy unit verifies the encrypted signature data using the public key of the signature key pair of the committee oracle module. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment unit, and the trusted execution environment unit decrypts the encrypted signature data using the private key of its own asymmetric encryption key pair to obtain the real data and forward it to the privacy smart contract unit; otherwise, the encrypted signature data is discarded; The privacy smart contract unit receives at least After receiving more than 100 real data, the data ATS aggregation signature and the data aggregation public key are generated, and the data aggregation public key is used to verify the data ATS aggregation signature. If the verification is successful, the index structure of the local storage unit is updated with all the real data, and all the real data is returned to the trusted execution environment unit; otherwise, at least More than one real data; After the trusted execution environment unit encrypts all real data, it stores it in the local storage unit, and at the same time calculates the hash value of all real data and signs the hash value, thereby returning the signature of the hash value and the hash value of all real data to the proxy unit, and the proxy unit generates a data upload transaction according to the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform module; The blockchain platform module verifies the authenticity of the data upload transaction through a consensus mechanism. If it is true, the data upload transaction is recorded; otherwise, the data upload transaction is discarded; The data request unit constructs a remote proof generation request including a digital certificate and an identity identifier and sends the request to the trusted execution environment unit; After receiving the remote certificate generation request, the trusted execution environment unit verifies the digital certificate and the identity identifier. If the verification is successful, the remote authentication key pair of the trusted execution environment unit is used to generate the remote certificate and return it to the data request unit; otherwise, the remote authentication generation request is discarded; The data request unit verifies the remote proof. If the verification is successful, it generates an original data request according to the data and calculation method required by itself, and encrypts the original data request using the public key in the asymmetric encryption key pair of the trusted execution environment unit, thereby constructing a data request transaction containing the encrypted original data request, and submits the data to the blockchain platform module using the blockchain wallet; otherwise, the current data request process ends; The blockchain platform module verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number of the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. Then, a data request message containing the unique number and the encrypted original data request is constructed and sent to the proxy unit; otherwise, the corresponding data request transaction is discarded; The proxy unit verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment unit. The trusted execution environment unit uses the private key in its own asymmetric encryption key pair to decrypt the encrypted original data request in the data request message, obtains the original data request, and forwards it to the privacy smart contract unit. The privacy smart contract unit determines whether the data required by the data request unit itself is computable data or traceable data according to the original data request. If it is computable data, the corresponding required data is searched on the index structure and calculated using the calculation method to obtain the processing result; otherwise, the watermark key is used to embed the watermark into the data required by itself to obtain the watermark data, and the watermark data is returned to the trusted execution unit as the processing result; The trusted execution environment unit encrypts the processing result using the public key of its own asymmetric encryption key pair, and signs the encrypted processing result using the private key of its own signature key pair, obtains the encrypted and signed processing result, and returns it to the agent unit, which constructs a data response transaction using the encrypted and signed processing result, and submits it to the blockchain platform module through the cloud service blockchain wallet; The blockchain platform module confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded; The data request unit queries the blockchain platform module for a data response transaction, and parses the data response transaction to obtain a processing result after encryption and signature; When the traceable data is leaked, the data tracing unit generates a traceability message based on the leaked traceable data and encrypts it and sends it to A data receiving unit for a committee oracle module; After any data receiving unit decrypts the encrypted tracing message, it calculates the local sensitive hash of the leaked traceable data and matches it with the data record. If all data receiving units match successfully, the trusted execution environment unit encrypts the tracing message using the public key in its own asymmetric encryption key pair, obtains the re-encrypted tracing message and sends it to the proxy unit; otherwise, the current tracing process ends; The proxy unit verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment unit, which decrypts it to obtain the tracing message and forwards it to the privacy smart contract unit; otherwise, the re-encrypted tracing message is discarded; The privacy smart contract unit receives at least After receiving more than one traceability message, a traceability ATS aggregate signature and a traceability aggregate public key are generated, and the traceability aggregate public key is used to verify the traceability ATS aggregate signature. If the verification is successful, the watermark information is extracted from the traceability message using the watermark key and returned to the trusted execution environment unit; the trusted execution environment unit generates a hash of the watermark information, and signs the hash of the watermark information to obtain a watermark signature, and then returns the watermark signature and the hash of the watermark information to the proxy unit; The proxy unit uses the watermark signature and the hash structure of the watermark information to trace the transaction, and submits it to the blockchain platform module through the cloud service blockchain wallet; The blockchain platform module verifies the authenticity of the traceability transaction through a consensus mechanism. If it is authentic, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.

2. A trusted, private, verifiable and traceable data circulation method characterized by Applied to data providers, cloud service providers, In a network environment consisting of an oracle, a data user, a trusted execution environment, a privacy smart contract, and a blockchain platform, the data circulation method is carried out in the following steps: Step 1: System initialization: Step 1.1 From Choose from the oracles Each oracle serves as a committee oracle. The committee oracles jointly initialize the blockchain platform, including: setting up the consensus mechanism of the blockchain platform; No. Each committee oracle generates the i-th asymmetric encryption key pair, the i-th signature key pair, and the i-th ATS key pair; In step 1.2, the cloud service provider initializes the proxy unit, the trusted execution environment unit, and the privacy smart contract, including: setting up a cloud service blockchain wallet, generating a remote authentication key pair of the trusted execution environment, an asymmetric encryption key pair of the trusted execution environment, and a signature key pair of the trusted execution environment, and establishing an index structure; The privacy smart contract registers with any committee oracle to obtain a trusted and verifiable computing key pair and a watermark key; In step 1.3, the data user generates an asymmetric key pair for data use, and obtains a digital certificate and identity after interacting with the committee oracle; at the same time, sets up a blockchain wallet for data use; The data provider in step 1.4 generates an asymmetric key pair for data provision and obtains a verifiable computation key pair after interacting with any committee oracle; Step 2: Data collection: Step 2.1 The data provider determines whether the real data held is computable data or traceable data. If it is computable data, the private key of the verifiable computation key pair is used to perform a verifiable computation signature on the real data held to obtain a verifiable computation signature, and then the public key of the asymmetric encryption key pair of the committee oracle is used to encrypt the real data held and the verifiable computation signature together to obtain the processed data; otherwise, the public key of the asymmetric encryption key pair of the committee oracle is used to directly encrypt the real data held to obtain the processed data; thus, the processed data is sent to committee oracle; Step 2.2 The committee oracle uses the private key of the i-th asymmetric encryption key pair to decrypt the received processed data to obtain the decrypted data, and verifies the authenticity of the decrypted data. If it is authentic, the decrypted data is stored as a data record, and the public key of the asymmetric encryption key pair of the trusted execution environment is used to re-encrypt the decrypted data, and then the private key of the signature key pair of the committee oracle is used to sign the re-encrypted data to obtain the primary signature data, and then the private key of the ATS signature key pair of the committee oracle is used to perform ATS signature on the re-encrypted data, so as to form the encrypted signature data together with the primary signature data and send it to the cloud service provider; otherwise, the decrypted data is discarded; Step 2.3 The cloud service provider verifies the encrypted signature data using the public key of the oracle's signature key pair. If the verification is successful, the encrypted signature data is forwarded to the trusted execution environment, and the trusted execution environment decrypts the encrypted signature data using the private key of its own asymmetric encryption key pair to obtain the real data and forward it to the privacy smart contract; otherwise, the encrypted signature data is discarded; Step 2.4 The privacy smart contract receives at least After receiving more than 100 real data, the data ATS aggregation signature and data aggregation public key are generated, and the data aggregation public key is used to verify the data ATS aggregation signature. If the verification is successful, the index structure is updated with all real data, and all real data is returned to the trusted execution environment; otherwise, at least More than one real data; Step 2.5 The trusted execution environment unit encrypts and stores all real data, calculates the hash value of all real data, and signs the hash value with the private key of its own signature key pair, thereby returning the signature of the hash value and the hash value of all real data to the cloud service provider, and the cloud service provider generates a data upload transaction based on the signature of the hash value and the hash value of all real data, and submits it to the blockchain platform; Step 2.6 The blockchain platform verifies the authenticity of the data upload transaction through a consensus mechanism. If it is true, the data upload transaction is recorded; otherwise, the data upload transaction is discarded; Step 3: Data Request: Step 3.1 The data user first constructs a remote attestation generation request including a digital certificate and an identity identifier and sends it to the trusted execution environment. After receiving the remote attestation generation request, the trusted execution environment verifies the digital certificate and the identity identifier. If the verification is successful, the remote attestation is generated using the remote authentication key pair of the trusted execution environment and returned to the data user; otherwise, the remote attestation generation request is discarded; Step 3.2 The data user verifies the remote proof. If the verification is successful, the data user will use the data and calculation method required by the user. , generate an original data request, and encrypt the original data request using the public key in the asymmetric encryption key pair of the trusted execution environment, thereby constructing a data request transaction including the encrypted original data request, and submitting the data to the blockchain platform using the blockchain wallet; otherwise, end the current data request process; Step 3.3 The blockchain platform verifies the validity of the data request transaction through a consensus mechanism. If the verification is successful, a unique number for the data request transaction is generated, and the encrypted original data request is extracted from the data request transaction. A data request message containing the unique number and the encrypted original data request is then constructed and sent to the cloud service provider; otherwise, the corresponding data request transaction is discarded; Step 3.4: The cloud service verifies the validity of the data request message. If the verification is valid, the data request message is forwarded to the trusted execution environment. The trusted execution environment uses the private key in its own asymmetric encryption key pair to decrypt the encrypted original data request in the data request message, obtains the original data request, and forwards it to the privacy smart contract. Step 3.5 The privacy smart contract determines whether the data required by the data user is computable data or traceable data based on the original data request. If it is computable data, execute step 3.5; otherwise, execute step 3.6; Step 3.6 After receiving the original data request representing computable data, the privacy smart contract searches on the index structure to obtain the data required by the data user and calculates it. Perform calculations, and send the processing results to the trusted execution environment after obtaining them; Step 3.7 After receiving the original data request representing the traceable data, the privacy smart contract uses the watermark key to perform watermark embedding to obtain watermark data, thereby returning the watermark data as a processing result to the trusted execution environment; Step 3.8 The trusted execution environment encrypts the processing result using the public key of its own asymmetric encryption key pair, and signs the encrypted processing result using the private key of its own signature key pair, obtains the encrypted and signed processing result, and returns it to the cloud service provider, which constructs a data response transaction using the encrypted and signed processing result and submits it to the blockchain platform through the cloud service blockchain wallet; Step 3.9 The blockchain platform confirms the legitimacy of the data response transaction through a consensus mechanism. If it is legal, the data response transaction is recorded; otherwise, the data response transaction is discarded; Step 3.10 The data user queries the blockchain platform for data response transactions, and parses the data response transactions to obtain the encrypted and signed processing results; Step 4: Data tracing: Step 4.1 When the traceable data is leaked, the data user generates a traceability message based on the leaked traceable data and encrypts it and sends it to committee oracle; Step 4.2 After the committee oracles decrypt the encrypted traceability message, they calculate the local sensitive hash of the leaked traceability data and match it with the data record. If all committee oracles are matched successfully, the trusted execution environment encrypts the traceability message using the public key in its own asymmetric encryption key pair, obtains the re-encrypted traceability message and sends it to the cloud service provider; otherwise, the data traceability process ends; Step 4.3 The cloud service provider verifies the re-encrypted tracing message. If the verification is successful, the re-encrypted tracing message is forwarded to the trusted execution environment, which decrypts it to obtain the tracing message and forwards it to the privacy smart contract; otherwise, the re-encrypted tracing message is discarded; Step 4.4 The privacy smart contract receives at least After receiving more than one traceability message, a traceability ATS aggregate signature and a traceability aggregate public key are generated, and the traceability aggregate public key is used to verify the traceability ATS aggregate signature. If the verification is successful, the watermark information is extracted from the traceability message using the watermark key and returned to the trusted execution environment; the trusted execution environment generates a hash of the watermark information, and signs the hash of the watermark information to obtain a watermark signature, thereby returning the watermark signature and the hash of the watermark information to the cloud service provider; Step 4.5 The cloud service provider uses the watermark signature and the hash structure of the watermark information to trace the transaction and submits it to the blockchain platform through the cloud service blockchain wallet; Step 4.6 The blockchain platform verifies the authenticity of the traceability transaction through a consensus mechanism. If it is true, the traceability transaction is recorded; otherwise, the traceability transaction is discarded.