WO2021253299A1 - 数据处理方法、存储介质、电子设备及数据交易系统 - Google Patents

数据处理方法、存储介质、电子设备及数据交易系统 Download PDF

Info

Publication number
WO2021253299A1
WO2021253299A1 PCT/CN2020/096652 CN2020096652W WO2021253299A1 WO 2021253299 A1 WO2021253299 A1 WO 2021253299A1 CN 2020096652 W CN2020096652 W CN 2020096652W WO 2021253299 A1 WO2021253299 A1 WO 2021253299A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
program
node
transaction
data processing
Prior art date
Application number
PCT/CN2020/096652
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 达闼机器人有限公司
Priority to PCT/CN2020/096652 priority Critical patent/WO2021253299A1/zh
Priority to CN202080005718.3A priority patent/CN113015973B/zh
Publication of WO2021253299A1 publication Critical patent/WO2021253299A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present disclosure relates to the field of data processing, and in particular, to a data processing method, storage medium, electronic equipment, and data transaction system.
  • the purpose of the present disclosure is to provide a data processing method, storage medium, electronic equipment, and data transaction system to solve technical problems existing in related technologies.
  • the present disclosure provides a data processing method, including: extracting a data transaction program from a blockchain network, the data transaction program is written into the blockchain network after the program is approved, wherein The approval of the program at least indicates that the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract; the data transaction program is run in the trusted execution environment TEE of the computer, wherein the data The transaction program is used to obtain data from a data source based on a secure transmission channel, and process the data; to obtain the program output result of the data transaction program.
  • the data transaction program is reviewed in the following manner: the program review node obtains the data transaction program uploaded by the program developer; in determining how the data transaction program processes the data and the blockchain network If the data processing methods agreed in the data transaction contract are consistent, sign the data transaction program according to the private key of the data review node; write the signed data transaction program into the blockchain network;
  • the running the data transaction program in the trusted execution environment TEE of the computer includes: signing the data transaction program extracted from the blockchain network according to the public key of the program audit node, and signing After the authentication is successful, the data transaction program is run in the trusted execution environment TEE of the computer.
  • the data transaction contract is stored in the blockchain network after being signed by both parties of the data transaction, and the data transaction contract includes at least one of the following: the program output result of the data transaction program does not include the input office The data processed by the data transaction program; the method of extracting data from the data source; the quantity restriction information of extracting data from the data source.
  • the running the data transaction program in the trusted execution environment TEE of the computer includes: performing legality verification and integrity verification on the running code and data of the data transaction program based on the TEE verification mechanism; After the legality verification and the integrity verification, the data transaction program is run.
  • the data transaction program includes a data access program and a data processing program.
  • the data transaction program acquiring data from a data source based on a secure transmission channel includes: The included random number and/or quantity restriction condition information is signed to obtain signature information; the signature information is sent to the data access program, wherein the data access program determines that the signature authentication of the signature information is successful Establish a secure transmission channel with the data processing program, so that the data processing program obtains data from the data source through the secure transmission channel based on the data access program.
  • a data transaction system including: a program review node, a data buyer node, and a data seller node; the program review node is used to review the data transaction program developed by the program development node, and determine When the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract in the blockchain network, the data transaction program is signed according to the private key of the data review node, and The signed data transaction program is written into the blockchain network; one of the data seller node and the data buyer node can be used by a data processing node to run the data transaction program, and the data processing node For performing the steps of the method described in the first aspect of the present disclosure.
  • the data transaction program includes a data access program and a data processing program
  • the data seller node runs the data access program and the data processing program as the data processing node
  • the data processing node is specifically used for : Extract the data access program and the data processing program from the blockchain network, and run the data access program and the data processing program in the trusted execution environment TEE of the computer, and obtain the data The program output result of the processing program; wherein the data access program is used to obtain data from a data source, and the data processing program is used to obtain the data based on the secure transmission channel between the data processing program and the data access program. Data, and output the program output result after processing the data.
  • the data processing node is configured to: verify the data access program and the data processing program according to the public key of the program review node, and when determining the data access program and the data processing program After passing the review of the program review node, run the data access program and the data processing program in the TEE.
  • the data processing node is further used to: based on the TEE verification mechanism, perform legality verification and integrity verification on the running code and data of the data processing program and the data access program; After the verification and the integrity verification, the data processing program and the data access program are run.
  • the data buyer node is configured to sign the random number and/or quantity restriction information included in the data processing contract according to the private key of the data buyer node to obtain the first signature information, and
  • the first signature information is sent to the data access program, and the random number included in the data processing contract is signed according to the private key of the data buyer node to obtain the second signature information, and the second
  • the signature information is sent to the data processing program;
  • the data processing node is also used to: verify the first signature information and the second signature information based on the public key of the data buyer node, in the first After both the signature information and the second signature information are verified, the data access program and the data processing program are run in the TEE.
  • the data transaction program includes a data access program and a data processing program, and the data buyer node runs the data access program and the data processing program as the data processing node; the data processing node is specifically used for : Extract the data access program and the data processing program from the blockchain network, and run the data access program and the data processing program in the trusted execution environment TEE of the computer to obtain the data processing The program output result of the program; wherein the data access program is used to obtain data from a data source, and the data processing program is used to obtain the data based on a secure transmission channel between the data processing program and the data access program , And output the program output result after processing the data.
  • the data transaction program includes a data access program and a data processing program, the data seller node runs the data access program, and the data buyer node runs the data processing program;
  • the data seller node is specifically used to: extract the data access program from the blockchain network, and run the data access program in the trusted execution environment TEE of the computer, wherein the data access program is based on security
  • the transmission channel obtains data from the data source
  • the data buyer node is specifically used to: extract the data processing program from the blockchain network, and run the data processing program in the trusted execution environment TEE of the computer to obtain The program output result of the data processing program; wherein the data processing program is used to obtain the data based on the secure transmission channel between the data processing program and the data access program, and to process the data Then output the output result of the program.
  • the data seller node is further configured to: verify the data access program according to the public key of the program review node, and after determining that the data access program has passed the review by the program review node, The data access program is run in the TEE; the data buyer node is also used to: verify the data processing program according to the public key of the program review node, and when it is determined that the data processing program has passed the data processing program After the review of the program review node, the data processing program is run in the TEE.
  • the data seller node is used to sign the random number and/or quantity restriction information included in the data processing contract according to the private key of the data seller node to obtain the first signature information, and then Sending the first signature information to the data access program;
  • the data buyer node is used to sign the random number included in the data processing contract according to the private key of the data buyer node to obtain second signature information, and send the second signature information to the data processing Program; the data seller node is also used to verify the second signature information based on the public key of the data buyer node, after the second signature information is verified, run the data access in the TEE Program; the data buyer node is also used to verify the first signature information based on the public key of the data seller node, and after the first signature information is verified, run the data processing in the TEE program.
  • a third aspect of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of the method described in the first aspect of the present disclosure are implemented.
  • an electronic device including a memory and a processor, and a computer program is stored in the memory, and the processor is configured to execute the computer program in the memory to implement the steps of the method in the first aspect of the present disclosure.
  • the data transaction program is run in the computer's trusted execution environment TEE, and the original data is extracted and processed in the form agreed in the data transaction contract through the data transaction program, and the output result is obtained. Because of the program running in the TEE Free from the interference of external hardware and software, the original data will be processed according to the form in the data transaction contract, thereby reducing the resale, copying, sharing and abuse of data, and improving the data security in data transactions.
  • Fig. 1 is a schematic diagram showing a data transaction system according to an exemplary disclosed embodiment.
  • Fig. 2 is a schematic diagram showing another data transaction system according to an exemplary disclosed embodiment.
  • Fig. 3 is a flowchart showing a data processing method according to an exemplary disclosed embodiment.
  • Fig. 4 is a schematic diagram showing a transaction process of a data transaction system according to an exemplary disclosed embodiment.
  • Fig. 5 is a block diagram showing an electronic device according to an exemplary disclosed embodiment.
  • the present disclosure can be applied to scenarios of data circulation, including scenarios where the data provider is unwilling to copy, resell, share, and abuse the data in ways other than agreed upon.
  • the data transaction program is written into the blockchain network. Due to the characteristic that the data in the blockchain network is difficult to be tampered with, the security of the data transaction program can be guaranteed.
  • the data transaction program in this disclosure is a program that runs in TEE (Trusted Execution Environment).
  • TEE is a secure area in the processor, which provides a safe and isolated operating environment for the program to run. It is guaranteed that the code and data running in it will not be illegally obtained by external software (including operating system, BIOS, etc.) or hardware (including other areas of the processor).
  • external software including operating system, BIOS, etc.
  • hardware including other areas of the processor.
  • TEE can be implemented through ARM TrustZone, Intel SGX, etc.
  • Fig. 1 is a schematic diagram showing a data transaction system according to an exemplary disclosed embodiment.
  • the data transaction system 100 includes a program review node 101, a data buyer node 102, and a data seller node 103, wherein ,
  • the program review node can review the data transaction program and write the signed data transaction program into the blockchain network; either the data seller node 103 or the data buyer node 102 can extract the data transaction program from the blockchain network , And run the data transaction program in TEE to obtain the program output result.
  • the program review node 101 can obtain the data transaction program uploaded by the program developer, and review whether the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract stored in the blockchain network, if If yes, sign the data transaction program according to its own private key, and write the signed data transaction program into the blockchain network.
  • the data processing method can refer to whether the output result of the program includes the input data, the method of extracting the data from the data source, any one of the three of the three kinds of information, or the three of the three. Any combination of.
  • the program review node can It is used to review whether the data transaction program only outputs the data processing results without outputting the source data, whether the data transaction program extracts data from the B database based on the A interface/contract, and whether the data transaction program's online access to the data volume is X.
  • the data transaction program can be directly uploaded to the blockchain network, and the program review node can directly upload the data transaction program to the blockchain network after reviewing the data transaction program uploaded to the blockchain network.
  • the data transaction program in the block chain network is signed, and the step of uploading the data transaction program by the program review node is omitted.
  • the program review node can be either the data seller or the data buyer, that is, the data review node can be the same node as the data seller node, or it can be the same node as the data buyer node; the program review The node may also be a third-party node, such as the maintainer of the data transaction system.
  • the program developer can also be either the data seller or the data buyer, or a third party agreed by both parties to the transaction. That is to say, the uploaded data transaction program can be either a data seller node or a data buyer node.
  • the nodes are uploaded to the blockchain network.
  • the program seller can develop a data transaction program for processing data to obtain the processing result of the agreed demand according to the agreed requirements of both parties, and upload it to the blockchain network through the data seller node, and the data buyer node can obtain the data transaction program.
  • the data transaction program in the blockchain network when it is verified that the processing method of the data is the same as the agreement, it is signed with its own private key.
  • the data seller node 103 is used as the data processing node to run the data transaction program, which is specifically used to extract the data transaction program from the blockchain network.
  • the data transaction program is written into the data transaction program after the program is approved.
  • the approval of the program at least indicates that the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract; the data transaction program is run in the TEE, where all The data transaction program is used to obtain data from a data source based on a secure transmission channel, and process the data; and obtain the program output result of the data transaction program.
  • the signature of the data transaction program can also be verified through the public key of the program review node, so as to verify whether the data transaction program passes the review by the program review node. After the signature verification is passed, the data can be run. Transaction program, if the signature verification fails, the program may not be run, so that it can be found that the data transaction program has been maliciously tampered with before running, preventing others from tampering with the data transaction program to obtain the source data, and protecting the security of the data sex.
  • a verification strip Quote is generated by a data transaction program, which includes the developer’s public key fingerprint and other information.
  • a verification strip Quote is generated by a data transaction program, which includes the developer’s public key fingerprint and other information.
  • the developer’s public key fingerprint included in the Quote and the developer secret recorded in the data transaction contract in the blockchain network Whether the key information is consistent can determine whether the program running in the TEE is a specified program, thereby preventing the data transaction program from being maliciously replaced, thereby preventing the behavior of obtaining source data by replacing the program to be run, thereby improving the security of the data.
  • the data transaction program Before running the data transaction program, you can also sign the random number/quantity restriction information in the data transaction contract according to the private key of the data processing node, and send the signature information to the data transaction program. After the data transaction program verifies the signature information Run to determine that the node running the data transaction program is the designated node, so as to prevent nodes other than the agreed node in the data transaction contract from running the program to obtain the data processing result, and to ensure that the data transaction program is running on the agreed node. So as to ensure the security of the data.
  • the data transaction program may include a data access program and a data processing program.
  • the data access program is used to obtain data from a data source
  • the data processing program is used to obtain data based on the difference between the data processing program and the data access program.
  • the secure transmission channel between the two obtains the data, and outputs the program output result after processing the data.
  • the data access program and the data processing program can be developed by the same developer or by different developers, can be reviewed by the same program review node, or can be reviewed by different program review nodes.
  • the data access program can be developed by the data seller and uploaded to the blockchain network by the data buyer node, with the data buyer as the program reviewer and the data buyer node as the program review node to review the data access program;
  • the data processing program can be developed by the data buyer and uploaded to the blockchain network by the data seller node.
  • the data seller is the program reviewer and the data seller node is the program review node to review the data processing program.
  • the data processing program may be set differently according to different data transaction contracts, but the data access program can be through the characteristics of the data access interface, from the preset multiple data access programs
  • the upper limit of the data access of the data access program can be set differently according to the data access contract, and is reviewed by the data review node.
  • the data access program and the data transaction program can be run on either the data seller node or the data buyer node.
  • the data seller node is used as the data processing node to run the data access program and the data processing program as an example for description.
  • the data buyer node signs the random number and/or quantity restriction information included in the data processing contract according to the private key of the data buyer node to obtain the first signature information, and
  • the first signature information is sent to the data access program, and the random number included in the data processing contract is signed according to the private key of the data buyer node to obtain the second signature information, and the second Sending the signature information to the data processing program;
  • the data seller node verifies the first signature information and the second signature information based on the public key of the data buyer node. After both the first signature information and the second signature information are verified, The data access program and the data processing program are run in the TEE.
  • the data seller node can sign the data access program and data processing program, and the data buyer node verifies the signature to determine the identity of the transaction object Run the program to improve data security in data transactions.
  • the data seller node runs the data transaction program (including the data access program and the data processing program) as an example in this embodiment, the present disclosure does not run the data transaction program on the data seller node or the data buyer node.
  • the data buyer node runs the data transaction program, it is only necessary to adapt the content executed by the data seller node in the example of this embodiment and the related signature to be executed by the data buyer node.
  • the content executed by the data buyer node and the related signature adaptive transformation in the example of the embodiment are executed by the data seller node.
  • the data transaction program is run in the computer's trusted execution environment TEE, and the original data is extracted and processed in the form agreed in the data transaction contract through the data transaction program, and the output result is obtained. Because of the program running in the TEE Free from the interference of external hardware and software, the original data will be processed according to the form in the data transaction contract, thereby reducing the resale, copying, sharing and abuse of data, and improving the data security in data transactions.
  • the data transaction program can be prevented from being tampered with, being replaced, or being run on other nodes. Data security.
  • Fig. 2 is a schematic diagram showing a data transaction system according to an exemplary disclosed embodiment.
  • the data transaction system 200 may include a program review node 201, a data buyer node 202, and a data seller node 203, and the data
  • the transaction program includes a data access program and a data processing program.
  • the program review node 201 reviews the data access program and data processing program, it uploads it to the blockchain network, and the data buyer node 202 extracts and runs data from the blockchain network Processing program, the data seller node 203 extracts and runs the data access program from the blockchain network.
  • the program review node 201 can obtain the data access program and data processing program uploaded by the program developer, and verify whether the data access program and the data processing program process the data in the same way as the data transaction contract stored in the blockchain network The agreed data processing method is the same. If it is, the data access program and data processing program are signed according to their own private key, and the signed data access program and data processing program are written into the blockchain network.
  • the data processing method can refer to whether the output result of the program includes the input data, the method of extracting the data from the data source, any one of the three of the three kinds of information, or the three of the three. Any combination of.
  • the program review node can It is used to verify whether the data processing program only outputs the data processing results without outputting the source data, whether the data access program extracts data from the B database based on the A interface/contract, and whether the data transaction program obtains the online amount of data X.
  • the program developer can directly upload the data access program and data processing program to the blockchain network when uploading the program, and the program review node can review the data access program and data uploaded to the blockchain network After processing the program, directly sign the data access program and data processing program in the blockchain network, and save the step of uploading the data access program and data processing program by the program review node.
  • the program review node can be either the data seller or the data buyer, that is to say, the data review node can be the same node as the data seller node, or it can be the same node as the data buyer node, or the data seller
  • the data buyer and the data buyer respectively audit one of the two programs.
  • Both the data seller node and the data seller node can be used as data audit nodes; the program audit node can also be a third-party node, such as the maintainer of the data transaction system.
  • the program developer can also be either the data seller or the data buyer.
  • the two programs can also be developed by both parties of the data seller and the data buyer.
  • the program can also be a third party agreed upon by both parties to the transaction, that is,
  • the uploaded data transaction program can be uploaded to the blockchain network by either the data seller node or the data buyer node.
  • the data access program can be developed by the data seller and uploaded to the blockchain network by the data buyer node, with the data buyer as the program reviewer and the data buyer node as the program review node to review the data access program;
  • the data processing program can be developed by the data buyer and uploaded to the blockchain network by the data seller node.
  • the data seller is the program reviewer and the data seller node is the program review node to review the data processing program.
  • the data processing program may be set differently according to different data transaction contracts, but the data access program can be through the characteristics of the data access interface, from the preset multiple data access programs
  • the upper limit of the data access of the data access program can be set differently according to the data access contract, and is reviewed by the data review node.
  • the data seller node verifies the data access program according to the public key of the program review node, and after determining that the data access program has passed the review of the program review node, runs the data access program in the TEE .
  • the data seller node running the data access program can verify the data access program based on the public key of the data buyer node.
  • the data buyer node verifies the data processing program according to the public key of the program review node, and after determining that the data processing program has passed the review of the program review node, runs the data processing in the TEE program.
  • the data buyer node running the data processing program can verify the data processing program based on the public key of the data seller node.
  • the data seller node signs the random number and/or quantity restriction information included in the data processing contract according to the private key of the data seller node, obtains the first signature information, and sends the first signature information to the data Access program;
  • the data buyer node signs the random number included in the data processing contract according to the private key of the data buyer node, obtains second signature information, and sends the second signature information to the data processing program;
  • the data seller node verifies the second signature information obtained from the data processing program based on the public key of the data buyer node, and runs the TEE in the TEE after the second signature information is verified.
  • Data access program the data buyer node verifies the first signature information obtained from the data access program based on the public key of the data seller node, and after the first signature information is verified, the TEE Run the data processing program in. Therefore, the program can be run under the condition that the identity of the object running the program is determined to be consistent with the agreed transaction object, and the data security in the data transaction can be improved.
  • the data seller node and the data buyer node can also verify the legality of the running code and data of the data access program and data processing program run by itself and the other party based on the TEE verification mechanism And integrity verification; after passing the legality verification and the integrity verification, run the data access program or the data processing program respectively.
  • a verification strip Quote is generated by a data access program, which includes information such as the developer's public key fingerprint of the data access program, and the data seller node and data buyer node can both verify the developer's public key fingerprint and block included in the quote.
  • a data access program which includes information such as the developer's public key fingerprint of the data access program
  • the data seller node and data buyer node can both verify the developer's public key fingerprint and block included in the quote.
  • the program running in the TEE is the specified program
  • another verification strip Quote is generated by the data processing program, which includes the data The developer’s public key fingerprint of the processing program and other information, the data seller node and the data buyer node can both verify the developer’s public key fingerprint included in the Quote and the development of the data processing program recorded in the data transaction contract in the blockchain network
  • the key information of the user is consistent, it can be determined whether the program running in the TEE is the specified program, so as to prevent the data transaction program running by itself or the other party from being maliciously replaced, thereby
  • the data transaction program is run in the computer's trusted execution environment TEE, and the original data is extracted and processed in the form agreed in the data transaction contract through the data transaction program, and the output result is obtained. Because of the program running in the TEE Free from the interference of external hardware and software, the original data will be processed according to the form in the data transaction contract, thereby reducing the resale, copying, sharing and abuse of data, and improving the data security in data transactions.
  • the data transaction program is divided into data access program and data processing program, which are respectively run by the data seller node and the data buyer node, the data seller node runs the program to extract data from the data source, and the data buyer node runs the original data to calculate the processing result
  • the program fixes the data extraction party to the seller, and the data buyer does not interfere with the data extraction, thereby further enhancing the security of data transactions.
  • the data transaction program can be prevented from being tampered with, being replaced, or being run on other nodes. Data security.
  • Fig. 3 is a flow chart showing a data processing method according to an exemplary disclosed embodiment.
  • the data processing method is applied to a data processing node. It is worth noting that in the data transaction system of the present disclosure, both the data seller node and the data seller node can be used as the data processing node to execute the steps of the method. As shown in Figure 3, the data processing method includes the following steps:
  • the approval of the program at least indicates that the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract.
  • the data transaction program is used to obtain data from a data source based on a secure transmission channel, and process the data.
  • the data transaction program is reviewed in the following manner: the program review node obtains the data transaction program uploaded by the program developer; in determining how the data transaction program processes the data and the blockchain network If the data processing methods agreed in the data transaction contract are consistent, sign the data transaction program according to the private key of the data review node; write the signed data transaction program into the blockchain network;
  • the running the data transaction program in the trusted execution environment TEE of the computer includes: signing the data transaction program extracted from the blockchain network according to the public key of the program audit node, and signing After the authentication is successful, the data transaction program is run in the trusted execution environment TEE of the computer.
  • the data transaction contract is stored in the blockchain network after being signed by both parties of the data transaction, and the data transaction contract includes at least one of the following: the program output result of the data transaction program does not include the input office The data processed by the data transaction program; the method of extracting data from the data source; the quantity restriction information of extracting data from the data source.
  • the running the data transaction program in the trusted execution environment TEE of the computer includes: performing legality verification and integrity verification on the running code and data of the data transaction program based on the TEE verification mechanism; After the legality verification and the integrity verification, the data transaction program is run.
  • the data transaction program includes a data access program and a data processing program.
  • the data transaction program acquiring data from a data source based on a secure transmission channel includes: The included random number and/or quantity restriction condition information is signed to obtain signature information; the signature information is sent to the data access program, wherein the data access program determines that the signature authentication of the signature information is successful Establish a secure transmission channel with the data processing program, so that the data processing program obtains data from the data source through the secure transmission channel based on the data access program.
  • the data transaction program is run in the computer's trusted execution environment TEE, and the original data is extracted and processed in the form agreed in the data transaction contract through the data transaction program, and the output result is obtained. Because of the program running in the TEE Free from the interference of external hardware and software, the original data will be processed according to the form in the data transaction contract, thereby reducing the resale, copying, sharing and abuse of data, and improving the data security in data transactions.
  • the data transaction program can be prevented from being tampered with, being replaced, or being run on other nodes. Data security.
  • Fig. 4 shows the detailed transaction process of the data transaction system provided by the embodiment of the present disclosure. As shown in Figure 4, the process involves 4 types of roles shown in dashed boxes and 5 components shown in solid boxes.
  • each role has a different blockchain account, and has an asymmetric key pair composed of a public key and a private key, which is used to prove its identity when publishing information or writing data in the blockchain.
  • the responsibilities of the different roles are as follows:
  • TEE program developer responsible for the development of data access programs and data processing programs, and publish the developed programs to the blockchain.
  • TEE program reviewer The TEE program reviewer is responsible for obtaining the program issued by the TEE program developer from the blockchain and reviewing whether the program has untrusted logic. If the audit is passed, the auditing party uses its own blockchain account to write "safe and reliable" information about the audited program into the blockchain.
  • Data seller the owner of the data, responsible for running the data access program.
  • Data buyer the data demander, responsible for running the data processing program.
  • an entity can become one or more of the above-mentioned roles at the same time.
  • the buyer can act as the TEE program developer at the same time to develop the corresponding TEE program, and the seller can act as the TEE program reviewer to review the program.
  • the seller can also act as a TEE program developer at the same time to develop the corresponding TEE program, and the buyer can act as the TEE program reviewer to review the program.
  • Blockchain responsible for recording data access procedures and data processing procedures and their characteristic information, as well as the audit results of the above procedures.
  • the feature information of the above-mentioned access program and data processing program is the Enclave Measurement and the public key of the Enclave developer.
  • Transaction contract responsible for recording the transaction agreement reached by the buyer and the seller, for example, it can be agreed: the public key of the blockchain account of the buyer and the seller, the data access program and data processing program used and its characteristic information, the upper limit of the data access (can be infinite), The public key, random number, etc. of the blockchain account of the TEE program reviewer.
  • Data access program The program should meet the requirements of the TEE environment used, and it can be a different data processing program depending on the data source.
  • the program When using Intel SGX, the program is Intel SGX Enclave.
  • the data access program can achieve the following two functions: a) Provide access to the data source for the data processing program; b) Write the actual data access situation (data access volume, etc.) of the data processing program to the blockchain, Used for subsequent billing and settlement.
  • the data access program should perform access control on the data access request of the data processing program based on the access restriction conditions specified in the transaction contract recorded in the blockchain, for example, when the amount of data access has reached the upper limit of the contract Request for access.
  • the conditions for passing the review of the data access program can be: 1) Whether the data required by the data processing program is read from the data source truly and without error; 2) Whether the actual data access situation is actually written into the blockchain.
  • Data processing program The program should meet the requirements of the TEE environment used, and different data processing programs can be used for different data analysis and processing requirements.
  • the program is Intel SGX Enclave.
  • the data processing program can achieve the following two functions: a) obtain the required data through the data access agent; b) perform calculation and statistics processing on the obtained data, and only output the processing results, and do not output the original data information under any circumstances.
  • the conditions for passing the review of the data processing program can be: 1) Whether only the processing results are output, under any circumstances, the original data information is not output in any form or any information that can be derived from the original data.
  • Data source responsible for storing seller data, and can serve any type of database system, file system or other data storage services.
  • the TEE program developer develops data access programs based on the data source data storage mechanism (such as database type), develops corresponding data processing programs based on data processing and analysis requirements, and publishes the developed programs to the blockchain.
  • the data source data storage mechanism such as database type
  • the TEE program reviewer obtains the corresponding program from the blockchain and audits the program in accordance with the review conditions. After the review is passed, the TEE program reviewer uses the private key of its own blockchain account to sign the audit result and will review it Write the result and its signature to the blockchain.
  • the buyer and seller can reach a transaction contract in any way and write the contract information into the blockchain.
  • C1.1 ⁇ C1.2 start the TEE program and the initialization process for the buyer and the seller, including:
  • the seller obtains the transaction contract and the data access program agreed in the transaction contract from the blockchain, and checks whether the program has passed the audit.
  • the inspection method is: a) Use the public key pair of the TEE program auditor's blockchain account recorded in the transaction contract The audit signature is verified to determine whether the verification is passed; b) to determine whether the audit result is "approved”. If the review is passed, the data access program will be initiated in the TEE environment of the computing platform selected by the seller.
  • the seller uses the private key of his own blockchain account to sign the random number in the transaction contract on the blockchain and the upper limit of data access to obtain the signature SignatureA, and enter SignatureA into the data access program. At the same time, the seller enters the data agreed in the transaction contract Information such as the upper limit of access is entered into the data access program.
  • the buyer obtains the transaction contract and the data processing program agreed in the transaction contract from the blockchain, and checks whether the program passes the review.
  • the inspection method is: a) Use the TEE program recorded in the transaction contract to review the public key pair of the blockchain account of the party The audit signature is verified to determine whether the verification is passed; b) to determine whether the audit result is "approved”. If the review is passed, the data processing program will be initiated in the TEE environment of the computing platform selected by the buyer.
  • the buyer uses the private key of his own blockchain account to sign the random number in the transaction contract on the blockchain to obtain the signature SignatureB, and enter the SignatureB into the data access program.
  • data access program and the data processing program selected by the above-mentioned buyer and seller can be the same host or different hosts.
  • C2.1 ⁇ C2.2 are the process of mutual authentication of data access program and data processing program and establishment of end-to-end secure transmission channel. specifically:
  • PS This verification process ensures that the data access program and the data processing program itself have not been tampered with during operation, including tampering with the running party, and not being tampered with by malicious programs such as the operating system/trojan horse of the host)
  • the above verification mechanism is implemented using the remote attestation (Remote Attestation) provided by SGX.
  • the remote attestation mechanism is: a) Data access program and data processing program generate Quotes respectively (Quote includes Enclave Measurement and Enclave developer public key fingerprints); b) Buyers and sellers exchange Quotes for data access programs and data processing programs; c) The buyer and seller verify the legitimacy of the Quote through the remote verification service provided by SGX; d) The buyer and seller verify whether the Enclave Measurement and the enclave developer public key fingerprint contained in the Quote are consistent with the corresponding information in the transaction contract on the blockchain.
  • SignatureA and SignatureB from the data access program and data processing program run by the other party, and use the public key, random number, and upper limit of data access in the transaction contract on the blockchain to verify SignatureA and SignatureB. If verified If it fails, the subsequent process will stop. It is worth noting that this verification process ensures that the data access program and data processing program are run by the buyer and seller specified in the transaction contract.
  • the seller gives the data access program the right to access the data source of the seller.
  • the buyer and seller respectively control the data access program and the data processing program to establish an end-to-end secure transmission channel.
  • the channel can be TLS, VPN or any other channel that guarantees transmission security.
  • the subsequent communication between the data access program and the data processing program is here. In a safe passage.
  • C3.1 ⁇ C3.3 are the data acquisition and processing procedures. specifically:
  • the data processing program requests data from the data access program, and the data access agent responds to the data request of the data processing program according to whether the actual amount of data access exceeds the upper limit of data access agreed in the transaction contract, reads the data from the data source, and Return the data to the data processing program.
  • the data processing program calculates the processing logic according to its own data, processes the data accordingly, and outputs the data processing results.
  • the data access program uses the private key to sign the actual data access volume of the data processing program, the data access volume and signature are written into the blockchain for subsequent billing and settlement based on the actual business volume.
  • Fig. 5 is a block diagram showing an electronic device 500 according to an exemplary embodiment.
  • the electronic device can be provided as any node in the data transaction system of the present disclosure for executing any step in the data processing method of the present disclosure .
  • the electronic device 500 may include: a processor 501 and a memory 502.
  • the electronic device 500 may further include one or more of a multimedia component 503, an input/output (I/O) interface 504, and a communication component 505.
  • I/O input/output
  • the processor 501 is used to control the overall operation of the electronic device 500 to complete all or part of the steps in the aforementioned data processing method.
  • the memory 502 is used to store various types of data to support operations on the electronic device 500. These data may include, for example, instructions for any application or method to operate on the electronic device 500, as well as application-related data. For example, contact data, messages sent and received, pictures, audio, video, etc.
  • the memory 502 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random Access Memory, SRAM for short), electrically erasable programmable read-only memory ( Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-only Memory (Read-Only Memory, ROM for short), magnetic memory, flash memory, magnetic disk or optical disk.
  • the multimedia component 503 may include a screen and an audio component.
  • the screen may be, for example, a touch screen, and the audio component is used to output and/or input audio signals.
  • the audio component may include a microphone, which is used to receive external audio signals.
  • the received audio signal may be further stored in the memory 502 or sent through the communication component 505.
  • the audio component also includes at least one speaker for outputting audio signals.
  • the I/O interface 504 provides an interface between the processor 501 and other interface modules.
  • the above-mentioned other interface modules may be a keyboard, a mouse, a button, and the like. These buttons can be virtual buttons or physical buttons.
  • the communication component 505 is used for wired or wireless communication between the electronic device 500 and other devices.
  • Wireless communication such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IOT, eMTC, or other 5G, etc., or one or more of them
  • the corresponding communication component 505 may include: a Wi-Fi module, a Bluetooth module, an NFC module, and so on.
  • the electronic device 500 may be used by one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), digital signal processor (Digital Signal Processor, DSP for short), and digital signal processing equipment (Digital Signal Processor for short).
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSP Digital Signal Processor
  • Digital Signal Processor Digital Signal Processor for short
  • Signal Processing Device DSPD for short
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • controller microcontroller, microprocessor or other electronic components Realization, used to execute the above-mentioned data processing method.
  • a computer-readable storage medium including program instructions that, when executed by a processor, implement the steps of the above-mentioned data processing method.
  • the computer-readable storage medium may be the foregoing memory 502 including program instructions, and the foregoing program instructions may be executed by the processor 501 of the electronic device 500 to complete the foregoing data processing method.
  • a data processing method comprising: extracting a data transaction program from a blockchain network, the data transaction program is written into the blockchain network after the program is approved, wherein the program is approved At least it shows that the data processing method of the data transaction program is consistent with the data processing method agreed in the data transaction contract; the data transaction program is run in the trusted execution environment TEE of the computer, wherein the data transaction program is used for security-based
  • the transmission channel obtains data from the data source and processes the data; obtains the program output result of the data transaction program.
  • the data transaction program is reviewed in the following ways: the program review node obtains the data transaction program uploaded by the program developer; after determining how the data transaction program processes the data and how When the data processing methods agreed in the data transaction contract in the blockchain network are consistent, the data transaction program is signed according to the private key of the data audit node; the signed data transaction program is written into The blockchain network; the running of the data transaction program in the trusted execution environment TEE of the computer includes: the data transaction program extracted from the blockchain network according to the public key pair of the verification node of the program Perform signature verification, and after successful signature verification, run the data transaction program in the trusted execution environment TEE of the computer.
  • the data transaction contract is stored in the blockchain network after being signed by both parties of the data transaction, and the data transaction contract includes at least one of the following: The output result of the program does not include the data input to the data transaction program for processing; the method of extracting data from the data source; and the limit information of the quantity of data extracted from the data source.
  • the running the data transaction program in the trusted execution environment TEE of the computer includes: verifying the legality of the running code and data of the data transaction program based on the TEE verification mechanism Verification and integrity verification; after passing the legality verification and the integrity verification, run the data transaction program.
  • the data transaction program includes a data access program and a data processing program
  • the data transaction program acquiring data from a data source based on a secure transmission channel includes: The private key signs the random number and/or quantity restriction information included in the data processing contract to obtain signature information; and sends the signature information to the data access program, where the data access program is sure to After the signature authentication of the signature information is successful, a secure transmission channel with the data processing program is established, so that the data processing program obtains data from the data source through the secure transmission channel based on the data access program .
  • a data transaction system comprising: a program review node, a data buyer node, and a data seller node; the program review node is used to review the data transaction program developed by the program development node, and when determining the data transaction program
  • the data processing method is consistent with the data processing method agreed in the data transaction contract in the blockchain network
  • the data transaction program is signed according to the private key of the data audit node, and the signed data
  • the transaction program is written into the blockchain network; one of the data seller node and the data buyer node can be used by a data processing node to run the data transaction program, and the data processing node is used to execute The steps of the method described in one aspect.
  • the data transaction program includes a data access program and a data processing program
  • the data seller node runs the data access program and the data processing program as the data processing node
  • the data processing node is specifically used to: extract the data access program and the data processing program from the blockchain network, and run the data access program and the data access program in the trusted execution environment TEE of the computer Data processing program, and obtain the program output results of the data processing program; wherein, the data access program is used to obtain data from a data source, and the data processing program is used to obtain data based on the data processing program and the data access program
  • the secure transmission channel between the two obtains the data, and outputs the program output result after processing the data.
  • the data processing node is configured to: verify the data access program and the data processing program according to the public key of the program review node, and determine the After the data access program and the data processing program have passed the review of the program review node, run the data access program and the data processing program in the TEE.
  • the data processing node is further used to: based on the TEE verification mechanism, verify the legality and integrity of the running code and data of the data processing program and the data access program Verification; after passing the legality verification and the integrity verification, run the data processing program and the data access program.
  • the data buyer node is used to sign the random number and/or quantity restriction information included in the data processing contract according to the private key of the data buyer node , Obtain the first signature information, send the first signature information to the data access program, and sign the random number included in the data processing contract according to the private key of the data buyer node to obtain the second Signature information and send the second signature information to the data processing program; the data processing node is also used to: pair the first signature information and the second signature based on the public key of the data buyer node Information is verified, and after the first signature information and the second signature information are both verified, the data access program and the data processing program are run in the TEE.
  • the data transaction system wherein the data transaction program includes a data access program and a data processing program, and the data buyer node runs the data access program and the data processing program as the data processing node
  • the data processing node is specifically used to: extract the data access program and the data processing program from the blockchain network, and run the data access program and the data access program in the trusted execution environment TEE of the computer A data processing program to obtain the program output results of the data processing program; wherein the data access program is used to obtain data from a data source, and the data processing program is used to obtain data based on the difference between the data processing program and the data access program.
  • the secure transmission channel between the two obtains the data, and outputs the program output result after processing the data.
  • the data transaction system wherein the data transaction program includes a data access program and a data processing program, and the data buyer node runs the data access program and the data processing program as the data processing node
  • the data processing node is specifically used to: extract the data access program and the data processing program from the blockchain network, and run the data access program and the data access program in the trusted execution environment TEE of the computer A data processing program to obtain the program output results of the data processing program; wherein the data access program is used to obtain data from a data source, and the data processing program is used to obtain data based on the difference between the data processing program and the data access program.
  • the secure transmission channel between the two obtains the data, and outputs the program output result after processing the data.
  • the data transaction program includes a data access program and a data processing program
  • the data seller node runs the data access program
  • the data buyer node runs the data processing program
  • the data seller node is specifically used to: extract the data access program from the blockchain network, and run the data access program in the trusted execution environment TEE of the computer, wherein the data access program is based on The secure transmission channel obtains data from a data source
  • the data buyer node is specifically used to: extract the data processing program from the blockchain network, and run the data processing program in the trusted execution environment TEE of the computer, Obtain the program output result of the data processing program; wherein, the data processing program is used to acquire the data based on the secure transmission channel between the data processing program and the data access program, and perform the data processing on the data After processing, the output result of the program is output.
  • the data seller node is further used to: verify the data access program according to the public key of the program review node, and determine that the data access program has passed all After the review of the program review node, run the data access program in the TEE; the data buyer node is also used to: verify the data processing program according to the public key of the program review node, and determine After the data processing program has passed the review of the program review node, run the data processing program in the TEE.
  • the data seller node is used to sign the random number and/or quantity restriction information included in the data processing contract according to the private key of the data seller node, Obtain the first signature information, and send the first signature information to the data access program;
  • the data buyer node is used to sign the random number included in the data processing contract according to the private key of the data buyer node to obtain second signature information, and send the second signature information to the data processing Program; the data seller node is also used to verify the second signature information based on the public key of the data buyer node, after the second signature information is verified, run the data access in the TEE Program; the data buyer node is also used to verify the first signature information based on the public key of the data seller node, and after the first signature information is verified, run the data processing in the TEE program.

