Data sharing method and device
By using TEE blockchain nodes for secure multi-party computing and data sharing in federated learning, the problem of easy leakage of shared data in federated learning is solved, and the cost of data privacy protection and trust is reduced.
Patent Information
- Application Number
- CN202110621054.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-03
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-06-03
AI Technical Summary
Shared data in federated learning is prone to leakage, and the existing technology has not effectively solved this problem.
The first TEE blockchain node processes the target data based on secure multi-party calculations, and uploads the processed data to the blockchain network for sharing with multiple service providers. The service provider performs corresponding processing and uploads data through the second TEE blockchain node.
It realizes data privacy protection during data sharing, reduces the risk of data leakage, and increases the trust cost of data sharing through trusted execution environment technology.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing, and in particular to a data sharing method and device. Background Art
[0002] If data does not leave the domain, the value of the data cannot be realized. When using third-party models, business data may also be leaked. This leads to the reluctance of different service providers to share data. Federated learning requires the use of other privacy protection technologies to truly protect data privacy, and the model is difficult to keep confidential.
[0003] There is no solution yet for the problem of easy leakage of shared data required for federated learning in related technologies. Summary of the invention
[0004] The embodiments of the present invention provide a data sharing method and device to at least solve the problem that shared data required for federated learning in related technologies is easily leaked.
[0005] According to an embodiment of the present invention, a data sharing method is provided, comprising:
[0006] Processing the first target data based on secure multi-party computing through the first TEE blockchain node;
[0007] The processed first target data is uploaded to the blockchain network, and data is shared with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network.
[0008] Optionally, processing the first target data based on secure multi-party computing through the first TEE blockchain node includes:
[0009] Through the first TEE blockchain node, the first target data is split into multiple first data segments based on secret sharing.
[0010] Optionally, uploading the processed first target data to a blockchain network, and sharing the data with multiple service providers through the blockchain network includes:
[0011] Uploading the multiple first data fragments to the blockchain network for the multiple service providers to obtain, wherein one service provider obtains one first data fragment;
[0012] Acquire, through the blockchain network, a plurality of second data segments uploaded by the plurality of service providers, wherein one service provider corresponds to one second data segment;
[0013] The first data segment is merged with the multiple second data segments to obtain first data, wherein the multiple service providers merge the first data segment with the multiple second data segments respectively to obtain second data.
[0014] Optionally, after uploading the processed first target data to the blockchain network and sharing the data with multiple service providers through the blockchain network, the method further includes:
[0015] Receive an external network access request for accessing data sent by an external network user through a third TEE blockchain node;
[0016] Obtaining the data requested for access from the blockchain network, and performing privacy logic inference on the data to obtain an inference result;
[0017] The inference result is sent to the third TEE blockchain node, and the inference result is fed back to the external network user through the third TEE blockchain node.
[0018] Optionally, uploading the inference result to a third TEE blockchain node, and feeding back the inference result to the external network user through the third TEE blockchain node includes:
[0019] Get the pre-synchronized key;
[0020] Encrypting the inference result according to the key to obtain an encrypted inference result;
[0021] The encrypted inference result is sent to the third TEE blockchain node, wherein the third TEE blockchain node is used to decrypt the encrypted inference result according to the key, obtain the inference result, and feed back the inference result to the external network user.
[0022] Optionally, before processing the first target data based on secure multi-party computing through the first TEE blockchain node, the method further includes:
[0023] Sending a registration request to a cluster management center through a first process, wherein the cluster management center is used to receive the registration requests initiated by the multiple service providers through a second process, and the registration requests carry identity information;
[0024] receiving a notification message sent by the cluster management center when it is determined that the codes of the first process and the second process are the same;
[0025] Based on the notification message, mutual identity authentication is performed with the multiple service providers through the identity identification information;
[0026] After mutual identity authentication is passed, key synchronization is performed with the multiple service providers.
[0027] According to another embodiment of the present invention, there is further provided a data sharing device, comprising:
[0028] A data processing module, used to process the first target data based on secure multi-party computing through the first TEE blockchain node;
[0029] A data sharing module is used to upload the processed first target data to the blockchain network, and share data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node and upload the processed second target data to the blockchain network.
[0030] Optionally, the data processing module is also used to
[0031] Through the first TEE blockchain node, the first target data is split into multiple first data segments based on secret sharing.
[0032] Optionally, the data sharing module includes:
[0033] A first uploading submodule, configured to upload the plurality of first data fragments to the blockchain network for acquisition by the plurality of service providers, wherein one service provider acquires one first data fragment;
[0034] A first acquisition submodule is used to acquire, through a blockchain network, a plurality of second data segments uploaded by the plurality of service providers, wherein one service provider corresponds to one second data segment;
[0035] The fusion submodule is used to fuse the first data segment with the multiple second data segments to obtain first data, wherein the multiple service providers fuse the first data segment with the multiple second data segments respectively to obtain second data.
[0036] Optionally, the device further comprises:
[0037] A first receiving module is used to receive an external network access request for accessing data sent by an external network user through a third TEE blockchain node;
[0038] An inference module, used to obtain the data requested for access from the blockchain network, and perform privacy logic inference on the data to obtain an inference result;
[0039] A feedback module is used to send the inference result to the third TEE blockchain node, and to feed back the inference result to the external network user through the third TEE blockchain node.
[0040] Optionally, the feedback module includes:
[0041] A second acquisition submodule is used to acquire a pre-synchronized key;
[0042] An encryption submodule, used for encrypting the inference result according to the key to obtain an encrypted inference result;
[0043] The second uploading submodule is used to send the encrypted inference result to the third TEE blockchain node, wherein the third TEE blockchain node is used to decrypt the encrypted inference result according to the key, obtain the inference result, and feedback the inference result to the external network user.
[0044] Optionally, the device further comprises:
[0045] A sending module, configured to send a registration request to a cluster management center through a first process, wherein the cluster management center is configured to receive the registration requests initiated by the multiple service providers through a second process, wherein the registration requests carry identity information;
[0046] A second receiving module, configured to receive a notification message sent by the cluster management center when it is determined that the codes of the first process and the second process are the same;
[0047] An identity authentication module, configured to perform mutual identity authentication with the plurality of service providers through the identity identification information based on the notification message;
[0048] The synchronization module is used to synchronize keys with the multiple service providers after mutual identity authentication is passed.
[0049] According to yet another embodiment of the present invention, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0050] According to yet another embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0051] Through the present invention, the first target data is processed based on secure multi-party computing through the first TEE blockchain node; the processed first target data is uploaded to the blockchain network, and data is shared with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network. This can solve the problem of easy leakage of shared data required for federated learning in related technologies. Through the TEE blockchain node, the data is processed based on secure multi-party computing and then uploaded to the blockchain network, so that direct data sharing by service providers is realized. The trusted execution environment technology can achieve the purpose of privacy protection, and the trust cost of data sharing is low. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0053] Figure 1 is a hardware structure block diagram of a mobile terminal of a data sharing method according to an embodiment of the present invention;
[0054] Figure 2 is a flow chart of a data sharing method according to an embodiment of the present invention;
[0055] Figure 3 is a schematic diagram of a data privacy training and privacy inference method based on TEE hardware according to this embodiment;
[0056] Figure 4 is a block diagram of a data sharing device according to this embodiment. DETAILED DESCRIPTION
[0057] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict.
[0058] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0059] Example 1
[0060] The method embodiment provided in the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 is a hardware structure block diagram of a mobile terminal of a data sharing method according to an embodiment of the present invention, such as Figure 1As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. Optionally, the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0061] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data sharing method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0062] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0063] In this embodiment, a data sharing method running on the above mobile terminal or network architecture is provided. Figure 2 is a flow chart of a data sharing method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0064] Step S202: Processing the first target data based on secure multi-party computing through the first TEE blockchain node;
[0065] Step S204: upload the processed first target data to the blockchain network, and share data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network.
[0066] Through the above steps S202 to S204, the first target data is processed based on secure multi-party computing through the first TEE blockchain node; the processed first target data is uploaded to the blockchain network, and data is shared with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network. This can solve the problem of easy leakage of shared data required for federated learning in related technologies. Through the TEE blockchain node, the data is processed based on secure multi-party computing and then uploaded to the blockchain network, so that direct data sharing by service providers is realized. The trusted execution environment technology can achieve the purpose of privacy protection, and the trust cost of data sharing is low.
[0067] In this embodiment, the above step S202 may specifically include: splitting the first target data into multiple first data fragments based on secret sharing through the first TEE blockchain node.
[0068] Correspondingly, the above-mentioned step S204 may specifically include: uploading the multiple first data fragments to the blockchain network for acquisition by the multiple service providers, wherein one service provider acquires one first data fragment; acquiring, through the blockchain network, the multiple second data fragments uploaded by the multiple service providers, wherein one service provider corresponds to one second data fragment; fusing the first data fragment with the multiple second data fragments to obtain first data, wherein the multiple service providers respectively fuse the first data fragment with the multiple second data fragments to obtain second data.
[0069] In an optional embodiment, after uploading the processed first target data to the blockchain network and sharing data with multiple service providers through the blockchain network, an external network access request for accessing data sent by an external network user is received through a third TEE blockchain node; the data requested for access is obtained from the blockchain network, and privacy logic inference is performed on the data to obtain an inference result; the inference result is sent to the third TEE blockchain node, and the inference result is fed back to the external network user through the third TEE blockchain node, and further, a pre-synchronized key is obtained; the inference result is encrypting the inference result according to the key to obtain an encrypted inference result; the encrypted inference result is sent to the third TEE blockchain node, wherein the third TEE blockchain node is used to decrypt the encrypted inference result according to the key to obtain the inference result, and feed back the inference result to the external network user, thereby ensuring the security of the inference result.
[0070] In another optional embodiment, before processing the first target data based on secure multi-party computing through the first TEE blockchain node, a registration request is sent to the cluster management center through the first process, wherein the cluster management center is used to receive the registration requests initiated by the multiple service providers through the second process, and the registration requests carry identity information; receive a notification message sent by the cluster management center when it is determined that the code of the first process is the same as that of the second process; based on the notification message, perform mutual identity authentication with the multiple service providers through the identity information; after the mutual identity authentication is passed, perform key synchronization with the multiple service providers, so as to encrypt the inference results based on the synchronized keys subsequently, so as to prepare for the secure transmission of the inference results.
[0071] In this embodiment, external network users upload data to the TEE module through multi-party secure computing encryption to interact with the service provider's model. For external network users, their data is available but not visible. For service providers 1 and 2, the core data of logical inference has not left the domain. TEE trusted blockchain system, this chain is a trusted blockchain implemented based on the Ethernet public chain. When external network access requires privacy computing, the TEE privacy computing blockchain node can perform privacy logic inference and record the inference results on the chain. The client can access the decrypted results through its own public key. Figure 3 is a schematic diagram of a data privacy training and privacy inference method based on TEE hardware according to this embodiment, such as Figure 3As shown, taking service provider 1 and service provider 2 (and service providers 3 to n, not shown in the figure) as examples, service provider 1 processes data 1 (corresponding to the first target data) based on secure multi-party computing through TEE1 (corresponding to the first TEE blockchain node mentioned above), and uploads the processed data 1 to the blockchain network. Service provider 2 processes data 2 (corresponding to the second target data) based on secure multi-party computing through TEE2 (corresponding to the second TEE blockchain node mentioned above).
[0072] Specifically, the data processing process may include password sharing, inadvertent transmission, etc. Secret Sharing (SS) means splitting data into multiple meaningless numbers and distributing these numbers to multiple participants. Each participant gets a part of the original data, and one or a few participants cannot restore the original data. Only when their respective data are put together can the real data be restored.
[0073] Secret sharing supports any t of n participants to jointly decrypt secret data. The specific scheme is as follows:
[0074] TEE1 divides data 1 into multiple data segments (the number of data segments is determined by the number of service providers) and first generates a t-1 degree polynomial:
[0075] f(x)=a0+a1x+a2x 2 +...+a t-1 x t-1 , where a0 is the data 1 to be shared, and a1, a2, ..., a t-1 It is a random number generated by TEE1, and then TEE1 sends f(1), f(2), ..., f(n) to service provider 2 and service provider n respectively. Any at least t of f(1), f(2), ..., f(n) together can be deciphered into data 1 by interpolation, while any t-1 of them together cannot be deciphered into data 1.
[0076] The secret sharing technology itself can be used to directly construct a secure multi-party computing protocol. During the calculation, each participant distributes the data slices to each participant by means of secret sharing. Each participant uses each data slice it receives to perform calculations and exchanges some data when appropriate (the exchanged data itself also looks random and does not contain information about the original data). The result after the calculation is sent to the initiator, and the initiator aggregates the results returned by all participants.
[0077] By performing calculations based on data sharding or data segmentation, the input of each participant can be protected, but the true calculation results can be restored at the final aggregation.
[0078] Shamir's threshold secret sharing is linear, that is, it satisfies additive homomorphism, so multi-party addition operations can be implemented through this scheme.
[0079] Oblivious Transfer (OT) means that the data sender has n data, the data receiver receives one of them, and the data receiver cannot obtain other data. The data sender does not know which data the receiver chooses to receive.
[0080] Assume that manufacturer 1 is the data sender and uploads data 1 through TEE1, where data 1 includes m0 and m1. Manufacturer 2 is the data receiver and the sequence number of the data to be received is i. TEE1 generates public key d and private key e, selects two random numbers s0 and s1 and public key d and sends them to TEE2. TEE2 selects s according to the sequence number i of the received data. i , and generate a random number s, encrypt it with the public key d to get Enc(s), and calculate S = s i +Enc(s), and send it to TEE1. TEE1 calculates S0=Ss i , S1 = S-s1, and use the private key e to decrypt S0, S1 to get Dec(S0), Dec(S1), calculate And send it to TEE2, TEE2 selects M i calculate Get m i .
[0081] In the whole process of the protocol, TEE2's option i is obfuscated by adding a confidential random number Enc(s) to hide its own choice. For TEE1, it uses its own decryption S0=Ss i ,S1=S-s1, only the corresponding selected item will be decrypted normally, and the other item will be decrypted into a meaningless random number, including the privacy of data other than the selected item.
[0082] The processed data 2 is uploaded to the blockchain network, and service provider 1 and service provider 2 can share data 1 and data 2 through the blockchain network.
[0083] The external network user initiates an external network access request to access the data through TEE3. The blockchain network receives the external network access request sent by TEE3, obtains the requested data from the blockchain network, performs privacy logic inference on the data, obtains the inference result, and obtains the pre-synchronized key; encrypts the inference result according to the key to obtain the encrypted inference result; sends the encrypted inference result to TEE3, TEE3 decrypts the encrypted inference result according to the synchronized key, obtains the inference result, and feeds back the inference result to the external network user.
[0084] Increase secure and trusted boot chain verification. Users can also further defend against cold boot attacks and most software-based attacks through automatic encryption of physical memory. Use multiple remote authentication and Secure Enclave technology to provide extremely strong isolation and encryption. By nesting TPM and MesaLock Linux, ensure that the external operating system is also reliable and secure to defend against side channel attacks.
[0085] Performance is critical for AI applications, so this embodiment also performs a lot of optimizations to improve the execution efficiency of AI models. Running VGG64 at the highest security level only adds 10% of the time consumption compared to running it under normal circumstances. With this limited additional overhead, a higher level of confidentiality and integrity protection can be provided.
[0086] The blockchain based on TEE execution module is the core technology of the present invention and is a trusted hardware module. Through distributed privacy computing, the privacy use of data is realized.
[0087] In addition, this framework is different from traditional distributed frameworks in that each service will register with the cluster management center when it starts and maintain a heartbeat. When multiple processes with the same code are registered, these processes will be notified to synchronize keys. After receiving the notification, the processes will confirm each other's identities through remote authentication. When the signatures of each other's processes are confirmed to be exactly the same, they will negotiate and synchronize keys through a secure channel.
[0088] TEE trusted computing blockchain can not only provide a secure computing environment, but also make the computing results more reliable because the blockchain distributed ledger records the computing results. Therefore, TEE trusted computing blockchain technology is used in complex environments to reduce hardware computing power costs and reduce the cost of federated learning training.
[0089] Example 2
[0090] According to another embodiment of the present invention, a data sharing device is provided. Figure 4 is a block diagram of a data sharing device according to this embodiment, such as Figure 4 As shown, including:
[0091] A data processing module 42 is used to process the first target data based on secure multi-party computing through the first TEE blockchain node;
[0092] The data sharing module 44 is used to upload the processed first target data to the blockchain network, and share the data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network.
[0093] Optionally, the data processing module 42 is also used to
[0094] Through the first TEE blockchain node, the first target data is split into multiple first data segments based on secret sharing.
[0095] Optionally, the data sharing module 44 includes:
[0096] A first uploading submodule, configured to upload the plurality of first data fragments to the blockchain network for acquisition by the plurality of service providers, wherein one service provider acquires one first data fragment;
[0097] A first acquisition submodule is used to acquire, through a blockchain network, a plurality of second data segments uploaded by the plurality of service providers, wherein one service provider corresponds to one second data segment;
[0098] The fusion submodule is used to fuse the first data segment with the multiple second data segments to obtain first data, wherein the multiple service providers fuse the first data segment with the multiple second data segments respectively to obtain second data.
[0099] Optionally, the device further comprises:
[0100] A first receiving module is used to receive an external network access request for accessing data sent by an external network user through a third TEE blockchain node;
[0101] An inference module, used to obtain the data requested for access from the blockchain network, and perform privacy logic inference on the data to obtain an inference result;
[0102] A feedback module is used to send the inference result to the third TEE blockchain node, and to feed back the inference result to the external network user through the third TEE blockchain node.
[0103] Optionally, the feedback module includes:
[0104] A second acquisition submodule is used to acquire a pre-synchronized key;
[0105] An encryption submodule, used for encrypting the inference result according to the key to obtain an encrypted inference result;
[0106] The second uploading submodule is used to send the encrypted inference result to the third TEE blockchain node, wherein the third TEE blockchain node is used to decrypt the encrypted inference result according to the key, obtain the inference result, and feedback the inference result to the external network user.
[0107] Optionally, the device further comprises:
[0108] A sending module, configured to send a registration request to a cluster management center through a first process, wherein the cluster management center is configured to receive the registration requests initiated by the multiple service providers through a second process, wherein the registration requests carry identity information;
[0109] A second receiving module, configured to receive a notification message sent by the cluster management center when it is determined that the codes of the first process and the second process are the same;
[0110] An identity authentication module, configured to perform mutual identity authentication with the plurality of service providers through the identity identification information based on the notification message;
[0111] The synchronization module is used to synchronize keys with the multiple service providers after mutual identity authentication is passed.
[0112] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0113] Example 3
[0114] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0115] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:
[0116] S1, processing the first target data based on secure multi-party computing through the first TEE blockchain node;
[0117] S2, uploading the processed first target data to the blockchain network, and sharing data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network.
[0118] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
[0119] Example 4
[0120] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0121] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0122] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0123] S1, processing the first target data based on secure multi-party computing through the first TEE blockchain node;
[0124] S2, uploading the processed first target data to the blockchain network, and sharing data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network.
[0125] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.
[0126] Obviously, those skilled in the art should understand that the above modules or steps of the present invention 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, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.
[0127] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A data sharing method, characterized in that: include: Processing the first target data based on secure multi-party computing through the first TEE blockchain node; The processed first target data is uploaded to the blockchain network, and data is shared with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data through the second TEE blockchain node based on secure multi-party computing, and then upload the processed second target data to the blockchain network; wherein uploading the processed first target data to the blockchain network, and sharing data with multiple service providers through the blockchain network includes: uploading multiple first data fragments obtained by splitting the first target data to the blockchain network for the multiple service providers to obtain, wherein one service provider obtains one first data fragment; obtaining multiple second data fragments uploaded by the multiple service providers through the blockchain network, wherein one service provider corresponds to one second data fragment; fusing the first data fragment with the multiple second data fragments to obtain the first data, wherein the multiple service providers respectively fuse the first data fragment with the multiple second data fragments to obtain the second data; An external network access request for accessing data sent by an external network user is received through a third TEE blockchain node; the data requested for access is obtained from the blockchain network, and privacy logic inference is performed on the data to obtain an inference result; the inference result is sent to the third TEE blockchain node, and the inference result is fed back to the external network user through the third TEE blockchain node.
2. The method according to claim 1, characterized in that Processing the first target data based on secure multi-party computing through the first TEE blockchain node includes: Through the first TEE blockchain node, the first target data is split into multiple first data segments based on secret sharing.
3. The method according to claim 1, characterized in that Uploading the inference result to the third TEE blockchain node, and feeding back the inference result to the external network user through the third TEE blockchain node includes: Get the pre-synchronized key; Encrypting the inference result according to the key to obtain an encrypted inference result; The encrypted inference result is sent to the third TEE blockchain node, wherein the third TEE blockchain node is used to decrypt the encrypted inference result according to the key, obtain the inference result, and feed back the inference result to the external network user.
4. The method according to any one of claims 1 to 3, characterized in that Before processing the first target data based on secure multi-party computing through the first TEE blockchain node, the method further includes: Sending a registration request to a cluster management center through a first process, wherein the cluster management center is used to receive the registration requests initiated by the multiple service providers through a second process, and the registration requests carry identity information; receiving a notification message sent by the cluster management center when it is determined that the codes of the first process and the second process are the same; Based on the notification message, mutual identity authentication is performed with the multiple service providers through the identity identification information; After mutual identity authentication is passed, key synchronization is performed with the multiple service providers.
5. A data sharing device, characterized in that: include: A data processing module, used to process the first target data based on secure multi-party computing through the first TEE blockchain node; A data sharing module, used to upload the processed first target data to the blockchain network, and share the data with multiple service providers through the blockchain network, wherein the multiple service providers process the second target data based on secure multi-party computing through the second TEE blockchain node, and then upload the processed second target data to the blockchain network; A first receiving module is used to receive an external network access request for accessing data sent by an external network user through a third TEE blockchain node; An inference module, used to obtain the data requested for access from the blockchain network, and perform privacy logic inference on the data to obtain an inference result; A feedback module, used to send the inference result to the third TEE blockchain node, and feed back the inference result to the external network user through the third TEE blockchain node; Wherein, the data sharing module includes: A first uploading submodule, configured to upload the plurality of first data segments obtained by splitting the first target data to the blockchain network for acquisition by the plurality of service providers, wherein one service provider acquires one first data segment; A first acquisition submodule is used to acquire, through a blockchain network, a plurality of second data segments uploaded by the plurality of service providers, wherein one service provider corresponds to one second data segment; The fusion submodule is used to fuse the first data segment with the multiple second data segments to obtain first data, wherein the multiple service providers fuse the first data segment with the multiple second data segments respectively to obtain second data.
6. The device according to claim 5, characterized in that The data processing module is also used Through the first TEE blockchain node, the first target data is split into multiple first data segments based on secret sharing.
7. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 4 when executed.
8. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Secure multi-party computing method and system based on block chain and storage medium
CN111064579A
Transaction processing method and device based on block chain and electronic equipment
CN111461883A