A Privacy Data Processing Method and System Based on Data Envelopes

Through data envelope technology, public key encryption and digital signature of trusted hardware modules are used to solve the problems of inconvenient random symmetric key management and untrusted identity, and the security of key transmission and participant identity authentication are realized, which is suitable for the private data processing of trusted computing platforms.

CN115643092BActive Publication Date: 2025-08-01CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211311221.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-25
Publication Date
2025-08-01
Estimated Expiration
2042-10-25

AI Technical Summary

Technical Problem

In the prior art, the random symmetric keys used by the data provider and the result obtainer are inconvenient to manage, there is a risk of key leakage, and the identity of the participant is untrusted, making it difficult to confirm the authenticity of the data.

Method used

Using data envelope technology, through the public key encryption and digital signature of trusted hardware modules, digital envelope files of source data and result data are generated to ensure the security of key transmission, and intermediate data signatures and intermediate result signatures are set in the envelope file to verify the identity of participants.

Benefits of technology

Improve key storage security, reduce the risk of key leakage, ensure the authenticity of the identity of participants, and efficient key management for large-scale tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115643092B_ABST
    Figure CN115643092B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of privacy data processing, and provides a privacy data processing method and system based on a data envelope. The method of the present invention includes: registering a data provider, a result receiver, and a computing party to a trusted computing platform; generating a source data digital envelope file according to the public key of a trusted hardware module and relevant task objects; querying in real time the relevant task objects with the task status of ready in a ready queue, downloading and decrypting the source data digital envelope file to obtain the source data plaintext, and obtaining the result data plaintext according to the source data plaintext and the task algorithm in the relevant task objects; generating a result data ciphertext, a task computing random symmetric key ciphertext, and an intermediate result signature, and encapsulating them into a result digital envelope file; downloading and decrypting the result digital envelope file to obtain the result data plaintext. The present invention can improve the efficiency of generating and managing keys, reduce the risk of key leakage, and ensure the authenticity and credibility of the identities of participating parties.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of privacy data processing, and in particular, to a privacy data processing method and system based on a data envelope. Background Art

[0002] A trusted execution environment is a hardware-based privacy computing technology and is one of the three core components in the current privacy data computing field. Building a trusted computing platform is an important application scenario of the trusted execution environment. The built trusted computing platform is used for secure computing that integrates multi-party data, making full use of the maximum value of the data.

[0003] Since the trusted computing platform integrates secure computing of multi-party data, it requires the participation of multiple parties such as data providers, result acquirers, and data calculators to complete the calculation and analysis of business data. Currently, the common process is as follows: The data provider randomly generates a key to encrypt the data, sends the ciphertext data to a remote storage repository, then establishes a secure connection with the trusted computing platform, calculates the MAC value of the ciphertext, and sends the plaintext key and MAC to the trusted computing platform through a channel; The trusted computing platform obtains the ciphertext file through the remote storage repository, compares the MAC value, and after passing the comparison, decrypts the ciphertext with the key to obtain the plaintext, calculates the result data, encrypts the result data with the random symmetric key of the result acquirer, and sends it to the remote storage repository; Finally, the result acquirer decrypts the ciphertext with the random symmetric key it holds to obtain the result data.

[0004] In actual usage scenarios, the above solution has the following deficiencies: 1. The random symmetric keys used by the data provider and the result acquirer are generated by themselves through simple code tools. When there are many computing tasks involved, the keys are not easy to manage; 2. The data provider and the result acquirer send the random symmetric keys to the trusted computing platform in plaintext form and store them on disk inside the trusted computing platform. There is a risk of key leakage in this process; 3. The data provider and the result acquirer use the MAC mechanism to protect the integrity of the data. However, in actual use, there may be a problem where one party denies its own actions. For example, the data provider uploads a bunch of false data. Since the source data is not authentic, the calculated result is not trustworthy. But if the data provider denies uploading false data at this time, the identity of the data provider cannot be confirmed as trustworthy throughout the process.

[0005] Therefore, how to provide a method with more secure random symmetric key transmission, more convenient key management, and more trustworthy participant identities has become a technical problem to be solved urgently. Summary of the Invention

[0006] In view of this, in order to overcome the deficiencies of the prior art, the present invention provides a method and system for processing private data in a data envelope, improving the security of the transmission of random symmetric keys during the processing of private data, making key management more convenient, and increasing the credibility of the identities of the participating parties.

[0007] On the one hand, the present invention provides a method for processing private data based on a data envelope, including:

[0008] Step S1: Register the data party, the result party, and the computing party to the trusted computing platform;

[0009] Step S2: Create a relevant task object according to the creation task request parameters provided by the computing party, extract the public key of the trusted hardware module according to the trusted report query request of the data party, and generate a source data digital envelope file based on the public key of the trusted hardware module and the relevant task object;

[0010] Step S3: Receive the request of the computing party to execute the relevant task object, copy the relevant task object with the task status of ready to the ready queue; query the ready queue in real time, download and decrypt the source data digital envelope file to obtain the source data plaintext, and obtain the result data plaintext according to the source data plaintext and the task algorithm in the relevant task object;

[0011] Step S4: Generate the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature, encapsulate the generated result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, and remove the relevant task object from the ready queue;

[0012] Step S5: According to the trusted report query request of the result party, return the trusted report to the result party and verify the trusted report obtained by the result party; according to the request of the result party to query the relevant task object, return the relevant task object to the result party; download and decrypt the result digital envelope file to obtain the result data plaintext.

[0013] Further, step S1 of the method for processing private data based on a data envelope of the present invention includes:

[0014] Step S11: Generate a data party public-private key pair for the data party, and register the data party to the trusted computing platform according to the data party username, the data party password, and the data party public key;

[0015] Step S12: Generate a result party public-private key pair for the result party, and register the result party to the trusted computing platform according to the result party username, the result party password, and the result party public key;

[0016] Step S13: Register the computing party to the trusted computing platform according to the computing party username and the computing party password.

[0017] Further, step S2 of the privacy data processing method based on data envelopes of the present invention includes:

[0018] Step S21: Create a relevant task object according to the creation task request parameters provided by the computing party. The creation task request parameters include task name, task algorithm, task computing party, task data party, and task result party, and set the task status of the relevant task object to created;

[0019] Step S22: Query according to the trusted report query request of the data party, and return the trusted report to the data party. The trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform;

[0020] Step S23: Verify the trusted report obtained by the data party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, extract the public key of the trusted hardware module according to the public key certificate of the trusted hardware module;

[0021] Step S24: Return the relevant task object to the data party. According to the public key of the trusted hardware module and the relevant task object, generate the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature in sequence, and encapsulate the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature into a source data digital envelope file.

