Multi-data Fusion Method, Apparatus, Electronic Device, and Storage Medium
By using data security channels and trusted execution environment on the blockchain, the problem of uncertain input order of multiple data sources is solved, ensuring the security of private data and the credibility of analysis results, and achieving the sequence and security of the privacy computing process.
Patent Information
- Application Number
- CN202310118699.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-31
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2043-01-31
AI Technical Summary
The problem of uncertain input order of multiple data sources in the prior art has not been effectively solved, resulting in the risk of privacy data breach by data providers during privacy calculation and the credibility of analysis results.
Through multiple data providers, they send the original data set and the private key provided by the data user to the algorithm executor through the data security channel. The algorithm executor deploys the analysis program in a trusted execution environment, calculates the analysis results and signs. The results and signatures are verified by smart contracts on the blockchain, ensuring that the data user obtains the analysis results after verification is passed.
It ensures the order and credibility of analysis results while ensuring that private data is not leaked, solves the problem of uncertain input order of multiple data sources, and improves the security and reliability of the privacy computing process.
Smart Images

Figure CN115934847B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software engineering technology. Specifically, it relates to a multi-data fusion method, device, electronic device, and storage medium. Background Art
[0002] The multi-data fusion problem in privacy computing: Suppose there are multiple data providers, each with raw data that cannot be leaked. Additionally, there is a data user, also called the result beneficiary, whose requirement is the execution result of the raw data of each data provider on its specified analysis program, such as calculating the average value with these data or performing machine learning training tasks, etc.
[0003] During the entire execution process, it is necessary to ensure that the raw data of each data provider is not known to anyone other than itself, and at the same time ensure that the data user pays for this privacy computing process only after obtaining the correct analysis result.
[0004] Regarding the problem of uncertain input order of multiple data sources in related technologies, no effective solution has been proposed yet. Summary of the Invention
[0005] The main purpose of this application is to provide a multi-data fusion method, device, electronic device, and storage medium to solve the problem of uncertain input order of multiple data sources.
[0006] To achieve the above objective, according to one aspect of this application, a multi-data fusion method is provided.
[0007] The multi-data fusion method according to this application includes:
[0008] Multiple data providers send the raw data set D and the private key S provided by the data user to the algorithm executor through a data security channel a ;
[0009] The algorithm executor deploys an analysis program in a trusted execution environment, calculates the analysis result R of the raw data set D, and a performs a signature according to the private key S to obtain a signature result σ, and submits the R and the σ to the smart contract on the chain;
[0010] After the verification by the smart contract on the chain is passed, the data user obtains the analysis result R from the smart contract.
[0011] Furthermore, the method further includes:
[0012] Multiple data providers submit the hash values H(D1), H(D2), …, H(D n ) of their raw data to the blockchain;
[0013] The algorithm executor discloses the analysis program of the algorithms it supports and submits the hash value of the analysis program to the blockchain.
[0014] Furthermore, the method further includes:
[0015] Multiple data providers determine the analysis programs required for the current privacy computing process and submit the hash value h of the analysis program enclave to the smart contract on the chain;
[0016] Multiple data providers temporarily store the digital currency amounts to be paid for the current privacy computing process in the smart contract;
[0017] Multiple data providers submit the public key P a to the smart contract.
[0018] Furthermore, the algorithm executor deploys the analysis program in a trusted execution environment, calculates the analysis result R of the original dataset D, and signs according to the private key S a to obtain the signature result σ, including:
[0019] Receive the original data sets D = {D1, D2, …, D n} of each data provider through the data security channel;
[0020] Execute the preset analysis program algorithm of the analysis program according to the D to obtain the analysis result R;
[0021] Receive the private key S provided by the data user through the data security channel a ; and
[0022] Calculate the hash values of all the original data D, sort the set of data hash values {H(D1), H(D2), …, H(D n )} to obtain the sorting result H1 < H2 < … < H n .
[0023] Furthermore, the algorithm executor deploys the analysis program in a trusted execution environment, calculates the analysis result R of the original dataset D, and signs according to the private key S a to obtain the signature result σ, further including:
[0024] Sign the analysis result R using the private key S a ;
[0025] Sign the concatenation H = H1 || H2 || … || H of the ordered hash values using the private key S a using the private key Sn Perform a signature, where the || symbol represents the concatenation of content;
[0026] Use the private key S a Sign the hash value of the current analysis program;
[0027] Use the private key S a Sign the obtained signature result Perform a signature, where the function Is a signature function, indicating that the private key S a Sign the input content of the function.
[0028] Furthermore, after the smart contract on the chain is verified, to enable the data user to obtain the analysis result R from the smart contract, including:
[0029] After the smart contract on the chain receives the R and the signature result σ, it sorts the set of data hash values {H(D1), H(D2), …, H(D n )} to obtain a sorted result H1 < H2 < … < H n ;
[0030] Calculate H = H1 || H2 || … || H n , and verify whether the σ is a legal signature of R || H || h a through the public key P enclave ;
[0031] If the verification passes, execute the payment process to enable the data user to obtain the analysis result R from the smart contract and forward the deposit of the data user.
[0032] Furthermore, the trusted execution environment is used to ensure that the analysis program running on the algorithm executor is the analysis program specified by the data user, and the algorithm executor cannot tamper with the program code; and to ensure that the private data passed by the data provider into the trusted execution environment cannot be obtained.
[0033] To achieve the above object, according to another aspect of the present application, a multi-data fusion device is provided.
[0034] The multi-data fusion device according to the present application includes:
[0035] A sending module, configured to enable multiple data providers to send the original data set D and the private key S provided by the data user to the algorithm executor through a data security channel a ;
[0036] A calculation module, configured to enable the algorithm executor to deploy an analysis program in a trusted execution environment, calculate the analysis result R of the original data set D, and according to the private key Sa Sign to obtain the signature result σ, and submit the R and σ to the smart contract on the chain;
[0037] The verification module is used to enable the data user to obtain the analysis result R from the smart contract after the smart contract on the chain is verified.
[0038] According to another aspect of the present application, a storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.
[0039] According to another aspect of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any one of the above method embodiments.
[0040] In the embodiment of the present application, multiple data providers are used to send the original data set D and the private key S provided by the data user to the algorithm executor through a data security channel. a In this way, the algorithm executor deploys the analysis program in the trusted execution environment, calculates the analysis result R of the original data set D and the analysis result R of the original data set D according to the private key S a The signature result σ is obtained by signing, and the R and σ are submitted to the smart contract on the chain. After the smart contract on the chain is verified, the purpose of enabling the data user to obtain the analysis result R from the smart contract is achieved, thereby achieving the technical effect of ensuring the order of private data, and further solving the technical problem of uncertain input order of multiple data sources. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The drawings that constitute part of this application are used to provide a further understanding of this application and make other features, objects and advantages of this application more apparent. The illustrative embodiment drawings of this application and their descriptions are used to explain this application and do not constitute an improper limitation of this application. In the drawings:
[0042] Figure 1 is a flowchart of a multi-data fusion method according to an embodiment of the present application;
[0043] Figure 2 is a schematic structural diagram of a multi-data fusion device according to an embodiment of the present application;
[0044] Figure 3 It is a schematic diagram of the implementation principle of the multi-data fusion method according to an embodiment of the present application. DETAILED DESCRIPTION
[0045] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.
[0046] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0047] In this application, terms such as "upper," "lower," "left," "right," "front," "back," "top," "bottom," "inner," "outer," "center," "vertical," "horizontal," "transverse," and "longitudinal" indicate positions or locations based on the positions or locations shown in the accompanying drawings. These terms are primarily intended to better describe this application and its embodiments and are not intended to limit the devices, elements, or components indicated to having a specific orientation, or to being constructed or operated in a specific orientation.
[0048] Furthermore, some of the above terms may be used to express other meanings besides indicating a position or location. For example, the term "on" may also be used to indicate a dependency or connection in certain circumstances. Those skilled in the art will understand the specific meanings of these terms in this application based on the specific circumstances.
[0049] Furthermore, the terms "installed," "disposed," "provided with," "connected," "connected," and "socketed" should be interpreted broadly. For example, they can refer to fixed connections, removable connections, or integral structures; mechanical connections or electrical connections; direct connections, indirect connections through an intermediary, or internal communication between two devices, elements, or components. Those skilled in the art will understand the specific meanings of these terms in this application based on the specific circumstances.
[0050] This application is based on Trusted Execution Environments (TEEs), including Intel's SGX, AMD's SEV, etc., which can ensure that programs run in a protected environment, achieving the two basic goals of preventing code tampering and preventing the acquisition of intermediate variables.
[0051] In this application, the trusted execution environment technology ensures that the analysis program running on the algorithm executor is the analysis program specified by the data user, and the algorithm executor cannot tamper with the program code; and it ensures that the private data passed by the data provider into the TEE cannot be acquired. Generally, a program running in the TEE is called an enclave. There are specific methods for an enclave to obtain its own hash value.
[0052] This application is based on a data security channel, allowing two parties at different locations to transmit private data from one party to the TEE of the other party while ensuring that the privacy is not leaked. For those skilled in the art, the above implementation can include various methods, which are not specifically limited in the embodiments of this application.
[0053] This application is based on blockchain and smart contract technologies. Blockchain is a decentralized ledger, and the programs executed on it are called smart contracts, which are executed in a completely open and transparent manner, and any information on it is publicly visible.
[0054] The process of ensuring the credibility of the results of the present invention is based on relevant privacy computing processes, which are not specifically limited herein.
[0055] The verification private key of the data user is transmitted through the data security channel into the enclave of the data analysis program to sign the input data, the hash of the analysis program, and the result. However, at this time, there are multiple pieces of data and they can be input in any order, then the signature should contain the information of all the data, and it should be ensured that the verification can pass for any data input order.
[0056] It should be noted that, without conflict, the embodiments in this application and the features in the embodiments can be combined with each other. The following will detail this application with reference to the drawings and in combination with the embodiments.
[0057] As Figure 1 shown, the method includes the following steps S110 to step S140:
[0058] Step S110, multiple data providers send the original data set D and the private key S provided by the data user to the algorithm executor through the data security channel. a .
[0059] As the data preparation stage, each data provider submits the hash values (also called digest values, obtained by calculating a given collision-resistant function, and the original data information cannot be calculated from the hash value) H(D1), H(D2), …, H(D n ) to the blockchain, where H() is a publicly available function for calculating hash values.
[0060] In addition, the algorithm provider publicly discloses the analysis program of the supported algorithm and submits the hash value of the analysis program to the blockchain.
[0061] Step S120, the algorithm executor deploys the analysis program in the trusted execution environment, calculates the analysis result R of the original data set D and signs according to the private key S a to obtain the signature result σ, and submits the R and the σ to the smart contract on the chain.
[0062] In the execution stage, the algorithm executor deploys a specific enclave. After execution, the algorithm executor submits R and σ to the smart contract.
[0063] Step S130, after the verification by the smart contract on the chain, the data user obtains the analysis result R from the smart contract.
[0064] After receiving R and σ, the smart contract performs signature verification. After verification, the data user can obtain the required correct analysis result R from the smart contract. Thus, the multi-data fusion privacy calculation process is completed.
[0065] From the above description, it can be seen that the present application achieves the following technical effects: multiple data providers send the original data set D and the private key S provided by the data user to the algorithm executor through a data security channel a in such a way that the algorithm executor deploys the analysis program in the trusted execution environment, calculates the analysis result R of the original data set D and signs according to the private key S a to obtain the signature result σ, and submits the R and the σ to the smart contract on the chain, achieving the purpose that after the verification by the smart contract on the chain, the data user obtains the analysis result R from the smart contract, thereby achieving the technical effect of ensuring the order of privacy data, and further solving the technical problem of the uncertain input order of multiple data sources.
[0066] As a preference in this embodiment, the method further includes: multiple data providers submit the hash values H(D1), H(D2), …, H(D n) is submitted to the blockchain; the algorithm executor discloses the analysis program of the algorithm it supports and submits the hash value of the analysis program to the blockchain.
[0067] As a preferred embodiment of this invention, the method further includes: the plurality of data providers determining the analysis program required for the current privacy calculation process, and generating a hash value h of the analysis program. enclave Submit to the smart contract on the chain; multiple data providers temporarily deposit the digital currency required to pay for the current privacy calculation process into the smart contract; multiple data providers submit the public key P a Submit to the smart contract.
[0068] The data user specifies the analysis program required for this privacy calculation process and sends the hash value h of this analysis program to the enclave Submit to the smart contract. The data user temporarily stores the digital currency required for the privacy calculation process in the smart contract. a Submit to the smart contract.
[0069] As a preference in this embodiment, the algorithm executor deploys the analysis program in a trusted execution environment, calculates the analysis result R of the original data set D and the analysis result R of the original data set D according to the private key S a Signing to obtain a signature result σ, including: receiving the original data set D = {D1, D2, ..., D n}; Execute the preset analysis program algorithm of the analysis program according to D to obtain the analysis result R; receive the private key S provided by the data user through the data security channel a ; and calculate the hash value of all original data D, for the set of data hash values {H(D1),H(D2),…,H(D n )} to sort and get the sort result H1 <H2<…<H n .
[0070] Receive the original data from each data provider through a data security channel. Because the input order cannot be guaranteed, all the received results are a set D = {D1, D2, ..., D n};
[0071] Execute the analysis program algorithm for D and obtain the analysis result R;
[0072] Receive the S provided by the data user through the data security channel a ;
[0073] Calculate the hash value of all original data, and the set of data hash values {H(D1),H(D2),…,H(Dn )} are sorted to obtain a sorting result H1 < H2 < … < H n .
[0074] Considering that the probability of hash collision is small enough, as long as the original data are different from each other, there will be no situation where the hash values of two pieces of data are equal.
[0075] As a preference in this embodiment, the algorithm executor deploys an analysis program in a trusted execution environment, calculates the analysis result R of the original data set D, and signs according to the private key S a to obtain a signature result σ, further including: using the private key S a to sign the analysis result R; using the private key S a to sign the concatenation of ordered hash values H = H1||H2||…||H n , where the || symbol represents the concatenation of contents; using the private key S a to sign the hash value of the current analysis program; using the private key S a to sign the obtained signature result , where the function is a signature function, indicating signing the input content of the function with the private key S a .
[0076] Using the private key S a to sign the concatenation of the following contents respectively:[[]]
[0077] Analysis result R
[0078] Concatenation of ordered hash values H = H1||H2||…||H n , where the || symbol represents the concatenation of contents.
[0079] Hash value E of the current enclave (obtained by a specific method of the enclave)
[0080] The obtained signature result is denoted as where the function is a signature function, indicating signing the input content of the function with the private key S a .
[0081] As a preference in this embodiment, after the smart contract on the chain is verified, to enable the data user to obtain the analysis result R from the smart contract, including: after the smart contract on the chain receives the R and the signature result σ, it sorts the set of data hash values {H(D1), H(D2), …, H(D n )} to obtain a sorting result H1 < H2 < … < H n ; calculates H = H1||H2||…||Hn , and pass the public key P a Verify whether the σ is R||H||h enclave If the verification is successful, the payment link is executed so that the data user obtains the analysis result R from the smart contract and the deposit amount of the data user is forwarded.
[0082] After the smart contract receives R,σ, it executes the following steps
[0083] For the set of data hash values {H(D1),H(D2),…,H(D n )} to sort and get the sort result H1 <H2<…<H n
[0084] Calculate H = H1||H2||…||H n
[0085] Through the public key P a Verify whether σ is R||H||h enclave If the verification fails, the system returns FAIL and returns the temporary deposit of the data user. If the verification passes, the payment process is executed and the deposit of the data user is forwarded to the private payee.
[0086] After verification, the data user can obtain the required correct analysis result R from the smart contract. At this point, the multi-data fusion privacy calculation process is completed.
[0087] The data analysis program in this solution supports a richer instruction set, including all instructions supported by the TEE. The TEE runs the analysis program more efficiently.
[0088] This solution offers enhanced anti-cheating properties. Multi-party secure computation scenarios typically require all participants to be honest. This solution allows computing power executors and data users to arbitrarily deviate from the correct execution of the protocol. The use of a trusted execution environment ensures that private data is not leaked, and that algorithm executors cannot tamper with the analysis program code, otherwise the analysis results will fail blockchain verification. Digital signatures and blockchain verification guarantee the atomicity of the delivery process. If signature verification passes, the result is guaranteed to be correct. The recipient will receive the payment successfully, and the data user cannot refuse to pay. If signature verification fails, the result is incorrect, and the data user is not required to pay.
[0089] As a preference in this embodiment, the trusted execution environment is used to ensure that the analysis program running on the algorithm executor is the analysis program specified by the data user, and the algorithm executor cannot tamper with the program code; and to ensure that the privacy data passed into the trusted execution environment by the data provider cannot be obtained.
[0090] Based on the Trusted Execution Environment (TEE), including Intel's SGX, AMD's SEV, etc., it can ensure that the program runs in a protected environment, achieving the two basic goals of code cannot be tampered with and intermediate variables cannot be obtained. In the present invention, the Trusted Execution Environment technology ensures that the analysis program running on the algorithm executor is the analysis program specified by the data user, and the algorithm executor cannot tamper with the program code; and ensures that the private data passed to the TEE by the data provider cannot be obtained. Generally, a program running in a TEE is called an enclave. Enclave has a specific method to obtain its own hash value.
[0091] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0092] According to an embodiment of the present application, a multi-data fusion device for implementing the above method is also provided. Figure 2 As shown, the device includes:
[0093] The sending module 210 is used for multiple data providers to send the original data set D and the private key S provided by the data user to the algorithm executor through the data security channel. a ;
[0094] The calculation module 220 is used for the algorithm execution party to deploy the analysis program in the trusted execution environment, calculate the analysis result R of the original data set D and the analysis result R of the original data set D according to the private key S. a Sign to obtain the signature result σ, and submit the R and σ to the smart contract on the chain;
[0095] The verification module 230 is used to enable the data user to obtain the analysis result R from the smart contract after the smart contract on the chain is verified.
[0096] In the sending module 210 of the embodiment of the present application, as a data preparation stage, each data provider sends the hash value (also called digest value, obtained by calculating a given anti-collision function, and the original data information cannot be calculated through the hash value) H(D1), H(D2), ..., H(D n ) is submitted to the blockchain, where H() is a public function for calculating the hash value.
[0097] In addition, the algorithm provider discloses the analysis program of the algorithm it supports and submits the hash value of the analysis program to the blockchain.
[0098] In the execution stage of the computing module 220 in the embodiments of the present application, after the algorithm executor deploys a specific enclave and finishes the execution, the algorithm executor submits R and σ to the smart contract.
[0099] In the verification module 230 in the embodiments of the present application, after the smart contract receives R and σ, it performs signature verification. After the verification passes, the data user can obtain the required correct analysis result R from the smart contract. Thus, the multi-data fusion privacy computing process is completed.
[0100] Obviously, those skilled in the art should understand that the above-mentioned modules or steps of the present application can be implemented by a general computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. Optionally, they can be implemented by program codes executable by the computing device. Thus, they can be stored in the storage device and executed by the computing device, or they can be separately made into individual integrated circuit modules, or multiple modules or steps among them can be made into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.
[0101] As Figure 3 shown, it is a schematic diagram of the implementation principle of the multi-data fusion method according to the embodiments of the present application, which specifically includes the following steps:
[0102] Step 1, each data provider submits the hash values (also called digest values, obtained by calculating a given collision-resistant function, and the original data information cannot be calculated from the hash value) H(D1), H(D2), …, H(D n ) to the blockchain, where H() is a publicly available function for calculating hash values. The algorithm provider discloses the analysis program of the algorithm it supports and submits the hash value of the analysis program to the blockchain.
[0103] Step 2, request stage:
[0104] First, the data user specifies the analysis program required for this privacy computing process and submits the hash value h enclave of this analysis program to the smart contract.
[0105] Second, the data user temporarily stores the digital currency amount to be paid for this privacy computing process in the smart contract.
[0106] Finally, the data user submits P a to the smart contract.
[0107] Step 3, execution stage
[0108] The algorithm executor deploys a specific enclave and sequentially performs the following steps:
[0109] Receive the original data from each data provider through a data security channel. Since the input order cannot be guaranteed, all the received results form a set D = {D1, D2, …, D n}; Execute the analysis program algorithm on D to obtain the analysis result R; Receive S provided by the data user through the data security channel a ; Calculate the hash values of all the original data, and sort the set of data hash values {H(D1), H(D2), …, H(D n )} to obtain the sorting result H1 < H2 < … < H n .
[0110] Use the private key S a to sign the concatenation of the following contents respectively: the analysis result R; the concatenation of the ordered hash values H = H1 || H2 || … || H n , where the || symbol represents the concatenation of contents; the hash value E of the current enclave to obtain the signature result denoted as where the function is the signature function, indicating that the private key S a is used to sign the input content of the function; after outputting R, σ, the algorithm executor submits R, σ to the smart contract.
[0111] Step 4, verification phase
[0112] After the smart contract receives R, σ, it executes the following steps: Sort the set of data hash values {H(D1), H(D2), …, H(D n )} to obtain the sorting result H1 < H2 < … < H n ; Calculate H = H1 || H2 || … || H n ; Verify whether σ is a legal signature of R || H || h a through the public key P enclave . If the verification fails, return FAIL and refund the deposit of the data user. If the verification passes, execute the payment link, and the deposit of the data user is forwarded to the current privacy recipient. After the verification passes, the data user can obtain the required correct analysis result R from the smart contract. Thus, the multi-data fusion privacy calculation process is completed.
[0113] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A multi-data fusion method, characterized in that, The method includes: Multiple data providers send the original dataset to the algorithm executor through a data security channel , the private key provided by the data user ; The algorithm executor deploys an analysis program in a trusted execution environment to calculate the original data set analysis results and the signature result obtained by signing according to the private key and submit the and the and the to the smart contract on the chain; After the smart contract on the chain is verified, the data user can obtain the analysis result from the smart contract ; The method further includes: Multiple data providers submit the hash values of their original data to the blockchain; The algorithm executor discloses the analysis program of the algorithm it supports and submits the hash value of the analysis program to the blockchain; The method further includes: Multiple said data providers determine the analysis program required for the current privacy computing process and send the hash value of the analysis program to the smart contract on the chain; Multiple data providers temporarily store the digital currency payment required for the current privacy computing process in the smart contract; Multiple said data providers submit the public key to the said smart contract; The algorithm executor deploys an analysis program in a trusted execution environment and calculates the original data set of the analysis result and performs a signature based on the private key to obtain a signature result , including: Receive the original data sets of each data provider through the data security channel ; According to the above-mentioned Execute the preset analysis program algorithm of the analysis program to obtain the analysis result ; Receiving the private key provided by the data user through the data security channel; and Calculate all the original data to obtain the hash values, and sort the set of data hash values to get the sorting result ; where H() is a publicly available function for calculating hash values; The algorithm executor deploys an analysis program in a trusted execution environment and calculates the original data set of the analysis result and the signature result obtained by signing according to the private key also includes: , further comprising: Use the private key to sign the analysis result ; Use the private key Concatenation of ordered hash values Perform signature, where The symbol represents the concatenation of content; Use the private key to sign the hash value of the current analysis program; Use the private key to obtain the signature result Perform signature, where the function is the signature function, indicating that the private key is used to sign the input content of the function, and E represents the hash value of the current enclave.
2. The method according to claim 1, characterized in that, After the smart contract on the chain is verified, the data user can obtain the analysis result from the smart contract , including: The smart contract on the chain receives the , the signature result Afterwards, the set of data hash values Sort and get the sorting results ; Calculate and verify whether the is a legal signature of the by using the public key ; If the verification is passed, the payment process is executed so that the data user can obtain the analysis result from the smart contract , and forward the deposit of the data user.
3. The method according to claim 1, wherein The trusted execution environment is used to ensure that the analysis program running on the algorithm executor is the analysis program specified by the data user, and the algorithm executor cannot tamper with the program code; and to ensure that the private data passed by the data provider into the trusted execution environment cannot be obtained.
4. A multi-data fusion device, characterized in that, The device includes: A sending module, configured to enable multiple data providers to send an original data set to an algorithm executor through a data security channel and a private key provided by a data user ; Multiple data providers submit the hash values of their original data to the blockchain; The algorithm executor discloses the analysis program of the algorithm it supports and submits the hash value of the analysis program to the blockchain; Multiple said data providers determine the analysis programs required for the current privacy computing process and send the hash values of the said analysis programs to the smart contract on the said chain; Multiple data providers temporarily store the digital currency payment required for the current privacy computing process in the smart contract; Multiple of the data providers submit the public key to the smart contract; a computing module, configured to enable the algorithm executor to deploy an analysis program in a trusted execution environment and calculate the analysis result of the original data set and generate a signature result according to the private key and submit the and the and the to the smart contract on the chain; The algorithm executor deploys an analysis program in a trusted execution environment and calculates the original data set analysis result and according to the private key perform signature to obtain a signature result , including: Receive the original data sets of each data provider through the data security channel ; According to the above-mentioned Execute the preset analysis program algorithm of the analysis program to obtain the analysis result ; Receiving a private key provided by the data user through the data security channel ; and Calculate all the original data to obtain the hash values, and sort the set of data hash values to get the sorting result ; where H() is a publicly available function for calculating hash values; The algorithm executor deploys an analysis program in a trusted execution environment and calculates the original data set of the analysis result and performs signature according to the private key to obtain a signature result , further including: Use the private key Sign the analysis result R; Use the private key Concatenation of ordered hash values Perform signature, where The symbol represents the concatenation of content; Use the private key to sign the hash value of the current analysis program; Use the private key to obtain the signature result and perform signature, where the function is the signature function, indicating that the private key is used to sign the input content of the function, and E represents the hash value of the current enclave; A verification module, which is used to enable the data user to obtain the analysis result from the smart contract after the smart contract on the chain is verified successfully .
5. An electronic device, including: A processor; And A memory arranged to store computer-executable instructions, the executable instructions, when executed, cause the processor to execute the method according to any one of claims 1 to 3.
6. A computer-readable storage medium, the computer-readable storage medium stores one or more programs, the one or more programs, when executed by an electronic device including multiple application programs, cause the electronic device to execute the method according to any one of claims 1 to 3.
Citation Information
Patent Citations
Data processing method, device, equipment and medium
CN113315745A
Data credible processing method, block chain platform and terminal equipment
CN113472546A