Blockchain-based task processing method, device, system and computer equipment
Patent Information
- Application Number
- CN202510412771.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2026-10-16
AI Technical Summary
[0003]然而,传统上基于区块链进行信息加密存储的方式下,通常采用多节点统一管理密钥的方式,区块链上的数据提供方,通过自身所在的管控台节点,加密并发布上链的共享信息,且共享信息中通常包括敏感数据,而由于不同管控台节点采用的是统一的密钥,当前管控台节点以及其他管控台节点,均可采用统一密钥直接解密当前数据提供方所上传的共享信息,获得敏感数据,存在敏感数据上链后导致多节点均可解密的情况,从而在对任意管控台节点进行攻击以及信息获取后,容易出现敏感数据泄露的情况,仍然存在共享信息或敏感数据的信息安全性较低的问题
[0016] In the aforementioned blockchain-based task processing methods, devices, systems, computer equipment, computer-readable storage media, and computer program products, the provider control component obtains the initial data sharing task created by the user control component, encrypts the first sensitive data of the data provider to obtain the first encrypted data, fills the initial data sharing task with the first encrypted data, obtains the intermediate data sharing task, and feeds the intermediate data sharing task back to the user control component. This allows the user control component to generate the target data sharing task by filling it with the second encrypted data and then feeding it back. By adopting the method of first constructing the initial data sharing task and then filling the initial data sharing task with encrypted data, the situation where different control components can obtain each other's sensitive data is avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security.
Smart Images