Abstract

一种数据处理方法、存储介质、电子设备及数据交易系统,所述方法应用于数据处理节点,所述方法包括:从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的,其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致;在计算机的可信执行环境TEE中运行所述数据交易程序,其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理;获取所述数据交易程序的程序输出结果。

Description

数据处理方法、存储介质、电子设备及数据交易系统 技术领域
本公开涉及数据处理领域,具体地,涉及一种数据处理方法、存储介质、电子设备及数据交易系统。
背景技术
由于数据可以被无限次并无代价地复制,因此,在数据流通的过程中,数据获取方在从数据提供方获取到数据后,很难通过技术手段将其对数据的使用制约在约定范围内,难以控制其对数据的复制、分享及滥用。因此,数据的交易、分享都面临着严重的安全性问题,导致数据的交易、流通难以规模化进行。而网络信息时代需要通畅的数据交易能力,因此,数据流通过程中的安全性问题是当前亟待解决的问题。
发明内容
本公开的目的是提供一种数据处理方法、存储介质、电子设备及数据交易系统,以解决相关技术中存在的技术问题。
为了实现上述目的,本公开提供一种数据处理方法,包括:从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的,其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致;在计算机的可信执行环境TEE中运行所述数据交易程序,其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理;获取所述数据交易程序的程序输出结果。
可选地,通过如下方式对所述数据交易程序进行审核:程序审核节点获取程序开发者上传的数据交易程序;在确定所述数据交易程序对数据的处理方式与所述区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名;将签名后的所述数据交易程序写入所述区块链网络;所述在计算机的可信执行环境TEE中运行所述数据交易程序,包括:根据所述程序审核节点的公钥对从所述区块链网络中提取的 数据交易程序进行签名认证,并在签名认证成功后,在计算机的可信执行环境TEE中运行所述数据交易程序。
可选地,所述数据交易合约是数据交易双方签定后存储到所述区块链网络的,所述数据交易合约包括以下至少一种:所述数据交易程序的程序输出结果不包括输入所述数据交易程序进行处理的数据;从所述数据源提取数据的方式;从所述数据源提取数据的数量限制条件信息。
可选地,所述在计算机的可信执行环境TEE中运行所述数据交易程序包括:基于TEE验证机制,对所述数据交易程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据交易程序。
可选地,所述数据交易程序包括数据访问程序和数据处理程序,所述数据交易程序基于安全传输通道从数据源获取数据包括:根据所述数据处理节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到签名信息;将所述签名信息发送给所述数据访问程序,其中,所述数据访问程序在确定对所述签名信息的签名认证成功后,建立与所述数据处理程序之间的安全传输通道,以便所述数据处理程序基于所述数据访问程序通过所述安全传输通道从所述数据源获取到数据。
本公开的第二方面,提供一种数据交易系统,包括:程序审核节点、数据买方节点以及数据卖方节点;所述程序审核节点用于对程序开发节点开发的数据交易程序进行审核,并在确定所述数据交易程序对数据的处理方式与区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名,将签名后的所述数据交易程序写入所述区块链网络;所述数据卖方节点和所述数据买方节点中的一者能够用于数据处理节点运行所述数据交易程序,所述数据处理节点用于执行本公开第一方面中所述的方法的步骤。
可选地,所述数据交易程序包括数据访问程序和数据处理程序,所述数据卖方节点作为所述数据处理节点运行所述数据访问程序和所述数据处理程序;所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数 据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,并获取所述数据处理程序的程序输出结果;其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
可选地,所述数据处理节点用于:根据所述程序审核节点的公钥对所述数据访问程序和所述数据处理程序进行验证,并在确定所述数据访问程序和所述数据处理程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据访问程序和所述数据处理程序。
可选地,所述数据处理节点还用于:基于TEE验证机制,对所述数据处理程序和所述数据访问程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据处理程序和所述数据访问程序。
可选地,所述数据买方节点用于,根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序,并根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;所述数据处理节点还用于:基于所述数据买方节点的公钥对所述第一签名信息和所述第二签名信息进行验证,在所述第一签名信息和所述第二签名信息均验证通过后,在所述TEE中运行所述数据访问程序和所述数据处理程序。
可选地,所述数据交易程序包括数据访问程序和数据处理程序,所述数据买方节点作为所述数据处理节点运行所述数据访问程序和所述数据处理程序;所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理 后输出所述程序输出结果。
可选地,所述数据交易程序包括数据访问程序和数据处理程序,所述数据卖方节点运行所述数据访问程序,所述数据买方节点运行所述数据处理程序;
所述数据卖方节点具体用于:从所述区块链网络中提取所述数据访问程序,并在计算机的可信执行环境TEE中运行所述数据访问程序,其中,所述数据访问程序基于安全传输通道从数据源获取数据;所述数据买方节点具体用于:从所述区块链网络中提取所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
可选地,所述数据卖方节点还用于:根据所述程序审核节点的公钥对所述数据访问程序进行验证,并确定所述数据访问程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据访问程序;所述数据买方节点还用于:根据所述程序审核节点的公钥对所述数据处理程序进行验证,并在确定所述数据处理程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据处理程序。
可选地,所述数据卖方节点用于根据所述数据卖方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序;
所述数据买方节点用于根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;所述数据卖方节点还用于基于所述数据买方节点的公钥对所述第二签名信息进行验证,在所述第二签名信息验证通过后,在所述TEE中运行所述数据访问程序;所述数据买方节点还用于基于所述数据卖方节点的公钥对所述第一签名信息进行验证,在所述第一签名信息验证通过后,在所述TEE中运行所述数据处理程序。
本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面中所述方法的步骤。
本公开的第四方面,提供一种电子设备,包括存储器和处理器,存储器上存储 有计算机程序,处理器用于执行存储器中的计算机程序,以实现本公开第一方面中所述方法的步骤。
通过上述技术方案,在计算机的可信执行环境TEE中运行数据交易程序,通过数据交易程序对原始数据按照数据交易合约中约定的形式进行提取和处理,并获得输出结果,由于TEE中运行的程序不受外界硬软件的干涉,使得原始数据会根据数据交易合约中的形式进行处理,从而减少数据的转卖、复制、分享及滥用的情况,提升了数据交易中的数据安全性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
发明概述
技术问题
问题的解决方案
发明的有益效果
对附图的简要说明
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性公开实施例示出的一种数据交易系统的示意图。
图2是根据一示例性公开实施例示出的另一种数据交易系统的示意图。
图3是根据一示例性公开实施例示出的一种数据处理方法的流程图。
图4是根据一示例性公开实施例示出的一种数据交易系统的交易过程的示意图。
图5是根据一示例性公开实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先对本公开的实施场景进行说明。本公开可以适用于数据流转的场景,包括数据有偿交易、数据无偿提供等场景下,数据提供方不愿意数据被约定以外的 方式被复制、转卖、分享及滥用的情况。
在本公开中,数据交易程序被写入区块链网络中,由于区块链网络中的数据难以被篡改的特性,可以保证数据交易程序的安全性。
而本公开中的数据交易程序是运行于TEE(Trusted Execution Environment,可信执行环境)中的程序,TEE是处理器中的一个安全区域,为程序的运行提供了一个安全隔离的运行环境,可以保证运行其中的代码和数据不被外部软件(包括操作系统、BIOS等)或硬件(包括处理器的其他区域)非法获取,目前TEE可以通过ARM TrustZone、Intel SGX等实现。
图1是根据一示例性公开实施例示出的一种数据交易系统的示意图,如图1所示,所述数据交易系统100中包括程序审核节点101、数据买方节点102和数据卖方节点103,其中,程序审核节点可以对数据交易程序进行审核,将签名后的数据交易程序写入区块链网络;数据卖方节点103或者数据买方节点102中的任意一方可以从区块链网络中提取数据交易程序,并在TEE中运行该数据交易程序,获得程序输出结果。
其中,程序审核节点101可以获取程序开发者上传到数据交易程序,并审核该数据交易程序对数据的处理方式是否和存于区块链网络中的数据交易合约中约定的数据处理方式一致,如果是,则根据自身的私钥对数据交易程序进行签名,并将签名后的数据交易程序写入区块链网络中。
其中,该数据的处理方式可以指程序输出结果是否包括输入的数据、从数据源提取数据的方式、从所述数据源提取数据的数量限制条件信息这三者中的任意一种,或者三者的任意组合。例如,在数据交易合约中约定有“源数据仅用于某某处理,源数据不用于其他用途,基于A接口/合约从B数据库中获取数据,数据量上限为X”,则程序审核节点可以用于审核该数据交易程序是否只输出数据处理结果而不输出源数据,该数据交易程序是否是基于A接口/合约从B数据库中提取数据,该数据交易程序获取数据量的上线是否为X。
值得说明的是,程序开发者上传程序时可以直接将该数据交易程序上传至区块链网络,则程序审核节点可以在审核该上传至区块链网络中的数据交易程序之后,直接对该区块链网络中的数据交易程序进行签名,而省去由程序审核节点 上传该数据交易程序的步骤。
值得说明的是,该程序审核节点可以为数据卖方和数据买方中的任意一方,也就是说,数据审核节点可以和数据卖方节点为同一节点,也可以与数据买方节点为同一节点;该程序审核节点还可以是第三方的节点,例如该数据交易系统的维护者等。而程序开发者也可以是数据卖方、数据买方中的任意一方,也可以是由交易双方约定的第三方,也就是说,该上传的数据交易程序可以是由数据卖方节点或者数据买方节点任一节点上传至区块链网络中的。例如,程序卖方可以根据双方约定的需求,开发用于对数据进行处理得到约定需求的处理结果的数据交易程序,并将其通过数据卖方节点上传至区块链网络中,数据买方节点可以获取该区块链网络中的数据交易程序,在审核其对数据的处理方式与约定相同时,对其用自身的私钥进行签名。
在本实施例中,由数据卖方节点103作为数据处理节点来运行数据交易程序,具体用于从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的,其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致;在TEE中运行所述数据交易程序,其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理;获取所述数据交易程序的程序输出结果。
在运行该数据交易程序之前,还可以通过程序审核节点的公钥对数据交易程序的签名进行验证,从而验证该数据交易程序是否通过程序审核节点的审核,在签名验证通过后,可以运行该数据交易程序,在签名验证不通过的情况下,可以不运行该程序,从而可以在运行前发现数据交易程序遭到恶意篡改,防止他人通过篡改数据交易程序以得到源数据的行为,保护数据的安全性。
在运行该数据交易程序之前,还可以基于TEE验证机制,对所述数据交易程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据交易程序。例如,由数据交易程序生成验证条Quote,其中包括了开发者公钥指纹等信息,通过验证该Quote中包括的开发者公钥指纹和区块链网络中的数据交易合约中记录的开发者密钥信息是否一致 ,可以确定TEE中运行的程序是否为指定的程序,从而防止数据交易程序被恶意替换,从而可以防止通过替换待运行的程序来获取源数据的行为,从而提升数据的安全性。
在运行数据交易程序之前,还可以根据数据处理节点的私钥对数据交易合约中的随机数/数量限制条件信息进行签名,并将签名信息发送至数据交易程序,数据交易程序验证该签名信息后运行,以确定运行该数据交易程序的节点为指定的节点,从而防止数据交易合约中约定的节点以外的其他节点运行该程序得到数据处理结果,保证数据交易程序是运行在约定的节点之上,从而保证数据的安全性。
进一步的,该数据交易程序可以包括数据访问程序和数据处理程序,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。该数据访问程序和数据处理程序可以由相同的开放者开发,也可以由不同的开发者开发,可以由相同的程序审核节点进行审核,也可以由不同的程序审核节点进行审核。
例如,该数据访问程序可以由数据卖方开发,并由数据买方节点上传至区块链网络中,由数据买方作为程序审核者,将数据买方节点作为程序审核节点,对该数据访问程序进行审核;该数据处理程序可以由数据买方开发,并由数据卖方节点上传至区块链网络中,由数据卖方作为程序审核者,将数据卖方节点作为程序审核节点,对该数据处理程序进行审核。
值得说明的是,由于数据处理的特殊性,该数据处理程序可能会根据不同的数据交易合约进行不同设置,但是数据访问程序可以是通过数据访问接口的特征,从预设的多个数据访问程序中确定的与该数据访问接口适配的数据访问程序,该数据访问程序的数据访问上限可以根据数据访问合约进行不同设置,并由数据审核节点进行审核。
该数据访问程序和数据交易程序可以运行于数据卖方节点或数据买方节点中的任一节点,本实施例中以数据卖方节点作为数据处理节点运行该数据访问程序和数据处理程序为例进行说明。
在运行数据处理程序和数据访问程序前,可以基于数据审核节点的公钥对这两个程序是否分别通过审核进行验证,也可以基于TEE验证机制,对这两个程序的运行代码和数据进行合法性验证以及完整性验证,其验证方式如上,在此不做赘述。
值得说明的是,在数据审核节点对两个程序进行审核时,针对数据访问程序,可以对其是否以约定的方式从数据源获取数据或者其获取数据量的上限是否符合与存储于区块链网络中的数据交易合约一致进行审核;针对数据处理程序,可以对其是否按照约定只输出数据处理结果而不输出源数据进行审核。
在一种可能的实施方式中,数据买方节点根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序,并根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;
数据卖方节点基于所述数据买方节点的公钥对所述第一签名信息和所述第二签名信息进行验证,在所述第一签名信息和所述第二签名信息均验证通过后,在所述TEE中运行所述数据访问程序和所述数据处理程序。
当由数据买方节点运行该数据访问程序和数据处理程序时,可以由数据卖方节点对数据访问程序和数据处理程序进行签名,由数据买方节点对签名进行验证,从而在确定交易对象的身份的情况下运行程序,提高数据交易中的数据安全性。
值得说明的是,本实施例中虽然以数据卖方节点运行数据交易程序(包括数据访问程序和数据处理程序)为例进行说明,但是本公开不对该数据交易程序运行在数据卖方节点或数据买方节点中的哪个节点进行限制,在数据买方节点运行该数据交易程序时,只需将本实施例的举例中的数据卖方节点执行的内容及相关的签名适应性变换为由数据买方节点执行,将本实施例的举例中的数据买方节点执行的内容和与之相关的签名适应性变换为由数据卖方节点执行。
通过上述技术方案,在计算机的可信执行环境TEE中运行数据交易程序,通过数据交易程序对原始数据按照数据交易合约中约定的形式进行提取和处理,并 获得输出结果,由于TEE中运行的程序不受外界硬软件的干涉,使得原始数据会根据数据交易合约中的形式进行处理,从而减少数据的转卖、复制、分享及滥用的情况,提升了数据交易中的数据安全性。
并且,通过本实施例中提供的验证方式,可以分别防止数据交易程序被篡改、被替换、被运行在其他节点上而导致的源数据的泄漏或处理结果的泄漏,进一步提升了数据流通中的数据安全性。
图2是根据一示例性公开实施例示出的一种数据交易系统的示意图,如图2所示,数据交易系统200可以包括程序审核节点201、数据买方节点202、数据卖方节点203,并且,数据交易程序包括数据访问程序和数据处理程序,程序审核节点201审核该数据访问程序、数据处理程序后,将其上传至区块链网络,而数据买方节点202从区块链网络中提取并运行数据处理程序,数据卖方节点203从区块链网络中提取并运行数据访问程序。
其中,程序审核节点201可以获取程序开发者上传的数据访问程序和数据处理程序,并审核该数据访问程序和数据处理程序对数据的处理方式是否和存于区块链网络中的数据交易合约中约定的数据处理方式一致,如果是,则根据自身的私钥对数据访问程序和数据处理程序进行签名,并将签名后的数据访问程序和数据处理程序写入区块链网络中。
其中,该数据的处理方式可以指程序输出结果是否包括输入的数据、从数据源提取数据的方式、从所述数据源提取数据的数量限制条件信息这三者中的任意一种,或者三者的任意组合。例如,在数据交易合约中约定有“源数据仅用于某某处理,源数据不用于其他用途,基于A接口/合约从B数据库中获取数据,数据量上限为X”,则程序审核节点可以用于审核该数据处理程序是否只输出数据处理结果而不输出源数据,该数据访问程序是否是基于A接口/合约从B数据库中提取数据,该数据交易程序获取数据量的上线是否为X。
值得说明的是,程序开发者上传程序时可以直接将该数据访问程序和数据处理程序上传至区块链网络,则程序审核节点可以在审核该上传至区块链网络中的数据访问程序和数据处理程序之后,直接对该区块链网络中的数据访问程序和数据处理程序进行签名,而省去由程序审核节点上传该数据访问程序和数据处 理程序的步骤。
值得说明的是,该程序审核节点可以为数据卖方和数据买方中的任意一方,也就是说,数据审核节点可以和数据卖方节点为同一节点,也可以与数据买方节点为同一节点,或者数据卖方和数据买方分别对两个程序中的一个进行审核,数据卖方节点和数据卖方节点都可以作为数据审核节点;该程序审核节点还可以是第三方的节点,例如该数据交易系统的维护者等。而程序开发者也可以是数据卖方、数据买方中的任意一方,两个程序也可以分别由数据卖方、数据买方中的双方开发,程序也可以是由交易双方约定的第三方,也就是说,该上传的数据交易程序可以是由数据卖方节点或者数据买方节点任一节点上传至区块链网络中的。
例如,该数据访问程序可以由数据卖方开发,并由数据买方节点上传至区块链网络中,由数据买方作为程序审核者,将数据买方节点作为程序审核节点,对该数据访问程序进行审核;该数据处理程序可以由数据买方开发,并由数据卖方节点上传至区块链网络中,由数据卖方作为程序审核者,将数据卖方节点作为程序审核节点,对该数据处理程序进行审核。
值得说明的是,由于数据处理的特殊性,该数据处理程序可能会根据不同的数据交易合约进行不同设置,但是数据访问程序可以是通过数据访问接口的特征,从预设的多个数据访问程序中确定的与该数据访问接口适配的数据访问程序,该数据访问程序的数据访问上限可以根据数据访问合约进行不同设置,并由数据审核节点进行审核。
数据卖方节点根据所述程序审核节点的公钥对所述数据访问程序进行验证,并确定所述数据访问程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据访问程序。
例如,若该数据访问程序是由数据买方节点作为程序审核节点进行审核的,则运行该数据访问程序的数据卖方节点可以基于数据买方节点的公钥对该数据访问程序进行验证。
数据买方节点根据所述程序审核节点的公钥对所述数据处理程序进行验证,并在确定所述数据处理程序已通过所述程序审核节点的审核后,在所述TEE中运行 所述数据处理程序。
例如,若该数据处理程序是由数据卖方节点作为程序审核节点进行审核的,则运行该数据处理程序的数据买方节点可以基于数据卖方节点的公钥对该数据处理程序进行验证。
在运行该数据访问程序或数据处理程序之前,还可以通过以下的方式对两个程序进行验证:
数据卖方节点根据数据卖方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序;数据买方节点根据数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;
所述数据卖方节点基于所述数据买方节点的公钥对从数据处理程序中获取的所述第二签名信息进行验证,在所述第二签名信息验证通过后,在所述TEE中运行所述数据访问程序;所述数据买方节点基于所述数据卖方节点的公钥对从数据访问程序中获取的所述第一签名信息进行验证,在所述第一签名信息验证通过后,在所述TEE中运行所述数据处理程序。从而可以在确定运行程序的对象与约定的交易对象的身份一致的情况下运行程序,提高数据交易中的数据安全性。
在运行该数据访问程序或数据处理程序之前,数据卖方节点和数据买方节点还可以基于TEE验证机制,对自身运行的和对方运行的数据访问程序和数据处理程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,分别运行数据访问程序或数据处理程序。
例如,由数据访问程序生成验证条Quote,其中包括了数据访问程序的开发者公钥指纹等信息,数据卖方节点和数据买方节点均可以通过验证该Quote中包括的开发者公钥指纹和区块链网络中的数据交易合约中记录的数据访问程序的开发者密钥信息是否一致,可以确定TEE中运行的程序是否为指定的程序;由数据处理程序生成另一验证条Quote,其中包括了数据处理程序的开发者公钥指纹等信息,数据卖方节点和数据买方节点均可以通过验证该Quote中包括的开发者公钥指纹和区块链网络中的数据交易合约中记录的数据处理程序的开发者密钥信 息是否一致,可以确定TEE中运行的程序是否为指定的程序,从而防止自身或对方运行的数据交易程序被恶意替换,从而可以防止通过替换待运行的程序来获取源数据的行为,从而提升数据的安全性。
通过上述技术方案,在计算机的可信执行环境TEE中运行数据交易程序,通过数据交易程序对原始数据按照数据交易合约中约定的形式进行提取和处理,并获得输出结果,由于TEE中运行的程序不受外界硬软件的干涉,使得原始数据会根据数据交易合约中的形式进行处理,从而减少数据的转卖、复制、分享及滥用的情况,提升了数据交易中的数据安全性。并且将数据交易程序分为数据访问程序和数据处理程序,分别由数据卖方节点和数据买方节点运行,由数据卖方节点运行从数据源提取数据的程序,由数据买方节点运行通过原始数据计算处理结果的程序,将数据提取方固定在卖方,数据买方不对数据的提取进行干涉,从而进一步提升数据交易的安全性。
并且,通过本实施例中提供的验证方式,可以分别防止数据交易程序被篡改、被替换、被运行在其他节点上而导致的源数据的泄漏或处理结果的泄漏,进一步提升了数据流通中的数据安全性。
图3是根据一示例性公开实施例示出的数据处理方法的流程图,数据处理方法应用于数据处理节点。值得说明的是,在本公开的数据交易系统中,数据卖方节点和数据卖方节点均可以作为该数据处理节点执行本方法的步骤。如图3所示,所述数据处理方法包括以下步骤:
S31、从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的。
其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致。
S32、在计算机的可信执行环境TEE中运行所述数据交易程序。
其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理。
S33、获取所述数据交易程序的程序输出结果。
可选地,通过如下方式对所述数据交易程序进行审核:程序审核节点获取程序 开发者上传的数据交易程序;在确定所述数据交易程序对数据的处理方式与所述区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名;将签名后的所述数据交易程序写入所述区块链网络;所述在计算机的可信执行环境TEE中运行所述数据交易程序,包括:根据所述程序审核节点的公钥对从所述区块链网络中提取的数据交易程序进行签名认证,并在签名认证成功后,在计算机的可信执行环境TEE中运行所述数据交易程序。
可选地,所述数据交易合约是数据交易双方签定后存储到所述区块链网络的,所述数据交易合约包括以下至少一种:所述数据交易程序的程序输出结果不包括输入所述数据交易程序进行处理的数据;从所述数据源提取数据的方式;从所述数据源提取数据的数量限制条件信息。
可选地,所述在计算机的可信执行环境TEE中运行所述数据交易程序包括:基于TEE验证机制,对所述数据交易程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据交易程序。
可选地,所述数据交易程序包括数据访问程序和数据处理程序,所述数据交易程序基于安全传输通道从数据源获取数据包括:根据所述数据处理节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到签名信息;将所述签名信息发送给所述数据访问程序,其中,所述数据访问程序在确定对所述签名信息的签名认证成功后,建立与所述数据处理程序之间的安全传输通道,以便所述数据处理程序基于所述数据访问程序通过所述安全传输通道从所述数据源获取到数据。
关于上述实施例中的方法,其中各个步骤的具体方式已经在有关数据交易系统的实施例中进行了详细描述,此处将不做详细阐述说明。
通过上述技术方案,在计算机的可信执行环境TEE中运行数据交易程序,通过数据交易程序对原始数据按照数据交易合约中约定的形式进行提取和处理,并获得输出结果,由于TEE中运行的程序不受外界硬软件的干涉,使得原始数据会根据数据交易合约中的形式进行处理,从而减少数据的转卖、复制、分享及滥 用的情况,提升了数据交易中的数据安全性。
并且,通过本实施例中提供的验证方式,可以分别防止数据交易程序被篡改、被替换、被运行在其他节点上而导致的源数据的泄漏或处理结果的泄漏,进一步提升了数据流通中的数据安全性。
图4示出了本公开实施例提供的数据交易系统的详细交易过程。如图4所示,该过程涉及到虚线框示出的4类角色和实线框示出的5个组件。
其中,每个角色均具有互不相同的区块链账户,拥有由公钥和私钥组成的非对称密钥对,用于在区块链中发布信息或写入数据时证明自身的身份。不同角色的职责如下:
TEE程序开发方:负责开发数据访问程序和数据处理程序,并将开发完成的程序发布到区块链中。
TEE程序审核方:TEE程序审核方负责从区块链中获取TEE程序开发方发布的程序,并审核程序是否具有不可信的逻辑。如果审核通过,审核方使用自身的区块链账户向区块链中写入所审核程序“安全可信”的信息。
数据卖方:数据的拥有方,负责运行数据访问程序。
数据买方:数据的需求方,负责运行数据处理程序。
需要注意的是,某一实体可同时成为上述某一角色或多个角色。例如,买方可同时作为TEE程序开发方,开发相应的TEE程序,并由卖方担任TEE程序审核方对程序进行审核。又例如,卖方也可同时作为TEE程序开发方,开发相应的TEE程序,并由买方担任TEE程序审核方对程序进行审核。
下面对组件进行说明:
区块链:负责记录数据访问程序和数据处理程序及其特征信息,以及上述程序的审核结果。负责记录数据买卖双方达成的数据交易合同。采用SGX情况下,上述访问程序和数据处理程序特征信息为Enclave Measurement和Enclave开发者公钥。
交易合同:负责记录买卖双方达成的交易约定,例如可以约定:买卖双方的区块链账户公钥,使用的数据访问程序和数据处理程序及其特征信息,数据访问量上限(可为无穷大),TEE程序审核方的区块链账户公钥、随机数等。
数据访问程序:该程序应符合所采用TEE环境的要求,根据数据源不同可以是不同的数据处理程序。当采用Intel SGX时,该程序为Intel SGX的Enclave。该数据访问程序可以实现如下两个功能:a)为数据处理程序提供对数据源的访问接口;b)向区块链中写入数据处理程序实际发生的数据访问情况(数据访问量等),用于后续计费和结算。
对于上述a)功能,数据访问程序应基于区块链中记录的交易合同所明确的访问限制条件对数据处理程序的数据访问请求进行访问控制,例如当数据访问量已达到合同约定上限时拒绝相应的访问请求。
针对数据访问程序的审核通过条件可以是:1)是否真实无误地从数据源读取数据处理程序所需的数据;2)是否真实地将实际发生的数据访问情况写入区块链。
数据处理程序:该程序应符合所采用TEE环境的要求,对不同的数据分析处理需求可以是不同的数据处理程序。当采用Intel SGX时,该程序为Intel SGX的Enclave。数据处理程序可以实现如下两个功能:a)通过数据访问代理获得所需数据;b)对所获得的数据进行计算统计等处理,并且仅输出处理结果,任何情况下不输出原始数据信息。
针对数据处理程序的审核通过条件可以是:1)是否仅输出处理结果,任何情况下均未以任何形式输出原始数据信息或可推导出原始数据的任何信息。
数据源:负责存储卖方数据,可为任意类型的数据库系统、文件系统或其它数据存储服务。
下面对涉及到上述角色和组件的工作流程进行详细说明。
数据应用开发审核上线阶段:
该阶段完成数据访问程序和数据处理程序的开发和审核。流程如下:
A1.TEE程序开发方根据数据源数据存储机制(例如数据库类型)开发数据访问程序,根据数据处理分析需求开发相应的数据处理程序,并将开发好的程序发布到区块链中。
A2.TEE程序审核方从区块链中获取相应程序,并按照审核条件,对程序进行审核,审核通过后,TEE程序审核方使用自身区块链账户的私钥对审核结果签名 ,并将审核通过结果及其签名写入区块链。
买卖双方达成交易合同阶段:
如图4中的B1所示,买卖双方可通过任意方式达成交易合同,并将合同信息写入区块链。
合同执行阶段:
当交易合同写入区块链后,买卖双方即可开始合同的执行,如图4中的C1.1至C3.3。其中:
C1.1~C1.2为买卖双方启动TEE程序并初始化过程,包括:
卖方从区块链中获取交易合同和交易合同约定采用的数据访问程序,并检查该程序是否通过审核,检查方法为:a)使用交易合同中记录的TEE程序审核方区块链账户公钥对审核签名进行验证,判断验证是否通过;b)判断审核结果是否为“审核通过”。如果审核通过,则在由卖方选择的计算平台的TEE环境中启动数据访问程序。
卖方使用自身区块链账户的私钥对区块链上交易合同中的随机数和数据访问量上限进行签名,得到签名SignatureA,并将SignatureA输入数据访问程序,同时卖方将交易合同中约定的数据访问量上限等信息输入数据访问程序。
买方从区块链中获取交易合同和交易合同约定采用的数据处理程序,并检查该程序是否通过审核,检查方法为:a)使用交易合同中记录的TEE程序审核方区块链账户公钥对审核签名进行验证,判断验证是否通过;b)判断审核结果是否为“审核通过”。如果审核通过,则在由买方选择的计算平台的TEE环境中启动数据处理程序。
买方使用自身区块链账户的私钥对对区块链上交易合同中的随机数进行签名,得到签名SignatureB,并将SignatureB输入数据访问程序。
需要注意的是:上述买卖双方所选择的用于运行数据访问程序和数据处理程序可以是同一主机,也可以是不同主机。
C2.1~C2.2为数据访问程序和数据处理程序相互认证并建立端到端的安全传输通道的过程。具体地:
买卖双方使用TEE环境提供的机制完成自身和对方所运行程序完整性和正确性 的验证。如果验证不通过,则停止后续流程。(PS:此验证过程保证了数据访问程序和数据处理程序本身在运行时未被篡改,包括违背运行方篡改,未被所在主机的操作系统/木马等恶意程序篡改等情况)
采用Intel SGX情况下,上述验证机制采用SGX提供的远程证明(Remote Attestation)实现。远程证明机制为:a)数据访问程序和数据处理程序分别生成Quote(Quote中包含了Enclave Measurement、Enclave开发者公钥指纹);b)买卖双方交换数据访问程序和数据处理程序的Quote;c)买卖双方通过SGX提供的远程验证服务验证Quote的合法性;d)买卖双方验证Quote所包含的Enclave Measurement和Enclave开发者公钥指纹是否与区块链上交易合同中的对应信息一致。
买卖双方分别从对方运行的数据访问程序和数据处理程序获得SignatureA和SignatureB,使用区块链上交易合同中的对方区块链账户公钥、随机数和数据访问量上限验证SignatureA和SignatureB,如果验证不通过,则停止后续流程。值得注意的是,此验证过程保证了数据访问程序和数据处理程序是由交易合同中指定的买卖双方运行的。
上述验证通过,卖方给数据访问程序赋予卖方数据源的访问权限。买卖双方分别控制数据访问程序和数据处理程序建立端到端的安全传输通道,该通道可以是TLS、VPN或其他任意保证传输安全的通道,后续数据访问程序和数据处理程序之间的通信均在此安全通道中进行。
C3.1~C3.3为数据获取和处理过程。具体地:
数据处理程序向数据访问程序请求数据,数据访问代理根据实际发生的数据访问量是否超出交易合同中约定的数据访问量上限,对数据处理程序的数据请求作出响应,从数据源中读取数据并将数据返回数据处理程序。
数据处理程序根据自身数据计算处理逻辑,对数据进行相应的处理,并将数据处理结果输出。
数据访问程序使用私钥对数据处理程序实际发生的数据访问量签名后,将数据访问量和签名写入区块链,以便后续根据实际业务量进行计费和结算。
图5是根据一示例性实施例示出的一种电子设备500的框图,该电子设备可以提 供为本公开中的数据交易系统中的任意节点,用于执行本公开的数据处理方法中的任意步骤。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的数据处理方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal  Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据处理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的数据处理方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
实施例
1、一种数据处理方法,包括:从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的,其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致;在计算机的可信执行环境TEE中运行所述数据交易程序,其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理;获取所述数据交易程序的程序输出结果。
2、根据实施例1所述的方法,通过如下方式对所述数据交易程序进行审核:程序审核节点获取程序开发者上传的数据交易程序;在确定所述数据交易程序对数据的处理方式与所述区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名;将签名后的所述数据交易程序写入所述区块链网络;所述在计算机的可信执行环 境TEE中运行所述数据交易程序,包括:根据所述程序审核节点的公钥对从所述区块链网络中提取的数据交易程序进行签名认证,并在签名认证成功后,在计算机的可信执行环境TEE中运行所述数据交易程序。
3、根据实施例2所述的方法,所述数据交易合约是数据交易双方签定后存储到所述区块链网络的,所述数据交易合约包括以下至少一种:所述数据交易程序的程序输出结果不包括输入所述数据交易程序进行处理的数据;从所述数据源提取数据的方式;从所述数据源提取数据的数量限制条件信息。
4、根据实施例1-3所述的方法,述在计算机的可信执行环境TEE中运行所述数据交易程序包括:基于TEE验证机制,对所述数据交易程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据交易程序。
5、根据实施例1-3所述的方法,所述数据交易程序包括数据访问程序和数据处理程序,所述数据交易程序基于安全传输通道从数据源获取数据包括:根据所述数据处理节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到签名信息;将所述签名信息发送给所述数据访问程序,其中,所述数据访问程序在确定对所述签名信息的签名认证成功后,建立与所述数据处理程序之间的安全传输通道,以便所述数据处理程序基于所述数据访问程序通过所述安全传输通道从所述数据源获取到数据。
6、一种数据交易系统,包括:程序审核节点、数据买方节点以及数据卖方节点;所述程序审核节点用于对程序开发节点开发的数据交易程序进行审核,并在确定所述数据交易程序对数据的处理方式与区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名,将签名后的所述数据交易程序写入所述区块链网络;所述数据卖方节点和所述数据买方节点中的一者能够用于数据处理节点运行所述数据交易程序,所述数据处理节点用于执行本公开第一方面中所述的方法的步骤。
7、根据实施例6所述的数据交易系统,所述数据交易程序包括数据访问程序和数据处理程序,所述数据卖方节点作为所述数据处理节点运行所述数据访问程 序和所述数据处理程序;所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,并获取所述数据处理程序的程序输出结果;其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
8、根据实施例7所述的数据交易系统,所述数据处理节点用于:根据所述程序审核节点的公钥对所述数据访问程序和所述数据处理程序进行验证,并在确定所述数据访问程序和所述数据处理程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据访问程序和所述数据处理程序。
9、根据实施例6所述的数据交易系统,所述数据处理节点还用于:基于TEE验证机制,对所述数据处理程序和所述数据访问程序的运行代码和数据进行合法性验证以及完整性验证;在通过所述合法性验证以及所述完整性验证后,运行所述数据处理程序和所述数据访问程序。
10、根据实施例6所述的数据交易系统,所述数据买方节点用于,根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序,并根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;所述数据处理节点还用于:基于所述数据买方节点的公钥对所述第一签名信息和所述第二签名信息进行验证,在所述第一签名信息和所述第二签名信息均验证通过后,在所述TEE中运行所述数据访问程序和所述数据处理程序。
11、根据实施例6所述的数据交易系统,所述数据交易程序包括数据访问程序和数据处理程序,所述数据买方节点作为所述数据处理节点运行所述数据访问程序和所述数据处理程序;所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序 用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
11、根据实施例6所述的数据交易系统,所述数据交易程序包括数据访问程序和数据处理程序,所述数据买方节点作为所述数据处理节点运行所述数据访问程序和所述数据处理程序;所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
12、根据实施例6所述的数据交易系统,所述数据交易程序包括数据访问程序和数据处理程序,所述数据卖方节点运行所述数据访问程序,所述数据买方节点运行所述数据处理程序;所述数据卖方节点具体用于:从所述区块链网络中提取所述数据访问程序,并在计算机的可信执行环境TEE中运行所述数据访问程序,其中,所述数据访问程序基于安全传输通道从数据源获取数据;所述数据买方节点具体用于:从所述区块链网络中提取所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
13、根据实施例12所述的数据交易系统,所述数据卖方节点还用于:根据所述程序审核节点的公钥对所述数据访问程序进行验证,并确定所述数据访问程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据访问程序;所述数据买方节点还用于:根据所述程序审核节点的公钥对所述数据处理程序进行验证,并在确定所述数据处理程序已通过所述程序审核节点的审核后,在所述TEE中运行所述数据处理程序。
13、根据实施例12所述的数据交易系统,所述数据卖方节点用于根据所述数据卖方节点的私钥对所述数据处理合约中包括的随机数和/或数量限制条件信息进 行签名,得到第一签名信息,并将所述第一签名信息发送给所述数据访问程序;
所述数据买方节点用于根据所述数据买方节点的私钥对所述数据处理合约中包括的随机数进行签名,得到第二签名信息,并将所述第二签名信息发送给所述数据处理程序;所述数据卖方节点还用于基于所述数据买方节点的公钥对所述第二签名信息进行验证,在所述第二签名信息验证通过后,在所述TEE中运行所述数据访问程序;所述数据买方节点还用于基于所述数据卖方节点的公钥对所述第一签名信息进行验证,在所述第一签名信息验证通过后,在所述TEE中运行所述数据处理程序。