[0022] Further, step S24 of the privacy data processing method based on data envelopes of the present invention includes:

[0023] Step S241: Return the relevant task object to the data party according to the data party's request to query the relevant task object;

[0024] Step S242: Match the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object;

[0025] Step S243: Generate a random symmetric key for the data party, and encrypt the source data plaintext with the random symmetric key of the data party to obtain the source data ciphertext;

[0026] Step S244: Encrypt the random symmetric key of the data party with the public key of the trusted hardware module to obtain the data party's random symmetric key ciphertext;

[0027] Step S245: Concatenate the source data ciphertext and the data party's random symmetric key ciphertext to obtain intermediate data, and sign the intermediate data with the private key of the data party to obtain the intermediate data signature;

[0028] Step S246: Encapsulate the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature into a source data digital envelope file, and obtain the source data digital envelope address;

[0029] Step S247: Write the source data digital envelope address into the source data address of the relevant task object.

[0030] Further, step S3 of the privacy data processing method based on data envelope of the present invention includes:

[0031] Step S31: Receive the request of the computing party to execute the relevant task object, determine whether the source data address of the relevant task object has been set. If it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue;

[0032] Step S32: Query the ready queue in real time. If there is a ready task object in the ready queue, obtain the specific information of the ready task object. The specific information of the ready task object includes: task serial number, task name, task algorithm, task computing party, task data party, task result party, task creation time, task status, source data address, and destination result address;

[0033] Step S33: Read the source data address in the specific information of the ready task object, download the source data digital envelope file according to the source data digital envelope address in the source data address, decrypt the source data digital envelope file, and obtain the source data ciphertext, the data party random symmetric key ciphertext, and the intermediate data signature;

[0034] Step S34: Obtain the data party public key according to the task data party in the relevant task object, verify the intermediate data signature with the data party public key. If the verification passes, decrypt the data party random symmetric key ciphertext with the trusted hardware module private key to obtain the data party random symmetric key;

[0035] Step S35: Decrypt the source data ciphertext with the data party random symmetric key to obtain the source data plaintext, and perform calculations according to the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext.

[0036] Further, step S4 of the privacy data processing method based on data envelope of the present invention includes:

[0037] Step S41: Generate a task computing random symmetric key, encrypt the result data plaintext with the task computing random symmetric key to obtain the result data ciphertext;

[0038] Step S42: Obtain the result party public key according to the task result party in the relevant task object, encrypt the task computing random symmetric key with the result party public key to obtain the task computing random symmetric key ciphertext;

[0039] Step S43: Concatenate the result data ciphertext and the task computing random symmetric key ciphertext to obtain an intermediate result, sign the intermediate result with the trusted hardware module private key to obtain an intermediate result signature;

[0040] Step S44: Encapsulate the ciphertext of the result data, the ciphertext of the random symmetric key for task calculation, and the signature of the intermediate result into a result digital envelope file, and obtain the address of the result digital envelope;

[0041] Step S45: Write the address of the result digital envelope to the destination result address of the relevant task object, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue.

[0042] Furthermore, step S5 of the privacy data processing method based on data envelopes of the present invention includes:

[0043] Step S51: Receive the request from the result party to query the report, and return the trusted report to the result party. The trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform;

[0044] Step S52: Verify the trusted report obtained by the result party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, extract the public key of the trusted hardware module according to the public key certificate of the trusted hardware module;

[0045] Step S53: Receive the request from the result party to query the relevant task object, and return the relevant task object to the result party;

[0046] Step S54: Obtain the address of the result digital envelope from the destination result address in the relevant task object, download the result digital envelope file according to the address of the result digital envelope, and decrypt the result digital envelope file to obtain the ciphertext of the result data, the ciphertext of the random symmetric key for task calculation, and the signature of the intermediate result;

[0047] Step S55: Verify the signature of the intermediate result using the public key of the trusted hardware module. If the verification passes, decrypt the ciphertext of the random symmetric key for task calculation using the private key of the result party to obtain the random symmetric key for task calculation;

[0048] Step S56: Decrypt the ciphertext of the result data using the random symmetric key for task calculation to obtain the plaintext of the result data.

[0049] On the other hand, the present invention provides a privacy data processing system based on data envelopes, including:

[0050] A trusted data gateway for managing the keys of the data party and the result party, including key generation, key storage, encryption / decryption, and signature / verification, verifying the trusted reports obtained by the data party and the result party respectively, generating a source data digital envelope file for the data party, parsing the result digital envelope file for the result party, and obtaining the plaintext of the result data;

[0051] An envelope management module, which is used to store source data digital envelope files and result digital envelope files, manage the upload and download of source data digital envelope files, and manage the upload and download of result digital envelope files for access by the trusted data gateway and the trusted computing platform;

[0052] A trusted computing platform, which is used to manage data providers, result providers, and computing providers, including user registration, user storage, and obtaining public key data; it is used to manage tasks, including creating task objects, querying task objects, querying trusted reports, executing task objects, and updating the status of task objects. Among them, the execution of task objects includes parsing source data digital envelope files, obtaining source data plaintext, calculating specific task algorithms to obtain result data plaintext, and generating result digital envelope files.

[0053] Furthermore, in the privacy data processing system based on data envelopes of the present invention, the trusted data gateway includes a data management module and a key management module. The data management module includes a remote verification unit, a data preparation unit, and a result verification unit. The key management module includes a key generation unit, a key storage unit, an encryption / decryption unit, and a signature / verification unit, where:

[0054] The remote verification unit is used to verify the trusted reports obtained by data providers, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module; it is used to verify the trusted reports obtained by result providers, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module;

[0055] The data preparation unit is used to match the corresponding source data plaintext for relevant task objects according to the task algorithms in the relevant task objects; it is used to splice the source data ciphertext and the data provider's random symmetric key ciphertext to obtain intermediate data; it is used to sign and encapsulate the source data ciphertext, the data provider's random symmetric key ciphertext, and the intermediate data into a source data digital envelope file, upload the source data digital envelope file to the envelope management module, and obtain the source data digital envelope address;

[0056] The result verification unit is used to obtain the result digital envelope address from the destination result address in the relevant task object, download the result digital envelope file from the envelope management module according to the result digital envelope address, and decrypt the result digital envelope file to obtain the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature;

[0057] The key generation unit is used to generate a data provider's public-private key pair for the data provider and a result provider's public-private key pair for the result provider; it is used to generate a data provider's random symmetric key;

[0058] A key storage unit for storing the public and private key pairs of the data party and the public and private key pairs of the result party;