Figure CN122926447A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain technology, and in particular to a blockchain-based task processing method, apparatus, system, computer equipment, computer-readable storage medium, and computer program product. Background Technology
[0002] With the development of blockchain technology and the widespread application of the Internet, different platforms or objects can interact or share information based on the Internet. For interactive or shared information between different platforms or objects, there are ways to use the encryption algorithms and consensus mechanisms of blockchain to encrypt and store interactive or shared information in order to ensure the security of interactive or shared information.
[0003] However, traditional blockchain-based information encryption and storage methods typically employ a multi-node unified key management approach. Data providers on the blockchain encrypt and publish shared information on the chain through their respective control nodes. This shared information often includes sensitive data. Since different control nodes use the same key, the current control node and other control nodes can directly decrypt the shared information uploaded by the current data provider using the same key, thereby obtaining the sensitive data. This presents a situation where sensitive data uploaded to the chain can be decrypted by multiple nodes, making it easy for sensitive data to be leaked after an attack on any control node and the acquisition of information. Therefore, the information security of shared information or sensitive data remains relatively low. Summary of the Invention
[0004] Based on this, it is necessary to provide a blockchain-based task processing method, device, system, computer equipment, computer-readable storage medium, and computer program product that can encrypt sensitive data in stages through control and management, prevent sensitive information from leaving the domain, reduce the risk of malicious behavior by control and management nodes, and ensure information security, in order to address the above-mentioned technical problems.
[0005] In a first aspect, this application provides a blockchain-based task processing method, comprising: obtaining an initial data sharing task created by a user management component through a provider management component, encrypting first sensitive data of the data provider to obtain first encrypted data; filling the first encrypted data into the initial data sharing task through the provider management component to obtain an intermediate data sharing task, and feeding the intermediate data sharing task back to the user management component so that the user management component generates a target data sharing task by filling it with second encrypted data and feeding it back; the second encrypted data is obtained by encrypting the second sensitive data of the data user; when the target data sharing task is received through the provider management component, feeding the target data sharing task back to the provider sharing component, and decrypting the first encrypted data in the target data sharing task through the provider sharing component to obtain the first sensitive data; obtaining shared data based on the first sensitive data through the provider sharing component, encrypting the shared data to obtain third encrypted data, feeding the third encrypted data back to the user sharing component so that the user sharing component obtains the shared data by decrypting the third encrypted data, and storing the shared data based on the second encrypted data obtained from the user management component.
[0006] Secondly, this application also provides a blockchain-based task processing method, comprising: creating an initial data sharing task using a user-side management component; receiving an intermediate data sharing task from a provider-side management component via the user-side management component, encrypting second sensitive data of the data user to obtain second encrypted data, and filling the second encrypted data into the intermediate data sharing task to obtain a target data sharing task; wherein, the intermediate data sharing task is obtained by filling the initial data sharing task with first encrypted data via the provider-side management component; the first encrypted data is obtained by encrypting the first sensitive data of the data provider; receiving third encrypted data from a provider-side sharing component via a user-side sharing component, and decrypting the third encrypted data to obtain shared data; the third encrypted data is obtained by decrypting the first encrypted data in the target data sharing task to obtain first sensitive data via the provider-side sharing component, obtaining shared data based on the first sensitive data, and encrypting the shared data; obtaining the second encrypted data from the user-side management component via the user-side sharing component, and storing the shared data based on the second encrypted data.
[0007] Thirdly, this application also provides a blockchain-based task processing device, comprising: a first encrypted data acquisition module, configured to acquire an initial data sharing task created by a user management component and first sensitive data of an encrypted data provider through a provider management component, thereby obtaining first encrypted data; a first encrypted data filling module, configured to fill the first encrypted data into the initial data sharing task through the provider management component, thereby obtaining an intermediate data sharing task, and feeding back the intermediate data sharing task to the user management component, so that the user management component generates a target data sharing task by filling in second encrypted data and feeding it back; the second encrypted data is obtained through the second sensitive data of the encrypted data user; the first sensitive data acquisition module... The first sensitive data module is used to receive the target data sharing task through the provider control component, feed the target data sharing task back to the provider sharing component, and decrypt the first encrypted data in the target data sharing task through the provider sharing component to obtain the first sensitive data. The second sensitive data encryption module is used to obtain shared data based on the first sensitive data through the provider sharing component, encrypt the shared data to obtain third encrypted data, feed the third encrypted data back to the user sharing component, so that the user sharing component can obtain the shared data by decrypting the third encrypted data, and store the shared data based on the second encrypted data obtained from the user control component.
[0008] Fourthly, this application also provides a blockchain-based task processing device, comprising: an initial data sharing task creation module, used to create an initial data sharing task by using a user control component; a second encrypted data filling module, used to receive an intermediate data sharing task fed back by a provider control component through the user control component, encrypt the second sensitive data of the data user to obtain second encrypted data, and fill the second encrypted data into the intermediate data sharing task to obtain a target data sharing task; wherein, the intermediate data sharing task is obtained by filling the initial data sharing task with first encrypted data through the provider control component; the first encrypted data is obtained by encrypting the first sensitive data of the data provider; a shared data acquisition module, used to receive third encrypted data fed back by a provider sharing component by the user sharing component, and decrypt the third encrypted data to obtain shared data; the third encrypted data is obtained by the provider sharing component by decrypting the first encrypted data in the target data sharing task to obtain first sensitive data, obtaining shared data based on the first sensitive data, and encrypting the shared data; and a shared data storage module, used to obtain the second encrypted data from the user control component through the user sharing component, and store the shared data based on the second encrypted data.
[0009] Fifthly, this application also provides a blockchain-based task processing system, the system comprising: a data provider and a data user, wherein the data provider deploys a provider management component and a provider sharing component, and the data user deploys a user management component and a user sharing component; wherein: the provider management component is configured to: obtain an initial data sharing task created by the user management component, encrypt the first sensitive data of the data provider to obtain first encrypted data; fill the first encrypted data into the initial data sharing task to obtain an intermediate data sharing task, and feed back the intermediate data sharing task to the user management component; the user management component is configured to: receive the intermediate data sharing task fed back by the provider management component, encrypt the second sensitive data of the data user to obtain second encrypted data, and share the second encrypted data... The target data sharing task is obtained by filling the intermediate data sharing task with the data. The provider control component is further configured to: when receiving the target data sharing task, feed the target data sharing task back to the provider sharing component; the provider sharing component is configured to: decrypt the first encrypted data in the target data sharing task to obtain the first sensitive data; obtain shared data based on the first sensitive data, encrypt the shared data to obtain the third encrypted data, and feed the third encrypted data back to the user sharing component; the user sharing component is configured to: receive the third encrypted data fed back by the provider sharing component, and decrypt the third encrypted data to obtain the shared data; obtain the second encrypted data from the user control component, and store the shared data based on the second encrypted data.
[0010] Sixthly, this application also provides a computer device, the computer device including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the methods in the first aspect or its various implementations described above.
[0011] In a seventh aspect, this application also provides a computer device, the computer device including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the methods in the second aspect or its various implementations described above.
[0012] Eighthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods in the first aspect or their various implementations described above.
[0013] Ninthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods in the second aspect or their various implementations described above.
[0014] In a tenth aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the methods described in the first aspect or its various implementations.
[0015] In an eleventh aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the methods in the second aspect or various implementations thereof described above.
[0016] In the aforementioned blockchain-based task processing methods, devices, systems, computer equipment, computer-readable storage media, and computer program products, the provider control component obtains the initial data sharing task created by the user control component, encrypts the first sensitive data of the data provider to obtain the first encrypted data, fills the initial data sharing task with the first encrypted data, obtains the intermediate data sharing task, and feeds the intermediate data sharing task back to the user control component. This allows the user control component to generate the target data sharing task by filling it with the second encrypted data and then feeding it back. By adopting the method of first constructing the initial data sharing task and then filling the initial data sharing task with encrypted data, the situation where different control components can obtain each other's sensitive data is avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is an application environment diagram of a blockchain-based task processing method in one embodiment;
[0019] Figure 2 This is a flowchart illustrating a blockchain-based task processing method in one embodiment;
[0020] Figure 3 This is a schematic diagram of the process for obtaining the first encrypted data in one embodiment;
[0021] Figure 4 This is a schematic diagram of the process of feeding back the target data sharing task to the provider's sharing component in one embodiment;
[0022] Figure 5 This is a flowchart illustrating a blockchain-based task processing method in another embodiment;
[0023] Figure 6 This is a schematic diagram of a data sharing task template in one embodiment;
[0024] Figure 7 This is a schematic diagram of the process for obtaining the second encrypted data in one embodiment;
[0025] Figure 8 This is a schematic diagram of a process for storing shared data based on second encrypted data in one embodiment;
[0026] Figure 9 This is a timing diagram of a blockchain-based task processing method in one embodiment;
[0027] Figure 10 This is a schematic diagram of the architecture of a blockchain-based task processing system in one embodiment;
[0028] Figure 11 This is a schematic diagram illustrating a traditional blockchain-based data sharing process in one embodiment;
[0029] Figure 12 This is a schematic diagram illustrating the data sharing process of a blockchain-based task processing system in one embodiment.
[0030] Figure 13 This is a structural block diagram of a blockchain-based task processing device in one embodiment;
[0031] Figure 14 This is a structural block diagram of a blockchain-based task processing device in another embodiment;
[0032] Figure 15 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0034] The blockchain-based task processing method provided in this application relates to blockchain technology and can be applied to various scenarios such as online media, internet services, and online financial transactions. Specifically, it can be applied to, for example... Figure 1 The application environment shown includes a data provider 102, a data user 104, and a blockchain network 106. Data provider 102 is equipped with a provider management component 108 and a provider sharing component 110, while data user 104 is equipped with a user management component 112 and a user sharing component 114. The data provider 102 and data user 104 can be, but are not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, portable wearable devices, and aircraft. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, and projection devices. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. Head-mounted devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The provider control component 108, provider sharing component 110, user control component 112, and user sharing component 114 can be independent physical servers, server clusters consisting of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Data provider 102 and data user 104 can share and communicate data through the blockchain network 106, while provider control component 108 and provider sharing component 110, as well as user control component 112 and user sharing component 114, can communicate through the network.
[0035] The provider management component 108 and provider sharing component 110 deployed by the data provider 102, and the user management component 112 and user sharing component 114 deployed by the data user 104, can each be used to execute the blockchain-based task processing method provided in this embodiment. The provider management component 108, provider sharing component 110, user management component 112 and user sharing component 114 can also work together to execute the blockchain-based task processing method provided in this embodiment. For example, taking the provider control component 108, provider sharing component 110, user control component 112, and user sharing component 114 collaboratively executing the blockchain-based task processing method provided in this embodiment as an example, the provider control component 108 obtains the initial data sharing task created by the user control component, encrypts the first sensitive data of the data provider 102 to obtain the first encrypted data, fills the initial data sharing task with the first encrypted data to obtain the intermediate data sharing task, and feeds the intermediate data sharing task back to the user control component 112, so that the user control component 112 generates the target data sharing task by filling it with the second encrypted data and feeds it back. The second encrypted data is obtained from the second sensitive data of the encrypted data user. Further, when the provider control component 108 receives the target data sharing task, it feeds the target data sharing task back to the provider sharing component 110, and the provider sharing component 110 decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data. The provider sharing component 110 obtains shared data based on the first sensitive data, encrypts the shared data to obtain the third encrypted data, and feeds the third encrypted data back to the user sharing component 114 so that the user sharing component 114 can obtain the shared data by decrypting the third encrypted data and store the shared data based on the second encrypted data obtained from the user control component 112.
[0036] Similarly, taking the provider control component 108, provider sharing component 110, user control component 112, and user sharing component 114 collaboratively executing the blockchain-based task processing method provided in this application embodiment as an example, the user control component 112 creates an initial data sharing task and receives an intermediate data sharing task fed back by the provider control component 108. It encrypts the user's second sensitive data to obtain second encrypted data, and fills the intermediate data sharing task with the second encrypted data to obtain the target data sharing task. The intermediate data sharing task is obtained by the provider control component 108 filling the initial data sharing task with first encrypted data, which is obtained by encrypting the provider's first sensitive data. Further, the user sharing component 114 receives third encrypted data fed back by the provider sharing component 110 and decrypts the third encrypted data to obtain shared data. The third encrypted data is obtained by the provider sharing component 110 decrypting the first encrypted data in the target data sharing task to obtain first sensitive data, obtaining shared data based on the first sensitive data, and then encrypting the shared data. Furthermore, by using the user sharing component 114, the second encrypted data is obtained from the user control component 112, and the shared data is stored based on the second encrypted data.
[0037] In one exemplary embodiment, such as Figure 2 As shown, a blockchain-based task processing method is provided, which can be applied to... Figure 1 Taking the provider management component 108 and the provider sharing component 110 deployed by data provider 102 as an example, the explanation includes the following steps S202 to S208. Wherein:
[0038] Step S202: Obtain the initial data sharing task created by the user management component through the provider management component, encrypt the first sensitive data of the data provider, and obtain the first encrypted data.
[0039] Specifically, the initial data sharing task in the blockchain network is obtained through the provider management component deployed by the data provider. This initial data sharing task is created by the user management component deployed by the data user through a data sharing task creation operation triggered by the user. Furthermore, the initial data sharing task does not contain sensitive data from either the data provider or the data user. Therefore, when uploading the initial data sharing task to the blockchain network, it avoids directly uploading the sensitive data of both the data provider and the data user to the chain, thus reducing the possibility of sensitive data leakage.
[0040] In this context, the data provider refers to the holder of the shared data. The provider management component deployed by the data provider can be understood as a management server component used to encrypt the first sensitive data locally to obtain first encrypted data, and to perform processing operations such as populating the initial data sharing task based on the first encrypted data. The data user refers to the user who needs to use the shared data. The user management component deployed by the data user can be understood as a management server component used to encrypt the second sensitive data locally to obtain second encrypted data, and to perform processing operations such as populating the intermediate data sharing task after the initial data sharing task has been preliminarily populated by the provider management component.
[0041] Furthermore, by using the provider control component, the first encrypted data associated with the data provider is obtained from the provider database. The first encrypted data is then decrypted using the first decryption key associated with the provider control component to obtain the decrypted first sensitive data. Finally, the first sensitive data is encrypted using the first encryption public key associated with the provider sharing component identifier in the initial data sharing task to obtain the first encrypted data.
[0042] The first encrypted data refers to the encrypted data stored in the provider's local database. Specifically, it is obtained by encrypting the first sensitive data stored locally by the data provider using a first encryption key associated with the provider's management component. The first decryption key associated with the provider's management component is a unique decryption key used to decrypt the first encrypted data. This first decryption key cannot be obtained by the management components of other nodes, i.e., it cannot be obtained by the user's management component. Therefore, the user's management component cannot decrypt the first encrypted data, reducing the possibility of leakage of the first sensitive data.
[0043] The primary sensitive data on the data provider's local machine specifically includes the access address of the data source database used to obtain the shared data, and the primary access information for accessing the data source database corresponding to the access address, such as the username and password for accessing the data source database. The provider shared component identifier in the initial data sharing task refers to the identifier of the provider shared component used to decrypt the data provider's primary encrypted data and encrypt the shared data. The primary encryption public key associated with the provider shared component identifier can specifically be the encryption public key used to encrypt the primary sensitive data. A specific provider shared component identifier needs to be specified in the initial data sharing task, and the primary encryption public key associated with that provider shared component identifier needs to be set.
[0044] The encryption public keys set for different shared component identifiers are different, and the encryption public keys between different shared component identifiers are not interoperable. That is, the user-deployed shared component deployed by the data user cannot obtain the first encryption public key associated with the provider-deployed shared component deployed by the data provider, and therefore cannot directly decrypt the first encrypted data, which can also reduce the leakage of the first sensitive data.
[0045] In step S204, the first encrypted data is filled into the initial data sharing task through the provider control component to obtain the intermediate data sharing task. The intermediate data sharing task is then fed back to the user control component so that the user control component can generate the target data sharing task by filling in the second encrypted data and feed it back. The second encrypted data is obtained through the second sensitive data of the encrypted data user.
[0046] Specifically, the provider's control component fills the initial data sharing task with the first encrypted data to obtain the intermediate data sharing task. Since the initial data sharing task does not carry sensitive data, the first encrypted data obtained by encrypting the first sensitive data is also used when filling the initial data sharing task. That is, the intermediate data sharing task obtained by the initial filling does not carry sensitive data. Therefore, when the intermediate data sharing task is fed back to the user's control component, the user's control component can also avoid directly knowing the first sensitive data of the data provider, which can reduce the leakage of the first sensitive data.
[0047] Furthermore, by using the provider's management component, the intermediate data sharing task is fed back to the user's management component, which is then deployed by the user. This allows the user's management component to obtain the second encrypted data by encrypting the user's second sensitive data, and then fill the intermediate data sharing task with the second encrypted data to generate the target data sharing task.
[0048] The second sensitive data of the data user specifically includes the access address of the result storage database used to store shared data, and the second access information for accessing the result storage database corresponding to the access address, such as the account password for accessing the result storage database.
[0049] Step S206: When the target data sharing task is received through the provider control component, the target data sharing task is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data.
[0050] Specifically, when a target data sharing task is received through the provider management component, the provider management component triggers a task verification request, which is then sent back to the data provider to receive the verification result from the data provider. If the verification result indicates that the task has passed, the provider management component sends the target data sharing task back to the provider sharing component deployed by the data provider.
[0051] The provider-shared component deployed by the data provider can be understood as a proxy sharing component used to decrypt the first encrypted data in the target data sharing task to obtain the first sensitive data, and to obtain the shared data based on the first sensitive data, as well as to perform operations such as encrypting the shared data. The data provider refers to the data provider user or data provider terminal that provides shared data for the data sharing task. It verifies the target data sharing task in response to the task verification request fed back by the provider management component to determine whether to provide shared data to the data user in the target data sharing task. Specifically, if the verification result is that the task verification passes, the target data sharing task is fed back to the provider-shared component deployed by the data provider through the provider management component.
[0052] Furthermore, through the provider-shared component, the first encrypted data in the target data sharing task is decrypted using the first decryption private key associated with the provider-shared component, yielding the first sensitive data. The first decryption private key associated with the provider-shared component can be understood as the decryption private key local to the provider-shared component, which cannot be directly obtained by other shared components. This means other shared components cannot directly decrypt the first encrypted data, thus reducing the possibility of leakage of the first sensitive data.
[0053] Step S208: The provider sharing component obtains shared data based on the first sensitive data, encrypts the shared data to obtain the third encrypted data, and feeds the third encrypted data back to the user sharing component so that the user sharing component can obtain the shared data by decrypting the third encrypted data. Based on the second encrypted data obtained from the user control component, the shared data is stored.
[0054] Specifically, the provider-shared component parses the first sensitive data to obtain the data source database access address associated with the data provider and the first data access information. Then, using the provider-shared component, it accesses the data source database corresponding to the data source database access address according to the first data access information and retrieves shared data from the data source database. The first access information specifically includes the username and password for accessing the data source database; that is, by using the username and password to access the data source database, the user logs in and accesses the data source database to retrieve shared data.
[0055] Specifically, the provider can obtain the shared data encryption public key associated with the user's shared component through the provider's shared component, encrypt the shared data according to the shared data encryption public key to obtain third encrypted data, and then send the third encrypted data back to the user's shared component.
[0056] Furthermore, after the third encrypted data is fed back to the user-shared component, the user-shared component obtains the shared data decryption private key corresponding to the shared data encryption public key, and decrypts the third encrypted data according to the shared data decryption private key to obtain the shared data. Specifically, the user-shared component obtains the second encrypted data from the user-management component, and stores the shared data according to the second encrypted data.
[0057] In an exemplary embodiment, the second encrypted data is obtained from the user-controlled component by the user-shared component, and then decrypted using the second decryption private key associated with the user-shared component to obtain the decrypted second sensitive data. The second decryption private key associated with the user-shared component can be understood as a local decryption private key of the user-shared component, which cannot be directly obtained by other shared components. This means that other shared components cannot directly decrypt the second encrypted data, thus reducing the possibility of leakage of the second sensitive data.
[0058] Furthermore, by using the shared component, the second sensitive data is parsed to obtain the result storage database access address and second data access information associated with the data user. Then, using the shared component, the result storage database corresponding to the result storage database access address is accessed according to the second data access information, and the shared data is stored in the result storage database. Specifically, the second access information includes the username and password for accessing the result storage database; that is, by logging in and accessing the result storage database using the username and password, the shared data is stored in the result storage database.
[0059] In the aforementioned blockchain-based task processing method, the provider control component obtains the initial data sharing task created by the user control component, encrypts the first sensitive data of the data provider to obtain the first encrypted data, fills the initial data sharing task with the first encrypted data, and obtains the intermediate data sharing task. The intermediate data sharing task is then fed back to the user control component, so that the user control component can generate the target data sharing task by filling it with the second encrypted data and then feed it back. In this way, by adopting the method of first constructing the initial data sharing task and then filling the initial data sharing task with encrypted data, the situation where different control components can obtain sensitive data from each other is avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security.
[0060] In one exemplary embodiment, such as Figure 3 As shown, the step of obtaining the first encrypted data, namely, obtaining the initial data sharing task created by the user's management component through the provider's management component, and the first sensitive data of the encrypted data provider, specifically includes the following steps S302 to S308. Wherein:
[0061] Step S302: Obtain the initial data sharing task created by the user management component through the provider management component, and parse the initial data sharing task to obtain the data provider identifier in the initial data sharing task.
[0062] Specifically, the initial data sharing task in the blockchain network is obtained through the provider control component deployed by the data provider. This initial data sharing task is created by the user control component deployed by the data user through a data sharing task creation operation triggered by the user, and it does not contain sensitive data from either the data provider or the data user.
[0063] Furthermore, by parsing the initial data sharing task through the provider management component, the data provider identifier in the initial data sharing task can be obtained. This data provider identifier refers to the identifier corresponding to the data provider that needs to provide the shared data. Within the initial data sharing task, a data directory identifier is set for the data provider identifier; that is, through the data directory identifier, it can be determined which data directory(s) of the data provider the data user specifically needs to obtain the shared data from.
[0064] Step S304: If the data provider identifier and the provider control component identifier match successfully, the provider control component retrieves the first encrypted data associated with the data provider from the provider database.
[0065] Specifically, after obtaining the data provider identifier in the initial data sharing task, the provider management component identifier corresponding to the provider management component is obtained, and the data provider identifier and the provider management component identifier are matched. If the data provider identifier and the provider management component identifier match successfully, the provider database is accessed through the provider management component to obtain the first encrypted data associated with the data provider from the provider database.
[0066] The first encrypted data refers to the encrypted data stored in the provider's local database. Specifically, it is obtained by encrypting the first sensitive data on the data provider's local database using a first encryption key associated with the provider's control component.
[0067] In one exemplary embodiment, the blockchain-based task processing method further includes:
[0068] The provider control component obtains the data directory corresponding to the data provider and filters the data directory to obtain the first data directory and the second data directory corresponding to the data provider. The provider control component encrypts the first sensitive data corresponding to the first data directory according to the first encryption private key associated with the provider control component to obtain the first ciphertext data. The provider control component stores the first ciphertext data in the provider database corresponding to the data provider and publishes the second data directory to the blockchain network.
[0069] Specifically, by using the provider management component, the data directory corresponding to the data provider is obtained. This directory contains the data held by the data provider, including shared data that can be shared to other nodes and sensitive data that needs to be stored in the provider's local database. By filtering the data directory, a first data directory and a second data directory corresponding to the data provider can be obtained. The first data directory stores the sensitive data identifiers for the sensitive data, while the second data directory stores the shared data identifiers for the shared data.
[0070] Furthermore, for the first data directory, the provider control component obtains the first sensitive data corresponding to the sensitive data identifier stored in the first data directory, and encrypts the first sensitive data according to the first encryption private key associated with the provider control component to obtain the first ciphertext data, and stores the first ciphertext data in the provider database corresponding to the data provider.
[0071] Specifically, for the second data directory, the provider's management component publishes the second data directory to the blockchain network. This means that the second data directory, which contains the shared data identifiers corresponding to the shared data that can be shared with other nodes, is published to the blockchain network, so that other nodes can apply to the data provider for access and obtain the required shared data according to their data usage needs.
[0072] Step S306: Using the provider control component, the first ciphertext data is decrypted according to the first decryption key associated with the provider control component to obtain the decrypted first sensitive data.
[0073] Specifically, the system obtains a first decryption key associated with the provider's control component, and decrypts the first ciphertext data using this first decryption key to obtain the decrypted first sensitive data. The first decryption key associated with the provider's control component is a unique decryption key locally located within the provider's control component, used to decrypt the first ciphertext data.
[0074] Step S308: Obtain the provider sharing component identifier from the initial data sharing task through the provider control component, and encrypt the first sensitive data according to the first encryption public key associated with the provider sharing component identifier to obtain the first encrypted data.
[0075] Specifically, the provider control component parses the initial data sharing task to obtain the provider sharing component identifier in the initial data sharing task, and retrieves the first encryption public key associated with the provider sharing component identifier. The first sensitive data is then encrypted using the first encryption public key to obtain the first encrypted data. The first encryption public key associated with the provider sharing component identifier can specifically be the encryption public key used to encrypt the first sensitive data. A specific provider sharing component identifier needs to be specified in the initial data sharing task, and a first encryption public key associated with that provider sharing component identifier needs to be set.
[0076] In this embodiment, the provider management component obtains the initial data sharing task created by the user management component, parses the initial data sharing task to obtain the data provider identifier, and, if the data provider identifier and the provider management component identifier match successfully, retrieves the first encrypted data associated with the data provider from the provider database through the provider management component. This avoids retrieving shared data from data providers not included in the initial data sharing task, reducing data retrieval errors and redundant operations due to data errors. Furthermore, the provider management component decrypts the first encrypted data using the first decryption key associated with it, obtaining the decrypted first sensitive data. This enables different encryption / decryption keys to be deployed on management components at different nodes, avoiding the data leakage risk associated with using the same encryption / decryption key for all nodes. By obtaining the provider shared component identifier in the initial data sharing task, the first sensitive data can be encrypted using the first encryption public key associated with the provider shared component identifier to obtain the first encrypted data. This first encrypted data can then be filled into the initial data sharing task, instead of directly filling the first sensitive data into the initial data sharing task, thereby reducing the leakage of sensitive data and ensuring data security.
[0077] In one exemplary embodiment, such as Figure 4 As shown, the step of feeding back the target data sharing task to the provider's sharing component, that is, when the target data sharing task is received through the provider's management component, the step of feeding back the target data sharing task to the provider's sharing component, specifically includes the following steps S402 to S408. Wherein:
[0078] Step S402: When the target data sharing task is received through the provider management component, the data provider identifier in the target data sharing task is obtained through the provider management component.
[0079] Specifically, when a target data sharing task is received through the provider management component, the provider management component parses the target data sharing task to obtain the data provider identifier in the target data sharing task.
[0080] Step S404: If the data provider identifier and the provider control component identifier match successfully, trigger a task verification request through the provider control component and send the task verification request back to the data provider.
[0081] Specifically, the provider management component identifier is obtained through the provider management component, and the data provider identifier and the provider management component identifier are matched. If the data provider identifier and the provider management component identifier match successfully, the task verification request is triggered through the provider management component, and the task verification request is fed back to the data provider.
[0082] The data provider refers to the data provider user or data provider terminal that provides shared data for the data sharing task. By responding to the task verification request fed back by the provider management component, the provider verifies the target data sharing task to determine whether to provide shared data to the data user in the target data sharing task.
[0083] Step S406: Receive the verification results from the data provider in response to the task verification request through the provider management component.
[0084] When a data provider receives a task verification request from the provider management component, it responds to the task verification request by obtaining the target data sharing task corresponding to the task verification request and verifying the target data sharing task to determine whether to provide shared data to the data user in the target data sharing task.
[0085] Specifically, after the data provider verifies the target data sharing task, it obtains the verification result and feeds back the obtained verification result to the provider management component. In other words, the provider management component receives the verification result fed back by the data provider in response to the task verification request.
[0086] Step S408: If the verification result shows that the task verification is successful, the target data sharing task is fed back to the provider sharing component through the provider management component.
[0087] Specifically, once the provider control component determines that the verification result is successful, it feeds back the target data sharing task to the provider sharing component. After the provider control component feeds back the target data sharing task to the provider sharing component, the provider sharing component parses the target data sharing task to obtain the first encrypted data within the target shared data and acquires the first decryption private key associated with the provider sharing component. The first encrypted data is then decrypted using the first decryption private key to obtain the first sensitive data. Finally, the shared data can be obtained through the provider sharing component based on the first sensitive data.
[0088] In this embodiment, when a target data sharing task is received through the provider management component, the provider management component obtains the data provider identifier in the target data sharing task. If the data provider identifier and the provider management component identifier match successfully, the provider management component triggers a task verification request, sends the task verification request back to the data provider, and receives the verification result from the data provider in response to the task verification request. If the verification result indicates that the task verification is successful, the provider management component sends the target data sharing task back to the provider sharing component. This enables the sending of a task verification request to the data provider holding the shared data when data sharing is required, determining whether to provide shared data to the data user in the target data sharing task. This reduces the possibility of unauthorized or unauthorized data users maliciously obtaining shared data, thus ensuring data security.
[0089] In one exemplary embodiment, such as Figure 5 As shown, a blockchain-based task processing method is provided, which can be applied to... Figure 1 Taking the user management component 112 and user sharing component 114 deployed by user 104 as an example, the explanation includes the following steps S502 to S508. Wherein:
[0090] Step S502: Create an initial data sharing task using the party management component.
[0091] Specifically, by using the user management component, a data sharing task template is created in response to the data sharing task creation operation triggered by the user object.
[0092] The data sharing task template includes basic information fields such as task name, alliance, task type, synchronization type, and task description. It also includes task data and shared component configuration fields, such as data provider identifier, data directory, and provider shared component identifier, as well as data user identifier, result storage database access address, and user shared component identifier.
[0093] Furthermore, by using the user control component, the task information, data provider identifier, and data user identifier corresponding to the data sharing task creation operation are obtained, and the provider sharing component identifier associated with the data provider identifier and the user sharing component identifier corresponding to the data user identifier are determined. By using the user control component, the task information, data provider identifier, data user identifier, provider sharing component identifier, user sharing component identifier, and data sharing task template are combined to obtain the initial data sharing task.
[0094] Specifically, this involves filling in the various information fields in the data sharing task template, such as the basic information field (including the task name, alliance, task type, synchronization type, and task description), with the task information corresponding to the initial data sharing task. It also includes the task data and shared component configuration fields, such as the data provider identifier field, the data directory field, and the provider shared component identifier field, as well as the data user identifier field, the result storage database access address field, and the user shared component identifier field. Specifically, the data provider identifier, the data directory where the shared data is located, and the provider shared component identifier are filled into the data provider identifier field, the data directory field, and the provider shared component identifier field, respectively. Similarly, the data user identifier, the result storage database access address, and the user shared component identifier are filled into the data user identifier field, the result storage database access address field, and the user shared component identifier field, respectively, to obtain the initial data sharing task.
[0095] In one exemplary embodiment, such as Figure 6 As shown, this provides a schematic diagram of a data sharing task template. Figure 6 It can be seen that the data sharing task template specifically includes:
[0096] 1) The basic information fields for data sharing tasks include the task name, alliance, task type, synchronization type, and task description fields. The basic information fields are used to fill in the task information corresponding to the data sharing task, such as filling in the task name in the task name field. Specifically, this involves filling in the alliance chain used by the current data sharing task in the alliance field, and selecting either a regular task or a scheduled task type from the task type field, based on the task type of the current data sharing task. Specifically, this involves selecting the data synchronization type from the synchronization type field, such as full synchronization or incremental synchronization, based on the synchronization method of the current data sharing task. The task description field is used to fill in the task description information, such as synchronizing shared data from a data provider to the result storage database of a data user.
[0097] 2) The task data and shared component configuration section includes:
[0098] A. This includes the data provider identifier field, the data directory field corresponding to the shared data, and the provider shared component identifier field. Specifically, the data provider identifier field is filled with the identifier of the data provider used to provide the shared data; the data directory field for the shared data is filled with the data directory where the data user needs to obtain the shared data; and the provider shared component identifier field is filled with the identifier of the provider's shared component used to decrypt the data provider's first encrypted data, encrypt the shared data, and forward the encrypted shared data (i.e., the third encrypted data).
[0099] B. This includes fields for the data user identifier, the result storage database access address, and the user-shared component identifier. The data user identifier field is filled with the identifier of the data user who needs to obtain and use the shared data. The result storage database access address field is filled with the identifier of the result storage database associated with the data user and used to store the shared data. The user-shared component identifier field is filled with the identifier of the shared component used to decrypt the encrypted shared data (i.e., the third encrypted data) and the second encrypted data associated with the data user.
[0100] Step S504: By using the control component, the intermediate data sharing task fed back by the control component is received, the second sensitive data of the data user is encrypted, the second encrypted data is obtained, and the second encrypted data is filled into the intermediate data sharing task to obtain the target data sharing task. The intermediate data sharing task is obtained by filling the first encrypted data into the initial data sharing task through the control component of the control component. The first encrypted data is obtained through the first sensitive data of the data provider.
[0101] Specifically, the user-side management component receives intermediate data sharing tasks from the provider-side management component. The user-side management component subscribes to the intermediate data sharing tasks obtained after the provider-side management component has initially populated the initial data sharing task; in other words, the user-side management component further populates the intermediate data sharing tasks.
[0102] The intermediate data sharing task involves encrypting the data provider's first sensitive data using the provider's management component to obtain first encrypted data, which is then populated into the initial data sharing task. The first sensitive data specifically includes the access address of the data source database used to obtain the shared data, and first access information for accessing the data source database corresponding to that address, such as the username and password for accessing the data source database.
[0103] Furthermore, by using the user control component, the second encrypted data associated with the data user is obtained from the local data usage database of the data user, and the second decryption key associated with the user control component is obtained, so as to decrypt the second encrypted data according to the second decryption key and obtain the decrypted second sensitive data.
[0104] The second encrypted data associated with the data user refers to the encrypted data stored in the user's local database. Specifically, it is obtained by encrypting the second sensitive data on the user's local database using a second encryption key associated with the user's management component. This second sensitive data includes the access address of the result storage database used to store shared data, and second access information for accessing the result storage database corresponding to that address, such as the username and password for accessing the result storage database. The second decryption key associated with the user's management component is a unique decryption key used to decrypt the second encrypted data. This second decryption key cannot be obtained by management components on other nodes, thus preventing other management components from decrypting the second encrypted data and reducing the possibility of leakage of the second sensitive data.
[0105] In an exemplary embodiment, after obtaining the decrypted second sensitive data, the user control component parses the intermediate data sharing task, obtains the user sharing component identifier in the intermediate data sharing task, and obtains the second encryption public key associated with the user sharing component identifier. Thus, the user control component can encrypt the second sensitive data according to the second encryption public key to obtain the second encrypted data.
[0106] In the intermediate data sharing task, the user-shared component identifier refers to the identifier of the user-shared component used to decrypt the second encrypted data of the data user and to decrypt the shared data. The second encryption public key associated with the user-shared component identifier refers to the encryption public key used to encrypt the second sensitive data. The specific user-shared component identifier needs to be specified in the intermediate data sharing task, and the second encryption public key associated with the user-shared component identifier needs to be set.
[0107] Furthermore, after encrypting the second sensitive data using the user control component to obtain the second encrypted data, this second encrypted data is further filled into the intermediate data sharing task to obtain the target data sharing task. It is understandable that since the intermediate data sharing task obtained from the initial filling does not carry sensitive data, and the second encrypted data is also used when filling the intermediate data sharing task using the user control component, the target data sharing task obtained by filling based on the second encrypted data does not contain the second sensitive data associated with the data user, thus reducing the leakage of the second sensitive data.
[0108] Step S506: By using the sharing component, the third encrypted data fed back by the sharing component is received, and the third encrypted data is decrypted to obtain the shared data; the third encrypted data is obtained by the sharing component of the provider, which decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, obtains the shared data based on the first sensitive data, and encrypts the shared data.
[0109] Specifically, by using the user's sharing component, the third encrypted data fed back by the provider's sharing component is received, and the shared data decryption private key associated with the user's sharing component is obtained. The third encrypted data is then decrypted to obtain the decrypted shared data.
[0110] The third encrypted data is obtained by the provider's shared component parsing the target data sharing task, obtaining the first encrypted data in the target data sharing task, and then decrypting the first encrypted data according to the first decryption private key associated with the provider's shared component to obtain the decrypted first sensitive data. The first sensitive data is then parsed to obtain the data source database access address and first data access information associated with the data provider. The provider's shared component then accesses the data source database corresponding to the data source database access address according to the first data access information, retrieves the shared data from the data source database, and encrypts the shared data according to the shared data encryption public key associated with the user's shared component.
[0111] Step S508: Obtain the second encrypted data from the user control component using the user sharing component, and store the shared data based on the second encrypted data.
[0112] Specifically, by using a user-shared component, the second encrypted data is obtained from the user-management component, along with a second decryption private key associated with the user-shared component. This second decryption private key is then used to decrypt the second encrypted data, yielding the decrypted second sensitive data. The second decryption private key associated with the user-shared component can be understood as a local decryption private key of the user-shared component, which cannot be directly obtained by other shared components. This means other shared components cannot directly decrypt the second encrypted data, reducing the possibility of leakage of the second sensitive data.
[0113] Furthermore, after the user-shared component obtains the decrypted second sensitive data, it parses the second sensitive data to obtain the result storage database access address and second data access information associated with the data user. Then, according to the second data access information, the user-shared component accesses the result storage database corresponding to the result storage database access address and stores the shared data in the result storage database.
[0114] The second access information specifically includes the account and password for accessing the result storage database, that is, logging in and accessing the result storage database using the account and password, and storing shared data in the result storage database.
[0115] In the aforementioned blockchain-based task processing method, an initial data sharing task is created by the user's control component. Upon receiving the intermediate data sharing task from the provider's control component, the user encrypts the second sensitive data to obtain second encrypted data, which is then filled into the intermediate data sharing task to obtain the target data sharing task. The intermediate data sharing task is obtained by the provider's control component encrypting the provider's first sensitive data to obtain first encrypted data, which is then filled into the initial data sharing task. By first constructing the initial data sharing task, then having the provider's control component initially fill the initial data sharing task based on the first encrypted data, and finally having the user's control component fill it again based on the second encrypted data, the possibility of different control components obtaining each other's sensitive data can be avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, by using the user-shared component, the third encrypted data fed back by the provider-shared component is received and decrypted to obtain the shared data. The third encrypted data is obtained by the provider-shared component by decrypting the first encrypted data in the target data sharing task to obtain the first sensitive data, obtaining the shared data based on the first sensitive data, and encrypting the shared data. Subsequently, the user-shared component can obtain the second encrypted data from the user-management component, and store the shared data based on the second encrypted data. This achieves encryption of both the shared data and sensitive data, reducing the leakage of sensitive data for both the data provider and the data user, and ensuring data security.
[0116] In one exemplary embodiment, such as Figure 7 As shown, the step of obtaining the second encrypted data, namely, receiving the intermediate data sharing task from the provider's management component via the user's management component, and encrypting the user's second sensitive data to obtain the second encrypted data, specifically includes the following steps S702 to S710. Wherein:
[0117] Step S702: The user control component receives the intermediate data sharing task fed back by the provider control component, parses the intermediate data sharing task, and obtains the data user identifier in the intermediate data sharing task.
[0118] Specifically, by using the party management component, the intermediate data sharing task fed back by the provider management component is received, and the intermediate data sharing task is parsed to obtain the data user identifier in the intermediate data sharing task.
[0119] The intermediate data sharing task is obtained by encrypting the first sensitive data of the data provider through the provider control component, and then filling the first encrypted data into the initial data sharing task.
[0120] Step S704: If the data user identifier and the user control component identifier match successfully, the second encrypted data associated with the data user is retrieved from the data user database using the user control component.
[0121] Specifically, by using the user control component, the user control component identifier corresponding to the user control component is obtained, and the data user identifier and the user control component identifier are matched. If the data user identifier and the user control component identifier match successfully, the user control component retrieves the second encrypted data associated with the data user from the data user database.
[0122] The second encrypted data refers to the encrypted data stored in the user's local database. Specifically, it is obtained by encrypting the second sensitive data on the user's local machine using a second encryption key associated with the user's management component. The user's database refers to the database on the user's local machine used to store the second encrypted data associated with the user.
[0123] Step S706: Using the user control component, the second ciphertext data is decrypted according to the second decryption key associated with the user control component to obtain the decrypted second sensitive data.
[0124] Specifically, by using the user control component, a second decryption key associated with the user control component is obtained, and the second ciphertext data is decrypted based on the second decryption key to obtain the decrypted second sensitive data.
[0125] The second decryption key associated with the user management component refers to the decryption key unique to the user management component locally, used to decrypt the second encrypted data. The second sensitive data specifically includes the access address of the result storage database used to store shared data, and the second access information for accessing the result storage database corresponding to the access address, such as the account password for accessing the result storage database.
[0126] Step S708: Obtain the user-shared component identifier in the intermediate data sharing task from the user-controlled component, and obtain the second encrypted public key associated with the user-shared component identifier.
[0127] Specifically, by using the user control component, the intermediate data sharing task is parsed to obtain the user sharing component identifier in the intermediate data sharing task, and the second encryption public key associated with the user sharing component identifier is obtained. The second encryption public key associated with the user sharing component identifier refers to the encryption public key used to encrypt the second sensitive data. A specific user sharing component identifier needs to be specified in the intermediate data sharing task, and the second encryption public key associated with that user sharing component identifier needs to be set.
[0128] Step S710: Using the user control component, the second sensitive data is encrypted according to the second encryption public key to obtain the second encrypted data.
[0129] Specifically, by using the user control component, the second sensitive data is encrypted using the second encryption public key associated with the user shared component identifier to obtain the second encrypted data.
[0130] After obtaining the second encrypted data, it is further populated into the intermediate data sharing task to obtain the target data sharing task. It is understandable that since the intermediate data sharing task obtained from the initial population does not carry sensitive data, and the second encrypted data is also used when populating the intermediate data sharing task by the user's control component, the target data sharing task obtained by populating it based on the second encrypted data does not contain the second sensitive data associated with the data user, thus reducing the leakage of the second sensitive data.
[0131] In this embodiment, the user management component receives the intermediate data sharing task fed back by the provider management component, parses the intermediate data sharing task to obtain the data user identifier in the intermediate data sharing task, and, if the data user identifier and the user management component identifier match successfully, retrieves the second encrypted data associated with the data user from the data user database. This avoids providing shared data to data users who are not in the initial data sharing task, reducing data acquisition errors and repetitive operations caused by data errors. Furthermore, the user management component decrypts the second encrypted data using the second decryption key associated with the user management component to obtain the decrypted second sensitive data. Then, the second sensitive data is encrypted using the second encryption public key associated with the user sharing component identifier in the intermediate data sharing task to obtain the second encrypted data. This encrypted data is then used to fill the intermediate data sharing task with the second encrypted data, instead of directly filling the intermediate data sharing task with the second sensitive data, reducing the leakage of sensitive data and ensuring data security.
[0132] In one exemplary embodiment, such as Figure 8As shown, the step of storing shared data based on the second encrypted data, namely, obtaining the second encrypted data from the user's management component using the user's sharing component, and storing the shared data based on the second encrypted data, specifically includes the following steps S802 to S806. Wherein:
[0133] In step S802, the second encrypted data is obtained from the user control component by using the user sharing component, and the second encrypted data is decrypted according to the second decryption private key associated with the user sharing component to obtain the decrypted second sensitive data.
[0134] Specifically, by using the user-shared component, the second encrypted data is obtained from the user-management component, and the second decryption private key associated with the user-shared component is obtained, so as to decrypt the second encrypted data according to the second decryption private key and obtain the decrypted second sensitive data.
[0135] The second decryption private key associated with the user's shared component can be understood as the user's local decryption private key. It cannot be directly obtained by other shared components, meaning that other shared components cannot directly decrypt the second encrypted data, which can also reduce the possibility of leakage of the second sensitive data.
[0136] Step S804: Using the shared component, the second sensitive data is parsed to obtain the result storage database access address and second data access information associated with the data user.
[0137] Specifically, by using the shared component, the second sensitive data is parsed to further obtain the result storage database access address and second data access information associated with the data user. The result storage database access address is applied to the result storage database storing the shared data, while the second access information specifically includes the username and password for accessing the result storage database; that is, by logging in and accessing the result storage database using the username and password, the shared data is stored in the result storage database.
[0138] Step S806: Using the shared component, access the result storage database corresponding to the result storage database access address according to the second data access information, and store the shared data in the result storage database.
[0139] Specifically, by using the shared component, according to the second data access information, including the account and password for accessing the result storage database, the user logs in and accesses the result storage database corresponding to the access address of the result storage database, so as to store the shared data in the result storage database.
[0140] In this embodiment, by using the user-shared component, the second encrypted data is obtained from the user-management component. Using the second decryption private key associated with the user-shared component, the second encrypted data is decrypted to obtain the decrypted second sensitive data. This protects the second sensitive data, ensuring that all data transmitted or uploaded to the blockchain is the encrypted second data, not the second sensitive data. Furthermore, by using the user-shared component to parse the second sensitive data, the access address of the result storage database associated with the data user and the second data access information are obtained. This allows access to the result storage database corresponding to the access address according to the second data access information, and the shared data is stored in the result storage database. This ensures that sensitive data such as account passwords for accessing the result storage database do not leave the domain and are stored in the user's local database, thereby reducing the leakage of sensitive data and ensuring data security.
[0141] In one exemplary embodiment, such as Figure 9 As shown, a blockchain-based task processing method is provided. The implementation of this method specifically involves a data provider, a data provider deploying a provider management component and a provider sharing component, a blockchain network, a data user, and a data user deploying a user management component and a user sharing component. Specifically, this blockchain-based task processing method includes:
[0142] Step 1) The data provider publishes the data catalog.
[0143] Step 2) The provider control component obtains the data directory published by the data provider and filters the directory based on the data directory to obtain the first data directory and the second data directory corresponding to the data provider.
[0144] Step 3) The provider control component encrypts the first sensitive data corresponding to the first data directory according to the first encryption private key associated with the provider control component, obtains the first ciphertext data, and stores the first ciphertext data in the provider database corresponding to the data provider.
[0145] Step 4) The provider control component publishes the second data catalog to the blockchain network.
[0146] Step 5) The data user triggers the data sharing task creation operation.
[0147] Step 6) The user control component responds to the data sharing task creation operation by creating a data sharing task template, combining the task information corresponding to the data sharing task creation operation, the data provider identifier, the data user identifier, the provider sharing component identifier, the user sharing component identifier, and the data sharing task template to obtain the initial data sharing task.
[0148] Step 7) The user control component publishes the initial data sharing task to the blockchain network.
[0149] Step 8) The provider control component obtains the initial data sharing task created by the user control component, obtains the data provider identifier in the initial data sharing task, and if the data provider identifier and the provider control component identifier are successfully matched, obtains the first encrypted data associated with the data provider from the provider database.
[0150] Step 9) The provider control component decrypts the first ciphertext data according to the first decryption key associated with the provider control component to obtain the decrypted first sensitive data.
[0151] Step 10) The provider control component obtains the first encryption public key associated with the provider sharing component identifier in the initial data sharing task, and encrypts the first sensitive data according to the first encryption public key to obtain the first encrypted data.
[0152] Step 11) The provider control component fills the first encrypted data into the initial data sharing task to obtain the intermediate data sharing task, and feeds back the intermediate data sharing task to the user control component.
[0153] Step 12) The user control component obtains the data user identifier in the intermediate data sharing task. If the data user identifier and the user control component identifier are successfully matched, the second encrypted data associated with the data user is obtained from the data user database.
[0154] Step 13) The user control component decrypts the second ciphertext data according to the second decryption key associated with the user control component to obtain the decrypted second sensitive data.
[0155] Step 14) The user control component obtains the second encryption public key associated with the user sharing component identifier in the intermediate data sharing task, encrypts the second sensitive data according to the second encryption public key to obtain the second encrypted data, and fills the second encrypted data into the intermediate data sharing task to obtain the target data sharing task.
[0156] Step 15) The user control component publishes the target data sharing task to the blockchain network.
[0157] Step 16) When the provider control component receives the target data sharing task, if it determines that the data provider identifier and the provider control component identifier in the target data sharing task match successfully, it triggers a task verification request and sends the task verification request back to the data provider.
[0158] Step 17) The data provider receives the task verification request, verifies the target data sharing task, generates verification results, and feeds back the verification results to the provider management component.
[0159] Step 18) The provider control component receives the verification result. If the verification result indicates that the task verification has passed, the target data sharing task is fed back to the provider sharing component.
[0160] Step 19) The provider's shared component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data and parses the first sensitive data to obtain the data source database access address and the first data access information associated with the data provider.
[0161] Step 20) The provider's shared component accesses the data source database corresponding to the data source database access address according to the first data access information, and pulls the shared data from the data source database.
[0162] Step 21) The provider's shared component encrypts the shared data to obtain the third encrypted data, and then sends the third encrypted data back to the user's shared component.
[0163] Step 22) The user's shared component receives the third encrypted data and decrypts the third encrypted data to obtain the shared data.
[0164] Step 23) The user-shared component obtains the second encrypted data from the user-management component, and decrypts the second encrypted data according to the second decryption private key associated with the user-shared component to obtain the decrypted second sensitive data.
[0165] Step 24) The user-shared component parses the second sensitive data to obtain the result storage database access address and second data access information associated with the data user.
[0166] Step 25) The user-shared component accesses the result storage database corresponding to the result storage database access address according to the second data access information, and stores the shared data in the result storage database.
[0167] The aforementioned blockchain-based task processing method employs a pre-constructed initial data sharing task without sensitive data using a user control component. Then, a provider control component uses first encrypted data obtained from the first sensitive data of the data provider to initially populate the initial data sharing task, resulting in an intermediate data sharing task. Finally, the provider control component uses second encrypted data obtained from the second sensitive data of the data user to further populate the intermediate data sharing task, resulting in the target data sharing task. This method ensures that sensitive data corresponding to both the data provider and the data user is stored in a local database during the data sharing process. When populating the task, encrypted data obtained after encrypting the sensitive data is used, rather than directly populating the task with the sensitive data, thus guaranteeing the security of the sensitive data and reducing the possibility of sensitive data leakage. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security.
[0168] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0169] In one exemplary embodiment, such as Figure 10As shown, a blockchain-based task processing system is provided. The system includes a data provider 110 and a data user 120. The data provider 110 is equipped with a provider management component 1102 and a provider sharing component 1104, and the data user 120 is equipped with a user management component 1202 and a user sharing component 1204. Wherein:
[0170] User control component 1202 is used to: create an initial data sharing task by using the user control component.
[0171] In an exemplary embodiment, the user management component 1202 is further configured to: create a data sharing task template in response to a data sharing task creation operation; obtain task information, a data provider identifier, and a data user identifier corresponding to the data sharing task creation operation, and determine a provider sharing component identifier associated with the data provider identifier and a user sharing component identifier corresponding to the data user identifier; combine the task information, the data provider identifier, the data user identifier, the provider sharing component identifier, the user sharing component identifier, and the data sharing task template to obtain an initial data sharing task.
[0172] The provider control component 1102 is used to: obtain the initial data sharing task created by the user control component, encrypt the first sensitive data of the data provider 110, and obtain the first encrypted data; fill the first encrypted data into the initial data sharing task to obtain the intermediate data sharing task, and feed back the intermediate data sharing task to the user control component 1202.
[0173] In an exemplary embodiment, the provider control component 1102 is further configured to: obtain an initial data sharing task created by the user control component, parse the initial data sharing task, and obtain a data provider identifier in the initial data sharing task; if the data provider identifier and the provider control component identifier match successfully, obtain first encrypted data associated with the data provider from the provider database; decrypt the first encrypted data according to a first decryption key associated with the provider control component to obtain decrypted first sensitive data; obtain the provider sharing component identifier in the initial data sharing task, and encrypt the first sensitive data according to a first encryption public key associated with the provider sharing component identifier to obtain first encrypted data.
[0174] In an exemplary embodiment, the provider control component 1102 is further configured to: when receiving a target data sharing task, obtain the data provider identifier in the target data sharing task; if the data provider identifier and the provider control component identifier match successfully, trigger a task verification request and send the task verification request back to the data provider; receive the verification result sent back by the data provider in response to the task verification request; and if the verification result indicates that the task verification has passed, send the target data sharing task back to the provider sharing component.
[0175] In an exemplary embodiment, the provider control component 1102 is further configured to: obtain a data directory corresponding to the data provider, and perform directory filtering based on the data directory to obtain a first data directory and a second data directory corresponding to the data provider; encrypt the first sensitive data corresponding to the first data directory according to the first encryption private key associated with the provider control component to obtain first ciphertext data; store the first ciphertext data in the provider database corresponding to the data provider, and publish the second data directory to the blockchain network.
[0176] User control component 1202 is used to: receive intermediate data sharing task feedback from provider control component 1102, encrypt the second sensitive data of user 120, obtain the second encrypted data, and fill the second encrypted data into the intermediate data sharing task to obtain the target data sharing task.
[0177] In an exemplary embodiment, the user control component 1202 is further configured to: receive an intermediate data sharing task fed back by the provider control component 1102, and parse the intermediate data sharing task to obtain the data user identifier in the intermediate data sharing task; if the data user identifier and the user control component identifier match successfully, retrieve the second encrypted data associated with the data user from the data user database; decrypt the second encrypted data according to the second decryption key associated with the user control component to obtain the decrypted second sensitive data; obtain the user sharing component identifier in the intermediate data sharing task, and obtain the second encryption public key associated with the user sharing component identifier; encrypt the second sensitive data according to the second encryption public key to obtain the second encrypted data.
[0178] The provider control component 1102 is also used to: when a target data sharing task is received, feed back the target data sharing task to the provider sharing component 1104.
[0179] The provider sharing component 1104 is used to: decrypt the first encrypted data in the target data sharing task to obtain the first sensitive data; obtain the shared data based on the first sensitive data; encrypt the shared data to obtain the third encrypted data; and feed the third encrypted data back to the user sharing component 1204.
[0180] In an exemplary embodiment, the provider sharing component 1104 is further configured to: parse the first sensitive data to obtain the data source database access address associated with the data provider and the first data access information; and access the data source database corresponding to the data source database access address according to the first data access information, and retrieve shared data from the data source database.
[0181] User-shared component 1204 is used to: receive third encrypted data fed back by provider-shared component 1104, and decrypt the third encrypted data to obtain shared data; obtain second encrypted data from user-control component 1202, and store the shared data according to the second encrypted data.
[0182] In an exemplary embodiment, the user-shared component 1204 is further configured to: obtain second encrypted data from the user-management component 1202, and decrypt the second encrypted data according to the second decryption private key associated with the user-shared component 1204 to obtain decrypted second sensitive data; parse the second sensitive data to obtain the result storage database access address and second data access information associated with the data user; access the result storage database corresponding to the result storage database access address according to the second data access information, and store the shared data in the result storage database.
[0183] In one exemplary embodiment, such as Figure 11 As shown, a traditional data sharing and processing process based on blockchain is provided, referring to... Figure 11 It is known that in the traditional blockchain-based data sharing process, sensitive data in the data catalog published on the chain by the data provider through the control component, including the data source database access address and login account password, are encrypted using a unified symmetric key configured on each control component. However, since different control components use the same symmetric key, the encryption and decryption of sensitive data on the chain is equivalent to the encrypted sensitive data on the chain being visible to all control components. The control components can decrypt all encrypted sensitive data on the chain and obtain plaintext data, which poses a risk of information leakage based on the control components.
[0184] Specifically, refer to Figure 11It is known that the control component of each organizational node holds the same symmetric key for encrypting and decrypting sensitive data on the blockchain. For example, when the data provider of organizational node 3 publishes its data catalog to the blockchain, the control component in organizational node 3 will use the unified symmetric key to encrypt the login account and password of the data source database before publishing it to the blockchain. However, when the task creator of organizational node 1 creates a task, it needs to obtain the plaintext login account and password to access the data source database and obtain shared data. Therefore, the control component of organizational node 1 can use the same symmetric key to directly decrypt the encrypted data published by the control component in organizational node 3, directly obtaining the plaintext data (i.e., the plaintext login account and password to access the data source database). Thus, the risk of information leakage based on the control component still exists.
[0185] Furthermore, such as Figure 12 As shown, a data sharing process is provided in a blockchain-based task processing system, referring to... Figure 12 It is known that for different organizational nodes, the control components in each organizational node hold their own different symmetric keys to encrypt and decrypt sensitive data uploaded to the chain. Through a two-stage task construction, it is ensured that sensitive data such as account passwords for accessing the database do not leave the domain, and to prevent different control components from using a unified symmetric key for encryption and decryption, so that different control components cannot obtain sensitive data in other organizational nodes.
[0186] The two-stage task construction includes: 1) Stage 1: The data user constructs a preliminary data sharing task without sensitive data, triggering an on-chain contract event notification to request the encrypted sensitive data from the holder of the sensitive data. This includes obtaining the encrypted data source database access address and account password from the data provider, and obtaining the encrypted result storage database access address and account password from the data user; 2) Stage 2: The control component where the holder of the sensitive data (including the data provider and the data user) resides uses the encryption public key of the shared proxy component configured in the data sharing task to encrypt the sensitive data and fill it into the preliminary data sharing task. After confirming that all sensitive content has been filled in, the target data sharing task is obtained.
[0187] Specifically, refer to Figure 12It is known that when the data provider of Organization Node 3 publishes the data catalog to the blockchain, it obtains the first encrypted data associated with the data provider from the provider's database through the management component 3 in Organization Node 3, and decrypts the first encrypted data using its own unique first decryption key to obtain the decrypted first sensitive data (including the data source database access address and login account password). Then, it encrypts the decrypted first sensitive data using the first encryption public key of the shared component associated with Organization Node 3 specified in the target data task to obtain the first encrypted data. The first encrypted data is then filled into the preliminary data sharing task to obtain the intermediate data sharing task, and published to the blockchain.
[0188] Similarly, the data user of Organization Node 1, through the management component 1 in Organization Node 1, retrieves the second encrypted data associated with the data user from the user database, and decrypts the second encrypted data using its own unique second decryption key to obtain the decrypted second sensitive data (including the result storage database access address and login account password). Then, by using the second encryption public key of the shared component associated with Organization Node 1 specified in the target data task, the decrypted second sensitive data is encrypted to obtain the second encrypted data. The second encrypted data is then filled into the intermediate data sharing task to obtain the target data sharing task, and published on the blockchain.
[0189] In other words, the control components in organization node 1 and organization node 3 use different encryption and decryption keys to decrypt and encrypt ciphertext data and sensitive data, respectively. That is, the control components of different organization nodes can only encrypt and decrypt the sensitive data on their own blockchain. Therefore, the control component in organization node 1 cannot directly obtain the first sensitive data in organization node 3, and the control component in organization node 3 cannot obtain the second sensitive data in organization node 1. This effectively protects the sensitive data in different organization nodes, avoids the leakage of sensitive data based on the control components, and effectively ensures data security.
[0190] In one exemplary embodiment, the data sharing process of the blockchain-based task processing system specifically includes:
[0191] 1) Sensitive data in the data catalog submitted by the data provider is encrypted using the unique symmetric key of the provider's control component and then stored in the local user database, thereby ensuring that sensitive data does not leave the domain and protecting the security of sensitive data.
[0192] 2) The user management component creates an initial data sharing task. This task specifies which data provider's data directory (which can be represented by a number) needs to be retrieved, and which sharing component to use for data synchronization. Similarly, for the data user, it's necessary to specify which user requested the data, which storage directory the data will be stored in, and which sharing component to use for data storage. The initial data sharing task does not contain sensitive data such as the actual database access addresses of the data provider and user, or login usernames and passwords.
[0193] 3) By using the party control component, the initial data sharing task is submitted on the chain and an on-chain contract event notification is triggered to request the holder of the sensitive data to obtain the encrypted sensitive data, including obtaining the encrypted access address and account password of the data source database from the data provider, and obtaining the encrypted access address and account password of the result storage database from the data user.
[0194] 4) The provider control component retrieves the first encrypted data associated with the data provider from the provider database, and decrypts the first encrypted data using its own unique first decryption key to obtain the decrypted first sensitive data (including the data source database access address and login account password). Then, it encrypts the decrypted first sensitive data using the first encryption public key of the shared component specified in the target data task to obtain the first encrypted data. The first encrypted data is then filled into the initial data sharing task to obtain the intermediate data sharing task.
[0195] 5) The user control component retrieves the second encrypted data associated with the data user from the user database, and decrypts the second encrypted data using its own unique second decryption key to obtain the decrypted second sensitive data (including the result storage database access address and login account password). Then, it encrypts the decrypted second sensitive data using the second encryption public key of the shared component specified in the target data task to obtain the second encrypted data. Finally, it fills the second encrypted data into the intermediate data sharing task to obtain the target data sharing task.
[0196] 6) The user's management component will submit the target data sharing task to the blockchain, triggering task verification.
[0197] 7) When the verification is successful, the provider sharing component obtains the target data sharing task that has passed the verification from the chain, and uses the first decryption key stored locally to decrypt the first encrypted data to obtain the first sensitive data.
[0198] 8) The provider's shared component parses the first sensitive data to obtain the data source database access address and the first data access information associated with the data provider, and accesses the data source database corresponding to the data source database access address according to the first data access information, and pulls the shared data from the data source database.
[0199] 9) The provider's shared component uses the shared data encryption public key specified by the data user when the task is created to encrypt the shared data, obtaining third encrypted data, and then transmits the third encrypted data to the user's shared component.
[0200] 10) After receiving the third encrypted data, the user-shared component decrypts the third encrypted data according to the shared data decryption key corresponding to the shared data encryption public key, and obtains the decrypted shared data.
[0201] 11) The user-shared component obtains the second encrypted data from the user-control component in the data user database, and decrypts the second encrypted data according to the second decryption private key associated with the user-shared component to obtain the decrypted second sensitive data.
[0202] 12) The user's shared component parses the second sensitive data to obtain the result storage database access address and the second data access information associated with the data user. According to the second data access information, it accesses the result storage database corresponding to the result storage database access address and stores the shared data in the result storage database.
[0203] When the shared data transmission is complete, the entire data sharing task ends, and the task execution status is changed to "completed" on the blockchain.
[0204] In the aforementioned blockchain-based task processing system, an initial data sharing task without sensitive data is pre-constructed using a user control component. Then, an intermediate data sharing task is initially populated using a provider control component based on first encrypted data obtained from the first sensitive data of the data provider. Finally, the intermediate data sharing task is populated again using second encrypted data obtained from the second sensitive data of the data user, resulting in the target data sharing task. This approach ensures that sensitive data corresponding to both the data provider and the data user is stored in a local database during the data sharing process. Furthermore, when populating the task, encrypted data obtained after encrypting the sensitive data is used instead of directly populating it, thus guaranteeing the security of sensitive data and reducing the possibility of sensitive data leakage. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security.
[0205] Based on the same inventive concept, this application also provides a blockchain-based task processing device for implementing the blockchain-based task processing method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations in one or more embodiments of the blockchain-based task processing device provided below can be found in the limitations of the blockchain-based task processing method described above, and will not be repeated here.
[0206] In one exemplary embodiment, such as Figure 13 As shown, a blockchain-based task processing device is provided, comprising: a first encrypted data acquisition module 1302, a first encrypted data filling module 1304, a first sensitive data acquisition module 1306, and a shared data encryption module 1308, wherein:
[0207] The first encrypted data acquisition module 1302 is used to obtain the initial data sharing task created by the user management component through the provider management component, and the first sensitive data of the encrypted data provider to obtain the first encrypted data; the first encrypted data filling module 1304 is used to fill the first encrypted data into the initial data sharing task through the provider management component to obtain an intermediate data sharing task, and feed the intermediate data sharing task back to the user management component, so that the user management component can generate a target data sharing task by filling in the second encrypted data and feed it back; the second encrypted data is obtained through the second sensitive data of the encrypted data user; the first sensitive data acquisition module 1302 is used to obtain the first encrypted data. 06 is used to receive a target data sharing task through the provider control component, feed the target data sharing task back to the provider sharing component, and decrypt the first encrypted data in the target data sharing task through the provider sharing component to obtain the first sensitive data; the shared data encryption module 1308 is used to obtain shared data based on the first sensitive data through the provider sharing component, encrypt the shared data to obtain the third encrypted data, feed the third encrypted data back to the user sharing component, so that the user sharing component can obtain the shared data by decrypting the third encrypted data, and store the shared data based on the second encrypted data obtained from the user control component.
[0208] In the aforementioned blockchain-based task processing device, the provider control component obtains the initial data sharing task created by the user control component, encrypts the first sensitive data of the data provider to obtain the first encrypted data, fills the initial data sharing task with the first encrypted data, and obtains the intermediate data sharing task. The intermediate data sharing task is then fed back to the user control component, so that the user control component can generate the target data sharing task by filling it with the second encrypted data and then feeding it back. In this way, by adopting the method of first constructing the initial data sharing task and then filling the initial data sharing task with encrypted data, the situation where different control components can obtain each other's sensitive data is avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, when a target data sharing task is received through the provider control component, it is fed back to the provider sharing component. The provider sharing component decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, and obtains the shared data based on the first sensitive data. The shared data is then encrypted to obtain the third encrypted data, which is fed back to the user sharing component. The user sharing component then decrypts the third encrypted data to obtain the shared data and stores the shared data based on the second encrypted data obtained from the user control component. By using two-stage encryption to isolate the control console node permissions, a single node cannot obtain complete sensitive data. This achieves encryption of both shared data and sensitive data, reducing the possibility of sensitive data leakage for both the data provider and the data user, lowering the risk of leakage, and ensuring data and information security.
[0209] In an exemplary embodiment, the first encrypted data acquisition module is further configured to: obtain an initial data sharing task created by the user management component through the provider management component, and parse the initial data sharing task to obtain the data provider identifier in the initial data sharing task; if the data provider identifier and the provider management component identifier match successfully, obtain the first ciphertext data associated with the data provider from the provider database through the provider management component; decrypt the first ciphertext data according to the first decryption key associated with the provider management component through the provider management component to obtain the decrypted first sensitive data; obtain the provider sharing component identifier in the initial data sharing task through the provider management component, and encrypt the first sensitive data according to the first encryption public key associated with the provider sharing component identifier to obtain the first encrypted data.
[0210] In an exemplary embodiment, the shared data encryption module is further configured to: parse the first sensitive data through the provider sharing component to obtain the data source database access address associated with the data provider and the first data access information; and access the data source database corresponding to the data source database access address according to the first data access information through the provider sharing component, and retrieve the shared data from the data source database.
[0211] In an exemplary embodiment, the first sensitive data acquisition module is further configured to: when a target data sharing task is received through the provider management component, obtain the data provider identifier in the target data sharing task through the provider management component; if the data provider identifier and the provider management component identifier match successfully, trigger a task verification request through the provider management component and send the task verification request back to the data provider; receive the verification result sent back by the data provider in response to the task verification request through the provider management component; if the verification result indicates that the task verification is successful, send the target data sharing task back to the provider sharing component through the provider management component.
[0212] In one exemplary embodiment, a blockchain-based task processing device is provided, further comprising: a directory filtering module, configured to obtain a data directory corresponding to a data provider through a provider management component, and perform directory filtering based on the data directory to obtain a first data directory and a second data directory corresponding to the data provider; a first encrypted data acquisition module, configured to encrypt first sensitive data corresponding to the first data directory through the provider management component according to a first encryption private key associated with the provider management component to obtain first encrypted data; and a first encrypted data storage module, configured to store the first encrypted data in a provider database corresponding to the data provider through the provider management component, and publish the second data directory to the blockchain network.
[0213] In one exemplary embodiment, such as Figure 14 As shown, a blockchain-based task processing device is provided, including: an initial data sharing task creation module 1402, a second encrypted data filling module 1404, a shared data acquisition module 1406, and a shared data storage module 1408. Wherein:
[0214] The initial data sharing task creation module 1402 is used to create an initial data sharing task by using the user's management component; the second encrypted data filling module 1404 is used to receive the intermediate data sharing task fed back by the provider's management component from the user's management component, encrypt the user's second sensitive data, obtain the second encrypted data, and fill the intermediate data sharing task with the second encrypted data to obtain the target data sharing task; wherein, the intermediate data sharing task is obtained by filling the initial data sharing task with the first encrypted data by the provider's management component; the first encrypted data is obtained from the first sensitive data of the data provider; the shared data acquisition module 1406 is used to receive the third encrypted data fed back by the provider's sharing component by the user's sharing component, and decrypt the third encrypted data to obtain the shared data; the third encrypted data is obtained by the provider's sharing component by decrypting the first encrypted data in the target data sharing task to obtain the first sensitive data, obtaining the shared data based on the first sensitive data, and encrypting the shared data; the shared data storage module 1408 is used to obtain the second encrypted data from the user's management component by the user's sharing component, and store the shared data based on the second encrypted data.
[0215] In the aforementioned blockchain-based task processing device, an initial data sharing task is created by the user's control component. Upon receiving the intermediate data sharing task from the provider's control component, the user encrypts the second sensitive data to obtain second encrypted data, which is then filled into the intermediate data sharing task to obtain the target data sharing task. The intermediate data sharing task is obtained by the provider's control component encrypting the provider's first sensitive data to obtain first encrypted data, which is then filled into the initial data sharing task. By first constructing the initial data sharing task, then having the provider's control component initially fill the initial data sharing task based on the first encrypted data, and finally having the user's control component fill it again based on the second encrypted data, the situation where different control components can obtain sensitive data from each other can be avoided, thereby reducing the leakage of sensitive data and ensuring information security. Furthermore, by using the user-shared component, the third encrypted data fed back by the provider-shared component is received and decrypted to obtain the shared data. The third encrypted data is obtained by the provider-shared component by decrypting the first encrypted data in the target data sharing task to obtain the first sensitive data, obtaining the shared data based on the first sensitive data, and encrypting the shared data. Subsequently, the user-shared component can obtain the second encrypted data from the user-management component, and store the shared data based on the second encrypted data. This achieves encryption of both the shared data and sensitive data, reducing the leakage of sensitive data for both the data provider and the data user, and ensuring data security.
[0216] In an exemplary embodiment, the initial data sharing task creation module is further configured to: create a data sharing task template in response to a data sharing task creation operation using a user control component; obtain task information, a data provider identifier, and a data user identifier corresponding to the data sharing task creation operation using the user control component, and determine a provider sharing component identifier associated with the data provider identifier and a user sharing component identifier corresponding to the data user identifier; and combine the task information, data provider identifier, data user identifier, provider sharing component identifier, user sharing component identifier, and data sharing task template using the user control component to obtain the initial data sharing task.
[0217] In an exemplary embodiment, the second encrypted data filling module is further configured to: receive an intermediate data sharing task fed back by the provider management component from the user management component, and parse the intermediate data sharing task to obtain the data user identifier in the intermediate data sharing task; if the data user identifier and the user management component identifier match successfully, retrieve the second ciphertext data associated with the data user from the data user database using the user management component; decrypt the second ciphertext data using the user management component according to the second decryption key associated with the user management component to obtain the decrypted second sensitive data; obtain the user sharing component identifier in the intermediate data sharing task using the user management component, and obtain the second encryption public key associated with the user sharing component identifier; encrypt the second sensitive data using the second encryption public key using the user management component to obtain the second encrypted data.
[0218] In an exemplary embodiment, the shared data storage module is further configured to: obtain second encrypted data from the user control component using the user sharing component, and decrypt the second encrypted data according to the second decryption private key associated with the user sharing component to obtain decrypted second sensitive data; parse the second sensitive data using the user sharing component to obtain the result storage database access address and second data access information associated with the data user; and access the result storage database corresponding to the result storage database access address according to the second data access information using the user sharing component, and store the shared data in the result storage database.
[0219] The modules in the aforementioned blockchain-based task processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can invoke and execute the operations corresponding to each module.
[0220] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 15As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores data such as initial data sharing tasks, first sensitive data from the data provider, first encrypted data, intermediate data sharing tasks, second sensitive data from the data user, second encrypted data, target data sharing tasks, shared data, and third encrypted data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a blockchain-based task processing method.
[0221] Those skilled in the art will understand that Figure 15 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0222] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0223] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0224] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0225] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0226] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, task processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0227] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this application. The above embodiments only illustrate several implementation methods of this application, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of this application. It should be noted that for those skilled in the art, several modifications and improvements can be made without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A task processing method based on blockchain, characterized in that, The method includes: By using the provider's management component, the initial data sharing task created by the user's management component is obtained, the first sensitive data of the data provider is encrypted, and the first encrypted data is obtained. The provider control component fills the initial data sharing task with the first encrypted data to obtain an intermediate data sharing task, and feeds the intermediate data sharing task back to the user control component, so that the user control component can generate a target data sharing task by filling in the second encrypted data and feed it back; the second encrypted data is obtained from the second sensitive data of the encrypted data user; When the target data sharing task is received through the provider control component, the target data sharing task is fed back to the provider sharing component. The provider sharing component then decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data. The provider sharing component obtains shared data based on the first sensitive data, encrypts the shared data to obtain third encrypted data, and feeds the third encrypted data back to the user sharing component so that the user sharing component can obtain the shared data by decrypting the third encrypted data. The user sharing component then stores the shared data based on the second encrypted data obtained from the user control component.
2. The method according to claim 1, characterized in that, The process involves obtaining the initial data sharing task created by the user management component through the provider management component, encrypting the first sensitive data of the data provider, and obtaining the first encrypted data, including: By using the provider management component, the initial data sharing task created by the user management component is obtained, and the initial data sharing task is parsed to obtain the data provider identifier in the initial data sharing task; If the data provider identifier and the provider control component identifier match successfully, the provider control component retrieves the first encrypted data associated with the data provider from the provider database. The first ciphertext data is decrypted using the provider control component and the first decryption key associated with the provider control component to obtain the decrypted first sensitive data. The provider control component obtains the provider sharing component identifier in the initial data sharing task, and encrypts the first sensitive data according to the first encryption public key associated with the provider sharing component identifier to obtain the first encrypted data.
3. The method according to claim 1, characterized in that, The step of obtaining shared data based on the first sensitive data through the provider's shared component includes: The first sensitive data is parsed through the provider's shared component to obtain the data source database access address and the first data access information associated with the data provider. Through the provider sharing component, according to the first data access information, the data source database corresponding to the data source database access address is accessed, and shared data is retrieved from the data source database.
4. The method according to claim 1, characterized in that, The step of receiving the target data sharing task through the provider management component and feeding the target data sharing task back to the provider sharing component includes: When the target data sharing task is received through the provider management component, the data provider identifier in the target data sharing task is obtained through the provider management component. If the data provider identifier and the provider management component identifier match successfully, a task verification request is triggered through the provider management component, and the task verification request is fed back to the data provider. The provider management component receives the verification results from the data provider in response to the task verification request. If the verification result indicates that the task verification is successful, the target data sharing task is fed back to the provider sharing component through the provider management component.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: The provider management component obtains the data directory corresponding to the data provider, and performs directory filtering based on the data directory to obtain the first data directory and the second data directory corresponding to the data provider. The provider control component encrypts the first sensitive data corresponding to the first data directory using the first encryption private key associated with the provider control component to obtain the first ciphertext data. The provider control component stores the first encrypted data in the provider database corresponding to the data provider and publishes the second data directory to the blockchain network.
6. A task processing method based on blockchain, characterized in that, The method includes: Create an initial data sharing task by using the party management component; The user control component receives an intermediate data sharing task from the provider control component, encrypts the user's second sensitive data to obtain second encrypted data, and fills the intermediate data sharing task with the second encrypted data to obtain a target data sharing task; wherein, the intermediate data sharing task is obtained by filling the initial data sharing task with first encrypted data through the provider control component; the first encrypted data is obtained by encrypting the provider's first sensitive data; By using the sharing component, the third encrypted data fed back by the sharing component is received, and the third encrypted data is decrypted to obtain the shared data; the third encrypted data is obtained by the sharing component of the provider, which decrypts the first encrypted data in the target data sharing task to obtain the first sensitive data, obtains the shared data based on the first sensitive data, and encrypts the shared data. The second encrypted data is obtained from the user management component through the user sharing component, and the shared data is stored based on the second encrypted data.
7. The method according to claim 6, characterized in that, The process involves receiving an intermediate data sharing task from the provider's management component via the user's management component, encrypting the user's second sensitive data, and obtaining the second encrypted data, including: The user management component receives the intermediate data sharing task fed back by the provider management component, parses the intermediate data sharing task, and obtains the data user identifier in the intermediate data sharing task. If the data user identifier and the user management component identifier match successfully, the second encrypted data associated with the data user is obtained from the data user database through the user management component. The second ciphertext data is decrypted using the user control component and the second decryption key associated with the user control component to obtain the decrypted second sensitive data. The user management component obtains the user sharing component identifier in the intermediate data sharing task and the second encrypted public key associated with the user sharing component identifier. The user control component encrypts the second sensitive data using the second encryption public key to obtain the second encrypted data.
8. The method according to claim 6, characterized in that, The step of obtaining the second encrypted data from the user management component through the user sharing component, and storing the shared data based on the second encrypted data, includes: The second encrypted data is obtained from the user management component through the user sharing component, and the second encrypted data is decrypted according to the second decryption private key associated with the user sharing component to obtain the decrypted second sensitive data. The second sensitive data is parsed through the user-shared component to obtain the result storage database access address and second data access information associated with the data user. The user-shared component accesses the result storage database corresponding to the result storage database access address according to the second data access information, and stores the shared data in the result storage database.
9. The method according to any one of claims 6 to 8, characterized in that, The process of creating an initial data sharing task using the user management component includes: The user management component, in response to the data sharing task creation operation, creates a data sharing task template. The user management component obtains the task information, data provider identifier, and data user identifier corresponding to the data sharing task creation operation, and determines the provider sharing component identifier associated with the data provider identifier and the user sharing component identifier corresponding to the data user identifier. By combining the task information, the data provider identifier, the data user identifier, the provider sharing component identifier, the user sharing component identifier, and the data sharing task template through the user management component, an initial data sharing task is obtained.
10. A blockchain-based task processing device, characterized in that, The device includes: The first encrypted data acquisition module is used to obtain the first encrypted data by acquiring the initial data sharing task created by the user's management component and the first sensitive data of the encrypted data provider through the provider's management component. The first encrypted data filling module is used to fill the first encrypted data into the initial data sharing task through the provider control component to obtain an intermediate data sharing task, and to feed back the intermediate data sharing task to the user control component, so that the user control component can generate a target data sharing task by filling in the second encrypted data and then feed it back; the second encrypted data is obtained through the second sensitive data of the encrypted data user. The first sensitive data acquisition module is used to receive the target data sharing task through the provider control component, feed the target data sharing task back to the provider sharing component, and decrypt the first encrypted data in the target data sharing task through the provider sharing component to obtain the first sensitive data. The shared data encryption module is used to obtain shared data based on the first sensitive data through the provider sharing component, encrypt the shared data to obtain third encrypted data, and feed the third encrypted data back to the user sharing component so that the user sharing component can obtain the shared data by decrypting the third encrypted data, and store the shared data based on the second encrypted data obtained from the user control component.
11. A blockchain-based task processing device, characterized in that, The device includes: The initial data sharing task creation module is used to create initial data sharing tasks by using the party management component; The second encrypted data filling module is used to receive an intermediate data sharing task fed back by the provider management component through the user management component, encrypt the second sensitive data of the data user to obtain second encrypted data, and fill the second encrypted data into the intermediate data sharing task to obtain a target data sharing task; wherein, the intermediate data sharing task is obtained by filling the initial data sharing task with first encrypted data through the provider management component; the first encrypted data is obtained from the first sensitive data of the encrypted data provider; The shared data acquisition module is used to receive third encrypted data fed back by the provider sharing component through the user sharing component, and decrypt the third encrypted data to obtain shared data; the third encrypted data is obtained by the provider sharing component through decrypting the first encrypted data in the target data sharing task to obtain first sensitive data, obtaining shared data based on the first sensitive data, and encrypting the shared data. A shared data storage module is used to obtain the second encrypted data from the user management component through the user sharing component, and store the shared data based on the second encrypted data.
12. A blockchain-based task processing system, characterized in that, The system includes: a data provider and a data user. The data provider deploys a provider management component and a provider sharing component, and the data user deploys a user management component and a user sharing component; wherein: The provider control component is configured to: obtain an initial data sharing task created by the user control component; encrypt the first sensitive data of the data provider to obtain first encrypted data; fill the first encrypted data into the initial data sharing task to obtain an intermediate data sharing task; and feed back the intermediate data sharing task to the user control component. The user control component is used to: receive the intermediate data sharing task fed back by the provider control component, encrypt the second sensitive data of the data user, obtain the second encrypted data, and fill the second encrypted data into the intermediate data sharing task to obtain the target data sharing task. The provider control component is further configured to: when receiving the target data sharing task, feed back the target data sharing task to the provider sharing component; The provider sharing component is configured to: decrypt the first encrypted data in the target data sharing task to obtain the first sensitive data; obtain shared data based on the first sensitive data; encrypt the shared data to obtain the third encrypted data; and feed the third encrypted data back to the user sharing component. The user-shared component is configured to: receive third encrypted data fed back by the provider-shared component, and decrypt the third encrypted data to obtain shared data; obtain the second encrypted data from the user-management component, and store the shared data based on the second encrypted data.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 9.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 9.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 9.