Claims (10)

  1. 一种数据处理方法,其特征在于,所述方法应用于数据处理节点,所述方法包括:
    从区块链网络中提取数据交易程序,所述数据交易程序是在程序审核通过后写入所述区块链网络中的,其中,所述程序审核通过至少表明该数据交易程序对数据的处理方式与数据交易合约中约定的数据处理方式一致;
    在计算机的可信执行环境TEE中运行所述数据交易程序,其中,所述数据交易程序用于基于安全传输通道从数据源获取数据,并对所述数据进行处理;
    获取所述数据交易程序的程序输出结果。
  2. 根据权利要求1所述的方法,其特征在于,通过如下方式对所述数据交易程序进行审核:
    程序审核节点获取程序开发者上传的数据交易程序;
    在确定所述数据交易程序对数据的处理方式与所述区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名;
    将签名后的所述数据交易程序写入所述区块链网络;
    所述在计算机的可信执行环境TEE中运行所述数据交易程序,包括:
    根据所述程序审核节点的公钥对从所述区块链网络中提取的数据交易程序进行签名认证,并在签名认证成功后,在计算机的可信执行环境TEE中运行所述数据交易程序。
  3. 根据权利要求2所述的方法,其特征在于,所述数据交易合约是数据交易双方签定后存储到所述区块链网络的,所述数据交易合约包括以下至少一种:
    所述数据交易程序的程序输出结果不包括输入所述数据交易程序进行处理的数据;
    从所述数据源提取数据的方式;
    从所述数据源提取数据的数量限制条件信息。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述在计算机的可信执行环境TEE中运行所述数据交易程序包括:
    基于TEE验证机制,对所述数据交易程序的运行代码和数据进行合法性验证以及完整性验证;
    在通过所述合法性验证以及所述完整性验证后,运行所述数据交易程序。
  5. 根据权利要求1-3任一项所述的方法,其特征在于,所述数据交易程序包括数据访问程序和数据处理程序,所述数据交易程序基于安全传输通道从数据源获取数据包括:
    根据所述数据处理节点的私钥对所述数据交易合约中包括的随机数和/或数量限制条件信息进行签名,得到签名信息;
    将所述签名信息发送给所述数据访问程序,其中,所述数据访问程序在确定对所述签名信息的签名认证成功后,建立与所述数据处理程序之间的安全传输通道,以便所述数据处理程序基于所述数据访问程序通过所述安全传输通道从所述数据源获取到数据。
  6. 一种数据交易系统,其特征在于,包括:
    程序审核节点、数据买方节点以及数据卖方节点;
    所述程序审核节点用于对程序开发节点开发的数据交易程序进行审核,并在确定所述数据交易程序对数据的处理方式与区块链网络中的数据交易合约中约定的数据处理方式一致的情况下,根据所述数据审核节点的私钥对所述数据交易程序进行签名,将签名后的所述数据交易程序写入所述区块链网络;
    所述数据卖方节点和所述数据买方节点中的一者能够用于数据处理节点运行所述数据交易程序,所述数据处理节点用于执行权利要求1-5任一项所述的方法。
  7. 根据权利要求6所述的数据交易系统,其特征在于,所述数据交易 程序包括数据访问程序和数据处理程序,所述数据买方节点作为所述数据处理节点运行所述数据访问程序和所述数据处理程序;
    所述数据处理节点具体用于:从所述区块链网络中提取所述数据访问程序和所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据访问程序和所述数据处理程序,获取所述数据处理程序的程序输出结果;
    其中,所述数据访问程序用于从数据源获取数据,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
  8. 根据权利要求6所述的数据交易系统,其特征在于,所述数据交易程序包括数据访问程序和数据处理程序,所述数据卖方节点运行所述数据访问程序,所述数据买方节点运行所述数据处理程序;
    所述数据卖方节点具体用于:从所述区块链网络中提取所述数据访问程序,并在计算机的可信执行环境TEE中运行所述数据访问
    程序,其中,所述数据访问程序基于安全传输通道从数据源获取数据;
    所述数据买方节点具体用于:从所述区块链网络中提取所述数据处理程序,并在计算机的可信执行环境TEE中运行所述数据处理程序,获取所述数据处理程序的程序输出结果;其中,所述数据处理程序用于基于所述数据处理程序与所述数据访问程序之间的安全传输通道获取所述数据,并在对所述数据进行处理后输出所述程序输出结果。
  9. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
  10. 一种电子设备,其特征在于,包括:
    存储器,其上存储有计算机程序;
    处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