[0059] An encryption / decryption unit for encrypting the plaintext of the source data with the random symmetric key of the data party to obtain the ciphertext of the source data, and encrypting the random symmetric key of the data party with the public key of the trusted hardware module to obtain the ciphertext of the random symmetric key of the data party; for decrypting the ciphertext of the random symmetric key for task calculation with the private key of the result party in the key storage unit to obtain the random symmetric key for task calculation; for decrypting the ciphertext of the result data with the random symmetric key for task calculation to obtain the plaintext of the result data;

[0060] A signature / verification unit for signing the intermediate data with the private key of the data party in the key storage unit to obtain the signature of the intermediate data, and verifying the signature of the intermediate result with the public key of the trusted hardware module.

[0061] Furthermore, in the privacy data processing system based on the data envelope of the present invention, the trusted computing platform includes a user management module, a task management module, and a trusted hardware module. The user management module includes a user registration unit, a user storage unit, and a public key acquisition unit. The task management module includes a task creation unit, a task query unit, a task storage unit, a task invocation unit, a ready queue unit, a task calculation unit, a report query unit, and an address registration unit, where:

[0062] The trusted hardware module is used to store the trusted report generated by the trusted computing platform, decrypt the ciphertext of the random symmetric key of the data party with the private key of the trusted hardware module to obtain the random symmetric key of the data party; generate the random symmetric key for task calculation; sign the intermediate result with the private key of the trusted hardware module to obtain the signature of the intermediate result;

[0063] The user registration unit is used to register the data party to the trusted computing platform according to the user name of the data party, the password of the data party, and the public key of the data party, register the result party to the trusted computing platform according to the user name of the result party, the password of the result party, and the public key of the result party, and register the computing party to the trusted computing platform according to the user name of the computing party and the password of the computing party;

[0064] The user storage unit is used to save the user name of the data party, the password of the data party, the public key of the data party, save the user name of the result party, the password of the data party, the public key of the data party, and save the user name of the computing party and the password of the computing party;

[0065] The public key acquisition unit is used to obtain the public key of the data party in the user storage module according to the task data party in the relevant task object, and obtain the public key of the result party in the user storage module according to the task result party in the relevant task object;

[0066] A task creation unit, configured to receive a request from a computing party to create a task, generate a relevant task object according to the task creation request parameters provided by the computing party, and set the task status of the relevant task object to created;

[0067] A task query unit, configured to receive a request from a data party to query a relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the data party, and configured to receive a request from a result party to query a relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the result party;

[0068] A task storage unit, configured to store relevant task objects;

[0069] A task invocation unit, configured to receive a request from a computing party to execute a relevant task object, determine whether the source data address of the relevant task object in the task storage unit has been set, and if it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue unit;

[0070] A ready queue unit, configured to store relevant task objects with a task status of ready;

[0071] A task calculation unit, configured to query the ready queue unit in real time, and if there is a ready task object in the ready queue unit, obtain the specific information of the ready task object; configured to decrypt the source data digital envelope file to obtain the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature; configured to verify the intermediate data signature using the data party's public key; configured to decrypt the source data ciphertext using the data party's random symmetric key to obtain the source data plaintext, and perform calculations according to the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext; configured to encrypt the result data plaintext using the task calculation random symmetric key to obtain the result data ciphertext; configured to encrypt the task calculation random symmetric key using the result party's public key to obtain the task calculation random symmetric key ciphertext; configured to splice the result data ciphertext and the task calculation random symmetric key ciphertext to obtain an intermediate result; configured to encapsulate the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, upload the result digital envelope file to the envelope management module to obtain the result digital envelope address; configured to write the result digital envelope address to the destination result address of the relevant task object in the task storage unit, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue unit;

[0072] A report query unit, configured to receive a request from a data party to query a trusted report, query the trusted report in the trusted hardware module, and return the trusted report to the data party, and configured to receive a request from a result party to query a trusted report, query the trusted report in the trusted hardware module, and return the trusted report to the result party;

[0073] An address registration unit for writing the source data digital envelope address into the source data address of the relevant task object in the task storage unit.

[0074] The privacy data processing method and system based on the data envelope of the present invention have the following beneficial effects:

[0075] 1. It can improve the key storage security of the data party and the result party. When the participating parties need to participate in a large number of tasks, it can generate and manage keys more efficiently.

[0076] 2. Based on the digital envelope technology to transmit the source data and the result data, making the data party's random symmetric key and the task calculation random symmetric key more secure during the transmission process and reducing the risk of key leakage.

[0077] 3. By setting the intermediate data signature in the source data digital envelope file and setting the intermediate result signature in the result digital envelope file, it can ensure the authenticity and credibility of the participating parties' identities. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the drawings required for use in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0079] Figure 1 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary first embodiment of the present invention.

[0080] Figure 2 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary second embodiment of the present invention.

[0081] Figure 3 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary third embodiment of the present invention.

[0082] Figure 4 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary third embodiment of the present invention.

[0083] Figure 5 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary fourth embodiment of the present invention.

[0084] Figure 6 It is a flowchart of the privacy data processing method based on the data envelope for the exemplary fifth embodiment of the present invention.

[0085] Figure 7Flowchart of the privacy data processing method based on data envelope according to the exemplary sixth embodiment of the present invention.

[0086] Figure 8 Architecture diagram of the privacy data processing system based on data envelope according to the exemplary seventh embodiment of the present invention. Detailed implementation manners

[0087] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0088] It should be noted that, without conflict, the following embodiments and the features in the embodiments may be combined with each other; and, based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present disclosure.

[0089] It should be noted that the following describes various aspects of embodiments within the scope of the appended claims. It should be apparent that the aspects described herein may be embodied in a wide variety of forms, and any specific structure and / or function described herein is illustrative only. Based on the present disclosure, those skilled in the art should understand that one aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement a device and / or practice a method. Additionally, this device and / or method may be implemented using other structures and / or functionality in addition to one or more of the aspects described herein.

[0090] Figure 1 Flowchart of a privacy data processing method based on data envelope according to the exemplary first embodiment of the present invention. As Figure 1 shown, the method of this embodiment includes:

[0091] Step S1: Register the data party, the result party, and the computing party to the trusted computing platform;

[0092] Step S2: Create a relevant task object according to the creation task request parameters provided by the computing party, extract the public key of the trusted hardware module according to the trusted report query request of the data party, and generate a source data digital envelope file according to the public key of the trusted hardware module and the relevant task object;

[0093] Step S3: Receive the request of the computing party to execute the relevant task object, copy the relevant task object with the task status of ready to the ready queue; query the ready queue in real time, download and decrypt the source data digital envelope file to obtain the source data plaintext, and obtain the result data plaintext according to the source data plaintext and the task algorithm in the relevant task object;

