WO2021073170A1 - 数据提供和融合的方法及装置 - Google Patents

数据提供和融合的方法及装置 Download PDF

Info

Publication number
WO2021073170A1
WO2021073170A1 PCT/CN2020/100400 CN2020100400W WO2021073170A1 WO 2021073170 A1 WO2021073170 A1 WO 2021073170A1 CN 2020100400 W CN2020100400 W CN 2020100400W WO 2021073170 A1 WO2021073170 A1 WO 2021073170A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
public key
cluster
encryption result
fusion
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2020/100400
Other languages
English (en)
French (fr)
Inventor
余超凡
王磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Publication of WO2021073170A1 publication Critical patent/WO2021073170A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Definitions

  • One or more embodiments of this specification relate to the field of data security, and in particular to methods and devices for data fusion by multiple parties.
  • One or more embodiments of this specification describe methods and devices for data provision and data fusion, which can perform data provision and data fusion more safely, efficiently and conveniently.
  • a method for providing data for data fusion which is executed by a first data provider, and the method includes: determining first data to be fused, for adding to the first data The decrypted first symmetric key and the first public key information of the data acquisition party corresponding to the first data; the cluster public key is used to encrypt the first symmetric key and the first public key information to generate the first Encryption result; wherein the cluster public key is the public key of an authenticated trusted computing cluster, and the trusted computing cluster is used for data fusion; storing the first encryption result in a data management platform; using the The first symmetric key encrypts the first data to generate a second encryption result; and stores the second encryption result in the data management platform.
  • the method before generating the first encryption result, further includes: remotely authenticating the trusted computing cluster; and obtaining the cluster public key if the authentication is passed.
  • performing remote authentication on the trusted computing cluster specifically includes: receiving a report file from the trusted computing cluster, where the report file includes the code hash of the fusion task running in the cluster, and the cluster The signature information of the computing unit in the computer; sending the report file to a third-party certification body to obtain a certification result file, the certification result file containing the code hash and the agency signature information of the third-party certification body; In the case where the verification of the agency signature information is successful and the code hash meets the expectation, it is determined that the trusted computing cluster has passed the authentication.
  • performing remote authentication on the trusted computing cluster specifically includes: receiving an authentication result file from the trusted computing cluster, where the authentication result file is a file certified by a third-party certification authority and includes The code hash of the running fusion task, and the agency signature information of the third-party certification agency; in the case that the agency signature information is successfully verified and the code hash meets expectations, it is determined that the trusted computing cluster is certified by.
  • the first public key information is a public key list, which includes multiple public keys corresponding to multiple data acquirers.
  • the method further includes: determining the second data to be fused and the corresponding second public key information of the data acquiring party; encrypting the first symmetric secret key and the second public key using the cluster public key Public key information to generate a third encryption result; store the third encryption result in a data management platform; use the first symmetric key to encrypt the second data to generate a fourth encryption result; encrypt the fourth The result is stored in the data management platform.
  • a data management method which is executed by a data management platform, the method comprising: receiving a first request from a trusted computing cluster, the first request being used to request a related key for the first data
  • the trusted computing cluster is used for data fusion; the first encryption result stored by the first data provider is obtained, and the first encryption result is encrypted by using the cluster public key of the trusted computing cluster to encrypt the first symmetric secret Key and first public key information, where the first symmetric secret key is used to encrypt and decrypt the first data, and the first public key information is the public key of the data acquirer corresponding to the first data.
  • a data fusion method which is executed by a trusted computing cluster, the method comprising: sending a first request to a data management platform, the first request being used to request a related key of the first data Receiving a first encryption result from the data management platform, the first encryption result being generated by encrypting the first symmetric secret key and the first public key information using the cluster public key of the trusted computing cluster, wherein the first symmetric The secret key is used to encrypt and decrypt the first data, the first public key information is the public key information of the data acquisition party corresponding to the first data; the cluster private key corresponding to the cluster public key is used, Decrypt the first encryption result to obtain the first symmetric secret key and the first public key information; send a second request to the data management platform, the second request is used to request the first data; Receiving a second encryption result from the data management platform, the second encryption result being generated by encrypting the first data using the first symmetric key; decrypting the second encryption using the first symmetric key As
  • the above method further includes storing the third encryption result in the data management platform.
  • the first public key information is a public key list, which includes multiple public keys corresponding to multiple data acquisition parties; in this case, the generating the fusion encryption result includes using the multiple A public key encrypts the fusion data, and multiple pieces of encrypted data are obtained as the fusion encryption result.
  • a device for providing data for data fusion which is deployed in a first data provider, and the device includes: a first determining unit configured to determine first data to be fused, for The first symmetric secret key for encrypting and decrypting the first data, and the first public key information of the data acquiring party corresponding to the first data; the first encryption unit is configured to encrypt the first public key using the cluster public key A symmetric secret key and the first public key information to generate a first encryption result; wherein, the cluster public key is a public key of an authenticated trusted computing cluster, and the trusted computing cluster is used for data fusion; A storage unit configured to store the first encryption result in a data management platform; a second encryption unit configured to encrypt the first data using the first symmetric key to generate a second encryption result; second storage A unit configured to store the second encryption result in the data management platform.
  • a data management device deployed on a data management platform, the device comprising: a first request receiving unit configured to receive a first request from a trusted computing cluster, the first request being used for Request the relevant secret key of the first data; the trusted computing cluster is used for data fusion; the first obtaining unit is configured to obtain the first encryption result stored by the first data provider, and the first encryption result is used
  • the cluster public key of the trusted computing cluster is generated by encrypting a first symmetric secret key and first public key information, wherein the first symmetric secret key is used to encrypt and decrypt the first data, and the first public key is used to encrypt and decrypt the first data.
  • the key information is the public key information of the data acquirer corresponding to the first data; the first sending unit is configured to send the first encryption result to the trusted computing cluster; the second request receiving unit is configured to receive The trusted computing cluster receives a second request, the second request is for requesting first data; a second obtaining unit is configured to obtain a second encryption result stored by the first data provider, and the second encryption The result is generated by encrypting the first data using the first symmetric key; the second sending unit is configured to send the second encryption result to the trusted computing cluster for it to target the first data Perform decryption and data fusion.
  • a data fusion device deployed in a trusted computing cluster comprising: a first request sending unit configured to send a first request to a data management platform, and the first request is used for For requesting the relevant secret key of the first data; the first receiving unit is configured to receive the first encryption result from the data management platform, and the first encryption result encrypts the first symmetric secret by using the cluster public key of the trusted computing cluster Key and first public key information, where the first symmetric secret key is used to encrypt and decrypt the first data, and the first public key information is the public key of the data acquirer corresponding to the first data.
  • a first decryption unit configured to use the cluster private key corresponding to the cluster public key to decrypt the first encryption result to obtain the first symmetric secret key and the first public key information;
  • second The request sending unit is configured to send a second request to the data management platform, the second request is used to request the first data;
  • the second receiving unit is configured to receive a second encryption result from the data management platform, The second encryption result is generated by encrypting the first data using the first symmetric key;
  • a second decryption unit is configured to decrypt the second encryption result using the first symmetric key to obtain the First data;
  • a fusion unit configured to perform a data fusion operation based on at least the first data to generate fusion data;
  • a fusion encryption unit configured to use the first public key information to encrypt the fusion data to generate fusion encryption The result is available to the data acquirer.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the method of one of the first aspect to the third aspect.
  • a computing device including a memory and a processor, characterized in that executable code is stored in the memory, and when the processor executes the executable code, the first aspect to the first aspect are implemented.
  • executable code is stored in the memory, and when the processor executes the executable code, the first aspect to the first aspect are implemented.
  • the data provider stores the encrypted data in the data management platform through the authentication phase, the data storage phase, and the data fusion phase, and performs data fusion through the authenticated trusted computing cluster .
  • the result of the fusion is encrypted with the public key of the data acquirer, so as to be provided to the authorized data acquirer in a targeted manner. In this way, data provision and data fusion can be carried out more safely, efficiently and conveniently.
  • Figure 1 is a schematic diagram of an implementation scenario of an embodiment disclosed in this specification
  • Figure 2 is a schematic diagram of an authentication phase according to an embodiment
  • Fig. 3 shows a schematic diagram of a data storage stage according to an embodiment
  • Figure 4 shows a schematic diagram of a data fusion stage according to an embodiment
  • Fig. 5 shows a schematic block diagram of a data providing apparatus deployed on a data provider according to an embodiment
  • Figure 6 shows a schematic block diagram of a data management device deployed on a data management platform according to an embodiment
  • Fig. 7 shows a schematic block diagram of a data fusion device deployed in a trusted computing cluster according to an embodiment.
  • Fig. 1 is a schematic diagram of an implementation scenario of an embodiment disclosed in this specification.
  • the data provision and fusion system mainly involves a data provider 100, a data management platform 200 and a trusted computing cluster 300 for data fusion.
  • the data provider 100 is used to provide data to be fused. Although only one data provider is shown in FIG. 1, in actual scenarios, there are often multiple data providers.
  • the trusted computing cluster 300 is used for data fusion processing, and data from various data providers can be fused or further processed.
  • the data provider does not directly interact with the trusted computing cluster 300 that executes the fusion service, but instead entrusts and authorizes an intermediate data management platform to store the data. And management. That is, the data provider 100 encrypts and stores the data to be fused to the data management platform 200, and the trusted computing cluster 300 reads the data to be fused from the data management platform 200 for further processing according to processing needs.
  • the whole process can be divided into an authentication phase, a data storage phase and a data fusion phase.
  • the data provider 100 passes remote authentication to confirm that the trusted computing cluster 300 is running in a trusted execution environment and the converged services running therein meet expectations. After the authentication is passed, the data provider 100 obtains the cluster public key PubK-TEE of the trusted computing cluster 300.
  • the data provider 100 In the data storage stage, for the data X to be shared and merged, the data provider 100 encrypts it with the symmetric key KX, and stores the encrypted data En(X) thus generated in the data management platform 200.
  • the data provider 100 also uses the above-mentioned cluster public key PubK-TEE to encrypt the above-mentioned symmetric secret key KX and the public key Pub-KC of the data acquisition party authorized to obtain the fusion data, and the thus obtained encryption key En(KX , Pub-KC) is also stored in the data management platform 200.
  • the trusted computing cluster 300 first obtains the encryption key En (KX, Pub-KC) from the data management platform 200, and uses its own private key to decrypt to obtain the symmetric key KX and the data acquisition party public key Pub-KC. Then the encrypted data En(X) is obtained, and the obtained symmetric key KX is used to decrypt it to obtain the original data X, and then the data X can be fused. Finally, use the public key Pub-KC of the data acquirer to encrypt the fused data X'for the data acquirer to acquire.
  • En KX, Pub-KC
  • the data provider 100 and the trusted computing cluster 300 can safely, efficiently and conveniently perform data provision and data fusion.
  • the results of the fusion can be provided to designated authorized acquirers in a targeted manner, so as to achieve targeted access control to the results of the fusion.
  • Fig. 2 is a schematic diagram of an authentication phase according to an embodiment, which shows the authentication process of a trusted computing cluster by a data provider.
  • the trusted computing cluster 300 is a computing cluster composed of trusted computing units running in a Trusted Execution Environment (TEE), which includes multiple trusted computing units as working nodes.
  • a trusted computing unit is a computing module or computing device that has a certain isolation capability to ensure computing security. Its isolation capability can ensure that the outside world, including operating systems or drivers, cannot obtain secrets such as internal runtime memory.
  • the aforementioned trusted computing unit may be a trusted computing enclave, for example, implemented by using technologies such as SGX or Trust Zone. For example, according to SGX technology, by providing a series of CPU instruction codes, allowing user code to create a private memory area with high access rights to form a computing enclave.
  • Other application programs including operating system OS, BIOS system, virtual machine system, etc., cannot access the data in the encircled Enclave, and cannot spy on and tamper with the state and data of the application programs in it.
  • the above-mentioned trusted computing cluster 300 is used to perform data fusion, and each trusted computing unit therein will run the computing task of the above-mentioned data fusion service. Because it runs in a trusted execution environment, for example, a trusted computing unit implemented as an enclave can ensure that the code of the data fusion task is isolated from the outside world, and the operation of the fusion task is safe and data is not leaked.
  • each trusted computing unit will perform trusted authentication with each other.
  • the content of trusted authentication includes confirming that other trusted computing units are running in the TEE environment, and confirming that both parties are running the same computing task, that is, the code hash with the same computing task.
  • the cluster secret key will be synchronized between the trusted computing units, so that each trusted computing unit that joins the same trusted computing cluster has the same computing task code hash and maintains the same cluster secret.
  • the secret key is generally an asymmetric secret key pair, including the cluster public key and the cluster private key.
  • each trusted computing unit added to the trusted computing cluster 300 for data fusion business has the code hash of the data fusion business, and all the clusters of the cluster 300 are maintained.
  • Public key PubK-TEE and cluster private key PriK-TEE PubK-TEE and cluster private key PriK-TEE.
  • a certain data provider shown as data provider A in FIG. 2, can authenticate the credibility of the trusted computing cluster 300, and after passing the authentication, obtain its cluster public key PubK-TEE.
  • the data provider A authenticates the trusted computing cluster 300 by means of remote authentication (RA). Since each trusted computing unit in the trusted computing cluster 300 maintains the same code hash and cluster secret key, in specific operations, the data provider A can perform RA authentication with any trusted computing unit in the cluster.
  • RA remote authentication
  • the data provider A first sends an authentication request to the trusted computing cluster 300 (more specifically, to any trusted computing unit in the trusted computing cluster 300).
  • the trusted computing cluster 300 sends authentication information to the data provider A.
  • the trusted computing unit in the trusted computing cluster 300 generates a report file and returns it to the data provider as authentication information.
  • the report file is used to describe the configuration and operation status of the computing unit itself.
  • the report file includes at least the hash value of the program code of the fusion task running in the trusted computing unit (also running in the trusted computing cluster), called code hash, and the signature information of the computing unit .
  • the code hash can be used to uniquely identify the computing task running in it, and the signature information can ensure the authenticity of the report file and prevent forgery and tampering.
  • the report file may also include other description information of the fusion computing task running in it, such as name, version, attribute information, etc., as well as software and hardware configuration information of the trusted computing unit itself.
  • data provider A After data provider A receives the above message file, it can send the report file to a third-party certification body to obtain a certification result file.
  • third-party certification bodies are credible and authoritative certification bodies with certification capabilities.
  • each trusted computing unit will be registered with the third-party certification authority before being put into use. Therefore, the third-party certification structure registers the configuration status of each trusted computing unit, so that it can be subsequently authenticated.
  • the third-party certification authority is an Intel certification server (Attestation Service).
  • the third-party certification authority may be an organization that produces and deploys the corresponding computing unit or its associated organization.
  • the third-party certification body can authenticate the security and credibility of the computing unit based on the report file. Specifically, the third-party certification authority first verifies whether the report file is authentic and without tampering according to the signature information in the report file, and judges whether the computing unit is indeed authentic according to the information registered in advance by each trusted computing unit maintained. In addition, the third-party certification agency also verifies whether the computing task is running in a trusted execution environment based on the relevant information of the computing task in the report file.
  • the third-party organization can add its own signature to the report file to generate a certification result file.
  • the certification result file contains the above code hash and the agency signature information of the third-party certification agency.
  • the data provider A may verify the organization signature in the authentication result file, and if the verification passes, confirm that the trusted computing cluster is running in a trusted computing environment.
  • the data provider A also uses the above code hash to determine whether the converged business executed in the cluster meets expectations. In the case where the institutional signature verification is successful and the above code hash meets expectations, it is determined that the trusted computing cluster 300 has passed the authentication.
  • the trusted computing unit in the trusted computing cluster 300 after the trusted computing unit in the trusted computing cluster 300 generates the report file, it sends it to a third-party certification authority for verification, and obtains a certification result file from the third-party certification authority.
  • the certification result file contains the above code hash and the agency signature information of the third-party certification agency.
  • the above-mentioned trusted computing unit returns the authentication result file to the data provider A as authentication information.
  • Step 203 is the same as described above.
  • the data provider A performs remote authentication on the trusted computing cluster 300.
  • the data provider A obtains the cluster public key PubK-TEE of the trusted computing cluster 300 and stores it locally.
  • the data provider A confirms that the trusted computing cluster 300 is in the trusted computing environment through the remote authentication RA, in which the required fusion computing tasks are running. On this basis, data provider A obtains the cluster public key PubK-TEE of the cluster, which is used for encryption in the data storage phase.
  • Fig. 3 shows a schematic diagram of a data storage stage according to an embodiment.
  • the data provider A has stored the cluster public key PubK-TEE of the trusted computing cluster 300.
  • the data storage phase can include the following steps.
  • step 301 the data provider A determines the first data to be fused (for simplicity, it is recorded as data X), and the first symmetric key used to encrypt and decrypt the first data X (for simplicity, it is recorded as KX) , And the first public key information of the data acquiring party corresponding to the first data X (denoted as PubK-C).
  • the data provider A uses a unified symmetric secret key to encrypt the data to be shared, which facilitates the secret key management of the data provider.
  • the first symmetric key KX in step 301 is the unified symmetric key.
  • the data provider A may set or generate a different symmetric key for each piece of data to be shared.
  • the corresponding first symmetric key KX may be generated for the first data X, or the first symmetric key KX generated in advance for the first data X may be read.
  • the symmetric key KX This can enhance the security of the data; even if the encryption key of one data block is cracked, the security of other data blocks will not be affected.
  • the data provider A can set up data acquirers who have the right to obtain the corresponding fusion results according to the content of each piece of data to be fused, and obtain the public keys of these data acquirers in advance.
  • the data provider A can determine the acquirer who has the right to acquire the fusion result corresponding to the first data X, and acquire its public key as the above-mentioned first public key information PubK-C.
  • the data provider A may authorize multiple institutions as the data acquirer who has the right to read the fusion result of the first data X.
  • the first public key information may be a public key list, which contains multiple public keys corresponding to the multiple authorized data acquisition parties.
  • step 302 the data provider A uses the cluster public key PubK-TEE to encrypt the first symmetric secret key KX and the first public key information PubK-C, and generates a first encryption result, which can be denoted as En(KX, PubK -C). It can be understood that the foregoing encryption process can be implemented using various asymmetric encryption algorithms.
  • step 303 the data provider A stores the first encryption result En (KX, PubK-C) in the data management platform 200.
  • step 304 the data provider A uses the above-mentioned first symmetric key KX to encrypt the first data X, and generates a second encryption result, denoted as En(X). It can be understood that the foregoing encryption process can be implemented using various symmetric encryption algorithms.
  • step 305 the data provider A stores the above-mentioned second encryption result En(X) in the data management platform 200.
  • steps 302-303 and steps 304-305 can be executed in parallel or in any order, which is not limited here.
  • the process in which the data provider A stores its encrypted data to the data management platform is described. This process can be similarly applied to other data to be fused.
  • the data provider A may also store the relevant encryption result corresponding to the second data Y to the data management platform through the above process.
  • the cluster public key is used to encrypt the unified symmetric key (equivalent to the aforementioned first symmetric key KX) and the first symmetric key.
  • the second public key information corresponding to the two data generates a third encryption result; in step 304, the second data Y is encrypted using the unified symmetric secret key to generate a fourth encryption result.
  • the data provider A similarly uploads the aforementioned third encryption result and the fourth encryption result to the data management platform 200 for storage.
  • step 301 a second symmetric key KY generated for the second data Y is obtained.
  • step 302 use the cluster public key to encrypt the second symmetric key KY and the second public key information to generate a third encryption result;
  • step 304 use the second symmetric key KY to encrypt the second data Y to generate a fourth encryption result.
  • the above-mentioned third encryption result and fourth encryption result are stored in the data management platform 200.
  • the above process can also be similarly applied to other data providers.
  • the data provider B can also store the relevant encryption results of the to-be-fused data Z in the data management platform through the above process.
  • each data provider stores the encrypted data in the intervening data management platform 200 instead of real-time data interaction with the trusted computing cluster 300 that performs data fusion
  • the above data storage process can be performed offline.
  • the data stored in the data management platform 200 is encrypted data, and the data management platform 200 itself does not have a secret key for decryption, the data management platform 200 cannot snoop on the plaintext content of the data, and no data will be generated. Give way.
  • the data management platform 200 stores encrypted data uploaded by each data provider. These encrypted data are used to provide the trusted computing cluster 300 in the data fusion stage to perform data fusion.
  • Fig. 4 shows a schematic diagram of a data fusion stage according to an embodiment.
  • the example of FIG. 3 is continued in FIG. 4.
  • the data fusion stage includes at least the following steps.
  • step 401 the trusted computing cluster 300 sends a first request to the data management platform 200 for requesting the relevant secret key of the first data. Since each trusted computing unit in the trusted computing cluster 300 runs the same fusion computing task and maintains a common cluster public key private key pair, this step and subsequent steps can be performed by any of the trusted computing cluster 300 Trusted computing unit execution.
  • the data management platform 200 sends the first encryption result En(KX, PubK-C) to the trusted computing cluster 300.
  • the first encryption result En(KX, PubK-C) is generated by using the cluster public key PubK-TEE of the trusted computing cluster 300 to encrypt the first symmetric key KX and the first public key information PubK-C ,
  • the first symmetric secret key KX is used to encrypt and decrypt the first data X
  • the first public key information PubK-C is the public key information of the data acquirer corresponding to the first data X.
  • the trusted computing cluster 300 After receiving the first encryption result, in step 403, the cluster private key PriK-TEE corresponding to the cluster public key PubK-TEE can be used to decrypt the first encryption result En(KX, PubK-C) to obtain the first symmetric The secret key KX and the first public key information PubK-C.
  • step 404 the trusted computing cluster 300 sends a second request to the data management platform 200 for requesting the first data X.
  • the data management platform 200 sends the second encryption result En(X) to the trusted computing cluster 300.
  • the second encryption result En(X) is generated by encrypting the first data X with the first symmetric key KX.
  • the trusted computing cluster 300 uses the first symmetric key KX decrypted in the foregoing step 403 to decrypt the second encryption result En(X), thereby obtaining Plain text data of the first data X.
  • the trusted computing cluster 300 performs a data fusion operation based on at least the first data X to generate fusion data X'.
  • the above data fusion operation may be further processing of the first data X, or may be combined with other data blocks for comprehensive processing.
  • the above data fusion operation is a fusion processing operation performed by combining data from multiple different data providers.
  • the trusted computing cluster 300 uses the first public key information PubK-C decrypted in step 403 to encrypt the above-mentioned fusion data X', and generates a fusion encryption result En(X') for the data acquirer to obtain.
  • PubK-C public key information
  • the trusted computing cluster 300 is mainly used to perform computing tasks without persistent storage. Therefore, after obtaining the above-mentioned fusion encryption result En(X'), the trusted computing cluster 300 can store it in any storage system, such as an object storage service OSS system or a MYSQL database. In one embodiment, the trusted computing cluster 300 stores the generated fusion encryption result En(X') in the aforementioned data management platform 200 to reuse its data management capabilities.
  • the fusion encryption result En(X') is encrypted using the first public key information PubK-C
  • only authorized data acquisition parties can restore the fusion result.
  • the authorized data acquisition party may use the private key corresponding to the public key in the first public key information to decrypt the fusion encryption result En(X'), thereby obtaining the plaintext of the fusion result X'. In this way, the authorized use of data and access control are ensured.
  • the data provider A may authorize multiple institutions as the data acquirer who has the right to read the fusion result of the first data X.
  • the first public key information PubK-C is a public key list, which contains multiple public keys corresponding to the multiple authorized data acquisition parties, such as C1, C2,..., Cn.
  • the trusted computing cluster 300 uses the aforementioned multiple public keys C1, C2,..., Cn to perform asymmetric encryption on the fusion result X', and obtain multiple encrypted data as the aforementioned fusion encryption result.
  • each authorized data acquisition party can read the encrypted data encrypted with its own public key from the fusion encryption result, and decrypt it with its own private key, thereby recovering the plaintext data of the fusion result X' .
  • the data provider stores the encrypted data in the data management platform, and performs data fusion through the authenticated trusted computing cluster.
  • the result of the fusion is encrypted with the public key of the data acquirer, so as to be provided to the authorized data acquirer in a targeted manner.
  • the data provider can set the data user (trusted computing cluster) and data acquirer for each data block, so as to perform authorization of data use behavior and access control of the fusion result in a targeted manner, so that The output and acquisition of fusion results are safer.
  • the solution in the embodiment introduces a data management platform as an intermediate layer to decouple the data provider and the data user (trusted computing cluster).
  • the data management platform only manages encrypted data, but does not have the corresponding private key, so the plaintext of the data cannot be stolen or snooped.
  • the data management platform as the middle layer, the data provider only needs to upload the data to be fused once, and the data user does not need to upload the data repeatedly for multiple use.
  • the data provider only needs to upload the data offline in advance, and does not need to deploy a data providing service to transmit data in real time with the converged business.
  • the solution of the embodiment of this specification can perform data provision and data fusion more safely, efficiently and conveniently.
  • a device for providing data for data fusion is provided.
  • the device can be deployed on a data provider, and the data provider can be implemented as any device, platform or device cluster with computing and processing capabilities.
  • Fig. 5 shows a schematic block diagram of a data providing apparatus deployed on a data provider according to an embodiment. As shown in FIG.
  • the data providing device 500 includes: a first determining unit 501 configured to determine first data to be merged, a first symmetric key used to encrypt and decrypt the first data, and The first public key information of the data acquisition party corresponding to the first data; the first encryption unit 502 is configured to encrypt the first symmetric secret key and the first public key information using the cluster public key to generate a first encryption result; Wherein, the cluster public key is a public key of an authenticated trusted computing cluster, and the trusted computing cluster is used for data fusion; the first storage unit 503 is configured to store the first encryption result in the data management Platform; a second encryption unit 504, configured to use the first symmetric key to encrypt the first data to generate a second encryption result; a second storage unit 505, configured to store the second encryption result in the Data management platform.
  • a first determining unit 501 configured to determine first data to be merged, a first symmetric key used to encrypt and decrypt the first data, and The first public key information of the data acquisition party corresponding to the first
  • the above-mentioned apparatus 500 further includes (not shown): an authentication unit configured to remotely authenticate the trusted computing cluster; and a public key obtaining unit configured to obtain the The cluster public key.
  • the authentication unit is specifically configured to receive a report file from the trusted computing cluster, the report file including the code hash of the fusion task running in the cluster, and the signature of the computing unit in the cluster Information; send the report file to a third-party certification body to obtain a certification result file, the certification result file contains the code hash, and the third-party certification body’s agency signature information; sign the information at the agency If the verification is successful and the code hash meets expectations, it is determined that the trusted computing cluster has passed the authentication.
  • the above authentication unit is specifically configured to receive an authentication result file from the trusted computing cluster, where the authentication result file is a file certified by a third-party certification authority and contains code for the fusion task running in the cluster Hash, and the agency signature information of the third-party certification agency; if the verification of the agency signature information is successful and the code hash meets expectations, it is determined that the trusted computing cluster has passed the certification.
  • the first public key information may be a public key list, which includes multiple public keys corresponding to multiple data acquirers.
  • the device 500 may further include (not shown): a second determining unit configured to determine the second data to be merged and the corresponding second public key information of the data acquiring party; and third encryption A unit configured to use the cluster public key to encrypt the first symmetric secret key and the second public key information to generate a third encryption result; a third storage unit configured to store the third encryption result in a data management platform A fourth encryption unit, configured to use the first symmetric key to encrypt the second data to generate a fourth encryption result; a fourth storage unit, configured to store the fourth encryption result in the data management platform .
  • a data management device is provided.
  • the device can be deployed on a data management platform, and the data management platform can be implemented as any device, platform or device cluster with processing and storage capabilities.
  • Fig. 6 shows a schematic block diagram of a data management device deployed on a data management platform according to an embodiment. As shown in FIG.
  • the data management apparatus 600 includes: a first request receiving unit 601 configured to receive a first request from a trusted computing cluster, the first request being used to request a related key of the first data;
  • the trusted computing cluster is used for data fusion;
  • the first obtaining unit 602 is configured to obtain the first encryption result stored by the first data provider, and the first encryption result uses the cluster public key of the trusted computing cluster It is generated by encrypting a first symmetric key and first public key information, wherein the first symmetric key is used to encrypt and decrypt the first data, and the first public key information is corresponding to the first data
  • the first sending unit 603 is configured to send the first encryption result to the trusted computing cluster;
  • the second request receiving unit 604 is configured to receive the second encryption result from the trusted computing cluster Request, the second request is used to request the first data;
  • the second obtaining unit 605 is configured to obtain a second encryption result stored by the first data provider, and the second encryption result uses the first
  • a data fusion device is provided, and the device can be deployed in a trusted computing cluster.
  • Fig. 7 shows a schematic block diagram of a data fusion device deployed in a trusted computing cluster according to an embodiment.
  • the data fusion device 700 includes: a first request sending unit 701 configured to send a first request to the data management platform, where the first request is used to request a related key of the first data;
  • the unit 702 is configured to receive a first encryption result from the data management platform, the first encryption result being generated by encrypting the first symmetric secret key and the first public key information using the cluster public key of the trusted computing cluster, wherein
  • the first symmetric key is used to encrypt and decrypt the first data, and the first public key information is the public key information of the data acquisition party corresponding to the first data;
  • the first decryption unit 703 is configured to use The cluster private key corresponding to the cluster public key decrypts the first encryption result to obtain the first symmetric secret key and the first public key information;
  • the data fusion device 700 further includes a storage unit configured to store the third encryption result in the data management platform.
  • the first public key information is a public key list, which includes multiple public keys corresponding to multiple data acquisition parties; in this case, the fusion encryption unit 708 is configured to: use the Multiple public keys encrypt the fusion data, and multiple copies of encrypted data are obtained as the fusion encryption result.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the method described in conjunction with FIG. 2 to FIG. 4.
  • a computing device including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, a combination of FIGS. 2 to 4 is implemented. The method described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种数据提供和数据融合的方法和装置。根据该方法,在认证阶段,数据提供方对可信计算集群进行认证,认证通过后,获取其集群公钥。在数据存储阶段,对于有待融合的数据,数据提供方采用对称秘钥对其进行加密,将生成的加密数据存储到数据管理平台。此外,还采用集群公钥,对对称秘钥以及数据获取方公钥进行加密,将如此得到的加密秘钥也存储到数据管理平台。在数据融合阶段,可信计算集群从数据管理平台获取加密秘钥,利用自身私钥解密得到对称秘钥和数据获取方公钥。然后获取加密数据,利用对称秘钥解密得到原始数据,进行融合处理。最后,利用数据获取方公钥对融合后的数据进行加密,以供数据获取方获取。

Description

数据提供和融合的方法及装置 技术领域
本说明书一个或多个实施例涉及数据安全领域,尤其涉及多方进行数据融合的方法和装置。
背景技术
随着计算机技术的发展,数据交互需求越来越大,如何在数据交互或融合过程中,保证数据的安全和隐私性,成为重要的问题。例如,在一种场景下,需要将数据提供方A和B各自的数据进行融合,提供给数据需求方C。然而,数据提供方A和B可能自身不具有融合能力,或者数据提供方A和B之间并不能互相信任,从而不会直接将自身数据发送给对方。在采用第三方计算平台进行融合的情况下,如何保证该第三方计算平台的可信性,以及如何保证与第三方计算平台通信过程中数据的安全性,这些都是数据安全领域需要考虑的问题。
因此,希望能有改进的方案,可以更加安全、高效、便利地进行数据提供和数据融合。
发明内容
本说明书一个或多个实施例描述了数据提供和数据融合的方法和装置,可以更加安全、高效、便利地进行数据提供和数据融合。
根据第一方面,提供了一种提供数据以供进行数据融合的方法,通过第一数据提供方执行,所述方法包括:确定有待融合的第一数据,用于对所述第一数据进行加解密的第一对称秘钥,以及所述第一数据对应的数据获取方的第一公钥信息;使用集群公钥加密所述第一对称秘钥和所述第一公钥信息,生成第一加密结果;其中,所述集群公钥是经过认证的可信计算集群的公钥,所述可信计算集群用于进行数据融合;将所述第一加密结果存储到数据管理平台;使用所述第一对称秘钥加密所述第一数据,生成第二加密结果;将所述第二加密结果存储到所述数据管理平台。
在一个实施例中,在生成第一加密结果之前,该方法还包括:对所述可信计算集群进行远程认证;在认证通过的情况下,获取所述集群公钥。
进一步的,在一个示例中,对所述可信计算集群进行远程认证具体包括:从所述可信计算集群接收报告文件,所述报告文件包括集群中运行的融合任务的代码哈希,以及集群中计算单元的签名信息;将所述报告文件发送至第三方认证机构,以获得认证结果文件,所述认证结果文件包含所述代码哈希,以及所述第三方认证机构的机构签名信息;在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
在另一示例中,对所述可信计算集群进行远程认证具体包括:从所述可信计算集群接收认证结果文件,所述认证结果文件为经过第三方认证机构认证的文件,其中包含集群中运行的融合任务的代码哈希,以及该第三方认证机构的机构签名信息;在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
根据一种实施方式,所述第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥。
在一个实施例中,所述方法还包括:确定有待融合的第二数据,以及对应的数据获取方的第二公钥信息;使用集群公钥加密所述第一对称秘钥和所述第二公钥信息,生成第三加密结果;将所述第三加密结果存储到数据管理平台;使用所述第一对称秘钥加密所述第二数据,生成第四加密结果;将所述第四加密结果存储到所述数据管理平台。
根据第二方面,提供了一种数据管理的方法,通过数据管理平台执行,所述方法包括:从可信计算集群接收第一请求,所述第一请求用于请求第一数据的相关秘钥;所述可信计算集群用于进行数据融合;获取由第一数据提供方存储的第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;向所述可信计算集群发送所述第一加密结果;从所述可信计算集群接收第二请求,所述第二请求用于请求第一数据;获取由所述第一数据提供方存储的第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;向所述可信计算集群发送所述第二加密结果,以供其针对所述第一数据进行解密和数据融合。
根据第三方面,提供了一种数据融合的方法,通过可信计算集群执行,所述方法包括:向数据管理平台发送第一请求,所述第一请求用于请求第一数据的相关秘钥;从数 据管理平台接收第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;使用与所述集群公钥对应的集群私钥,解密所述第一加密结果,得到所述第一对称秘钥和所述第一公钥信息;向所述数据管理平台发送第二请求,所述第二请求用于请求所述第一数据;从所述数据管理平台接收第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;使用所述第一对称秘钥解密所述第二加密结果,得到所述第一数据;至少基于所述第一数据,进行数据融合操作,生成融合数据;利用所述第一公钥信息,加密所述融合数据,生成融合加密结果,以供数据获取方获取。
在一个实施例中,上述方法还包括,将所述第三加密结果存储到所述数据管理平台。
根据一种实施方式,第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥;在这样的情况下,所述生成融合加密结果包括,分别使用所述多个公钥加密所述融合数据,得到多份加密数据作为所述融合加密结果。
根据第四方面,提供了一种提供数据以供进行数据融合的装置,部署在第一数据提供方中,所述装置包括:第一确定单元,配置为确定有待融合的第一数据,用于对所述第一数据进行加解密的第一对称秘钥,以及所述第一数据对应的数据获取方的第一公钥信息;第一加密单元,配置为使用集群公钥加密所述第一对称秘钥和所述第一公钥信息,生成第一加密结果;其中,所述集群公钥是经过认证的可信计算集群的公钥,所述可信计算集群用于进行数据融合;第一存储单元,配置为将所述第一加密结果存储到数据管理平台;第二加密单元,配置为使用所述第一对称秘钥加密所述第一数据,生成第二加密结果;第二存储单元,配置为将所述第二加密结果存储到所述数据管理平台。
根据第五方面,提供了一种数据管理的装置,部署在数据管理平台,所述装置包括:第一请求接收单元,配置为从可信计算集群接收第一请求,所述第一请求用于请求第一数据的相关秘钥;所述可信计算集群用于进行数据融合;第一获取单元,配置为获取由第一数据提供方存储的第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;第一发送单元,配置为向所述可信计算集群发送所述第一加密结果;第二请求接收单元,配置为从所述可信计算集群接收第二请求,所述第二请求用于请求第一数据;第二获取单元,配置为获取由所述第一数据提供方存储的第二加密结果,所述第二加密结果通过 使用所述第一对称秘钥加密所述第一数据而生成;第二发送单元,配置为向所述可信计算集群发送所述第二加密结果,以供其针对所述第一数据进行解密和数据融合。
根据第六方面,提供了一种数据融合的装置,部署在可信计算集群中,所述装置包括:第一请求发送单元,配置为向数据管理平台发送第一请求,所述第一请求用于请求第一数据的相关秘钥;第一接收单元,配置为从数据管理平台接收第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;第一解密单元,配置为使用与所述集群公钥对应的集群私钥,解密所述第一加密结果,得到所述第一对称秘钥和所述第一公钥信息;第二请求发送单元,配置为向所述数据管理平台发送第二请求,所述第二请求用于请求所述第一数据;第二接收单元,配置为从所述数据管理平台接收第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;第二解密单元,配置为使用所述第一对称秘钥解密所述第二加密结果,得到所述第一数据;融合单元,配置为至少基于所述第一数据,进行数据融合操作,生成融合数据;融合加密单元,配置为利用所述第一公钥信息,加密所述融合数据,生成融合加密结果,以供数据获取方获取。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面到第三方面之一的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面到第三方面之一的方法。
根据本说明书实施例提供的方法和装置,通过认证阶段、数据存储阶段和数据融合阶段,数据提供方将加密后的数据存储到数据管理平台,并通过经过认证的可信计算集群执行数据的融合。融合的结果使用数据获取方公钥进行加密,从而针对性地提供给授权的数据获取方。如此,更加安全、高效、便利地进行数据提供和数据融合。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其 它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为根据一个实施例的认证阶段的示意图;
图3示出根据一个实施例的数据存储阶段的示意图;
图4示出根据一个实施例的数据融合阶段的示意图;
图5示出根据一个实施例的部署在数据提供方的数据提供装置的示意性框图;
图6示出根据一个实施例的部署在数据管理平台的数据管理装置的示意性框图;
图7示出根据一个实施例的部署在可信计算集群的数据融合装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,数据提供和融合系统主要涉及数据提供方100,数据管理平台200和用于进行数据融合的可信计算集群300。数据提供方100用于提供待融合处理的数据。尽管在图1中仅示出一个数据提供方,但是实际场景中,往往存在多个数据提供方。可信计算集群300用于进行数据融合处理,可以将来自各个数据提供方的数据进行融合或进一步处理。然而,在本说明书一个实施例的场景中,数据提供方并不直接和执行融合业务的可信计算集群300直接进行待融合数据的交互,而是委托和授权中间的数据管理平台进行数据的存储和管理。也就是说,数据提供方100将有待融合的数据加密存储到数据管理平台200,可信计算集群300根据处理需要,从数据管理平台200读取待融合的数据进行进一步处理。
为了确保数据传输过程中的安全性以及数据融合过程中多方的便利性,整个过程可以划分为认证阶段,数据存储阶段和数据融合阶段。
在认证阶段,数据提供方100通过远程认证,确认可信计算集群300运行在可信执行环境中,且其中运行的融合业务符合预期。在认证通过之后,数据提供方100获取可信计算集群300的集群公钥PubK-TEE。
在数据存储阶段,对于有待共享和融合的数据X,数据提供方100采用对称秘钥KX对其进行加密,将如此生成的加密数据En(X)存储到数据管理平台200。此外,数据提供方100还采用上述集群公钥PubK-TEE,对上述对称秘钥KX,以及授权获取融合 数据的数据获取方公钥Pub-KC进行加密,将如此得到的加密秘钥En(KX,Pub-KC)也存储到数据管理平台200。
在数据融合阶段,可信计算集群300首先从数据管理平台200获取加密秘钥En(KX,Pub-KC),利用自身私钥解密得到对称秘钥KX和数据获取方公钥Pub-KC。然后获取加密数据En(X),利用得到的对称秘钥KX对其进行解密,得到原始数据X,于是可以对数据X进行融合处理。最后,利用数据获取方公钥Pub-KC对融合后的数据X’进行加密,以供数据获取方获取。
通过以上过程,经由数据管理平台200,数据提供方100和可信计算集群300可以安全、高效、便利地进行数据提供和数据融合。并且,融合的结果可以针对性地提供给指定的授权获取方,从而实现对融合结果的针对性访问控制。
下面描述以上各个阶段的具体执行过程。
图2为根据一个实施例的认证阶段的示意图,其中示出数据提供方对可信计算集群的认证过程。
如图2所示,可信计算集群300是由运行在可信执行环境TEE(Trusted Execution Environment)中的可信计算单元所构成的计算集群,其中包含多个可信计算单元作为工作节点。可信计算单元是具有一定隔离能力从而保证计算安全性的计算模块或计算设备,其隔离能力可以保证外界,包括操作系统或驱动等,都无法获取内部的运行时内存等秘密。例如,上述可信计算单元可以是可信的计算围圈Enclave,比如采用SGX或Trust Zone等技术而实现。例如,根据SGX技术,通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域而形成计算围圈Enclave。其他应用程序,包括操作系统OS,BIOS系统,虚拟机系统等,均不能访问围圈Enclave中的数据,也就不能窥探和篡改其中应用程序的状态和数据。
根据本说明书的实施例,上述可信计算集群300用于执行数据融合,那么,其中的各个可信计算单元中都会运行上述数据融合业务的计算任务。由于运行在可信执行环境中,例如实现为围圈Enclave的可信计算单元可以保证数据融合任务的代码与外界的隔离,确保融合任务的运行安全,数据不外泄。
需要理解,在多个可信计算单元形成可信计算集群的过程中,各个可信计算单元会彼此进行可信认证。可信认证的内容包括,确认其他可信计算单元运行在TEE环境中,以及确认双方运行同样的计算任务,也就是具有同样的计算任务的代码哈希。认证通过 之后,可信计算单元之间会同步集群秘钥,从而使得,加入同一可信计算集群的每个可信计算单元中都具有同样的计算任务代码哈希,以及维持有同样的集群秘钥,该秘钥一般为非对称秘钥对,包括集群公钥和集群私钥。相应的,如图2所示,加入到用于进行数据融合业务的可信计算集群300的每个可信计算单元,都具有数据融合业务的代码哈希,并且都维持有该集群300的集群公钥PubK-TEE和集群私钥PriK-TEE。
在认证阶段,某个数据提供方,图2中示出为数据提供方A,可以对可信计算集群300的可信性进行认证,在认证通过后,获取其集群公钥PubK-TEE。
在一个实施例中,数据提供方A通过远程认证RA(Remote Attestation)的方式,对可信计算集群300进行认证。由于可信计算集群300中各个可信计算单元维持有相同的代码哈希和集群秘钥,因此,在具体操作中,数据提供方A可以与集群中任意可信计算单元进行RA认证。
为了进行远程认证,在步骤201,数据提供方A首先向可信计算集群300(更具体的,向可信计算集群300中任一可信计算单元)发送认证请求。响应于该认证请求,在步骤202,可信计算集群300向数据提供方A发送认证信息。
在一个实施例中,可信计算集群300中的可信计算单元生成报告文件,将其作为认证信息返回给数据提供方。其中,该报告文件用于描述该计算单元自身配置状况和运行状况。具体的,该报告文件至少包括,可信计算单元中运行的(也是该可信计算集群中运行的)融合任务的程序代码的哈希值,称为代码哈希,以及该计算单元的签名信息,其中代码哈希可以用于唯一地标识其中运行的计算任务,签名信息可以保证报告文件的真实可靠,防止伪造和篡改。可选的,该报告文件中还可以包括其中运行的融合计算任务的其他描述信息,例如名称、版本、属性信息等等,以及可信计算单元自身的软件和硬件配置信息。
数据提供方A接收到上述报文文件后,可以将该报告文件发送至第三方认证机构,以获得认证结果文件。
可以理解,上述第三方认证机构是可信的、具有认证能力的权威认证机构。通常,假定各个可信计算单元在投入使用之前,会向该第三方认证机构进行注册,因此,该第三方认证结构登记有各个可信计算单元的配置状况,从而后续可以对其进行认证。
例如,在上述可信计算单元是通过Intel SGX实现的可信围圈Enclave的情况下,该第三方认证机构即为Intel认证服务器(Attestation Service)。在可信计算单元通过其他 方式实现的情况下,该第三方认证机构可以是生产、部署对应计算单元的机构或其关联机构。
在接收到上述报告文件后,第三方认证机构可以基于该报告文件,对计算单元的安全性和可信性进行认证。具体地,第三方认证机构首先根据报告文件中的签名信息,认证该报告文件是否真实无篡改,并根据维护的各个可信计算单元预先注册的信息,判断该计算单元是否确实可信。此外,第三方认证机构还根据报告文件中的计算任务的相关信息,验证其中的计算任务是否运行在可信执行环境中。
在对上述报告文件进行验证且验证通过的情况下,第三方机构可以在该报告文件上添加自身的签名,生成认证结果文件。也就是说,该认证结果文件中包含上述代码哈希,以及第三方认证机构的机构签名信息。
于是,在步骤203,数据提供方A可以对认证结果文件中的机构签名进行校验,校验通过的情况下,确认该可信计算集群运行在可信计算环境中。此外,数据提供方A还通过上述代码哈希,判断集群中执行的融合业务是否符合预期。在机构签名校验成功,且上述代码哈希符合预期的情况下,确定可信计算集群300认证通过。
在另一实施例中,可信计算集群300中的可信计算单元生成报告文件后,将其发送给第三方认证机构进行验证,并从第三方认证机构获得认证结果文件。如前所述,该认证结果文件中包含上述代码哈希,以及第三方认证机构的机构签名信息。在步骤202,上述可信计算单元将该认证结果文件作为认证信息返回给数据提供方A。步骤203与前述相同。
如此,数据提供方A对可信计算集群300进行了远程认证。在认证通过的情况下,在步骤204,数据提供方A获取可信计算集群300的集群公钥PubK-TEE,将其存储在本地。
通过以上过程,数据提供方A通过远程认证RA,确认了可信计算集群300处于可信计算环境中,其中运行的是所需的融合计算任务。在此基础上,数据提供方A获取该集群的集群公钥PubK-TEE,用于数据存储阶段的加密。
下面描述数据存储阶段的具体执行过程。
图3示出根据一个实施例的数据存储阶段的示意图。如图3所示,经过前述的认证阶段,数据提供方A中已经存储了可信计算集群300的集群公钥PubK-TEE。数据存储阶段可以包括以下步骤。
首先在步骤301,数据提供方A确定有待融合的第一数据(简单起见,记为数据X),用于对该第一数据X进行加解密的第一对称秘钥(简单起见记为KX),以及该第一数据X对应的数据获取方的第一公钥信息(记为PubK-C)。
在一个实施例中,数据提供方A采用统一的对称秘钥,来加密待分享数据,如此便于数据提供方的秘钥管理。在这样的情况下,步骤301中的第一对称秘钥KX即为该统一对称秘钥。
在另一实施例中,数据提供方A可以针对每块待分享的数据,设置或生成不同的对称秘钥。相应的,在步骤301,在确定第一数据X为待融合数据后,可以针对该第一数据X生成对应的第一对称秘钥KX,或者读取预先针对该第一数据X生成的第一对称秘钥KX。如此可以增强数据的安全性;即使一个数据块的加密秘钥被破解,也不会影响其他数据块的安全性。
此外,数据提供方A可以根据每块待融合数据的内容,设置有权获取对应融合结果的数据获取方,并预先获取这些数据获取方的公钥。相应的,对于第一数据X,数据提供方A可以确定有权获取第一数据X对应的融合结果的获取方,并获取其公钥作为上述第一公钥信息PubK-C。
在一个实施例中,数据提供方A有可能授权多个机构,作为有权读取第一数据X的融合结果的数据获取方。在这样的情况下,第一公钥信息可以是一个公钥列表,其中包含上述多个被授权的数据获取方对应的多个公钥。
接着,在步骤302,数据提供方A使用上述集群公钥PubK-TEE,加密第一对称秘钥KX和第一公钥信息PubK-C,生成第一加密结果,可以记为En(KX,PubK-C)。可以理解,上述加密过程可以采用各种非对称加密算法实现。
然后,在步骤303,数据提供方A将第一加密结果En(KX,PubK-C)存储到数据管理平台200。
此外,在步骤304,数据提供方A使用上述第一对称秘钥KX,加密第一数据X,生成第二加密结果,记为En(X)。可以理解,上述加密过程可以采用各种对称加密算法实现。
然后,在步骤305,数据提供方A将上述第二加密结果En(X)存储到数据管理平台200。
需要说明的是,以上步骤302-303,与步骤304-305,可以并行执行,或以任意先后 顺序执行,在此不做限定。
以上以第一数据X为例,描述了数据提供方A将其加密数据存储到数据管理平台的过程。这一过程可以类似的应用于其他待融合数据。例如,数据提供方A还可以通过上述过程,将第二数据Y对应的相关加密结果,存储到数据管理平台。
具体的,对于第二数据Y,如果数据提供方A采用统一的对称秘钥,那么在步骤302,用集群公钥加密该统一的对称秘钥(等同于前述第一对称秘钥KX)和第二数据对应的第二公钥信息,生成第三加密结果;在步骤304,使用该统一对称秘钥加密第二数据Y,生成第四加密结果。数据提供方A类似的将上述第三加密结果和第四加密结果上传存储到数据管理平台200。
如果数据提供方A采用不同的对称秘钥,那么在步骤301,获取针对该第二数据Y生成的第二对称秘钥KY。在步骤302,用集群公钥加密该第二对称秘钥KY和第二公钥信息,生成第三加密结果;在步骤304,使用第二对称秘钥KY加密第二数据Y,生成第四加密结果。上述第三加密结果和第四加密结果被存储到数据管理平台200。
可以理解,以上过程也可以类似的应用于其他数据提供方。例如数据提供方B,也可以通过上述过程,将其中的待融合数据Z的相关加密结果存储到数据管理平台。
由于各个数据提供方是将加密数据存储到居间的数据管理平台200,而不是与执行数据融合的可信计算集群300进行实时数据交互,因此,以上的数据存储过程可以离线进行。并且,由于存储到数据管理平台200的都是经过加密的数据,而数据管理平台200本身并不具有解密用的秘钥,所以,数据管理平台200无法窥探到数据的明文内容,不会产生数据泄露。
通过以上的数据存储过程,数据管理平台200中存储了各个数据提供方上传的加密数据。这些加密数据用于在数据融合阶段提供给可信计算集群300,从而进行数据融合。
图4示出根据一个实施例的数据融合阶段的示意图。图4中延续图3的示例。如图所示,经过图3的数据存储阶段,数据管理平台200中至少已经存储了数据提供方A上传的第一加密结果En(KX,PubK-C),和第二加密结果En(X)。基于此,数据融合阶段至少包括以下步骤。
在步骤401,可信计算集群300向数据管理平台200发送第一请求,用于请求第一数据的相关秘钥。由于可信计算集群300中每个可信计算单元运行有相同的融合计算任务,且维持有共同的集群公钥私钥对,因此,该步骤以及后续步骤可以由可信计算集群 300中任意的可信计算单元执行。
响应于该第一请求,在步骤402,数据管理平台200向可信计算集群300发送第一加密结果En(KX,PubK-C)。如前所述,该第一加密结果En(KX,PubK-C)通过使用可信计算集群300的集群公钥PubK-TEE加密第一对称秘钥KX和第一公钥信息PubK-C而生成,其中第一对称秘钥KX用于对第一数据X进行加解密,第一公钥信息PubK-C为第一数据X对应的数据获取方的公钥信息。
由于该第一加密结果En(KX,PubK-C)是使用集群公钥PubK-TEE采用非对称加密算法加密生成的,可信计算集群300(更具体的,其中任意的可信计算单元)在接收到该第一加密结果后,在步骤403,可以使用与集群公钥PubK-TEE对应的集群私钥PriK-TEE,解密该第一加密结果En(KX,PubK-C),得到第一对称秘钥KX和第一公钥信息PubK-C。
在步骤404,可信计算集群300向数据管理平台200发送第二请求,用于请求第一数据X。
响应于该请求,在步骤405,数据管理平台200向可信计算集群300发送第二加密结果En(X)。如前所述,该第二加密结果En(X)通过使用第一对称秘钥KX加密第一数据X而生成。
在获取到第二加密结果En(X)后,在步骤406,可信计算集群300使用前述步骤403中解密得到的第一对称秘钥KX,解密该第二加密结果En(X),从而得到第一数据X的明文数据。
于是,在步骤407,可信计算集群300至少基于第一数据X,进行数据融合操作,生成融合数据X’。可以理解,以上的数据融合操作可以是对第一数据X进行进一步的处理,也可以是结合其他数据块进行综合处理。在一个实施例中,以上的数据融合操作是结合多个不同数据提供方的数据进行的融合处理操作。
然后,在步骤408,可信计算集群300利用步骤403解密得到的第一公钥信息PubK-C,加密上述融合数据X’,生成融合加密结果En(X’),以供数据获取方获取。可以理解,该加密过程可以采用各种非对称加密算法实现。
一般而言,可信计算集群300主要用于执行计算任务,而不进行持久化存储。因此,在得到上述融合加密结果En(X’)后,可信计算集群300可以将其存储到任意的存储系统中,例如存储到对象存储服务OSS系统,或MYSQL数据库中。在一个实施例中, 可信计算集群300将生成的融合加密结果En(X’)存储到前述的数据管理平台200,以复用其数据管理能力。
可以理解,由于该融合加密结果En(X’)是使用第一公钥信息PubK-C加密的,因此,只有授权的数据获取方才可以还原出融合结果。具体的,授权的数据获取方可以采用与第一公钥信息中的公钥对应的私钥,对融合加密结果En(X’)进行解密,从而得到融合结果X’的明文。如此,确保了数据的授权使用和访问控制。
在一个实施例中,数据提供方A有可能授权多个机构,作为有权读取第一数据X的融合结果的数据获取方。此时,第一公钥信息PubK-C是一个公钥列表,其中包含上述多个被授权的数据获取方对应的多个公钥,例如C1,C2,…,Cn。在这样的情况下,可信计算集群300分别使用上述多个公钥C1,C2,…,Cn,对融合结果X’进行非对称加密,得到多份加密数据作为上述融合加密结果。相应地,每个被授权的数据获取方可以从融合加密结果中读取利用自身公钥加密的那份加密数据,并利用自身私钥对其进行解密,从而恢复出融合结果X’的明文数据。
回顾以上,通过以上的认证阶段、数据存储阶段和数据融合阶段,数据提供方将加密后的数据存储到数据管理平台,并通过经过认证的可信计算集群执行数据的融合。融合的结果使用数据获取方公钥进行加密,从而针对性地提供给授权的数据获取方。以上的方案至少具有以下特点和优势。
首先,基于密码学知识的方案往往采用同态加密算法保证数据安全,然而这也将融合业务限制在支持同态运算的融合计算范围中,通用性不够好,计算效率低。而说明书实施例中的方案采用运行在可信执行环境TEE中的可信计算集群,比如SGX,来执行数据融合。在解密出数据明文后,集群中的计算单元即可以接近于原生CPU的速度运行,效率高,速度快,并且支持任何代码可表示的融合计算,更加通用。
其次,根据以上至少一个实施例的方案,数据提供方可以针对各个数据块设置数据使用方(可信计算集群)和数据获取方,从而针对性进行数据使用行为授权和融合结果的访问控制,使得融合结果的产出和获取更加安全。
此外,实施例中的方案引进了数据管理平台作为中间层,为数据提供方和数据使用方(可信计算集群)解耦。数据管理平台只管理加密数据,却不具有对应私钥,因此无法窃取或窥探到数据明文。在数据管理平台作为中间层的基础上,数据提供方只需将待融合数据进行一次上传即可,数据使用方多次使用不需要数据提供方重复上传。并且, 数据提供方只需要事先将数据离线上传,而无需部署数据提供服务来实时配合融合业务传输数据。
由此,在以上多个方面,本说明书实施例的方案可以更加安全、高效、便利地进行数据提供和数据融合。
根据另一方面的实施例,提供了一种提供数据以供进行数据融合的装置,该装置可以部署在数据提供方,数据提供方可以实现为任何具有计算、处理能力的设备、平台或设备集群中。图5示出根据一个实施例的部署在数据提供方的数据提供装置的示意性框图。如图5所示,该数据提供装置500包括:第一确定单元501,配置为确定有待融合的第一数据,用于对所述第一数据进行加解密的第一对称秘钥,以及所述第一数据对应的数据获取方的第一公钥信息;第一加密单元502,配置为使用集群公钥加密所述第一对称秘钥和所述第一公钥信息,生成第一加密结果;其中,所述集群公钥是经过认证的可信计算集群的公钥,所述可信计算集群用于进行数据融合;第一存储单元503,配置为将所述第一加密结果存储到数据管理平台;第二加密单元504,配置为使用所述第一对称秘钥加密所述第一数据,生成第二加密结果;第二存储单元505,配置为将所述第二加密结果存储到所述数据管理平台。
在一个实施例中,上述装置500还包括(未示出):认证单元,配置为对所述可信计算集群进行远程认证;公钥获取单元,配置为在认证通过的情况下,获取所述集群公钥。
进一步的,在一个示例中,所述认证单元具体配置为:从所述可信计算集群接收报告文件,所述报告文件包括集群中运行的融合任务的代码哈希,以及集群中计算单元的签名信息;将所述报告文件发送至第三方认证机构,以获得认证结果文件,所述认证结果文件包含所述代码哈希,以及所述第三方认证机构的机构签名信息;在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
在另一示例中,上述认证单元具体配置为:从所述可信计算集群接收认证结果文件,所述认证结果文件为经过第三方认证机构认证的文件,其中包含集群中运行的融合任务的代码哈希,以及该第三方认证机构的机构签名信息;在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
根据一种实施方式,第一公钥信息可以为公钥列表,其中包括对应于多个数据获取方的多个公钥。
在一个实施例中,所述装置500还可以包括(未示出):第二确定单元,配置为确定有待融合的第二数据,以及对应的数据获取方的第二公钥信息;第三加密单元,配置为使用集群公钥加密所述第一对称秘钥和所述第二公钥信息,生成第三加密结果;第三存储单元,配置为将所述第三加密结果存储到数据管理平台;第四加密单元,配置为使用所述第一对称秘钥加密所述第二数据,生成第四加密结果;第四存储单元,配置为将所述第四加密结果存储到所述数据管理平台。
根据又一方面的实施例,提供了一种数据管理的装置,该装置可以部署在数据管理平台,数据管理平台可以实现为任何具有处理、存储能力的设备、平台或设备集群中。图6示出根据一个实施例的部署在数据管理平台的数据管理装置的示意性框图。如图6所示,该数据管理装置600包括:第一请求接收单元601,配置为从可信计算集群接收第一请求,所述第一请求用于请求第一数据的相关秘钥;所述可信计算集群用于进行数据融合;第一获取单元602,配置为获取由第一数据提供方存储的第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;第一发送单元603,配置为向所述可信计算集群发送所述第一加密结果;第二请求接收单元604,配置为从所述可信计算集群接收第二请求,所述第二请求用于请求第一数据;第二获取单元605,配置为获取由所述第一数据提供方存储的第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;第二发送单元606,配置为向所述可信计算集群发送所述第二加密结果,以供其针对所述第一数据进行解密和数据融合。
根据又一方面的实施例,提供了一种数据融合的装置,该装置可以部署在可信计算集群中。图7示出根据一个实施例的部署在可信计算集群的数据融合装置的示意性框图。如图7所示,该数据融合装置700包括:第一请求发送单元701,配置为向数据管理平台发送第一请求,所述第一请求用于请求第一数据的相关秘钥;第一接收单元702,配置为从数据管理平台接收第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;第一解密单元703,配置为使用与所述集群公钥对应的集群私钥,解密所述第一加密结果,得到所述第一对称秘钥和所述第一公钥信息;第二请求发送单元704,配置为向所述数据管理平台发送第二请求,所述第二请求用于请求所述第一数据;第二接收单元705,配置为从所述数据管理平台接收第二加密结果,所述第二加密结果通过使用所 述第一对称秘钥加密所述第一数据而生成;第二解密单元706,配置为使用所述第一对称秘钥解密所述第二加密结果,得到所述第一数据;融合单元707,配置为至少基于所述第一数据,进行数据融合操作,生成融合数据;融合加密单元708,配置为利用所述第一公钥信息,加密所述融合数据,生成融合加密结果,以供数据获取方获取。
在一个实施例中,数据融合装置700还包括存储单元,配置为将所述第三加密结果存储到所述数据管理平台。
根据一种实施方式,第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥;在这样的情况下,所述融合加密单元708配置为:分别使用所述多个公钥加密所述融合数据,得到多份加密数据作为所述融合加密结果。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2到图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2到图4所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

  1. 一种提供数据以供进行数据融合的方法,通过第一数据提供方执行,所述方法包括:
    确定有待融合的第一数据,用于对所述第一数据进行加解密的第一对称秘钥,以及所述第一数据对应的数据获取方的第一公钥信息;
    使用集群公钥加密所述第一对称秘钥和所述第一公钥信息,生成第一加密结果;其中,所述集群公钥是经过认证的可信计算集群的公钥,所述可信计算集群用于进行数据融合;
    将所述第一加密结果存储到数据管理平台;
    使用所述第一对称秘钥加密所述第一数据,生成第二加密结果;
    将所述第二加密结果存储到所述数据管理平台。
  2. 根据权利要求1所述的方法,其中,在生成第一加密结果之前,还包括:
    对所述可信计算集群进行远程认证;
    在认证通过的情况下,获取所述集群公钥。
  3. 根据权利要求2所述的方法,其中,对所述可信计算集群进行远程认证包括:
    从所述可信计算集群接收报告文件,所述报告文件包括集群中运行的融合任务的代码哈希,以及集群中计算单元的签名信息;
    将所述报告文件发送至第三方认证机构,以获得认证结果文件,所述认证结果文件包含所述代码哈希,以及所述第三方认证机构的机构签名信息;
    在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
  4. 根据权利要求2所述的方法,其中,对所述可信计算集群进行远程认证包括:
    从所述可信计算集群接收认证结果文件,所述认证结果文件为经过第三方认证机构认证的文件,其中包含集群中运行的融合任务的代码哈希,以及该第三方认证机构的机构签名信息;
    在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
  5. 根据权利要求1所述的方法,其中,所述第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥。
  6. 根据权利要求1所述的方法,还包括:
    确定有待融合的第二数据,以及对应的数据获取方的第二公钥信息;
    使用集群公钥加密所述第一对称秘钥和所述第二公钥信息,生成第三加密结果;
    将所述第三加密结果存储到数据管理平台;
    使用所述第一对称秘钥加密所述第二数据,生成第四加密结果;
    将所述第四加密结果存储到所述数据管理平台。
  7. 一种数据管理的方法,通过数据管理平台执行,所述方法包括:
    从可信计算集群接收第一请求,所述第一请求用于请求第一数据的相关秘钥;所述可信计算集群用于进行数据融合;
    获取由第一数据提供方存储的第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;
    向所述可信计算集群发送所述第一加密结果;
    从所述可信计算集群接收第二请求,所述第二请求用于请求第一数据;
    获取由所述第一数据提供方存储的第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;
    向所述可信计算集群发送所述第二加密结果,以供其针对所述第一数据进行解密和数据融合。
  8. 一种数据融合的方法,通过可信计算集群执行,所述方法包括:
    向数据管理平台发送第一请求,所述第一请求用于请求第一数据的相关秘钥;
    从数据管理平台接收第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;
    使用与所述集群公钥对应的集群私钥,解密所述第一加密结果,得到所述第一对称秘钥和所述第一公钥信息;
    向所述数据管理平台发送第二请求,所述第二请求用于请求所述第一数据;
    从所述数据管理平台接收第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;
    使用所述第一对称秘钥解密所述第二加密结果,得到所述第一数据;
    至少基于所述第一数据,进行数据融合操作,生成融合数据;
    利用所述第一公钥信息,加密所述融合数据,生成融合加密结果,以供数据获取方 获取。
  9. 根据权利要求8所述的方法,还包括,将所述第三加密结果存储到所述数据管理平台。
  10. 根据权利要求8所述的方法,其中,所述第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥;
    所述生成融合加密结果,包括:
    分别使用所述多个公钥加密所述融合数据,得到多份加密数据作为所述融合加密结果。
  11. 一种提供数据以供进行数据融合的装置,部署在第一数据提供方中,所述装置包括:
    第一确定单元,配置为确定有待融合的第一数据,用于对所述第一数据进行加解密的第一对称秘钥,以及所述第一数据对应的数据获取方的第一公钥信息;
    第一加密单元,配置为使用集群公钥加密所述第一对称秘钥和所述第一公钥信息,生成第一加密结果;其中,所述集群公钥是经过认证的可信计算集群的公钥,所述可信计算集群用于进行数据融合;
    第一存储单元,配置为将所述第一加密结果存储到数据管理平台;
    第二加密单元,配置为使用所述第一对称秘钥加密所述第一数据,生成第二加密结果;
    第二存储单元,配置为将所述第二加密结果存储到所述数据管理平台。
  12. 根据权利要求11所述的装置,还包括:
    认证单元,配置为对所述可信计算集群进行远程认证;
    公钥获取单元,配置为在认证通过的情况下,获取所述集群公钥。
  13. 根据权利要求12所述的装置,其中,所述认证单元配置为:
    从所述可信计算集群接收报告文件,所述报告文件包括集群中运行的融合任务的代码哈希,以及集群中计算单元的签名信息;
    将所述报告文件发送至第三方认证机构,以获得认证结果文件,所述认证结果文件包含所述代码哈希,以及所述第三方认证机构的机构签名信息;
    在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
  14. 根据权利要求12所述的装置,其中,所述认证单元配置为:
    从所述可信计算集群接收认证结果文件,所述认证结果文件为经过第三方认证机构 认证的文件,其中包含集群中运行的融合任务的代码哈希,以及该第三方认证机构的机构签名信息;
    在所述机构签名信息校验成功,并且所述代码哈希符合预期的情况下,确定所述可信计算集群认证通过。
  15. 根据权利要求11所述的装置,其中,所述第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥。
  16. 根据权利要求11所述的装置,还包括:
    第二确定单元,配置为确定有待融合的第二数据,以及对应的数据获取方的第二公钥信息;
    第三加密单元,配置为使用集群公钥加密所述第一对称秘钥和所述第二公钥信息,生成第三加密结果;
    第三存储单元,配置为将所述第三加密结果存储到数据管理平台;
    第四加密单元,配置为使用所述第一对称秘钥加密所述第二数据,生成第四加密结果;
    第四存储单元,配置为将所述第四加密结果存储到所述数据管理平台。
  17. 一种数据管理的装置,部署在数据管理平台,所述装置包括:
    第一请求接收单元,配置为从可信计算集群接收第一请求,所述第一请求用于请求第一数据的相关秘钥;所述可信计算集群用于进行数据融合;
    第一获取单元,配置为获取由第一数据提供方存储的第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;
    第一发送单元,配置为向所述可信计算集群发送所述第一加密结果;
    第二请求接收单元,配置为从所述可信计算集群接收第二请求,所述第二请求用于请求第一数据;
    第二获取单元,配置为获取由所述第一数据提供方存储的第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;
    第二发送单元,配置为向所述可信计算集群发送所述第二加密结果,以供其针对所述第一数据进行解密和数据融合。
  18. 一种数据融合的装置,部署在可信计算集群中,所述装置包括:
    第一请求发送单元,配置为向数据管理平台发送第一请求,所述第一请求用于请求 第一数据的相关秘钥;
    第一接收单元,配置为从数据管理平台接收第一加密结果,所述第一加密结果通过使用所述可信计算集群的集群公钥加密第一对称秘钥和第一公钥信息而生成,其中所述第一对称秘钥用于对所述第一数据进行加解密,所述第一公钥信息为所述第一数据对应的数据获取方的公钥信息;
    第一解密单元,配置为使用与所述集群公钥对应的集群私钥,解密所述第一加密结果,得到所述第一对称秘钥和所述第一公钥信息;
    第二请求发送单元,配置为向所述数据管理平台发送第二请求,所述第二请求用于请求所述第一数据;
    第二接收单元,配置为从所述数据管理平台接收第二加密结果,所述第二加密结果通过使用所述第一对称秘钥加密所述第一数据而生成;
    第二解密单元,配置为使用所述第一对称秘钥解密所述第二加密结果,得到所述第一数据;
    融合单元,配置为至少基于所述第一数据,进行数据融合操作,生成融合数据;
    融合加密单元,配置为利用所述第一公钥信息,加密所述融合数据,生成融合加密结果,以供数据获取方获取。
  19. 根据权利要求18所述的装置,还包括,存储单元,配置为将所述第三加密结果存储到所述数据管理平台。
  20. 根据权利要求18所述的装置,其中,所述第一公钥信息为公钥列表,其中包括对应于多个数据获取方的多个公钥;
    所述融合加密单元配置为:
    分别使用所述多个公钥加密所述融合数据,得到多份加密数据作为所述融合加密结果。
  21. 一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项的所述的方法。
  22. 一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
PCT/CN2020/100400 2019-10-18 2020-07-06 数据提供和融合的方法及装置 Ceased WO2021073170A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910995194.6 2019-10-18
CN201910995194.6A CN110750803B (zh) 2019-10-18 2019-10-18 数据提供和融合的方法及装置

Publications (1)

Publication Number Publication Date
WO2021073170A1 true WO2021073170A1 (zh) 2021-04-22

Family

ID=69278929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/100400 Ceased WO2021073170A1 (zh) 2019-10-18 2020-07-06 数据提供和融合的方法及装置

Country Status (2)

Country Link
CN (1) CN110750803B (zh)
WO (1) WO2021073170A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391880A (zh) * 2021-06-21 2021-09-14 西安超越申泰信息科技有限公司 一种分层双重哈希验证的可信镜像传输方法
CN113434891A (zh) * 2021-07-07 2021-09-24 建信金融科技有限责任公司 一种数据融合方法、装置、设备及系统
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
CN114237637A (zh) * 2021-11-29 2022-03-25 支付宝(杭州)信息技术有限公司 一种固件刷写方法、装置、存储介质及电子设备
US12010249B1 (en) * 2022-12-07 2024-06-11 Nanhu Laboratory Method and device for zero-trust fusion computation of multi-party data
CN118300835A (zh) * 2024-03-29 2024-07-05 深圳市机密计算科技有限公司 可信计算设备集群的高可用管理方法、系统、终端及介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750803B (zh) * 2019-10-18 2021-04-09 支付宝(杭州)信息技术有限公司 数据提供和融合的方法及装置
CN111988141B (zh) * 2020-03-18 2022-08-02 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN111092726B (zh) * 2020-03-18 2020-07-28 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN111327643B (zh) * 2020-05-15 2020-09-01 支付宝(杭州)信息技术有限公司 一种多方数据共享方法和装置
CN113752963B (zh) * 2020-06-02 2025-11-07 汽车科睿特股份有限责任公司 车辆信息处理装置及其操作方法
CN112926051B (zh) * 2021-03-25 2022-05-06 支付宝(杭州)信息技术有限公司 多方安全计算方法和装置
CN113468593A (zh) * 2021-06-17 2021-10-01 卓尔智联(武汉)研究院有限公司 一种医疗数据的处理方法、装置、电子设备及存储介质
CN113987554B (zh) * 2021-12-23 2022-04-08 支付宝(杭州)信息技术有限公司 获取数据授权的方法、装置及系统
CN114629639B (zh) * 2022-03-10 2024-12-03 阿里云计算有限公司 基于可信执行环境的密钥管理方法、装置和电子设备
CN114785496B (zh) * 2022-04-19 2025-02-28 支付宝(杭州)信息技术有限公司 共享隐私数据、接收隐私数据的方法、装置及系统
CN116186787B (zh) * 2022-11-28 2023-11-10 河南九域腾龙信息工程有限公司 一种基于区块链技术的数据存证方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092768A (zh) * 2017-12-21 2018-05-29 中国联合网络通信集团有限公司 数据融合方法与系统
CN110011956A (zh) * 2018-12-12 2019-07-12 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN110138799A (zh) * 2019-05-30 2019-08-16 东北大学 一种基于sgx的安全云存储方法
US10438006B2 (en) * 2017-07-27 2019-10-08 Citrix Systems, Inc. Secure information storage
CN110750803A (zh) * 2019-10-18 2020-02-04 支付宝(杭州)信息技术有限公司 数据提供和融合的方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392243B2 (en) * 2004-10-20 2008-06-24 Microsoft Corporation Using permanent identifiers in documents for change management
US20080010468A1 (en) * 2006-06-06 2008-01-10 Ruiz R P Method and technique for enforcing transience and propagation constraints on data transmitted by one entity to another entity by means of data division and retention
CN102299792B (zh) * 2011-09-30 2013-09-11 北京理工大学 一种安全高效的数据融合方法
CN104320389B (zh) * 2014-10-11 2018-04-27 南京邮电大学 一种基于云计算的融合身份保护系统及方法
US9977671B2 (en) * 2015-07-20 2018-05-22 Google Llc Methods for multi-source configuration of mobile applications
CN105740380B (zh) * 2016-01-27 2019-03-12 北京邮电大学 数据融合方法及系统
CN106911712B (zh) * 2017-03-31 2020-04-07 山东汇佳软件科技股份有限公司 一种应用于分布式系统的加密方法及系统
CN109472005B (zh) * 2018-11-08 2023-08-04 北京锐安科技有限公司 数据可信度评估方法、装置、设备和存储介质
CN109543434B (zh) * 2018-11-28 2020-10-09 深圳市墨者安全科技有限公司 区块链信息加密方法、解密方法、存储方法及装置
CN109873801B (zh) * 2018-12-12 2020-07-24 阿里巴巴集团控股有限公司 在用户和可信计算集群之间建立可信通道的方法、装置、存储介质及计算设备
CN110046507B (zh) * 2018-12-12 2024-02-06 创新先进技术有限公司 形成可信计算集群的方法及装置
CN109902495B (zh) * 2019-01-31 2021-09-24 同盾控股有限公司 一种数据融合方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438006B2 (en) * 2017-07-27 2019-10-08 Citrix Systems, Inc. Secure information storage
CN108092768A (zh) * 2017-12-21 2018-05-29 中国联合网络通信集团有限公司 数据融合方法与系统
CN110011956A (zh) * 2018-12-12 2019-07-12 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN110138799A (zh) * 2019-05-30 2019-08-16 东北大学 一种基于sgx的安全云存储方法
CN110750803A (zh) * 2019-10-18 2020-02-04 支付宝(杭州)信息技术有限公司 数据提供和融合的方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391880A (zh) * 2021-06-21 2021-09-14 西安超越申泰信息科技有限公司 一种分层双重哈希验证的可信镜像传输方法
CN113391880B (zh) * 2021-06-21 2023-04-07 超越科技股份有限公司 一种分层双重哈希验证的可信镜像传输方法
CN113434891A (zh) * 2021-07-07 2021-09-24 建信金融科技有限责任公司 一种数据融合方法、装置、设备及系统
CN113434891B (zh) * 2021-07-07 2022-09-02 建信金融科技有限责任公司 一种数据融合方法、装置、设备及系统
CN114237637A (zh) * 2021-11-29 2022-03-25 支付宝(杭州)信息技术有限公司 一种固件刷写方法、装置、存储介质及电子设备
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
CN114201748B (zh) * 2021-12-14 2024-02-06 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
US12010249B1 (en) * 2022-12-07 2024-06-11 Nanhu Laboratory Method and device for zero-trust fusion computation of multi-party data
US20240195637A1 (en) * 2022-12-07 2024-06-13 Nanhu Laboratory Method and device for zero-trust fusion computation of multi-party data
CN118300835A (zh) * 2024-03-29 2024-07-05 深圳市机密计算科技有限公司 可信计算设备集群的高可用管理方法、系统、终端及介质

Also Published As

Publication number Publication date
CN110750803A (zh) 2020-02-04
CN110750803B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN110750803B (zh) 数据提供和融合的方法及装置
CN111090888B (zh) 验证合约的方法及装置
CN111092727B (zh) 共享集群密钥的方法及装置
CN111090875B (zh) 部署合约的方法及装置
CN110968743B (zh) 针对隐私数据的数据存储、数据读取方法及装置
CN111090876B (zh) 调用合约的方法及装置
CN111092726B (zh) 生成共享合约密钥的方法及装置
JP6811339B2 (ja) 高可用な高信頼実行環境を使用したブロックチェーンネットワークのためのパブリックデータの読み出し
TWI725655B (zh) 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110999255B (zh) 检索区块链网络的访问数据的方法及装置
US9912485B2 (en) Method and apparatus for embedding secret information in digital certificates
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
US12289417B2 (en) Establishing provenance of applications in an offline environment
WO2021179449A1 (zh) 一种基于证书身份认证的拟态防御系统及证书签发方法
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
CN116601912A (zh) 提供加密安全的后秘密供应服务
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
TW201933255A (zh) 區塊鏈系統及用於區塊鏈系統的資料處理方法
US20140270179A1 (en) Method and system for key generation, backup, and migration based on trusted computing
WO2019127278A1 (zh) 安全访问区块链的方法、装置、系统、存储介质及电子设备
CA3058239A1 (en) Field-programmable gate array based trusted execution environment for use in a blockchain network
CN105915338B (zh) 生成密钥的方法和系统
TW202015378A (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
US20200344075A1 (en) Secure provisioning of keys

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

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

Country of ref document: EP

Kind code of ref document: A1