PCT/CN2020/096652 2020-06-17 2020-06-17 数据处理方法、存储介质、电子设备及数据交易系统 WO2021253299A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/096652 WO2021253299A1 (zh) 2020-06-17 2020-06-17 数据处理方法、存储介质、电子设备及数据交易系统
CN202080005718.3A CN113015973B (zh) 2020-06-17 2020-06-17 数据处理方法、存储介质、电子设备及数据交易系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/096652 WO2021253299A1 (zh) 2020-06-17 2020-06-17 数据处理方法、存储介质、电子设备及数据交易系统

Publications (1)

Publication Number Publication Date
WO2021253299A1 true WO2021253299A1 (zh) 2021-12-23

Family

ID=76385276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/096652 WO2021253299A1 (zh) 2020-06-17 2020-06-17 数据处理方法、存储介质、电子设备及数据交易系统

Country Status (2)

Country Link
CN (1) CN113015973B (zh)
WO (1) WO2021253299A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901498B (zh) * 2021-10-15 2023-12-26 北京智融云河科技有限公司 一种数据共享方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270179A1 (en) * 2011-07-21 2014-09-18 Huawei Technologies Co., Ltd. Method and system for key generation, backup, and migration based on trusted computing
CN109933987A (zh) * 2018-11-30 2019-06-25 上海点融信息科技有限责任公司 用于区块链网络的密钥生成方法、签名方法、存储介质、计算设备
CN110245506A (zh) * 2019-05-30 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的智能合约管理方法及装置、电子设备
CN110580412A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
CN110580262A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 基于智能合约的隐私数据查询方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016154001A1 (en) * 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
CN110266659B (zh) * 2019-05-31 2020-09-25 联想(北京)有限公司 一种数据处理方法和设备
CN110659994A (zh) * 2019-09-27 2020-01-07 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及系统
CN111127013B (zh) * 2019-12-24 2023-12-29 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270179A1 (en) * 2011-07-21 2014-09-18 Huawei Technologies Co., Ltd. Method and system for key generation, backup, and migration based on trusted computing
CN109933987A (zh) * 2018-11-30 2019-06-25 上海点融信息科技有限责任公司 用于区块链网络的密钥生成方法、签名方法、存储介质、计算设备
CN110245506A (zh) * 2019-05-30 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的智能合约管理方法及装置、电子设备
CN110580412A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 基于链代码的权限查询配置方法及装置
CN110580262A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 基于智能合约的隐私数据查询方法及装置