[0094] Step S4: Generate the ciphertext of the result data, the ciphertext of the random symmetric key for task calculation, and the signature of the intermediate result. Package the generated ciphertext of the result data, the ciphertext of the random symmetric key for task calculation, and the signature of the intermediate result into a result digital envelope file, and remove the relevant task objects from the ready queue;

[0095] Step S5: According to the trusted report query request of the result party, return the trusted report to the result party and verify the trusted report obtained by the result party; according to the request of the result party to query the relevant task objects, return the relevant task objects to the result party; download and decrypt the result digital envelope file to obtain the plaintext of the result data.

[0096] The method of this embodiment transmits the source data and the result data based on the digital envelope technology, making the random symmetric key of the data party and the random symmetric key for task calculation more secure during the transmission process and reducing the risk of key leakage.

[0097] Figure 2 The flowchart of a privacy data processing method based on a data envelope according to the exemplary second embodiment of the present invention. This embodiment is Figure 1 a preferred embodiment of the method shown. As Figure 2 shown, the step S1 of the method of this embodiment includes:

[0098] Step S11: Generate a public-private key pair for the data party, and register the data party to the trusted computing platform according to the data party's username, data party password, and data party public key;

[0099] Step S12: Generate a public-private key pair for the result party, and register the result party to the trusted computing platform according to the result party's username, result party password, and result party public key;

[0100] Step S13: Register the computing party to the trusted computing platform according to the computing party's username and computing party password.

[0101] In the method of this embodiment, the public-private key pair of the data party includes the data party public key and the data party private key, and the public-private key pair of the result party includes the result party public key and the result party private key.

[0102] The method of this embodiment can improve the security of key storage for the data party and the result party. When the participating parties need to participate in a large number of tasks, it can generate and manage keys more efficiently.

[0103] Figure 3 The flowchart of a privacy data processing method based on a data envelope according to the exemplary third embodiment of the present invention. This embodiment is Figure 1 a preferred embodiment of the method shown. As Figure 3 shown, the step S2 of the method of this embodiment includes:

[0104] Step S21: Create a relevant task object according to the task creation request parameters provided by the computing party. The task creation request parameters include the task name, task algorithm, task computing party, task data party, and task result party, and set the task status of the relevant task object to created;

[0105] Step S22: Query according to the trusted report query request of the data party, and return the trusted report to the data party. The trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform;

[0106] Step S23: Verify the trusted report obtained by the data party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, extract the public key of the trusted hardware module according to the public key certificate of the trusted hardware module;

[0107] Return the relevant task object to the data party. According to the public key of the trusted hardware module and the relevant task object, generate the source data ciphertext, the ciphertext of the data party's random symmetric key, and the intermediate data signature in sequence, and encapsulate the source data ciphertext, the ciphertext of the data party's random symmetric key, and the intermediate data signature into a source data digital envelope file.

[0108] In practical applications, step S24 of the method in this embodiment is implemented according to the steps as Figure 4 shown, specifically, including:

[0109] Step S241: Return the relevant task object to the data party according to the request of the data party to query the relevant task object;

[0110] Step S242: Match the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object;

[0111] Step S243: Generate a random symmetric key for the data party, and encrypt the source data plaintext with the random symmetric key of the data party to obtain the source data ciphertext;

[0112] Step S244: Encrypt the random symmetric key of the data party with the public key of the trusted hardware module to obtain the ciphertext of the random symmetric key of the data party;

[0113] Step S245: Concatenate the source data ciphertext and the ciphertext of the random symmetric key of the data party to obtain intermediate data, and sign the intermediate data with the private key of the data party to obtain the intermediate data signature;

[0114] Step S246: Encapsulate the source data ciphertext, the ciphertext of the random symmetric key of the data party, and the intermediate data signature into a source data digital envelope file, and obtain the source data digital envelope address;

[0115] Step S247: Write the source data digital envelope address into the source data address of the relevant task object.

[0116] In this embodiment, by setting an intermediate data signature in the source data digital envelope file, the authenticity and credibility of the participating parties' identities are ensured.

[0117] Figure 5 As a flowchart of a privacy data processing method based on a data envelope according to an exemplary fourth embodiment of the present invention, this embodiment is Figure 1 a preferred embodiment of the method shown, as Figure 5 shown, step S3 of the method in this embodiment includes:

[0118] Step S31: Receive a request from the computing party to execute a relevant task object, determine whether the source data address of the relevant task object has been set. If it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue;

[0119] Step S32: Query the ready queue in real time. If there is a ready task object in the ready queue, obtain the specific information of the ready task object. The specific information of the ready task object includes: task serial number, task name, task algorithm, task computing party, task data party, task result party, task creation time, task status, source data address, and destination result address;

[0120] Step S33: Read the source data address in the specific information of the ready task object, download the source data digital envelope file according to the source data digital envelope address in the source data address, decrypt the source data digital envelope file, and obtain the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature;

[0121] Step S34: Obtain the data party's public key according to the task data party in the relevant task object, verify the intermediate data signature using the data party's public key. If the verification passes, decrypt the data party's random symmetric key ciphertext using the private key of the trusted hardware module to obtain the data party's random symmetric key;

[0122] Step S35: Decrypt the source data ciphertext using the data party's random symmetric key to obtain the source data plaintext, and perform calculations based on the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext.

[0123] Figure 6 As a flowchart of a privacy data processing method based on a data envelope according to an exemplary fifth embodiment of the present invention, this embodiment is Figure 1 a preferred embodiment of the method shown, as Figure 6 shown, step S4 of the method in this embodiment includes:

[0124] Step S41: Generate a task computing random symmetric key, encrypt the result data plaintext using the task computing random symmetric key to obtain the result data ciphertext;

[0125] Step S42: Obtain the public key of the result party according to the task result party in the relevant task object, and encrypt the task calculation random symmetric key with the public key of the result party to obtain the ciphertext of the task calculation random symmetric key;

[0126] Step S43: Concatenate the ciphertext of the result data and the ciphertext of the task calculation random symmetric key to obtain an intermediate result, and sign the intermediate result with the private key of the trusted hardware module to obtain the signature of the intermediate result;

[0127] Step S44: Package the ciphertext of the result data, the ciphertext of the task calculation random symmetric key, and the signature of the intermediate result into a result digital envelope file, and obtain the address of the result digital envelope;

[0128] Step S45: Write the address of the result digital envelope into the destination result address of the relevant task object, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue.

[0129] By setting the signature of the intermediate result in the result digital envelope file in the method of this embodiment, the authenticity and credibility of the participating party's identity can be guaranteed.

[0130] Figure 7 As a flowchart of a privacy data processing method based on a data envelope according to an exemplary sixth embodiment of the present invention, this embodiment is Figure 1 a preferred embodiment of the method shown, as Figure 7 shown, step S5 of the method of this embodiment includes:

[0131] Step S51: Receive the request of the result party to query the report, and return the trusted report to the result party, where the trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform;

[0132] Step S52: Verify the trusted report obtained by the result party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, extract the public key of the trusted hardware module according to the public key certificate of the trusted hardware module;

[0133] Step S53: Receive the request of the result party to query the relevant task object, and return the relevant task object to the result party;

[0134] Step S54: Obtain the address of the result digital envelope from the destination result address in the relevant task object, download the result digital envelope file according to the address of the result digital envelope, and decrypt the result digital envelope file to obtain the ciphertext of the result data, the ciphertext of the task calculation random symmetric key, and the signature of the intermediate result;

[0135] Step S55: Use the public key of the trusted hardware module to verify the signature of the intermediate result. If the verification passes, use the private key of the result party to decrypt the task-computed random symmetric key ciphertext to obtain the task-computed random symmetric key;

[0136] Step S56: Use the task-computed random symmetric key to decrypt the result data ciphertext to obtain the result data plaintext.

[0137] Figure 8 As shown in the architecture diagram of a privacy data processing system based on a data envelope according to the exemplary seventh embodiment of the present invention, the system of this embodiment includes:

[0138] A trusted data gateway for managing the keys of the data party and the result party, including key generation, key storage, encryption / decryption, and signature / verification, verifying the trusted reports obtained by the data party and the result party respectively, generating a source data digital envelope file for the data party, parsing the result digital envelope file for the result party, and obtaining the result data plaintext;

[0139] An envelope management module for storing the source data digital envelope file and the result digital envelope file, managing the upload and download of the source data digital envelope file, managing the upload and download of the result digital envelope file, and providing access for the trusted data gateway and the trusted computing platform;

[0140] A trusted computing platform for managing the data party, the result party, and the computing party, including user registration, user storage, and obtaining public key data; for managing tasks, including task object creation, task object query, trusted report query, task object execution, and task object status update, where task object execution includes parsing the source data digital envelope file, obtaining the source data plaintext, calculating the specific task algorithm to obtain the result data plaintext, and generating the result digital envelope file.

[0141] As Figure 8 shown, in practical applications, the trusted data gateway of the system of this embodiment includes a data management module and a key management module. The data management module includes a remote verification unit, a data preparation unit, and a result verification unit. The key management module includes a key generation unit, a key storage unit, an encryption / decryption unit, and a signature / verification unit; the trusted computing platform includes a user management module, a task management module, and a trusted hardware module. The user management module includes a user registration unit, a user storage unit, and a public key acquisition unit. The task management module includes a task creation unit, a task query unit, a task storage unit, a task invocation unit, a ready queue unit, a task calculation unit, a report query unit, and an address registration unit.

[0142] Specifically, each unit and module in the system of this embodiment is applied in the following manner:

[0143] In the deployment stage, the trusted computing platform generates a public key certificate of the trusted hardware module and a signature of the trusted computing platform, generates a trusted report, and stores it in the trusted hardware module. The trusted hardware module is used to decrypt the data party's random symmetric key ciphertext according to the private key of the trusted hardware module to obtain the data party's random symmetric key; to generate a task computing random symmetric key; and to sign the intermediate result according to the private key of the trusted hardware module to obtain the intermediate result signature.

[0144] The remote verification unit is used to verify the trusted report obtained by the data party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module; it is used to verify the trusted report obtained by the result party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module;

[0145] The data preparation unit is used to match the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object; to splice the source data ciphertext and the data party's random symmetric key ciphertext to obtain intermediate data; to encapsulate the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature into a source data digital envelope file, upload the source data digital envelope file to the envelope management module, and obtain the source data digital envelope address;

[0146] The result verification unit is used to obtain the result digital envelope address from the destination result address in the relevant task object, download the result digital envelope file from the envelope management module according to the result digital envelope address, decrypt the result digital envelope file, and obtain the result data ciphertext, the task computing random symmetric key ciphertext, and the intermediate result signature;

[0147] The key generation unit is used to generate a public-private key pair for the data party and a public-private key pair for the result party; to generate a data party random symmetric key;

[0148] The key storage unit is used to store the public-private key pair of the data party and the public-private key pair of the result party;

[0149] The encryption / decryption unit is used to encrypt the source data plaintext with the data party's random symmetric key to obtain the source data ciphertext, and encrypt the data party's random symmetric key with the public key of the trusted hardware module to obtain the data party's random symmetric key ciphertext; to decrypt the task computing random symmetric key ciphertext with the result party's private key in the key storage unit to obtain the task computing random symmetric key; to decrypt the result data ciphertext with the task computing random symmetric key to obtain the result data plaintext;

[0150] The signature / verification unit is used to sign the intermediate data according to the private key of the data party in the key storage unit to obtain the intermediate data signature, and is used to verify the intermediate result signature by using the public key of the trusted hardware module.

[0151] The user registration unit is used to register the data party to the trusted computing platform according to the user name of the data party, the password of the data party, and the public key of the data party, register the result party to the trusted computing platform according to the user name of the result party, the password of the result party, and the public key of the result party, and register the computing party to the trusted computing platform according to the user name of the computing party and the password of the computing party;

[0152] The user storage unit is used to save the user name of the data party, the password of the data party, the public key of the data party, save the user name of the result party, the password of the data party, the public key of the data party, and save the user name of the computing party and the password of the computing party;

[0153] The public key acquisition unit is used to obtain the public key of the data party in the user storage module according to the task data party in the relevant task object, and obtain the public key of the result party in the user storage module according to the task result party in the relevant task object;

[0154] The task creation unit is used to receive the request of the computing party to create a task, generate a relevant task object according to the task creation request parameters provided by the computing party, and set the task status of the relevant task object to created;

[0155] The task query unit is used to receive the request of the data party to query the relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the data party, and is used to receive the request of the result party to query the relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the result party;

[0156] The task storage unit is used to store relevant task objects;

[0157] The task invocation unit is used to receive the request of the computing party to execute the relevant task object, determine whether the source data address of the relevant task object in the task storage unit has been set, and if it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue unit;

[0158] The ready queue unit is used to store relevant task objects with the task status of ready;

[0159] A task calculation unit, which is used to query the ready queue unit in real time. If there is a ready task object in the ready queue unit, it obtains the specific information of the ready task object; it is used to decrypt the source data digital envelope file to obtain the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature; it is used to verify the intermediate data signature using the data party's public key; it is used to decrypt the source data ciphertext using the data party's random symmetric key to obtain the source data plaintext, and perform calculations according to the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext; it is used to encrypt the result data plaintext using the task calculation random symmetric key to obtain the result data ciphertext; it is used to encrypt the task calculation random symmetric key using the result party's public key to obtain the task calculation random symmetric key ciphertext; it is used to splice the result data ciphertext and the task calculation random symmetric key ciphertext to obtain an intermediate result; it is used to encapsulate the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, upload the result digital envelope file to the envelope management module to obtain the result digital envelope address; it is used to write the result digital envelope address to the destination result address of the relevant task object in the task storage unit, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue unit.

