WO2023207086A1 - 一种基于区块链的用户数据流转方法、装置及设备 - Google Patents

一种基于区块链的用户数据流转方法、装置及设备 Download PDF

Info

Publication number
WO2023207086A1
WO2023207086A1 PCT/CN2022/135567 CN2022135567W WO2023207086A1 WO 2023207086 A1 WO2023207086 A1 WO 2023207086A1 CN 2022135567 W CN2022135567 W CN 2022135567W WO 2023207086 A1 WO2023207086 A1 WO 2023207086A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
information
data transfer
demander
Prior art date
Application number
PCT/CN2022/135567
Other languages
English (en)
French (fr)
Inventor
魏亚文
钟广洋
林耀
李宏旭
黄浩鹏
Original Assignee
蚂蚁区块链科技(上海)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蚂蚁区块链科技(上海)有限公司 filed Critical 蚂蚁区块链科技(上海)有限公司
Publication of WO2023207086A1 publication Critical patent/WO2023207086A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • This application relates to the technical field of data asset circulation, and in particular to a blockchain-based user data circulation method, device and equipment.
  • the embodiments of this specification provide a blockchain-based user data transfer method, device and equipment, which can improve the operational convenience and traceability of the user data transfer process.
  • the embodiments of this specification provide a blockchain-based user data transfer method, including:
  • the user data transfer instructions are generated after determining a data provider that can provide user data of a target data type, and the target data type is the data type of user data requested by the data demander;
  • the embodiment of this specification provides a blockchain-based user data transfer device, including:
  • the first acquisition module is used to obtain user data transfer instructions; the user data transfer instructions are generated after determining a data provider that can provide user data of a target data type, and the target data type is requested by the data demander.
  • the data type of user data is used to obtain user data transfer instructions;
  • a determination module configured to respond to the user data transfer instruction and determine, through the smart contract deployed in the blockchain network, that the data can be provided by the first user from whom the data demander needs to obtain the user data. The second user who provides the user data;
  • a first sending module configured to send a user data transmission instruction for the second user to the device of the data provider
  • a receiving module configured to receive user data transfer result information sent by the device of the data demander; the user data transfer result information is based on the user data of the second user transmitted by the data provider to the data demander. and generated;
  • the first storage module is used to store the user data transfer result information to the blockchain network.
  • the embodiment of this specification provides a blockchain-based user data transfer device, including:
  • the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:
  • the user data transfer instructions are generated after determining a data provider that can provide user data of a target data type, and the target data type is the data type of user data requested by the data demander;
  • the first user who needs to obtain the user data from the data demander determining a second user who can provide the user data by the data provider; sending a user data transmission instruction for the second user to the device of the data provider; and, in the direction of the data provider,
  • the data demander provides the user data of the second user, it receives and stores the user data transfer result information sent by the device of the data demander to the blockchain network.
  • This solution allows the data provider to provide the data demander with the user data of each user that the data demander needs to obtain, without requiring the data demander to interact with each user individually to obtain user data, which is beneficial to the user data transfer process. To improve the operational convenience of data demanders.
  • the user data transfer process information and user data transfer result information are stored in the blockchain network, the traceability of the user data transfer process can be improved.
  • Figure 1 is a schematic diagram of an application scenario of a blockchain-based user data transfer method provided by the embodiment of this specification;
  • Figure 2 is a schematic flow chart of a blockchain-based user data transfer method provided by an embodiment of this specification
  • FIG 3 is a schematic diagram of the swim lane flow corresponding to the blockchain-based user data transfer method in Figure 2 provided by the embodiment of this specification;
  • Figure 4 is a schematic structural diagram of a blockchain-based user data transfer device corresponding to Figure 2 provided by an embodiment of this specification;
  • FIG. 5 is a schematic structural diagram of a blockchain-based user data transfer device corresponding to FIG. 2 provided by an embodiment of this specification.
  • data assets can refer to data resources that are owned or controlled by individuals or enterprises, can bring future economic benefits to individuals or enterprises, and are recorded in physical or electronic ways.
  • personal or corporate photos, documents, drawings, videos, digital copyrights, etc. are data carried in files;
  • data assets are a type of assets that exist in the form of data relative to physical assets.
  • Data assets are considered to be one of the most important forms of assets in the digital age.
  • Figure 1 is a schematic diagram of an application scenario of a blockchain-based user data transfer method provided by an embodiment of this specification.
  • the data transfer platform may have multiple devices, such as device 101, device 102, device 103, device 104, device 105, etc.
  • the equipment at the data transfer platform can be either a blockchain node in the blockchain network or a centralized device capable of data communication with the blockchain nodes in the blockchain network. There is no specific limitation on this.
  • a blockchain can be understood as a data chain composed of multiple blocks stored sequentially.
  • the block header of each block contains the timestamp of the current block, the previous block
  • the hash value of the information and the hash value of the block information realize mutual verification between blocks and form an immutable blockchain.
  • Each block can be understood as a data block (a unit for storing data).
  • blockchain is a series of data blocks generated by using cryptographic methods to correlate each other.
  • Each data block contains information about a network transaction and is used to verify the validity of its information (anti-counterfeiting). and generate the next block.
  • the chain formed by connecting blocks end to end is called a blockchain.
  • the blockchain is difficult to tamper with and delete, and it is reliable as a method of maintaining the integrity of the content after the data has been saved to the blockchain.
  • FIG. 1 Also shown in FIG. 1 is a data demander's device 110 and a data provider's device 120 .
  • the data demander can use the device 110 to send data demand information to the data transfer platform, and the data provider can use the device 120 to send data service information to the data transfer platform.
  • the data transfer platform determines what can be provided based on the data demand information and data service information. After the data demander requests the data provider to obtain the user data of the target data type, it can generate a user data transfer instruction.
  • the data transfer platform can also respond to the user data transfer instruction and determine from the first user who needs to obtain the user data from the data demander through the smart contract deployed in the blockchain network that the user data can be obtained from the user data transfer instruction.
  • the data provider provides the second user of the user data; and sends a user data transmission instruction for the second user to the device 120 of the data provider.
  • the data provider's device 120 may send the user data of the target data type of the second user to the data demander's device 110 .
  • the data demander can use the device 110 to send user data transfer result information to the data transfer platform that reflects the user data obtained from the data passer; so that the data transfer platform can store the user data transfer result information in the data transfer platform. Describe the blockchain network.
  • the solution in Figure 1 is based on the data transfer platform, so that the data provider can provide the data demander with the user data of each user that it needs to obtain, without the need for the data demander to interact with each user individually to obtain user data. It is conducive to improving the operational convenience of the data demand side in the user data transfer process. At the same time, since the user data transfer process information and user data transfer result information are stored in the blockchain network, the traceability of the user data transfer process can also be improved.
  • FIG. 2 is a schematic flowchart of a blockchain-based user data transfer method provided by an embodiment of this specification. From a program perspective, the execution subject of this process can be the device on the data transfer platform, or the application installed on the device on the data transfer platform. As shown in Figure 2, the process can include the following steps:
  • Step 202 Obtain user data transfer instructions; the user data transfer instructions are generated after determining a data provider that can provide user data of the target data type, and the target data type is the user data requested by the data demander. type of data.
  • the data transfer platform can have a centralized server and a blockchain system.
  • the centralized server can respond to the operation instructions of the data demander and the data provider on the client of the data transfer platform, so as to realize the communication between the data demander and the data provider. Transfer of user data between data providers.
  • the blockchain network corresponding to the blockchain system can store user data transfer process information and user data transfer result information to conduct trustworthy traceability of user data transfer situations.
  • the data demander may refer to the party with the need to obtain user data.
  • a data provider can refer to a party that can provide user data to other parties.
  • the same enterprise, institution or individual can serve as both a data demander and a data provider based on actual business needs, and there are no specific restrictions on this.
  • data demanders and data providers usually need to register with the data transfer platform in advance in order to operate the client of the data transfer platform based on the registered account, thereby publishing data demand information or publishing data service information. , to perform data transfer operations.
  • the data demander or data provider when a data demander or data provider registers on the data transfer platform, the data demander or data provider can provide the identity information of the data demander or data provider, such as company name, business license information, etc.
  • the data transfer platform can generate a public-private key pair for the data demander or data provider, and send the private key in the public-private key pair to the data demander or data provider for their own custody, and
  • the public key in the public-private key pair, the company name of the data demander or data provider, business license information, registration time and remark information and other identity registration information are associated and stored in the corresponding blockchain network of the blockchain system.
  • the data transfer platform can match according to the data demand of the data demander and the data services that the data provider can provide. If the data demander needs to obtain user data of the target data type, the data transfer platform can match the data demander who can provide the target data. After selecting the data provider of user data of data type, user data transfer instructions can be generated. The user data transfer instruction may correspond to a user data transfer task. After the user data transfer task is executed, the data demander can obtain the user data it needs from the data provider.
  • Step 204 In response to the user data transfer instruction, through the smart contract deployed in the blockchain network, determine from the first user that the data demander needs to obtain the user data that can be provided by the data provider. The second user of said user data.
  • the data demander may need to obtain the user data of the first user, and the data provider may only have part of the user data of the first user. Therefore, it is necessary to determine which of the first users can be provided by the data.
  • the user who provides the corresponding user data i.e. the second user. Subsequently, the data provider only needs to provide the second user's user data to the data provider, which will help improve the accuracy of data transmission.
  • the smart contract deployed in the blockchain network can be called to determine the second user from the first user, because the contract content, input data and output results of the smart contract can be stored in the block Chain network, so that the blockchain network can be used to record user data transfer process information, so as to facilitate the credibility traceability of the user data transfer process.
  • Step 206 Send a user data transmission instruction for the second user to the device of the data provider.
  • a user data transmission instruction for the second user can be sent to the data provider's device.
  • the user data transmission instruction can be used to indicate the direction of the data provider.
  • the data requesting party provides the corresponding user data of the second user.
  • the user data transmission instruction may carry the user identification information of the second user determined in step 204, thereby facilitating the data provider to know the user to whom it needs to transmit data.
  • the user identification information of the second user can also be sent to the data demander, so that the data demander can know the users who can provide corresponding user data by the data provider.
  • Step 208 Receive the user data transfer result information sent by the device of the data demander; the user data transfer result information is generated based on the user data of the second user transmitted by the data provider to the data demander. of.
  • Step 210 Store the user data transfer result information in the blockchain network.
  • the data demander after receiving the user data of the second user sent by the data provider, the data demander can generate user data transfer result information reflecting the received user data, and store the user data transfer result information in The blockchain network makes it possible to determine the user data transfer situation of the second user with high credibility based on the user data transfer result information.
  • the method in Figure 2 allows the data provider to provide the data demander with the user data of each user that the data demander needs to obtain, without requiring the data demander to interact with each user individually to obtain user data, which is beneficial to the user data processing.
  • the operation convenience of the data demand side is improved.
  • the user data transfer process information and user data transfer result information are stored in the blockchain network, the traceability of the user data transfer process can be improved.
  • step 202 Obtain user data transfer instructions, which may include:
  • the data demand information is used to describe the target data type of user data that the data demander needs to obtain.
  • the data service information is used to describe the data type of user data that the data provider can provide.
  • the user data transfer instruction is generated.
  • the data demander can operate the client of the data transfer platform, thereby publishing data demand information on the data transfer platform.
  • the data requirement information may specifically include: unique identification information of the data requirement information, user identity identification category information, user data field set to be obtained, data requirement description information, etc.
  • the unique identification information of the data requirement information can be used to distinguish each piece of data requirement information, for example, it can be a requirement ID.
  • the user identification category information can be the type of user identification information that needs to be used when subsequently determining the second user.
  • the user identity category information can be the enterprise's business license code (for example, unified social credit code), taxpayer identification number , enterprise registration number, etc.
  • the set of user data fields that need to be obtained may include field information that needs to be obtained, such as enterprise qualification fields, enterprise credit fields, and enterprise tax information fields.
  • Data requirement description information can be used to describe the format, content, generation method and other information of the user data to be obtained.
  • the data provider can operate the client of the data transfer platform to publish data service information on the data transfer platform.
  • the data service information can specifically include: the unique identification information of the data service information, service name information, user identity identification category information, the set of user data fields it can provide, service description information, and the name of the data provider. , the public key of the data provider and other information.
  • the unique identification information of the data service information can be used to distinguish each data service information provided by each data provider, for example, it can be a service ID.
  • the user identification category information can be the type of user identification information that needs to be used when subsequently determining the second user.
  • the user identity category information can be the enterprise's business license code (for example, unified social credit code), taxpayer identification number , enterprise registration number, etc.
  • the set of user data fields it can provide can include fields such as enterprise qualification fields and enterprise credit fields.
  • Service description description information can be used to describe the format, content, generation method and other information of the data it can provide.
  • the name of the data provider and the public key of the data provider can be used to determine the subject providing the data service corresponding to the data service information.
  • a data provider can publish multiple pieces of data service information, and the user data fields provided by each data service information are usually different, so as to meet the diverse data needs of each data demander.
  • the data transfer platform when matching the data demand information with the data service information, the data transfer platform usually needs to determine whether the set of user data fields that the data provider can provide contains the data that the data demander needs to obtain. Fields in the user data field set, if so, it can be determined that the data demand information and the data service information match successfully, that is, the data provider can provide at least part of the user data of the target data type that the data demander needs to obtain, so that User data transfer instructions can be generated.
  • This process can usually be implemented in a centralized server at the data transfer platform. Of course, it can also be implemented based on smart contracts deployed in the blockchain network. There is no specific limitation on this.
  • the data transfer platform can determine that the user data field set that the data provider can provide contains all the fields in the user data field set that the data demander needs to obtain, and then determine the data requirement information and The data service information is successfully matched, so that a single data provider can provide all user data fields that the data demander needs to obtain, thereby improving the simplicity and convenience of data transfer operations.
  • the data requirement information and the data service information after determining that the user data field set that the data provider can provide contains at least one field in the user data field set that the data demander needs to obtain.
  • the match is successful, allowing a single data provider to provide only some of the user data fields it needs to the data demander.
  • the same user identity category information can be used as the subsequent determination of the second user.
  • the type of user identification information used is to use the same user identification category information as the agreed user identity primary key to determine the first user who can obtain user data from the data demander based on the user identity primary key.
  • the Provider provides the second user with the corresponding User Data.
  • the data requirement description information and the service description information can also be consistent matched. If the service content reflected in the service description information can meet the data requirements reflected in the data requirement description information, then the data requirement information and the service description information are determined to be consistent. The data service information is matched successfully. To improve the accuracy of matching results for data needs and data services.
  • the data demander may have a demand for the designated data provider to provide user data to it, and the data provider may also have a demand to only provide user data to the designated data demander.
  • the data demand information also includes The identification information of the specified data provider may be included, and the data service information may also include the identification information of the specified data demander. Therefore, when the identification information of the designated data provider in the data demand information contains the name of the data provider, and/or, when the identification information of the designated data demander in the data service information contains the name of the data demander, the above-mentioned The data demand information and the data service information are successfully matched to meet the mutual screening requirements of the data demander and the data provider.
  • the data demander may need to obtain some of the first user's relatively sensitive user data. Therefore, the first user needs to authorize the data demander to ensure the security of the first user's user data.
  • the authorization information is used to indicate that the first user allows the data demander to obtain the target data of the first user type of user data.
  • the user data transfer instruction is generated.
  • the data demander in order to avoid disturbing the first user during the data transfer process, the data demander can interact with the first user on his own and provide the first user's authorization information to the data transfer platform without having to ask the third user to do so.
  • a user registers on the data transfer platform to provide the authorization information by himself.
  • the first user's authorization information may include: information such as the authorization contract or terms signed by the first user and the data demander, as well as information about the identity verification process when the first user signed the authorization contract or terms, etc.
  • the authorization information of the first user may have unique identification information (for example, core ID).
  • the identity verification process information corresponding to the first user's authorization information can usually reflect the enterprise authentication and legal person authentication processes. When authenticating the enterprise, it can be based on the enterprise business license and other information. This is achieved through verification. When authenticating a legal person, it can be achieved by performing facial recognition authentication on the legal person.
  • the identity verification process information may reflect the process of verifying the first user's identity document, face, etc.
  • the data demander can store the first user's authorization information in the blockchain network on the data transfer platform in advance, so that it can be called when subsequently obtaining the first user's user data, which is convenient and fast.
  • the data transfer platform can also set a whitelist according to the actual situation. If the data demander and/or the first user is a user in the whitelist, it usually means that the data demander has the authorization information of the first user, so that it can generate Corresponding user data transfer instructions, otherwise, the generation of user data transfer instructions is prohibited. Therefore, the data demander needs to obtain the first user's user data only after obtaining the first user's authorization, which is beneficial to ensuring the security of the first user's user data.
  • the data transfer authorization information is used to reflect the relationship between the data demand information, the data service information, the authorization information and the user data transfer instruction respectively. corresponding relationship.
  • the user data transfer instruction is generated after the data demand information and the data service information are successfully matched and the user's authorization information is verified, it can be generated that reflects the data demand information, data service information, and user's authorization information.
  • the information on the correspondence between authorization information, user data transfer instructions, etc. is stored in the blockchain network as data transfer authorization information. Subsequently, based on the data transfer authorization information, it is possible to make possible adjustments to the user data transfer situation. Credibility traceability.
  • data demand information, data service information and user authorization information can also be uploaded to the blockchain network for subsequent use in credibility tracing of user data flow. Since the above three types of information can all have unique identification information, the data transfer authorization information can contain the unique identification information of the above three types of information without including the original text of the above three types of information, so as to avoid confusion for the blockchain node. Waste of equipment resources.
  • the data transfer authorization information may include: unique identification information of data requirement information (i.e., requirement ID), unique identification information of data service information (i.e., requirement ID), unique identification information of user authorization information (i.e., core ID). ), the hash value of the authorization contract or terms, user authorization time, generation time of data transfer authorization information and other information.
  • each user data transfer instruction corresponds to a user data transfer task
  • each user data transfer task also has unique task identification information (for example, TaskId). Therefore, the association between the unique task identification information (for example, TaskId) corresponding to the user data transfer instruction and the data transfer authorization information can also be recorded in the blockchain network to facilitate subsequent processing of the user data transfer situation. Credibility traceability.
  • the user to whom the user data that the data provider needs to provide to the data demander belongs can also be determined based on the Private Set Intersection (PSI) technology.
  • PSI Private Set Intersection
  • step 204 Through the smart contract deployed in the blockchain network, determine the third user who can provide the user data by the data provider from among the first users who need to obtain the user data from the data demander.
  • Second users can include:
  • Run the smart contract deployed in the blockchain network perform privacy set intersection processing on the first user set and the third user set, and obtain the second user set;
  • the first user set includes the first user;
  • the The third user set includes the third user to which the user data of the target data type owned by the data provider belongs;
  • the second user set includes the second user.
  • the data demander may have a first public-private key pair consisting of a first public key and a first private key; and the data provider may have a second public key and a second private key.
  • the second public-private key pair The first public-private key pair and the second public-private key pair are different public-private key pairs generated based on the same position information in the target elliptic curve using an elliptic curve encryption algorithm.
  • the first public-private key pair and the second public-private key pair can be either the public-private key pair obtained by the data demander and the data provider when registering on the data transfer platform, or other public-private key pairs, which are not specifically limited.
  • the smart contract deployed in the running blockchain network can implement privacy set intersection processing for the first user set and the third user set based on the above public and private key pairs. Specifically, it can be:
  • the third user set contains the third ciphertext user identification information of the third user; the third ciphertext user identification information is obtained by using the second public key and the third user identification information.
  • the ciphertext information obtained by processing the user identification information of the third user with a private key.
  • the second user set contains the second ciphertext user identification information of the second user;
  • the second user is a user corresponding to the first ciphertext user identification information and the third ciphertext user identification information that match the same.
  • the data transfer platform can run specified smart contracts deployed in the blockchain network in response to user data transfer instructions.
  • the smart contract When the smart contract is running, the first user set containing the first ciphertext user identification information of the first user can be obtained. Since the first user is a user who needs to obtain relevant user data from the data demand side, and the first user's The first ciphertext user identification information is generated based on the processing of the first public key of the data demander and the second private key of the data provider, so that the first user set has been authenticated by both parties of data transfer. On the one hand, it can reduce the risk of denial. On the other hand, the privacy of the first user's user identification information and related data transfer information can be protected.
  • the smart contract when running, it can also obtain a third user set containing the third ciphertext user identification information of the third user. Since the third user is a user who can provide corresponding user data to the data provider, and The third ciphertext user identification information of the third user is generated based on the processing of the first private key of the data demander and the second public key of the data provider, so that the third user set has also been authenticated by both data transfer parties.
  • the second user set When the first user set and the third user set are intersected to obtain the second user set, the second user set will contain the ciphertext of the user who is both the first user and the third user (ie, the second user) User identification information, the second user is the user who needs the data provider to provide corresponding user data to the data demander.
  • the embodiments of this specification also provide an implementation process for the smart contract to obtain the first user set and the second user set.
  • the obtaining the first user set may specifically include:
  • the first user identification set includes a fourth ciphertext user obtained by encrypting the first user's user identification information using the first public key. Identification information.
  • the second user identification set fed back by the data provider's device to obtain the first user set; the second user identification set includes the fourth ciphertext user identification information using the second private key.
  • the first ciphertext user identification information obtained by signing.
  • the obtaining the third user set may specifically include:
  • the third user identification set includes a fifth ciphertext user obtained by encrypting the third user's user identification information using the second public key. Identification information.
  • the fourth user identification set fed back by the device of the data demander to obtain a third user identification set; the fourth user identification set includes the fifth ciphertext user identification information using the first private key.
  • the third ciphertext user identification information obtained by signing.
  • the data demander's equipment and the data provider's equipment are usually equipped with clients of the data transfer platform, and the clients can log in with their respective registered accounts.
  • the client can directly communicate with the blockchain node in the blockchain network based on the registered account, so that the smart contract in the blockchain network can interact with the client to obtain the first user set and Second user set.
  • the client can also communicate with the centralized server at the data transfer platform based on the registered account, so as to interact with the blockchain nodes in the blockchain network through the centralized server, thereby making the blockchain network
  • the smart contract in can obtain the first user set and the second user set, and there is no specific limitation on this.
  • the process of determining the second user set is equivalent to the agreement and authorization of the data to be transferred by both parties of the data transfer. process.
  • the data provider needs to integrate the user data of each second user in the second user set according to the data demand information of the data demander, and send it to the data demander.
  • step 206 After sending the user data transmission instruction for the second user to the device of the data provider, it may also include:
  • the user data to be transmitted is ciphertext data obtained by encrypting the user data of the second user using the public key of the data demander.
  • the user data to be transmitted is sent to the device of the data demander through on-chain data transmission; or,
  • the user data to be transmitted is sent to the device of the data demander through off-chain data transmission.
  • the third ciphertext user identification information can be used as the second ciphertext user identification information of the second user. information and sent to the data provider.
  • the data provider can use the first public key of the data demander and the individual's second private key to sequentially decrypt the third ciphertext user identification information to obtain the user identification information in plain text form of the second user. Clarify the identity information of the second user.
  • the second ciphertext user identification information of the second user can be carried in the user data transmission instruction for the second user, or can be sent to the data provider in other ways, which is not specifically limited.
  • the first ciphertext user identification information can be used as the sixth ciphertext user identification information of the second user, and Sent to data requester.
  • the data demander can use the data provider's second public key and the individual's first private key to sequentially decrypt the first ciphertext user identification information to obtain the second user's user identification information in plain text. Clarify the identity information of the second user.
  • the user data transmission instruction of the second user can directly carry the data requirement information of the data provider, or can also carry other information used to obtain the data requirement information.
  • the data requirement information carries the set of user data fields and data requirement description information that needs to be obtained
  • the data provider can know the user data of the target data type that it needs to provide. Subsequently, the data provider can obtain it from itself.
  • the user data of the target data type of the second user is extracted from the database and encrypted using the public key of the data demander to generate user data to be transmitted.
  • the data provider can also send the user data to be transmitted to the data demander through on-chain or off-chain data transmission to meet the data needs of the data demander while ensuring data security during the data transfer process.
  • the data demander after receiving the data transmitted by the data provider, the data demander can generate and send the user data transfer result information to the data transfer platform, so that the data transfer platform can certify the user data transfer result information. , thereby facilitating subsequent tracing of user data transfers.
  • step 208 Receive the user data transfer result information sent by the device of the data demander, which may include:
  • the user data transfer result information may include: The unique task identification information (for example, TaskId), the hash value information of the transferred user data, the signature information of the data demander for the hash value information, and the data provider for the hash value information signature information, and the generation time information of the user data transfer result information.
  • the transmitted user data is the user data of the second user transmitted by the data provider to the data demander.
  • the user data transfer instruction sent to the data provider may carry the unique task identification information (for example, TaskId) of the data transfer task corresponding to the user data transfer instruction, so that the data provider transmits it to
  • the user data of the data demander can also carry unique task identification information (TaskId), so that the data demander can generate user data transfer result information containing the unique task identification information (TaskId) to facilitate the subsequent user data transfer process. traceability.
  • the transmitted user data may be the second user's user data in plain text form, or the second user's user data in cipher text form encrypted using the public key of the data requester.
  • the hash value information of the transmitted user data in the user data transfer result information can be obtained by hashing the user data in plain text form for the second user, or it can be the ciphertext for the second user. It is obtained by hashing the user data in the form, and there is no specific limitation on this.
  • the signature information of the data provider contained in the user data transfer result information may specifically include: the hash value information of the transferred user data using the private key of the data provider, the unique task identification information ( TaskId) and the transmission time of the transferred user data and other information are digitally signed.
  • the signature information of the data provider can be transmitted to the data demander together with the transferred user data to simplify the data transmission operation between the data provider and the data demander.
  • the signature information of the data demander contained in the user data transfer result information may be: the hash value information of the transferred user data using the private key of the data demander, the unique task identification information (TaskId) and the data being transferred. Information such as the transmission time of user data is digitally signed to ensure the consistency of user data transfer result information.
  • the method in Figure 2 may also include:
  • the target device may be the device of the second user or the device of the compliance regulatory agency.
  • the data transfer platform After the data transfer platform authenticates the target device, if it is determined that the target device has query permission, it can query and feedback the user data transfer corresponding to the user data of the second user in response to the data transfer information query request. The result information is sent to the target device, so that the second user and/or the compliance regulatory agency can supervise the flow of the second user's user data.
  • the blockchain network can also store data demand information, data service information, user authorization information, and data transfer authorization information corresponding to user data transfer result information, therefore, when querying the data transfer information When requesting a response, the above-mentioned relevant data can also be fed back to the target device to improve the traceability of the entire data flow process.
  • FIG 3 is a schematic diagram of a swim lane flow corresponding to the blockchain-based user data transfer method in Figure 2 provided by an embodiment of this specification.
  • the blockchain-based user data transfer process can involve execution entities such as data demanders, data providers, and data transfer platforms.
  • the data demander can publish data demand information for user data of the target data type on the data transfer platform, and submit the user's authorization information for the data demander.
  • the data provider can publish the data service information that the data provider can provide on the data transfer platform.
  • the data transfer platform can store the data requirement information, the data service information and the authorization information in the blockchain network, and match the data requirement information with the data service information. If the matching result indicates that the data provider If user data of the target data type can be provided, and it is determined that the data requester has the user's authorization information, user data transfer instructions can be generated.
  • the data transfer platform can determine the first user from the first user who needs to obtain the user data through the smart contract deployed in the blockchain network based on the privacy set intersection technology.
  • a second user capable of providing said user data by said data provider. and sends a user data transmission instruction for the second user to the data provider.
  • the data transfer platform can also generate and store data transfer authorization information corresponding to the user data transfer instructions to the blockchain network; the data transfer authorization information can be used to reflect the data demand information, the The corresponding relationship between the data service information, the authorization information and the user data transfer instructions is used to facilitate subsequent tracing of the data transfer situation.
  • the data provider may send the user data to be transmitted obtained by encrypting the user data of the second user using the public key of the data demander to the data demander.
  • the data demander can generate and send user data transfer result information to the data transfer platform based on the received user data to be transferred.
  • the data transfer platform will store the user data transfer result information to the blockchain network for subsequent use in tracing the data transfer situation.
  • FIG. 4 is a schematic structural diagram of a blockchain-based user data transfer device corresponding to FIG. 2 provided by an embodiment of this specification. As shown in Figure 4, the device may include:
  • the first acquisition module 402 is used to obtain user data transfer instructions; the user data transfer instructions are generated after determining a data provider that can provide user data of a target data type, and the target data type is requested by the data demander. The data type of the user data obtained.
  • the determination module 404 is configured to respond to the user data transfer instruction and determine, through the smart contract deployed in the blockchain network, from the first user who needs to obtain the user data from the data demander that the data can be used.
  • the provider provides the second user with said user data.
  • the first sending module 406 is configured to send a user data transmission instruction for the second user to the device of the data provider.
  • the receiving module 408 is configured to receive the user data transfer result information sent by the device of the data demander; the user data transfer result information is based on the user data of the second user transmitted by the data provider to the data demander. generated from data.
  • the first storage module 410 is used to store the user data transfer result information to the blockchain network.
  • the first acquisition module 402 may include:
  • the first acquisition unit is used to obtain data demand information of the data demander; the data demand information is used to describe the target data type of user data that the data demander needs to obtain.
  • the second acquisition unit is used to acquire the data service information of the data provider; the data service information is used to describe the data type of user data that the data provider can provide.
  • a matching unit is used to match the data requirement information and the data service information to obtain a matching result.
  • An instruction generation unit configured to generate the user data transfer instruction if the matching result indicates that the data provider can provide user data of the target data type.
  • the device in Figure 4 may also include:
  • a judgment module used to judge whether the data demander has authorization information of the first user and obtain a judgment result; the authorization information is used to indicate that the first user allows the data demander to obtain the first user User data of the target data type.
  • the instruction generation unit may be specifically configured to generate the user data transfer instruction if the judgment result indicates that the data demander has the authorization information of the first user. Alternatively, if the first judgment result indicates that the data demander does not have the authorization information of the first user, generating the user data transfer instruction is prohibited.
  • the device in Figure 4 may also include:
  • a data transfer authorization information generation module is used to generate data transfer authorization information corresponding to the user data transfer instruction; the data transfer authorization information is used to reflect the data demand information, the data service information, and the authorization information respectively. and the corresponding relationship between the user data transfer instructions.
  • the second storage module is used to store the data transfer authorization information to the blockchain network.
  • the third storage module is used to store at least one of the data requirement information, the data service information and the authorization information to the blockchain network.
  • the determination module 404 of the device in Figure 4 can be specifically used to:
  • Run the smart contract deployed in the blockchain network perform privacy set intersection processing on the first user set and the third user set, and obtain the second user set;
  • the first user set includes the first user;
  • the The third user set includes the third user to which the user data of the target data type owned by the data provider belongs;
  • the second user set includes the second user.
  • run the smart contract deployed in the blockchain network perform privacy set intersection processing on the first user set and the third user set, and obtain the second user set, which may include:
  • the first user set contains the first ciphertext user identification information of the first user;
  • the first ciphertext user identification information is Ciphertext information obtained by processing the user identification information of the first user using the first public key and the second private key;
  • the third user set contains the third ciphertext user identification information of the third user; the third ciphertext user identification information is obtained by using the second public key and the third user identification information.
  • the ciphertext information obtained by processing the user identification information of the third user using a private key;
  • the second user set contains the second ciphertext user identification information of the second user;
  • the second user is a user corresponding to the first ciphertext user identification information and the third ciphertext user identification information that match the same.
  • the data demander has a first public-private key pair consisting of a first public key and a first private key; the data provider has a second public-private key consisting of a second public key and a second private key. Yes; the first public-private key pair and the second public-private key pair are different public-private key pairs generated based on the same position information in the target elliptic curve using an elliptic curve encryption algorithm.
  • the determination module 404 may specifically include:
  • the third acquisition unit is used to obtain a first user identification set from the data demander; the first user identification set includes the user identification information of the first user encrypted using the first public key.
  • the fourth ciphertext user identification information obtained.
  • the first sending unit is configured to send the first user identification set to the device of the data provider.
  • the first receiving unit is configured to receive a second set of user identities fed back by the device of the data provider to obtain a first set of users; the second set of user identities includes the second set of user identities using the second private key.
  • the first ciphertext user identification information obtained by signing four ciphertext user identification information.
  • the fourth acquisition unit is used to acquire a third user identification set from the data provider; the third user identification set includes the user identification information of the third user encrypted using the second public key. The obtained fifth ciphertext user identification information.
  • the second sending unit is configured to send the third user identification set to the device of the data demander.
  • the second receiving unit is configured to receive the fourth user identification set fed back by the device of the data demander to obtain a third user set; the fourth user identification set includes the third user identification set using the first private key.
  • the third ciphertext user identification information obtained by signing five ciphertext user identification information.
  • An intersection unit configured to perform privacy set intersection processing on the first user set and the third user set to obtain a second user set; the second user set includes the second user's second set.
  • the user data transfer instruction may carry unique task identification information of the data transfer task corresponding to the user data transfer instruction.
  • the receiving module 408 can be specifically used for:
  • the user data transfer result information includes: the unique task identification information, The hash value information of the transferred user data, the signature information of the data demander for the hash value information, and the signature information of the data provider for the hash value information; wherein, the user data being transferred User data of the second user is transmitted to the data demander for the data provider.
  • the device in Figure 4 may also include:
  • the second acquisition module is configured to acquire a data flow information query request for the user data of the second user sent by the target device.
  • a query module configured to query the user data transfer result information corresponding to the user data of the second user from the blockchain network in response to the data transfer information query request.
  • the second sending module is configured to send the queried user data transfer result information to the target device.
  • the embodiments of this specification also provide equipment corresponding to the above method.
  • FIG. 5 is a schematic structural diagram of a blockchain-based user data transfer device corresponding to FIG. 2 provided by an embodiment of this specification. As shown in Figure 5, device 500 may include:
  • At least one processor 510 and,
  • a memory 530 communicatively connected to the at least one processor; wherein,
  • the memory 530 stores instructions 520 that are executable by the at least one processor 510, and the instructions are executed by the at least one processor 510 to enable the at least one processor 510 to:
  • the user data transfer instructions are generated after determining a data provider that can provide user data of a target data type, and the target data type is the data type of user data requested by the data demander;
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • HDL Hardware Description Language
  • ABEL Advanced Boolean Expression Language
  • AHDL Altera Hardware Description Language
  • HDCal JHDL
  • Lava Lava
  • Lola MyHDL
  • PALASM RHDL
  • VHDL Very-High-Speed Integrated Circuit Hardware Description Language
  • the controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (eg, software or firmware) executable by the (micro)processor. , logic gates, switches, Application Specific Integrated Circuit (ASIC), programmable logic controllers and embedded microcontrollers.
  • controllers include but are not limited to the following microcontrollers: ARC 625D, AtmelAT91SAM, Microchip For the PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory's control logic.
  • the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be completely programmed with logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded logic by logically programming the method steps. Microcontroller, etc. to achieve the same function. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as structures within hardware components as well as software modules implementing the methods.
  • a typical implementation device is a computer.
  • the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device Or a combination of any of these devices.
  • embodiments of the present invention may be provided as methods, systems, or computer program products.
  • the invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects.
  • the invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions
  • the device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
  • These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device.
  • Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include non-permanent storage in computer-readable media, random access memory (RAM), and/or non-volatile memory in the form of read-only memory (ROM) or flash memory (flashRAM). Memory is an example of computer-readable media.
  • RAM random access memory
  • ROM read-only memory
  • flashRAM flash memory
  • Computer-readable media includes both persistent and non-volatile, removable and non-removable media that can be implemented by any method or technology for storage of information.
  • Information may be computer-readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory.
  • PRAM phase change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • RAM random access memory
  • read-only memory read-only memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other memory technology
  • compact disc read-only memory CD-ROM
  • DVD digital versatile disc
  • magnetic tape cassettes magnetic tape disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
  • computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
  • embodiments of the present application may be provided as methods, systems or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may employ computer-usable storage media (including but not limited to disk memory, disk memory, computer-usable program code) embodied therein.
  • the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
  • the present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本说明书实施例中公开了一种基于区块链的用户数据流转方法、装置及设备。该方案可以包括:在确定数据提供方能够提供数据需求方所请求获取的数据类型的用户数据后,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;以及,在所述数据提供方向所述数据需求方提供所述第二用户的用户数据后,接收并存储所述数据需求方的设备发送的用户数据流转结果信息至所述区块链网络。