Also Published As

Publication number Publication date
CN113015973B (zh) 2023-08-11
CN113015973A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
TWI723658B (zh) 基於區塊鏈中智慧合約保護交易活動敏感資料的方法和設備
US10841307B2 (en) User ID codes for online verification
US20210089300A1 (en) System and method for identifying particular computer platform associated with potential altered or falsified execution of copy of software
CN107341702B (zh) 一种业务处理的方法及装置
US11888837B1 (en) Client registration for authorization
CN110166442B (zh) 一种基于区块链的数据处理方法和装置
US20210065267A1 (en) Eligibility for access to restricted goods and services using zero-knowledge proofs
Nizamuddin et al. Blockchain-based framework for protecting author royalty of digital assets
CN109978688A (zh) 分布式共识系统之访问控制方法及其契约产生器与服务器
US11876801B2 (en) User ID codes for online verification
CN110246039B (zh) 基于联盟链的交易监测方法、装置及电子设备
CN111770112B (zh) 一种信息共享方法、装置及设备
WO2021253299A1 (zh) 数据处理方法、存储介质、电子设备及数据交易系统
TWI644270B (zh) 具監管機制的帳聯網系統及其實施方法
CN114945931A (zh) 用于减轻票据融资欺诈的方法和设备
CN114329567A (zh) 投标文件生成方法、校验方法、电子设备及介质
Mirzamohammadi et al. Tabellion: Secure legal contracts on mobile devices
Stampernas Blockchain technologies and smart contracts in the context of the Internet of Things
WO2020252753A1 (zh) 区块链节点设备及其认证方法、装置、存储介质
CN114830159A (zh) 用于减轻票据融资欺诈的方法和设备
Yang et al. Video transaction algorithm considering FISCO alliance chain and improved trusted computing
JP7334280B2 (ja) プログラム検証方法及び装置、プラットフォーム及びユーザ端末、並びに、オンラインサービスシステム
KR20230126799A (ko) Ai 모델의 신뢰 환경 구축을 위한 프레임워크 및 프레임워크를 이용한 ai 모델의 공정성 검증 방법
CN114663120A (zh) 评论数据存储方法、装置、服务器及存储介质
CN117474682A (zh) 一种数据处理方法、装置、介质和设备

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: 20940703

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20940703

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 19/06/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20940703

Country of ref document: EP

Kind code of ref document: A1