[0160] A report query unit, which is used to receive the trusted report query request from the data party, query the trusted report in the trusted hardware module, and return the trusted report to the data party, and is used to receive the query request for the result party's trusted report, query the trusted report in the trusted hardware module, and return the trusted report to the result party.

[0161] An address registration unit, which is used to write the source data digital envelope address to the source data address of the relevant task object in the task storage unit.

[0162] The application principle of the system in this embodiment is as follows:

[0163] The key generation unit generates a data party's public and private key pair for the data party, stores the generated data party's public and private key pair in the key storage unit, and the user registration unit registers the data party to the trusted computing platform according to the data party's user name, data party password, and data party's public key, and saves the data party's user name, data party password, and data party's public key to the user storage unit.

[0164] The key generation unit generates a result party's public and private key pair for the result party, stores the generated result party's public and private key pair in the key storage unit, and the user registration unit registers the result party to the trusted computing platform according to the result party's user name, result party password, and result party's public key, and saves the result party's user name, data party password, and data party's public key to the user storage unit.

[0165] The computing party is registered to the trusted computing platform by the user registration unit according to the computing party user name and the computing party password, and the computing party user name and the computing party password are saved to the user storage unit.

[0166] The task creation unit receives a request from the computing party to create a task, generates a relevant task object according to the task creation request parameters provided by the computing party. The task creation request parameters include a task name, a task algorithm, a task computing party, a task data party, and a task result party. Set the task status of the relevant task object to created and store the relevant task object in the task storage unit.

[0167] The report query unit receives a trusted report query request from the data party, queries the trusted report in the trusted hardware module, and returns the trusted report to the data party. The trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform.

[0168] The remote verification unit verifies the trusted report obtained by the data party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module.

[0169] The task query unit receives a request from the data party to query a relevant task object, obtains the relevant task object in the task storage unit, and returns the relevant task object to the data party. The data preparation unit matches the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object. The key generation unit generates a random symmetric key for the data party. The encryption / decryption unit encrypts the source data plaintext with the random symmetric key of the data party to obtain the source data ciphertext. The encryption / decryption unit encrypts the random symmetric key of the data party with the public key of the trusted hardware module to obtain the encrypted random symmetric key of the data party. The data preparation unit splices the source data ciphertext and the encrypted random symmetric key of the data party to obtain intermediate data. The signature / verification unit signs the intermediate data according to the private key of the data party in the key storage unit to obtain an intermediate data signature. The data preparation unit encapsulates the source data ciphertext, the encrypted random symmetric key of the data party, and the intermediate data signature into a source data digital envelope file, uploads the source data digital envelope file to the envelope management module, and obtains the source data digital envelope address. The address registration unit writes the source data digital envelope address into the source data address of the relevant task object in the task storage unit.

[0170] The task invocation unit receives a request from the computing party to execute a relevant task object, determines whether the source data address of the relevant task object in the task storage unit has been set. If it has been set, the task status of the relevant task object is set to ready, and the relevant task object is copied to the ready queue unit.

[0171] The task calculation unit queries the ready queue unit in real time. If there is a ready task object in the ready queue unit, it obtains the specific information of the ready task object, and the specific information of the ready task object includes: task serial number, task name, task algorithm, task calculation party, task data party, task result party, task creation time, task status, source data address, and destination result address;

[0172] Read the source data address in the specific information of the ready task object, access the envelope management module according to the source data digital envelope address in the source data address, download the source data digital envelope file, decrypt the source data digital envelope file through the task calculation unit, and obtain the source data ciphertext, the data party random symmetric key ciphertext, and the intermediate data signature;

[0173] The public key acquisition unit obtains the data party public key in the user storage module according to the task data party in the relevant task object. The task calculation unit uses the data party public key to verify the intermediate data signature. If the verification passes, the trusted hardware module decrypts the data party random symmetric key ciphertext according to the private key of the trusted hardware module to obtain the data party random symmetric key;

[0174] The task calculation unit decrypts the source data ciphertext with the data party random symmetric key to obtain the source data plaintext, and performs calculations according to the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext.

[0175] The trusted hardware module generates a task calculation random symmetric key, and the task calculation unit encrypts the result data plaintext with the task calculation random symmetric key to obtain the result data ciphertext;

[0176] The public key acquisition unit obtains the result party public key in the user storage module according to the task result party in the relevant task object. The task calculation unit encrypts the task calculation random symmetric key with the result party public key to obtain the task calculation random symmetric key ciphertext;

[0177] The task calculation unit splices the result data ciphertext and the task calculation random symmetric key ciphertext to obtain an intermediate result, and the trusted hardware module signs the intermediate result according to the private key of the trusted hardware module to obtain the intermediate result signature;

[0178] The task calculation unit encapsulates the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, uploads the result digital envelope file to the envelope management module, and obtains the result digital envelope address;

[0179] The task calculation unit writes the result digital envelope address to the destination result address of the relevant task object in the task storage unit, sets the task status of the relevant task object to completed, and removes the relevant task object from the ready queue unit.

[0180] The query request of the trust report is received by the report query unit, the trust report in the trusted hardware module is queried, and the trust report is returned to the result party. The trust report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform.

[0181] The trust report obtained by the result party is verified by the remote verification unit, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification is passed, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module.

[0182] The request of the result party to query the relevant task object is received by the task query unit, the relevant task object in the task storage unit is obtained, and the relevant task object is returned to the result party.

[0183] The result digital envelope address is obtained from the destination result address in the relevant task object by the result verification unit. The result digital envelope file is downloaded from the envelope management module according to the result digital envelope address. The result digital envelope file is unsealed by the result verification unit to obtain the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature.

[0184] The intermediate result signature is verified by the signature / verification unit using the public key of the trusted hardware module. If the verification is passed, the task calculation random symmetric key ciphertext is decrypted by the encryption / decryption unit using the private key of the result party in the key storage unit to obtain the task calculation random symmetric key.

[0185] The result data ciphertext is decrypted by the encryption / decryption unit using the task calculation random symmetric key to obtain the result data plaintext.