Description

一种基于区块链的用户数据流转方法、装置及设备
本申请要求于2022年04月29日提交中国专利局、申请号为202210474290.8、发明名称为“一种基于区块链的用户数据流转方法、装置及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据资产流转技术领域,尤其涉及一种基于区块链的用户数据流转方法、装置及设备。
背景技术
随着科技的发展和进步,目前已经进入了数字化时代。通过计算机存储、处理和传播等技术,使得我们的信息得到了极大速度的推广和传播,数字技术也已经成为了当代各类传媒的核心技术和普遍技术。随之而来的,由个人及企业拥有或者控制的数据资源,也逐渐开始能够为个人及企业带来越来越多的利益,因此,数据资产也被认为是数字时代的最重要的资产形式之一。目前,数据需求方通常需要单独与各个用户进行交互,以获取各个用户的用户数据,从而实现对于用户数据资产的流转。
基于此,如何提升用户数据流转过程的操作便捷性及可追溯性,成为了亟待解决的技术问题。
发明内容
本说明书实施例提供的一种基于区块链的用户数据流转方法、装置及设备,可以提升用户数据流转过程的操作便捷性及可追溯性。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种基于区块链的用户数据流转方法,包括:
获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
存储所述用户数据流转结果信息至所述区块链网络。
本说明书实施例提供的一种基于区块链的用户数据流转装置,包括:
第一获取模块,用于获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
确定模块,用于响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
第一发送模块,用于发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
接收模块,用于接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果 信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
第一存储模块,用于存储所述用户数据流转结果信息至所述区块链网络。
本说明书实施例提供的一种基于区块链的用户数据流转设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
存储所述用户数据流转结果信息至所述区块链网络。
本说明书中提供的至少一个实施例能够实现以下有益效果:
在确定出能够提供数据需求方所请求获取的数据类型的用户数据的数据提供方后,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;以及,在所述数据提供方向所述数据需求方提供所述第二用户的用户数据后,接收并存储所述数据需求方的设备发送的用户数据流转结果信息至所述区块链网络。该方案,通过令数据提供方向数据需求方提供该数据需求方所需获取的各个用户的用户数据,而无需数据需求方单独与各个用户进行交互以获取用户数据,有利于在用户数据流转过程中去提升数据需求方的操作便捷性。同时,由于区块链网络中存储了用户数据流转过程信息及用户数据流转结果信息,从而可以提升对于用户数据流转过程的可追溯性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种基于区块链的用户数据流转方法的应用场景示意图;
图2为本说明书实施例提供的一种基于区块链的用户数据流转方法的流程示意图;
图3为本说明书实施例提供的对应于图2中的基于区块链的用户数据流转方法的泳道流程示意图;
图4为本说明书实施例提供的对应于图2的一种基于区块链的用户数据流转装置的结构示意图;
图5为本说明书实施例提供的对应于图2的一种基于区块链的用户数据流转设备的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施 例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
现有技术中,数据资产可以指由个人或企业拥有或者控制的,能够为个人或企业带来未来经济利益的,以物理或电子的方式记录的数据资源。例如,个人或企业的照片、文档、图纸、视频、数字版权等等以文件为载体的数据;数据资产是相对于实物资产以数据形式存在的一类资产。数据资产被认为是数字时代的最重要的资产形式之一。
数据需求方在开展业务的过程中,往往需要与用户进行交互,以获取用户的指定类型的用户数据。例如,银行在为企业办理贷款的过程中,往往需要从企业处获取企业的经营资质信息、企业信用信息等,以评估企业的贷款风险。这种用户数据资产流转方式,不仅需要数据需求方与各个用户进行两两交互,导致操作较为不便,且由于针对数据流转过程的追溯性较差,从而还容易导致抵赖风险。
为了解决现有技术中的缺陷,本方案给出了以下实施例:
图1为本说明书实施例提供的一种基于区块链的用户数据流转方法的应用场景示意图。
如图1所示,数据流转平台可以具有多个设备,例如,设备101、设备102、设备103、设备104、设备105等。数据流转平台处的设备既可以为区块链网络中的区块链节点,也可以为能够与区块链网络中的区块链节点进行数据通信的中心化设备,对此不作具体限定。
在本说明书实施例中,区块链(Blockchain),可以理解为是多个区块顺序存储构成的数据链,每个区块的区块头都包含有本区块的时间戳、前一个区块信息的哈希值和本区块信息的哈希值,由此实现区块与区块之间的相互验证,构成不可篡改的区块链。每个区块都可以理解为是一个数据块(存储数据的单元)。区块链作为一种去中心化的数据库,是一串使用密码学方法相互关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块与区块首尾相连形成的链,即为区块链。若需要修改块内数据,则需要修改此区块之后所有区块的内容,并将区块链网络中所有节点备份的数据进行修改。因此,区块链具有难以篡改、删除的特点,在数据已保存至区块链后,其作为一种保持内容完整性的方法具有可靠性。
图1中还示出了数据需求方的设备110以及数据提供方的设备120。数据需求方可以利用设备110向数据流转平台发送数据需求信息,而数据提供方可以利用设备120向数据流转平台发送数据服务信息,数据流转平台在根据数据需求信息及数据服务信息,确定出能够提供数据需求方请求获取的目标数据类型的用户数据的数据提供方后,可以生成用户数据流转指令。
数据流转平台还可以响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方处的需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;并发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备120。
数据提供方的设备120响应于所述用户数据传输指令,可以将所述第二用户的目标数据类型的用户数据发送至数据需求方的设备110。数据需求方则可以利用设备110向数据流转平台发送用于反映其从数据通过方处获取到的用户数据的用户数据流转结果信息;以令数据流转平台将所述用户数据流转结果信息存储至所述区块链网络。
图1中的方案,通过基于数据流转平台,令数据提供方可以向数据需求方提供其所需获取的各个用户的用户数据,而无需数据需求方单独与各个用户进行交互以获取用户数据,有利于提升用户数据流转过程中的数据需求方的操作便捷性。同时,由于区块链网络中存储有用户数据流转过程信息及用户数据流转结果信息,从而还可以提升对于用户数据流转过程的可追溯性。
接下来,将针对说明书实施例提供的一种基于区块链的用户数据流转方法结合附图进行具体说明:
图2为本说明书实施例提供的一种基于区块链的用户数据流转方法的流程示意图。从程序角度而言,该流程的执行主体可以为数据流转平台处的设备,或者,数据流转平台处的设备中搭载的应用程序。如图2所示,该流程可以包括以下步骤:
步骤202:获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型。
本说明书实施例中,数据流转平台可以具有中心化服务器及区块链系统,该中心化服务器可以响应数据需求方与数据提供方针对该数据流转平台的客户端的操作指令,以实现数据需求方与数据提供方之间的用户数据流转。而区块链系统对应的区块链网络中则可以存储用户数据流转过程信息及用户数据流转结果信息,以对用户数据的流转情况进行可信追溯。
其中,数据需求方可以指具有获取用户数据的需求的一方。数据提供方则可以指能够向其他方提供用户数据的一方。在实际应用中,同一企业、机构或个人根据实际业务需求,既可以作为数据需求方,也可以作为数据提供方,对此不作具体限定。
在实际应用中,数据需求方及数据提供方通常需要预先在数据流转平台处进行注册,以便于基于已注册账户去对数据流转平台的客户端进行操作,从而发布数据需求信息或者发布数据服务信息,以执行数据流转操作。
具体的,数据需求方或数据提供方在数据流转平台处进行注册时,可以提供该数据需求方或数据提供方的身份信息,例如,企业名称、营业执照信息等。当注册成功后,数据流转平台则可以针对该数据需求方或数据提供方生成公私钥对,并将该公私钥对中的私钥发送给该数据需求方或数据提供方自行保管,以及,将该公私钥对中的公钥、数据需求方或数据提供方的企业名称、营业执照信息、注册时间及备注信息等身份注册信息,关联存储至区块链系统对应的区块链网络中,从而使得加入数据流转平台的各方,可以基于区块链系统中存储的身份注册信息互相进行可信身份识别,有利于提升用户数据流转方案的可信性。在实际应用中,可以由数据流转平台处的中心化服务器处理各方的身份注册事项。
本说明书实施例中,数据流转平台可以根据数据需求方的数据需求以及数据提供方所能提供的数据服务进行匹配,若数据需求方需要获取目标数据类型的用户数据,则在匹配出能够提供目标数据类型的用户数据的数据提供方后,即可以生成用户数据流转指令。该用户数据流转指令可以对应于一项用户数据流转任务,该用户数据流转任务执行后,可以令数据需求方从数据提供方处获取到其所需获取的用户数据。
步骤204:响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户。
本说明书实施例中,数据需求方可能需要获取第一用户的用户数据,而数据提供方处可能仅具有部分第一用户的用户数据,因此,需要确定第一用户中的能够由所述数据提供方提供相应用户数据的用户(即第二用户)。后续,数据提供方仅需向数据提供方提供第二用户的用户数据即可,从而有利于提升数据传输准确性。
本说明书实施例中,可以调用区块链网络中部署的智能合约,去从第一用户中确定出第二用户,由于智能合约的合约内容、输入数据及输出结果等信息可以被存储至区块链网络,从而能够利用区块链网络记录用户数据流转过程信息,以便于针对用户数据流转过程进行可信性追溯。
步骤206:发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备。
本说明书实施例中,在确定出第二用户后,即可以向数据提供方的设备发送针对所述第二用户的用户数据传输指令,该用户数据传输指令可以用于指示所述数据提供方向所述数据需求方提供第二用户的相应用户数据。
在实际应用中,该用户数据传输指令中可以携带有步骤204中确定出的第二用户的用户标识信息,从而便于数据提供方知晓其所需传输数据的用户。当然,还可以将第二用户的用户标识信息也发送至数据需求方,从而便于数据需求方知晓能够由该数据提供方提供相应用户数据的用户。
步骤208:接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的。
步骤210:存储所述用户数据流转结果信息至所述区块链网络。
本说明书实施例中,数据需求方在接收到数据提供方发送的第二用户的用户数据后,可以生成反映 其接收到的用户数据的用户数据流转结果信息,通过存储该用户数据流转结果信息至区块链网络,使得后续可以根据该用户数据流转结果信息,确定出可信性较高的第二用户的用户数据的流转情况。
图2中的方法,通过令数据提供方向数据需求方提供该数据需求方所需获取的各个用户的用户数据,而无需数据需求方单独与各个用户进行交互以获取用户数据,有利于在用户数据流转过程中去提升数据需求方的操作便捷性。同时,由于区块链网络中存储了用户数据流转过程信息及用户数据流转结果信息,从而可以提升对于用户数据流转过程的可追溯性。
基于图2中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
本说明书实施例中,通常需要响应于数据需求方发布的数据需求信息,去生成用户数据流转指令。
具体的,步骤202:获取用户数据流转指令,具可以包括:
获取所述数据需求方的数据需求信息;所述数据需求信息用于描述所述数据需求方需要获取的用户数据的目标数据类型。
获取所述数据提供方的数据服务信息;所述数据服务信息用于描述所述数据提供方能够提供的用户数据的数据类型。
对所述数据需求信息与所述数据服务信息进行匹配,得到匹配结果。
若所述匹配结果表示所述数据提供方能够提供所述目标数据类型的用户数据,则生成所述用户数据流转指令。
本说明书实施例中,数据需求方可以对数据流转平台的客户端进行操作,从而在数据流转平台处发布数据需求信息。在实际应用中,该数据需求信息具体可以包含:数据需求信息的唯一标识信息,用户身份标识类别信息,其所需获取的用户数据字段集合,数据需求描述信息等。
其中,数据需求信息的唯一标识信息可以用于区分各个数据需求信息,例如,可以为需求ID。用户身份标识类别信息可以为后续确定第二用户时所需使用的用户标识信息的类型,例如,用户身份标识类别信息可以为企业的营业执照编码(例如,统一社会信用代码)、纳税人识别号、企业注册号等。其所需获取的用户数据字段集合中可以包含诸如企业资质字段、企业信用字段、企业纳税信息字段等所需获取的字段信息。数据需求描述信息可以用于描述所需获取的用户数据的格式、内容、生成方式等信息。
数据提供方则可以对数据流转平台的客户端进行操作,从而在数据流转平台处发布数据服务信息。在实际应用中,该数据服务信息具体可以包含:数据服务信息的唯一标识信息,服务名称信息,用户身份标识类别信息,其所能提供的用户数据字段集合,服务描述信息,数据提供方的名称,数据提供方的公钥等信息。
其中,数据服务信息的唯一标识信息可以用于区分各个数据提供方提供的各个数据服务信息,例如,可以为服务ID。用户身份标识类别信息可以为后续确定第二用户时所需使用的用户标识信息的类型,例如,用户身份标识类别信息可以为企业的营业执照编码(例如,统一社会信用代码)、纳税人识别号、企业注册号等。其所能提供的用户数据字段集合中可以包含诸如企业资质字段、企业信用字段等字段。服务描述描述信息可以用于描述其所能提供的数据的格式、内容、生成方式等信息。数据提供方的名称及数据提供方的公钥可以用于确定提供该数据服务信息对应的数据服务的主体。
在实际应用中,一个数据提供方可以发布多条数据服务信息,且各个数据服务信息所能提供的用户数据字段通常是不尽相同的,以便于满足各个数据需方的差异性的数据需求。
本说明书实施例中,在对所述数据需求信息与所述数据服务信息进行匹配时,数据流转平台通常需要判断数据提供方所能提供的用户数据字段集合中是否包含数据需求方所需获取的用户数据字段集合中的字段,若是,则可以确定所述数据需求信息与所述数据服务信息匹配成功,即数据提供方能够提供数据需求方所需获取的至少部分目标数据类型的用户数据,从而可以生成用户数据流转指令。该过程通常可以在数据流转平台处的中心化服务器中实现,当然,还可以基于区块链网络中部署的智能合约实现,对此不作具体限定。
在实际应用中,数据流转平台既可以在确定数据提供方所能提供的用户数据字段集合中包含数据需求方所需获取的用户数据字段集合中的全部字段后,再确定所述数据需求信息与所述数据服务信息匹配 成功,从而令单个数据提供方可以提供数据需求方所需获取的全部用户数据字段,以提升数据流转操作的简洁性与便捷性。
或者,也可以在确定数据提供方所能提供的用户数据字段集合中包含数据需求方所需获取的用户数据字段集合中的至少一个字段后,再确定所述数据需求信息与所述数据服务信息匹配成功,从而令单个数据提供方可以仅向数据需求方提供部分其所需获取的用户数据字段。这种情况下,通常需要利用多个数据提供方向数据需求方提供用户数据以满足数据需求方的数据需求,有利于提升数据提供方处的用户数据的利用率及流转率。
本说明书实施例中,可能还需要判断数据需求信息与数据服务信息中是否包含相同的用户身份标识类别信息,若是,则可以将该相同的用户身份标识类别信息作为后续确定第二用户时所需使用的用户标识信息的类型,即将该相同的用户身份标识类别信息作为约定好的用户身份主键,以基于该用户身份主键从数据需求方所需获取用户数据的第一用户中,确定能够由数据提供方提供相应用户数据的第二用户。
除此之外,还可以对数据需求描述信息与服务描述信息进行一致性匹配,若服务描述信息所反映的服务内容能够满足数据需求描述信息所反映的数据需求,再确定所述数据需求信息与所述数据服务信息匹配成功。以提升针对数据需求与数据服务的匹配结果的准确性。
在实际应用中,数据需求方可能具有需要令指定数据提供方向其提供用户数据的需求,而数据提供方也可能具有仅向指定数据需求方提供用户数据的需求,基于此,数据需求信息中还可以包含指定数据提供方的标识信息,而数据服务信息中还可以包含指定数据需方的标识信息。从而在数据需求信息中的指定数据提供方的标识信息包含数据提供方的名称,和/或,在数据服务信息中的指定数据需方的标识信息包含数据需求方的名称时,再确定所述数据需求信息与所述数据服务信息匹配成功,以满足数据需求方及数据提供方进行相互筛选的意愿需求。
本说明书实施例中,数据需求方可能需要获取第一用户的部分较为敏感的用户数据,因此,需要第一用户对数据需求方进行授权,以保障第一用户的用户数据的安全性。
基于此,所述生成所述用户数据流转指令之前,还可以包括:
判断所述数据需求方是否具有所述第一用户的授权信息,得到判断结果;所述授权信息用于表示所述第一用户允许所述数据需求方获取所述第一用户的所述目标数据类型的用户数据。
后续,若所述判断结果表示所述数据需求方具有所述第一用户的授权信息,则生成所述用户数据流转指令。
而若所述第一判断结果表示所述数据需求方不具有所述第一用户的授权信息,则禁止生成所述用户数据流转指令。
本说明书实施例中,为避免数据流转过程对第一用户造成打扰,因此,可以令数据需求方自行与第一用户进行交互,并向数据流转平台提供第一用户的授权信息,而无需令第一用户在数据流转平台处进行注册以自行提供该授权信息。
其中,第一用户的授权信息可以包含:第一用户与数据需求方签订的授权合同或条款等信息,以及,第一用户签订该授权合同或条款时的身份核验过程信息等。其中,第一用户的授权信息可以具有唯一标识信息(例如,核身ID)。在实际应用中,若第一用户为企业,则第一用户的授权信息对应的身份核验过程信息通常可以反映企业认证与法人认证等过程,在对企业认证时,可以基于对企业营业执照等信息进行验证而实现,当对法人认证时,则可以通过对法人进行刷脸认证等而实现。若第一用户为个人,则该身份核验过程信息可以反映对第一用户的身份证件、人脸等进行验证的过程。在实际应用中,数据需求方可以预先将第一用户的授权信息存储至数据流转平台处的区块链网络中,以供后续获取第一用户的用户数据时调用,方便快捷。
本说明书实施例中,若能够从区块链网络中获取到第一用户针对数据需求方的授权信息,则可以生成相应用户数据流转指令,否则,则禁止生成用户数据流转指令。或者,数据流转平台也可以根据实际情况设置白名单,若数据需求方和/或第一用户为白名单中的用户时,则通常可以表示数据需求方具有第一用户的授权信息,从而可以生成相应用户数据流转指令,否则,则禁止生成用户数据流转指令。从而 使得数据需求方需要在取到第一用户的授权后,才能获取到第一用户的用户数据,有利于保障第一用户的用户数据的安全性。
本说明书实施例中,为便于后续对于用户数据流转情况进行追溯,往往还需要记录数据流转过程的相关信息。
基于此,所述生成所述用户数据流转指令之后,还可以包括:
生成与所述用户数据流转指令对应的数据流转授权信息;所述数据流转授权信息用于反映所述数据需求信息、所述数据服务信息、所述授权信息分别与所述用户数据流转指令之间的对应关系。
存储所述数据流转授权信息至所述区块链网络。
存储所述数据需求信息、所述数据服务信息及所述授权信息中的至少一项至所述区块链网络。
本说明书实施例中,由于用户数据流转指令是在对数据需求信息与数据服务信息匹配成功,且验证了用户的授权信息后生成的,因此,可以生成反映数据需求信息、数据服务信息、用户的授权信息、用户数据流转指令等四者之间的对应关系的信息,作为数据流转授权信息以存储至区块链网络,后续,则可以基于该数据流转授权信息,去针对用户数据流转情况进行可信性追溯。
在实际应用中,还可以将数据需求信息、数据服务信息及用户的授权信息均上传至区块链网络,以便于后续针对用户数据流转情况进行可信性追溯时使用。由于上述三种信息均可以具有唯一标识信息,因此,所述数据流转授权信息中可以包含上述三种信息的唯一标识信息,而无需包含上述三种信息的原文,以避免对于区块链节点的设备资源的浪费。例如,所述数据流转授权信息可以包含:数据需求信息的唯一标识信息(即需求ID),数据服务信息的唯一标识信息(即需求ID),用户的授权信息的唯一标识信息(即核身ID),授权合同或条款的哈希值,用户授权时间,数据流转授权信息的生成时间等信息。
同时,由于每个用户数据流转指令对应于一个用户数据流转任务,且每个用户数据流转任务也具有唯一任务标识信息(例如,TaskId)。因此,还可以在区块链网络中记录所述用户数据流转指令对应的唯一任务标识信息(例如,TaskId)与所述数据流转授权信息之间的关联关系,以便于后续针对用户数据流转情况进行可信性追溯。
本说明书实施例中,为保障用户数据流转过程的隐私性,还可以基于隐私集合求交技术(Private Set Intersection,PSI),确定数据提供方需要向数据需求方提供的用户数据所属的用户。
具体的,步骤204:通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户,可以包括:
运行区块链网络中部署的智能合约,对第一用户集合与第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第一用户集合中包含所述第一用户;所述第三用户集合中包含所述数据提供方处具有的所述目标数据类型的用户数据所属的第三用户;所述第二用户集合中包含所述第二用户。
本说明书实施例中,所述数据需求方可以具有由第一公钥与第一私钥构成的第一公私钥对;而所述数据提供方可以具有由第二公钥与第二私钥构成的第二公私钥对。所述第一公私钥对与所述第二公私钥对是采用椭圆曲线加密算法,基于目标椭圆曲线中的同一位置信息生成的不同的公私钥对。其中,第一公私钥对及第二公私钥对既可以是数据需求方与数据提供方在数据流转平台处注册时取得的公私钥对,也可以是其他公私钥对,对此不作具体限定。
在运行区块链网络中部署的智能合约,可以基于上述公私钥对,实现对第一用户集合与第三用户集合进行隐私集合求交处理,具体的可以:
运行区块链网络中部署的智能合约,获取第一用户集合;所述第一用户集合中包含有所述第一用户的第一密文用户标识信息;所述第一密文用户标识信息是利用所述第一公钥与所述第二私钥对所述第一用户的用户标识信息进行处理得到的密文信息。
获取第三用户集合;所述第三用户集合中包含有所述第三用户的第三密文用户标识信息;所述第三密文用户标识信息是利用所述第二公钥与所述第一私钥对所述第三用户的用户标识信息进行处理得到的密文信息。
对所述第一用户集合与所述第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第二用户集合中包含有所述第二用户的第二密文用户标识信息;所述第二用户为匹配一致的所述第一密文用户标识信息与所述第三密文用户标识信息对应的用户。
本说明书实施例中,数据流转平台响应于用户数据流转指令,可以去运行区块链网络中部署的指定的智能合约。该智能合约在运行时,可以获取到包含有第一用户的第一密文用户标识信息的第一用户集合,由于第一用户为数据需求方需要获取相关用户数据的用户,而第一用户的第一密文用户标识信息是基于数据需求方的第一公钥与数据提供方的第二私钥处理生成的,使得第一用户集合经过了数据流转双方的认证,一方面可以降低抵赖风险,另一方面可以保护第一用户的用户标识信息及相关数据流转信息的隐私性。
同理,该智能合约在运行时,还可以获取到包含有第三用户的第三密文用户标识信息的第三用户集合,由于第三用户为数据提供方能够提供相应用户数据的用户,而第三用户的第三密文用户标识信息是基于数据需求方的第一私钥与数据提供方的第二公钥处理生成的,使得第三用户集合也经过了数据流转双方的认证。
当对第一用户集合与第三用户集合进行求交得到第二用户集合后,该第二用户集合中会包含既作为第一用户又作为第三用户的用户(即第二用户)的密文用户标识信息,该第二用户即为需要由数据提供方向数据需求方提供相应用户数据的用户。
为便于理解,本说明书实施例中,还提供了智能合约获取第一用户集合及第二用户集合的实现过程。
所述获取第一用户集合,具体可以包括:
从所述数据需求方处获取第一用户标识集合;所述第一用户标识集合中包含有利用所述第一公钥对所述第一用户的用户标识信息进行加密得到的第四密文用户标识信息。
发送所述第一用户标识集合至所述数据提供方的设备。
接收所述数据提供方的设备反馈的第二用户标识集合,得到第一用户集合;所述第二用户标识集合中包含有利用所述第二私钥对所述第四密文用户标识信息进行签名得到的所述第一密文用户标识信息。
所述获取第三用户集合,具体可以包括:
从所述数据提供方处获取第三用户标识集合;所述第三用户标识集合中包含有利用所述第二公钥对所述第三用户的用户标识信息进行加密得到的第五密文用户标识信息。
发送所述第三用户标识集合至所述数据需求方的设备。
接收所述数据需求方的设备反馈的第四用户标识集合,得到第三用户集合;所述第四用户标识集合中包含有利用所述第一私钥对所述第五密文用户标识信息进行签名得到的所述第三密文用户标识信息。
本说明书实施例中,数据需求方的设备与数据提供方的设备处通常均搭载有数据流转平台的客户端,且所述客户端中可以登录有各自的已注册账户。所述客户端既可以基于已注册账户与区块链网络中的区块链节点直接进行通信,以令区块链网络中的智能合约可以与该客户端进行交互,从而获取第一用户集合及第二用户集合。或者,所述客户端也可以基于已注册账户与数据流转平台处的中心化服务器进行通信,以通过该中心化服务器与区块链网络中的区块链节点进行交互,进而使得区块链网络中的智能合约可以获取到第一用户集合及第二用户集合,对此不作具体限定。
本说明书实施例中,由于第一用户集合与第三用户集合均经过了数据流转双方的认证,因此,确定出第二用户集合的过程,相当于数据流转双方对于待流转数据达成一致并授权的过程。后续,数据提供方需要按照数据需求方的数据需求信息,对第二用户集合中的各个第二用户的用户数据进行整合,并发送给数据需求方。
具体的,步骤206:发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备之后,还可以包括:
获取所述数据提供方的设备发送的待传输用户数据;所述待传输用户数据是利用所述数据需求方的公钥对所述第二用户的用户数据进行加密得到的密文数据。
基于所述区块链网络,通过链上数据传输方式将所述待传输用户数据发送至所述数据需求方的设备; 或者,
通过链下数据传输方式将所述待传输用户数据发送至所述数据需求方的设备。
本说明书实施例中,在确定出匹配一致的第一密文用户标识信息与第三密文用户标识信息后,可以将该第三密文用户标识信息作为第二用户的第二密文用户标识信息,并发送至数据提供方。数据提供方可以使用数据需求方的第一公钥及个人的第二私钥依序对该第三密文用户标识信息进行解密,即可得到该第二用户的明文形式的用户标识信息,以明确第二用户的身份信息。其中,第二用户的第二密文用户标识信息既可以携带于针对所述第二用户的用户数据传输指令中,也可以通过其他方式发送至数据提供方,对此不作具体限定。
同理,在确定出匹配一致的第一密文用户标识信息与第三密文用户标识信息后,可以将该第一密文用户标识信息作为第二用户的第六密文用户标识信息,并发送至数据需求方。数据需求方可以使用数据提供方的第二公钥及个人的第一私钥依序对该第一密文用户标识信息进行解密,即可得到该第二用户的明文形式的用户标识信息,以明确第二用户的身份信息。
在实际应用中,所述第二用户的用户数据传输指令中既可以直接携带数据提供方的数据需求信息,也可以携带有用于获取该数据需求信息的其他信息,对此不作具体限定,只需令数据提供方能够获取到该数据需求信息即可。由于该数据需求信息中携带有所需获取的用户数据字段集合及数据需求描述信息,从而令数据提供方可以知悉其所需提供的目标数据类型的用户数据,后续,该数据提供方可以从自身的数据库中提取第二用户的目标数据类型的用户数据,并使用数据需求方的公钥进行加密,以生成待传输用户数据。数据提供方还可以将该待传输用户数据通过链上或链下数据传输方式发送至数据需求方,以在保障数据流转过程中的数据安全性的基础上,满足数据需求方的数据需求。
本说明书实施例中,数据需求方在接收到数据提供方传输的数据后,则可以生成并发送用户数据流转结果信息至数据流转平台,以便于数据流转平台对该用户数据流转结果信息进行存证,从而便于后续对用户数据流转情况进行追溯。
具体的,步骤208:接收所述数据需求方的设备发送的用户数据流转结果信息,具可以包括:
在所述用户数据传输指令对应的数据流转任务结束后,接收所述数据需求方的设备发送的与所述数据流转任务对应的用户数据流转结果信息;所述用户数据流转结果信息可以包含有:所述唯一任务标识信息(例如,TaskId)、被传输用户数据的哈希值信息、所述数据需求方针对所述哈希值信息的签名信息及所述数据提供方针对所述哈希值信息的签名信息,所述用户数据流转结果信息的生成时间信息。其中,所述被传输用户数据为所述数据提供方向所述数据需求方传输的所述第二用户的用户数据。
本说明书实施例中,发送至数据提供方的用户数据传输指令中可以携带有与所述用户数据流转指令对应的数据流转任务的唯一任务标识信息(例如,TaskId),从而使得数据提供方传输至数据需求方的用户数据中也可以携带有唯一任务标识信息(TaskId),以令数据需求方可以生成包含该唯一任务标识信息(TaskId)的用户数据流转结果信息,以便于后续对于用户数据流转过程的追溯。
在实际应用中,所述被传输用户数据既可以是第二用户的明文形式的用户数据,也可以是利用数据需求方的公钥加密得到的第二用户的密文形式的用户数据。基于此,用户数据流转结果信息中的被传输用户数据的哈希值信息,既可以是针对第二用户的明文形式的用户数据进行哈希处理得到的,也可以是针对第二用户的密文形式的用户数据进行哈希处理得到的,对此不作具体限定。
在实际应用中,用户数据流转结果信息中包含的数据提供方的签名信息具体可以是:利用所述数据提供方的私钥针对被传输用户数据的哈希值信息、所述唯一任务标识信息(TaskId)及被传输用户数据的传输时间等信息进行数字签名得到的。该数据提供方的签名信息可以与被传输用户数据一同传输至数据需求方,以简化数据提供方与数据需求方之间的数据传输操作。
同理,用户数据流转结果信息中包含的数据需求方的签名信息具体可以是:利用数据需求方的私钥针对被传输用户数据的哈希值信息、所述唯一任务标识信息(TaskId)及被传输用户数据的传输时间等信息进行数字签名得到的,以保证用户数据流转结果信息的一致性。
本说明书实施例中,为便于第二用户了解个人数据在数据流转平台处的数据流转情况,图2中的方 法,还可以包括:
获取目标设备发送的针对所述第二用户的用户数据的数据流转信息查询请求。
响应于所述数据流转信息查询请求,从所述区块链网络中查询与所述第二用户的用户数据对应的所述用户数据流转结果信息。
发送查询到的所述用户数据流转结果信息至所述目标设备。
本说明书实施例中,目标设备既可以是第二用户的设备,也可以是合规监管机构的设备。数据流转平台在对目标设备进行鉴权后,若确定目标设备具有查询权限,则可以响应于该数据流转信息查询请求,查询并反馈与所述第二用户的用户数据对应的所述用户数据流转结果信息至目标设备,以令第二用户和/或合规监管机构能够对第二用户的用户数据的流转情况进行监管。
在实际应用中,由于区块链网络中还可以存储有与用户数据流转结果信息对应的数据需求信息、数据服务信息、用户的授权信息、数据流转授权信息,因此,在对该数据流转信息查询请求进行响应时,还可以将上述相关数据也反馈至目标设备,以提升针对数据流转全程的可追溯性。
图3为本说明书实施例提供的对应于图2中的基于区块链的用户数据流转方法的泳道流程示意图。如图3所示,该基于区块链的用户数据流转流程可以涉及数据需求方、数据提供方、数据流转平台等执行主体。
在数据流转需求与服务匹配阶段,数据需求方可以在数据流转平台处发布针对目标数据类型的用户数据的数据需求信息,以及,提交用户对于数据需求方的授权信息。数据提供方则可以在数据流转平台处发布该数据提供方所能提供的数据服务信息。
数据流转平台可以存储所述数据需求信息、所述数据服务信息及所述授权信息至区块链网络,并对所述数据需求信息与所述数据服务信息进行匹配,若匹配结果表示数据提供方能够提供目标数据类型的用户数据,且确定数据需求方具有用户的授权信息,则可以生成用户数据流转指令。
响应于所述用户数据流转指令,数据流转平台可以通过区块链网络中部署的智能合约,基于隐私集合求交技术,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户。并发送针对所述第二用户的用户数据传输指令至所述数据提供方。
除此之外,数据流转平台还可以生成并存储与所述用户数据流转指令对应的数据流转授权信息至区块链网络;所述数据流转授权信息可以用于反映所述数据需求信息、所述数据服务信息、所述授权信息分别与所述用户数据流转指令之间的对应关系,以便于后续对数据流转情况进行追溯时使用。
在数据流转阶段,数据提供方响应于所述用户数据传输指令,可以发送利用数据需求方的公钥对第二用户的用户数据进行加密得到的待传输用户数据至数据需求方。数据需求方则可以根据接收到的所述待传输用户数据,生成并发送用户数据流转结果信息至数据流转平台。数据流转平台会存储所述用户数据流转结果信息至区块链网络,以供后续对数据流转情况进行追溯时使用。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图4为本说明书实施例提供的对应于图2的一种基于区块链的用户数据流转装置的结构示意图。如图4所示,该装置可以包括:
第一获取模块402,用于获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型。
确定模块404,用于响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户。
第一发送模块406,用于发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备。
接收模块408,用于接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的。
第一存储模块410,用于存储所述用户数据流转结果信息至所述区块链网络。
基于图4的装置,本说明书实施例还提供了该装置的一些具体实施方案,下面进行说明。
可选的,所述第一获取模块402,可以包括:
第一获取单元,用于获取所述数据需求方的数据需求信息;所述数据需求信息用于描述所述数据需求方需要获取的用户数据的目标数据类型。
第二获取单元,用于获取所述数据提供方的数据服务信息;所述数据服务信息用于描述所述数据提供方能够提供的用户数据的数据类型。
匹配单元,用于对所述数据需求信息与所述数据服务信息进行匹配,得到匹配结果。
指令生成单元,用于若所述匹配结果表示所述数据提供方能够提供所述目标数据类型的用户数据,则生成所述用户数据流转指令。
可选的,图4中的装置,还可以包括:
判断模块,用于判断所述数据需求方是否具有所述第一用户的授权信息,得到判断结果;所述授权信息用于表示所述第一用户允许所述数据需求方获取所述第一用户的所述目标数据类型的用户数据。
所述指令生成单元,具体可以用于:若所述判断结果表示所述数据需求方具有所述第一用户的授权信息,则生成所述用户数据流转指令。或者,若所述第一判断结果表示所述数据需求方不具有所述第一用户的授权信息,则禁止生成所述用户数据流转指令。
可选的,图4中的装置,还可以包括:
数据流转授权信息生成模块,用于生成与所述用户数据流转指令对应的数据流转授权信息;所述数据流转授权信息用于反映所述数据需求信息、所述数据服务信息、所述授权信息分别与所述用户数据流转指令之间的对应关系。
第二存储模块,用于存储所述数据流转授权信息至所述区块链网络。
第三存储模块,用于存储所述数据需求信息、所述数据服务信息及所述授权信息中的至少一项至所述区块链网络。
可选的,图4中的装置,所述确定模块404,具体可以用于:
运行区块链网络中部署的智能合约,对第一用户集合与第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第一用户集合中包含所述第一用户;所述第三用户集合中包含所述数据提供方处具有的所述目标数据类型的用户数据所属的第三用户;所述第二用户集合中包含所述第二用户。
其中,运行区块链网络中部署的智能合约,对第一用户集合与第三用户集合进行隐私集合求交处理,得到第二用户集合,具体可以包括:
运行区块链网络中部署的智能合约,获取第一用户集合;所述第一用户集合中包含有所述第一用户的第一密文用户标识信息;所述第一密文用户标识信息是利用所述第一公钥与所述第二私钥对所述第一用户的用户标识信息进行处理得到的密文信息;
获取第三用户集合;所述第三用户集合中包含有所述第三用户的第三密文用户标识信息;所述第三密文用户标识信息是利用所述第二公钥与所述第一私钥对所述第三用户的用户标识信息进行处理得到的密文信息;
对所述第一用户集合与所述第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第二用户集合中包含有所述第二用户的第二密文用户标识信息;所述第二用户为匹配一致的所述第一密文用户标识信息与所述第三密文用户标识信息对应的用户。
可选的,所述数据需求方具有由第一公钥与第一私钥构成的第一公私钥对;所述数据提供方具有由第二公钥与第二私钥构成的第二公私钥对;所述第一公私钥对与所述第二公私钥对是采用椭圆曲线加密算法,基于目标椭圆曲线中的同一位置信息生成的不同的公私钥对。
所述确定模块404,具体可以包括:
第三获取单元,用于从所述数据需求方处获取第一用户标识集合;所述第一用户标识集合中包含有利用所述第一公钥对所述第一用户的用户标识信息进行加密得到的第四密文用户标识信息。
第一发送单元,用于发送所述第一用户标识集合至所述数据提供方的设备。
第一接收单元,用于接收所述数据提供方的设备反馈的第二用户标识集合,得到第一用户集合;所 述第二用户标识集合中包含有利用所述第二私钥对所述第四密文用户标识信息进行签名得到的第一密文用户标识信息。
第四获取单元,用于从所述数据提供方处获取第三用户标识集合;所述第三用户标识集合中包含有利用所述第二公钥对所述第三用户的用户标识信息进行加密得到的第五密文用户标识信息。
第二发送单元,用于发送所述第三用户标识集合至所述数据需求方的设备。
第二接收单元,用于接收所述数据需求方的设备反馈的第四用户标识集合,得到第三用户集合;所述第四用户标识集合中包含有利用所述第一私钥对所述第五密文用户标识信息进行签名得到的第三密文用户标识信息。
求交单元,用于对所述第一用户集合与所述第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第二用户集合中包含有所述第二用户的第二密文用户标识信息;所述第二用户为匹配一致的所述第一密文用户标识信息与所述第三密文用户标识信息对应的用户。
可选的,图4中的装置,所述用户数据传输指令中可以携带有与所述用户数据流转指令对应的数据流转任务的唯一任务标识信息。
对应的,所述接收模块408,具体可以用于:
在所述数据流转任务结束后,接收所述数据需求方的设备发送的与所述数据流转任务对应的用户数据流转结果信息;所述用户数据流转结果信息包含有:所述唯一任务标识信息、被传输用户数据的哈希值信息、所述数据需求方针对所述哈希值信息的签名信息及所述数据提供方针对所述哈希值信息的签名信息;其中,所述被传输用户数据为所述数据提供方向所述数据需求方传输的所述第二用户的用户数据。
可选的,图4中的装置,还可以包括:
第二获取模块,用于获取目标设备发送的针对所述第二用户的用户数据的数据流转信息查询请求。
查询模块,用于响应于所述数据流转信息查询请求,从所述区块链网络中查询与所述第二用户的用户数据对应的所述用户数据流转结果信息。
第二发送模块,用于发送查询到的所述用户数据流转结果信息至所述目标设备。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图5为本说明书实施例提供的对应于图2的一种基于区块链的用户数据流转设备的结构示意图。如图5所示,设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
存储所述用户数据流转结果信息至所述区块链网络。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法 流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提 供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、
CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

  1. 一种基于区块链的用户数据流转方法,包括:
    获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
    响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
    发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
    接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
    存储所述用户数据流转结果信息至所述区块链网络。
  2. 如权利要求1所述的方法,所述获取用户数据流转指令,具体包括:
    获取所述数据需求方的数据需求信息;所述数据需求信息用于描述所述数据需求方需要获取的用户数据的目标数据类型;
    获取所述数据提供方的数据服务信息;所述数据服务信息用于描述所述数据提供方能够提供的用户数据的数据类型;
    对所述数据需求信息与所述数据服务信息进行匹配,得到匹配结果;
    若所述匹配结果表示所述数据提供方能够提供所述目标数据类型的用户数据,则生成所述用户数据流转指令。
  3. 如权利要求2所述的方法,所述生成所述用户数据流转指令之前,还包括:
    判断所述数据需求方是否具有所述第一用户的授权信息,得到判断结果;所述授权信息用于表示所述第一用户允许所述数据需求方获取所述第一用户的所述目标数据类型的用户数据;
    所述生成所述用户数据流转指令,具体包括:
    若所述判断结果表示所述数据需求方具有所述第一用户的授权信息,则生成所述用户数据流转指令。
  4. 如权利要求3所述的方法,所述判断所述数据需求方是否具有所述第一用户的授权信息之后,还包括:
    若所述第一判断结果表示所述数据需求方不具有所述第一用户的授权信息,则禁止生成所述用户数据流转指令。
  5. 如权利要求3所述的方法,所述生成所述用户数据流转指令之后,还包括:
    生成与所述用户数据流转指令对应的数据流转授权信息;所述数据流转授权信息用于反映所述数据需求信息、所述数据服务信息、所述授权信息分别与所述用户数据流转指令之间的对应关系;
    存储所述数据流转授权信息至所述区块链网络。
  6. 如权利要求5所述的方法,还包括:
    存储所述数据需求信息、所述数据服务信息及所述授权信息中的至少一项至所述区块链网络。
  7. 如权利要求1所述的方法,所述通过区块链网络中部署的智能合约,从所述数据需求方需要获 取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户,具体包括:
    运行区块链网络中部署的智能合约,对第一用户集合与第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第一用户集合中包含所述第一用户;所述第三用户集合中包含所述数据提供方处具有的所述目标数据类型的用户数据所属的第三用户;所述第二用户集合中包含所述第二用户。
  8. 如权利要求7所述的方法,所述数据需求方具有由第一公钥与第一私钥构成的第一公私钥对;所述数据提供方具有由第二公钥与第二私钥构成的第二公私钥对;
    所述运行区块链网络中部署的智能合约,对第一用户集合与第三用户集合进行隐私集合求交处理,得到第二用户集合,具体包括:
    运行区块链网络中部署的智能合约,获取第一用户集合;所述第一用户集合中包含有所述第一用户的第一密文用户标识信息;所述第一密文用户标识信息是利用所述第一公钥与所述第二私钥对所述第一用户的用户标识信息进行处理得到的密文信息;
    获取第三用户集合;所述第三用户集合中包含有所述第三用户的第三密文用户标识信息;所述第三密文用户标识信息是利用所述第二公钥与所述第一私钥对所述第三用户的用户标识信息进行处理得到的密文信息;
    对所述第一用户集合与所述第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第二用户集合中包含有所述第二用户的第二密文用户标识信息;所述第二用户为匹配一致的所述第一密文用户标识信息与所述第三密文用户标识信息对应的用户。
  9. 如权利要求8所述的方法,所述获取第一用户集合,具体包括:
    从所述数据需求方处获取第一用户标识集合;所述第一用户标识集合中包含有利用所述第一公钥对所述第一用户的用户标识信息进行加密得到的第四密文用户标识信息;
    发送所述第一用户标识集合至所述数据提供方的设备;
    接收所述数据提供方的设备反馈的第二用户标识集合,得到第一用户集合;所述第二用户标识集合中包含有利用所述第二私钥对所述第四密文用户标识信息进行签名得到的所述第一密文用户标识信息。
  10. 如权利要求8所述的方法,所述获取第三用户集合,具体包括:
    从所述数据提供方处获取第三用户标识集合;所述第三用户标识集合中包含有利用所述第二公钥对所述第三用户的用户标识信息进行加密得到的第五密文用户标识信息;
    发送所述第三用户标识集合至所述数据需求方的设备;
    接收所述数据需求方的设备反馈的第四用户标识集合,得到第三用户集合;所述第四用户标识集合中包含有利用所述第一私钥对所述第五密文用户标识信息进行签名得到的所述第三密文用户标识信息。
  11. 如权利要求8所述的方法,所述第一公私钥对与所述第二公私钥对是采用椭圆曲线加密算法,基于目标椭圆曲线中的同一位置信息生成的不同的公私钥对。
  12. 如权利要求1所述的方法,所述发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备之后,还包括:
    获取所述数据提供方的设备发送的待传输用户数据;所述待传输用户数据是利用所述数据需求方的公钥对所述第二用户的用户数据进行加密得到的密文数据;
    基于所述区块链网络,通过链上数据传输方式将所述待传输用户数据发送至所述数据需求方的设备;或者,
    通过链下数据传输方式将所述待传输用户数据发送至所述数据需求方的设备。
  13. 如权利要求1所述的方法,所述用户数据传输指令中携带有与所述用户数据流转指令对应的数据流转任务的唯一任务标识信息;
    所述接收所述数据需求方的设备发送的用户数据流转结果信息,具体包括:
    在所述数据流转任务结束后,接收所述数据需求方的设备发送的与所述数据流转任务对应的用户数据流转结果信息;所述用户数据流转结果信息包含有:所述唯一任务标识信息、被传输用户数据的哈希值信息、所述数据需求方针对所述哈希值信息的签名信息及所述数据提供方针对所述哈希值信息的签名信息;其中,所述被传输用户数据为所述数据提供方向所述数据需求方传输的所述第二用户的用户数据。
  14. 如权利要求1-13中任意一项所述的方法,还包括:
    获取目标设备发送的针对所述第二用户的用户数据的数据流转信息查询请求;
    响应于所述数据流转信息查询请求,从所述区块链网络中查询与所述第二用户的用户数据对应的所述用户数据流转结果信息;
    发送查询到的所述用户数据流转结果信息至所述目标设备。
  15. 一种基于区块链的用户数据流转装置,包括:
    第一获取模块,用于获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
    确定模块,用于响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
    第一发送模块,用于发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
    接收模块,用于接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
    第一存储模块,用于存储所述用户数据流转结果信息至所述区块链网络。
  16. 如权利要求15所述的装置,所述第一获取模块,包括:
    第一获取单元,用于获取所述数据需求方的数据需求信息;所述数据需求信息用于描述所述数据需求方需要获取的用户数据的目标数据类型;
    第二获取单元,用于获取所述数据提供方的数据服务信息;所述数据服务信息用于描述所述数据提供方能够提供的用户数据的数据类型;
    匹配单元,用于对所述数据需求信息与所述数据服务信息进行匹配,得到匹配结果;
    指令生成单元,用于若所述匹配结果表示所述数据提供方能够提供所述目标数据类型的用户数据,则生成所述用户数据流转指令。
  17. 如权利要求16所述的装置,还包括:
    判断模块,用于判断所述数据需求方是否具有所述第一用户的授权信息,得到判断结果;所述授权信息用于表示所述第一用户允许所述数据需求方获取所述第一用户的所述目标数据类型的用户数据;
    所述指令生成单元,具体用于:若所述判断结果表示所述数据需求方具有所述第一用户的授权信息,则生成所述用户数据流转指令;
    数据流转授权信息生成模块,用于生成与所述用户数据流转指令对应的数据流转授权信息;所述数据流转授权信息用于反映所述数据需求信息、所述数据服务信息、所述授权信息分别与所述用户数据流转指令之间的对应关系;
    第二存储模块,用于存储所述数据流转授权信息至所述区块链网络;
    第三存储模块,用于存储所述数据需求信息、所述数据服务信息及所述授权信息中的至少一项至所述区块链网络。
  18. 如权利要求15所述的装置,所述数据需求方具有由第一公钥与第一私钥构成的第一公私钥对;所述数据提供方具有由第二公钥与第二私钥构成的第二公私钥对;所述第一公私钥对与所述第二公私钥对是采用椭圆曲线加密算法,基于目标椭圆曲线中的同一位置信息生成的不同的公私钥对;
    所述确定模块,具体包括:
    第三获取单元,用于从所述数据需求方处获取第一用户标识集合;所述第一用户标识集合中包含有利用所述第一公钥对所述第一用户的用户标识信息进行加密得到的第四密文用户标识信息;
    第一发送单元,用于发送所述第一用户标识集合至所述数据提供方的设备;
    第一接收单元,用于接收所述数据提供方的设备反馈的第二用户标识集合,得到第一用户集合;所述第二用户标识集合中包含有利用所述第二私钥对所述第四密文用户标识信息进行签名得到的第一密文用户标识信息;
    第四获取单元,用于从所述数据提供方处获取第三用户标识集合;所述第三用户标识集合中包含有利用所述第二公钥对所述第三用户的用户标识信息进行加密得到的第五密文用户标识信息;
    第二发送单元,用于发送所述第三用户标识集合至所述数据需求方的设备;
    第二接收单元,用于接收所述数据需求方的设备反馈的第四用户标识集合,得到第三用户集合;所述第四用户标识集合中包含有利用所述第一私钥对所述第五密文用户标识信息进行签名得到的第三密文用户标识信息;
    求交单元,用于对所述第一用户集合与所述第三用户集合进行隐私集合求交处理,得到第二用户集合;所述第二用户集合中包含有所述第二用户的第二密文用户标识信息;所述第二用户为匹配一致的所述第一密文用户标识信息与所述第三密文用户标识信息对应的用户。
  19. 如权利要求15所述的装置,所述用户数据传输指令中携带有与所述用户数据流转指令对应的数据流转任务的唯一任务标识信息;
    所述接收模块,具体用于:
    在所述数据流转任务结束后,接收所述数据需求方的设备发送的与所述数据流转任务对应的用户数据流转结果信息;所述用户数据流转结果信息包含有:所述唯一任务标识信息、被传输用户数据的哈希值信息、所述数据需求方针对所述哈希值信息的签名信息及所述数据提供方针对所述哈希值信息的签名 信息;其中,所述被传输用户数据为所述数据提供方向所述数据需求方传输的所述第二用户的用户数据。
  20. 如权利要求15-19中的任意一项所述的装置,还包括:
    第二获取模块,用于获取目标设备发送的针对所述第二用户的用户数据的数据流转信息查询请求;
    查询模块,用于响应于所述数据流转信息查询请求,从所述区块链网络中查询与所述第二用户的用户数据对应的所述用户数据流转结果信息;
    第二发送模块,用于发送查询到的所述用户数据流转结果信息至所述目标设备。
  21. 一种基于区块链的用户数据流转设备,包括:
    至少一个处理器;以及,
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
    获取用户数据流转指令;所述用户数据流转指令是在确定出能够提供目标数据类型的用户数据的数据提供方后生成的,所述目标数据类型为数据需求方请求获取的用户数据的数据类型;
    响应于所述用户数据流转指令,通过区块链网络中部署的智能合约,从所述数据需求方需要获取所述用户数据的第一用户中,确定能够由所述数据提供方提供所述用户数据的第二用户;
    发送针对所述第二用户的用户数据传输指令至所述数据提供方的设备;
    接收所述数据需求方的设备发送的用户数据流转结果信息;所述用户数据流转结果信息是基于所述数据提供方向所述数据需求方传输的所述第二用户的用户数据而生成的;
    存储所述用户数据流转结果信息至所述区块链网络。