[0186] As mentioned above, it is only the specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any change or replacement that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A privacy data processing method based on a data envelope, characterized in that, The method includes: Step S1: Register the data party, the result party, and the computing party to the trusted computing platform; Step S2: Create a relevant task object according to the task creation request parameters provided by the computing party, query the trusted report request of the data party, extract the public key of the trusted hardware module, and generate a source data digital envelope file based on the public key of the trusted hardware module and the relevant task object; Step S3: Receive the request from the computing party to execute the relevant task object, copy the relevant task object with the task status of ready to the ready queue; query the ready queue in real time, download and decrypt the source data digital envelope file to obtain the source data plaintext, and obtain the result data plaintext according to the source data plaintext and the task algorithm in the relevant task object; Step S4: Generate the result data ciphertext, the task computing random symmetric key ciphertext, and the intermediate result signature, encapsulate the generated result data ciphertext, the task computing random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, and remove the relevant task object from the ready queue; Step S5: Query the trusted report request of the result party, return the trusted report to the result party, and verify the trusted report obtained by the result party; according to the request of the result party to query the relevant task object, return the relevant task object to the result party; download and decrypt the result digital envelope file to obtain the result data plaintext.

2. The privacy data processing method based on a data envelope according to claim 1, wherein Step S1 includes: Step S11: Generate a data party public-private key pair for the data party, and register the data party to the trusted computing platform according to the data party user name, the data party password, and the data party public key; Step S12: Generate a result party public-private key pair for the result party, and register the result party to the trusted computing platform according to the result party user name, the result party password, and the result party public key; Step S13: Register the computing party to the trusted computing platform according to the computing party user name and the computing party password.

3. The privacy data processing method based on a data envelope according to claim 1, wherein Step S2 includes: Step S21: Create a relevant task object according to the task creation request parameters provided by the computing party, where the task creation request parameters include the task name, the task algorithm, the task computing party, the task data party, and the task result party, and set the task status of the relevant task object to created; Step S22: Query and return the trusted report to the data party according to the trusted report query request of the data party, where the trusted report includes the trusted hardware module public key certificate and the trusted computing platform signature; Step S23: Verify the trusted report obtained by the data party, including verifying the trusted hardware module public key certificate and verifying the trusted computing platform signature. If the verification passes, extract the public key of the trusted hardware module according to the trusted hardware module public key certificate; Step S24: Return the relevant task object to the data party, and generate the source data ciphertext, the data party random symmetric key ciphertext, and the intermediate data signature in sequence based on the public key of the trusted hardware module and the relevant task object, and encapsulate the source data ciphertext, the data party random symmetric key ciphertext, and the intermediate data signature into a source data digital envelope file.

4. The privacy data processing method based on a data envelope according to claim 3, wherein Step S24 includes: Step S241: Return the relevant task object to the data party according to the request of the data party to query the relevant task object; Step S242: Match the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object; Step S243: Generate a random symmetric key for the data provider, and encrypt the plaintext of the source data with the random symmetric key for the data provider to obtain the ciphertext of the source data; Step S244: Encrypt the random symmetric key for the data provider with the public key of the trusted hardware module to obtain the ciphertext of the random symmetric key for the data provider; Step S245: Concatenate the ciphertext of the source data and the ciphertext of the random symmetric key for the data provider to obtain intermediate data, and sign the intermediate data with the private key of the data provider to obtain the signature of the intermediate data; Step S246: Package the ciphertext of the source data, the ciphertext of the random symmetric key for the data provider, and the signature of the intermediate data into a digital envelope file for the source data, and obtain the digital envelope address for the source data; Step S247: Write the digital envelope address for the source data into the source data address of the relevant task object.

5. The privacy data processing method based on a data envelope according to claim 1, wherein Step S3 includes: Step S31: Receive the request from the computing party to execute the relevant task object, determine whether the source data address of the relevant task object has been set. If it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue; Step S32: Query the ready queue in real time. If there is a ready task object in the ready queue, obtain the specific information of the ready task object. The specific information of the ready task object includes: task serial number, task name, task algorithm, task computing party, task data party, task result party, task creation time, task status, source data address, and destination result address; Step S33: Read the source data address in the specific information of the ready task object, download the digital envelope file for the source data according to the digital envelope address for the source data in the source data address, and unseal the digital envelope file for the source data to obtain the ciphertext of the source data, the ciphertext of the random symmetric key for the data provider, and the signature of the intermediate data; Step S34: Obtain the public key of the data provider according to the task data provider in the relevant task object, and verify the signature of the intermediate data with the public key of the data provider. If the verification passes, decrypt the ciphertext of the random symmetric key for the data provider with the private key of the trusted hardware module to obtain the random symmetric key for the data provider; Step S35: Decrypt the ciphertext of the source data with the random symmetric key for the data provider to obtain the plaintext of the source data, and perform calculations according to the plaintext of the source data and the task algorithm in the relevant task object to obtain the plaintext of the result data.

6. The privacy data processing method based on a data envelope according to claim 1, characterized in that Step S4 includes: Step S41: Generate a random symmetric key for task calculation, and encrypt the plaintext of the result data with the random symmetric key for task calculation to obtain the ciphertext of the result data; Step S42: Obtain the public key of the result party according to the task result party in the relevant task object, and encrypt the random symmetric key for task calculation with the public key of the result party to obtain the ciphertext of the random symmetric key for task calculation; Step S43: Concatenate the ciphertext of the result data and the ciphertext of the random symmetric key for task calculation to obtain an intermediate result, and sign the intermediate result with the private key of the trusted hardware module to obtain the signature of the intermediate result; Step S44: Package the ciphertext of the result data, the ciphertext of the random symmetric key for task calculation, and the signature of the intermediate result into a digital envelope file for the result, and obtain the digital envelope address for the result; Step S45: Write the result digital envelope address to the destination result address of the relevant task object, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue.

7. The privacy data processing method based on a data envelope according to claim 1, wherein Step S5 includes: Step S51: Receive the request from the result party to query the report, and return the trusted report to the result party. The trusted report includes the public key certificate of the trusted hardware module and the signature of the trusted computing platform. Step S52: Verify the trusted report obtained by the result party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, extract the public key of the trusted hardware module according to the public key certificate of the trusted hardware module. Step S53: Receive the request from the result party to query the relevant task object, and return the relevant task object to the result party. Step S54: Obtain the result digital envelope address from the destination result address in the relevant task object, download the result digital envelope file according to the result digital envelope address, and decrypt the result digital envelope file to obtain the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature. Step S55: Verify the intermediate result signature using the public key of the trusted hardware module. If the verification passes, decrypt the task calculation random symmetric key ciphertext using the private key of the result party to obtain the task calculation random symmetric key. Step S56: Decrypt the result data ciphertext using the task calculation random symmetric key to obtain the result data plaintext.

8. A privacy data processing system based on a data envelope, characterized in that, The system includes: A trusted data gateway for managing the keys of the data party and the result party, including key generation, key storage, encryption / decryption, and signature / verification. It verifies the trusted reports obtained by the data party and the result party respectively, generates the source data digital envelope file for the data party, parses the result digital envelope file for the result party, and obtains the result data plaintext. An envelope management module for storing the source data digital envelope file and the result digital envelope file, managing the upload and download of the source data digital envelope file, and managing the upload and download of the result digital envelope file for access by the trusted data gateway and the trusted computing platform. A trusted computing platform for managing the data party, the result party, and the computing party, including user registration, user storage, and obtaining public key data. It manages tasks, including task object creation, task object query, trusted report query, task object execution, and task object status update. Among them, task object execution includes parsing the source data digital envelope file, obtaining the source data plaintext, calculating the specific task algorithm to obtain the result data plaintext, and generating the result digital envelope file.

9. The privacy data processing system based on a data envelope according to claim 8, wherein The trusted data gateway includes a data management module and a key management module. The data management module includes a remote verification unit, a data preparation unit, and a result verification unit. The key management module includes a key generation unit, a key storage unit, an encryption / decryption unit, and a signature / verification unit, where: A remote verification unit for verifying the trusted reports obtained by the data party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module; for verifying the trusted reports obtained by the result party, including verifying the public key certificate of the trusted hardware module and verifying the signature of the trusted computing platform. If the verification passes, the public key of the trusted hardware module is extracted according to the public key certificate of the trusted hardware module; A data preparation unit for matching the corresponding source data plaintext for the relevant task object according to the task algorithm in the relevant task object; for splicing the source data ciphertext and the data party's random symmetric key ciphertext to obtain intermediate data; for encapsulating the source data ciphertext, the data party's random symmetric key ciphertext, and the intermediate data signature into a source data digital envelope file, uploading the source data digital envelope file to the envelope management module, and obtaining the source data digital envelope address; A result verification unit for obtaining the result digital envelope address from the destination result address in the relevant task object, downloading the result digital envelope file from the envelope management module according to the result digital envelope address, and decrypting the result digital envelope file to obtain the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature; A key generation unit for generating a data party public-private key pair for the data party and a result party public-private key pair for the result party; for generating a data party random symmetric key; A key storage unit for storing the data party public-private key pair and the result party public-private key pair; An encryption / decryption unit for encrypting the source data plaintext with the data party random symmetric key to obtain the source data ciphertext, and encrypting the data party random symmetric key with the public key of the trusted hardware module to obtain the data party random symmetric key ciphertext; for decrypting the task calculation random symmetric key ciphertext with the result party private key in the key storage unit to obtain the task calculation random symmetric key; for decrypting the result data ciphertext with the task calculation random symmetric key to obtain the result data plaintext; A signature / verification unit for signing the intermediate data with the data party private key in the key storage unit to obtain the intermediate data signature, and for verifying the intermediate result signature with the public key of the trusted hardware module.

10. The privacy data processing system based on a data envelope according to claim 8, characterized in that, The trusted computing platform includes a user management module, a task management module, and a trusted hardware module. The user management module includes a user registration unit, a user storage unit, and a public key acquisition unit. The task management module includes a task creation unit, a task query unit, a task storage unit, a task invocation unit, a ready queue unit, a task calculation unit, a report query unit, and an address registration unit, where: The trusted hardware module is used to store the trusted reports generated by the trusted computing platform, to decrypt the data party random symmetric key ciphertext with the trusted hardware module private key to obtain the data party random symmetric key; to generate the task calculation random symmetric key; to sign the intermediate result with the trusted hardware module private key to obtain the intermediate result signature; A user registration unit, which is used to register a data provider to a trusted computing platform according to the data provider's user name, data provider's password, and data provider's public key, register a result provider to the trusted computing platform according to the result provider's user name, result provider's password, and result provider's public key, and register a computing party to the trusted computing platform according to the computing party's user name and computing party's password; A user storage unit, which is used to save the data provider's user name, data provider's password, and data provider's public key, save the result provider's user name, data provider's password, and data provider's public key, and save the computing party's user name and computing party's password; A public key acquisition unit, which is used to acquire the data provider's public key in the user storage module according to the task data provider in the relevant task object, and acquire the result provider's public key in the user storage module according to the task result provider in the relevant task object; A task creation unit, which is used to receive a request from the computing party to create a task, generate a relevant task object according to the task creation request parameters provided by the computing party, and set the task status of the relevant task object to created; A task query unit, which is used to receive a request from the data provider to query a relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the data provider, and is used to receive a request from the result provider to query a relevant task object, obtain the relevant task object in the task storage unit, and return the relevant task object to the result provider; A task storage unit, which is used to store relevant task objects; A task invocation unit, which is used to receive a request from the computing party to execute a relevant task object, determine whether the source data address of the relevant task object in the task storage unit has been set, and if it has been set, set the task status of the relevant task object to ready, and copy the relevant task object to the ready queue unit; A ready queue unit, which is used to store relevant task objects with a task status of ready; A task calculation unit, which is used to query the ready queue unit in real time. If there is a ready task object in the ready queue unit, obtain the specific information of the ready task object; used to decrypt the source data digital envelope file to obtain the source data ciphertext, the data provider's random symmetric key ciphertext, and the intermediate data signature; used to verify the intermediate data signature with the data provider's public key; used to decrypt the source data ciphertext with the data provider's random symmetric key to obtain the source data plaintext, and perform calculations according to the source data plaintext and the task algorithm in the relevant task object to obtain the result data plaintext; used to encrypt the result data plaintext with the task calculation random symmetric key to obtain the result data ciphertext; used to encrypt the task calculation random symmetric key with the result provider's public key to obtain the task calculation random symmetric key ciphertext; used to splice the result data ciphertext and the task calculation random symmetric key ciphertext to obtain an intermediate result; used to encapsulate the result data ciphertext, the task calculation random symmetric key ciphertext, and the intermediate result signature into a result digital envelope file, upload the result digital envelope file to the envelope management module to obtain the result digital envelope address; used to write the result digital envelope address to the destination result address of the relevant task object in the task storage unit, set the task status of the relevant task object to completed, and remove the relevant task object from the ready queue unit; A report query unit, configured to receive a trusted report query request from a data party, query the trusted report in the trusted hardware module, and return the trusted report to the data party, and is further configured to receive a query request for the trusted report of the result party, query the trusted report in the trusted hardware module, and return the trusted report to the result party; An address registration unit, configured to write the source data digital envelope address into the source data address of the relevant task object in the task storage unit.

Citation Information

Patent Citations

  • Electronic document safe sharing system and method thereof

    CN101989984A

  • Network data secure transmission method

    CN106506470A