PCT/CN2022/135567 2022-04-29 2022-11-30 一种基于区块链的用户数据流转方法、装置及设备 WO2023207086A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210474290.8 2022-04-29
CN202210474290.8A CN114884674B (zh) 2022-04-29 2022-04-29 一种基于区块链的用户数据流转方法、装置及设备

Publications (1)

Publication Number Publication Date
WO2023207086A1 true WO2023207086A1 (zh) 2023-11-02

Family

ID=82672838

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/135567 WO2023207086A1 (zh) 2022-04-29 2022-11-30 一种基于区块链的用户数据流转方法、装置及设备

Country Status (2)

Country Link
CN (2) CN117879781A (zh)
WO (1) WO2023207086A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117650943A (zh) * 2024-01-24 2024-03-05 中国信息通信研究院 基于分布式网络的用户核验方法和装置、设备和介质
CN117910045A (zh) * 2024-03-13 2024-04-19 北京国际大数据交易有限公司 一种隐私集合求交方法及系统
CN117978363A (zh) * 2024-04-02 2024-05-03 中关村科学城城市大脑股份有限公司 区域相关数据信息流转方法、装置、电子设备和介质
CN117650943B (zh) * 2024-01-24 2024-05-31 中国信息通信研究院 基于分布式网络的用户核验方法和装置、设备和介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117879781A (zh) * 2022-04-29 2024-04-12 蚂蚁区块链科技(上海)有限公司 一种基于区块链的用户数据流转方法、装置及设备
CN115618430B (zh) * 2022-12-16 2023-04-21 天聚地合(苏州)科技股份有限公司 一种基于区块链的数据提供方确定方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190215149A1 (en) * 2018-01-05 2019-07-11 Bank Of America Corporation Blockchain-Based Automated User Matching
CN111815420A (zh) * 2020-08-28 2020-10-23 支付宝(杭州)信息技术有限公司 一种基于可信资产数据的匹配方法、装置及设备
CN111931238A (zh) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 一种基于区块链的数据资产流转方法、装置及设备
CN113821811A (zh) * 2021-08-26 2021-12-21 上海赢科信息技术有限公司 基于区块链的数据获取方法及系统、电子设备及存储介质
CN114884674A (zh) * 2022-04-29 2022-08-09 蚂蚁区块链科技(上海)有限公司 一种基于区块链的用户数据流转方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3098730A1 (en) * 2018-05-10 2019-11-14 Miovision Technologies Incorporated Blockchain data exchange network and methods and systems for submitting data to and transacting data on such a network
CN110708390A (zh) * 2019-10-16 2020-01-17 腾讯科技(深圳)有限公司 基于节点间数据共享的数据处理方法、设备、装置、介质
CN111415157A (zh) * 2020-03-28 2020-07-14 贵阳大数据交易所有限责任公司 一种基于区块链的数据资产安全流通方法
CN112967054B (zh) * 2020-10-10 2022-07-29 支付宝(杭州)信息技术有限公司 一种数据管理方法、装置及设备
CN114401268A (zh) * 2021-11-24 2022-04-26 远光软件股份有限公司 一种跨链数据共享的方法、系统、设备和可读存储介质
CN114240210A (zh) * 2021-12-22 2022-03-25 建信金融科技有限责任公司 信用评价方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190215149A1 (en) * 2018-01-05 2019-07-11 Bank Of America Corporation Blockchain-Based Automated User Matching
CN111815420A (zh) * 2020-08-28 2020-10-23 支付宝(杭州)信息技术有限公司 一种基于可信资产数据的匹配方法、装置及设备
CN111931238A (zh) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 一种基于区块链的数据资产流转方法、装置及设备
CN113821811A (zh) * 2021-08-26 2021-12-21 上海赢科信息技术有限公司 基于区块链的数据获取方法及系统、电子设备及存储介质
CN114884674A (zh) * 2022-04-29 2022-08-09 蚂蚁区块链科技(上海)有限公司 一种基于区块链的用户数据流转方法、装置及设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117650943A (zh) * 2024-01-24 2024-03-05 中国信息通信研究院 基于分布式网络的用户核验方法和装置、设备和介质
CN117650943B (zh) * 2024-01-24 2024-05-31 中国信息通信研究院 基于分布式网络的用户核验方法和装置、设备和介质
CN117910045A (zh) * 2024-03-13 2024-04-19 北京国际大数据交易有限公司 一种隐私集合求交方法及系统
CN117910045B (zh) * 2024-03-13 2024-05-28 北京国际大数据交易有限公司 一种隐私集合求交方法及系统
CN117978363A (zh) * 2024-04-02 2024-05-03 中关村科学城城市大脑股份有限公司 区域相关数据信息流转方法、装置、电子设备和介质
CN117978363B (zh) * 2024-04-02 2024-06-11 中关村科学城城市大脑股份有限公司 区域相关数据信息流转方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN114884674B (zh) 2024-01-23
CN117879781A (zh) 2024-04-12
CN114884674A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
WO2021068636A1 (zh) 基于区块链的可验证声明的创建方法、装置、设备及系统
WO2021239104A1 (zh) 基于区块链的业务处理
EP3596642B1 (en) Privacy-preserving identity verification
US11386191B2 (en) Trusted hardware-based identity management methods, apparatuses, and devices
WO2020119294A1 (zh) 数据共享方法、装置及系统、电子设备
US11824995B2 (en) Bridging digital identity validation and verification with the FIDO authentication framework
WO2023207086A1 (zh) 一种基于区块链的用户数据流转方法、装置及设备
CN111931238B (zh) 一种基于区块链的数据资产流转方法、装置及设备
CN111418184B (zh) 基于区块链的可信保函
EP3965359B1 (en) Trusted hardware-based data management methods, apparatuses, and devices
EP3964995B1 (en) Data processing methods, apparatuses, and devices
US11436597B1 (en) Biometrics-based e-signatures for pre-authorization and acceptance transfer
WO2020082886A1 (zh) 认证方法及装置、电子设备
CN111373431A (zh) 基于区块链的可信保函
JP2019153181A (ja) 管理プログラム
CN113302610B (zh) 基于区块链的可信平台
CN115033919A (zh) 一种基于可信设备的数据获取方法、装置及设备
US11095458B2 (en) Hardware security module that enforces signature requirements
CN113491090B (zh) 基于区块链的可信平台
WO2023098769A1 (zh) 身份认证方法、电子设备和计算机可读存储介质
US20240171414A1 (en) Blockchain-based electronic document vault
WO2024021785A1 (zh) 一种数字实体的处理方法、装置、设备、介质及程序产品
CN116962061A (zh) 一种基于区块链的用户身份核验方法、装置及设备
CN115758418A (zh) 一种基于区块链网络的数据管理方法、装置及设备
WO2023069505A1 (en) Non-transferable token

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22939900

Country of ref document: EP

Kind code of ref document: A1