Method, device and system for sharing and receiving private data
The data provider extracts and encrypts the plain text field values of sensitive fields based on the data sharing contract, and forms cipher text data and provides it to the management platform for verification and storage, solving the problems of data privacy leakage and data silos, and realizing the secure sharing of private data and full-link data security.
Patent Information
- Application Number
- CN202210412135.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-19
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2042-04-19
AI Technical Summary
In the era of big data, data privacy leakage seriously threatens people's normal and safe life, resulting in data holders becoming data islands, making it difficult to achieve the sharing of private data while ensuring information security.
The data provider extracts and encrypts the plain text field values of sensitive fields based on the data sharing contract, and forms cipher text data and provides it to the management platform for verification and storage, ensuring the security of the full-link data during the data sharing process.
It realizes sharing and saving private data while ensuring the security of information between the data provider and management platform, avoiding the risk of data leakage and ensuring the full link security of data sharing.
Smart Images

Figure CN114785496B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present specification relate to the field of security technology, and more particularly, to a method, device, and system for sharing and receiving private data. Background Art
[0002] In the era of big data, with the large-scale collection of data, the maturity of ultra-large-scale distributed computing cluster technology, and the continuous iteration and update of machine learning algorithms, the value of data has been discovered and applied to all aspects of social production and people's daily lives. However, like a double-edged sword, while data brings great value to people, data privacy leakage seriously threatens people's normal and safe life. This makes each data holder become a data island.
[0003] Therefore, there is an urgent need for a solution that enables the sharing of private data while ensuring that the information of all parties is not leaked. Summary of the invention
[0004] One or more embodiments of this specification describe a party, device, and system for sharing and receiving private data, which can effectively ensure the security of the private data of the data provider.
[0005] In a first aspect, a method for sharing private data is provided, comprising:
[0006] The data provider obtains the first private data and the data sharing contract maintained by the data provider, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to the sensitive fields;
[0007] The data provider extracts, from the first privacy data, the plaintext field values of the sensitive fields agreed in the data sharing contract;
[0008] The data provider encrypts the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract, and obtains encryption results corresponding to the sensitive fields;
[0009] The data provider forms first ciphertext data of the first private data based at least on the sensitive fields and the corresponding encryption results, and provides the first ciphertext data to the management platform;
[0010] The management platform verifies the first ciphertext data based on the data sharing contract maintained by it, and saves the first ciphertext data according to the verification result for use by the data recipient.
[0011] In a second aspect, a method for sharing private data is provided, comprising:
[0012] Obtaining the first private data and a data sharing contract maintained locally therefor, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to the sensitive fields;
[0013] Extracting, from the first private data, plaintext field values of the sensitive fields agreed upon in the data sharing contract;
[0014] Encrypting the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract to obtain encryption results corresponding to the sensitive fields;
[0015] At least based on the sensitive fields and the corresponding encryption results, forming first ciphertext data of the first private data;
[0016] The first ciphertext data is sent to a management platform, so that the management platform can verify the first ciphertext data based on the data sharing contract maintained by the management platform, and save the first ciphertext data according to the verification result.
[0017] In a third aspect, a method for receiving private data is provided, comprising:
[0018] receiving, from a data provider, first ciphertext data of first private data obtained by the data provider based on a data sharing contract maintained by the data provider; the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field; the first ciphertext data is formed based on each sensitive field and the encryption results corresponding to each sensitive field;
[0019] Verifying the first ciphertext data based on the data sharing contract maintained by it;
[0020] According to the verification result, the first ciphertext data is saved.
[0021] In a fourth aspect, a system for sharing private data is provided, including:
[0022] A data provider, used to obtain the first private data and a data sharing contract maintained by the data provider, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field;
[0023] The data provider is further configured to extract, from the first privacy data, the plaintext field values of the sensitive fields agreed upon in the data sharing contract;
[0024] The data provider is further configured to encrypt the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract, and obtain encryption results corresponding to the sensitive fields;
[0025] The data provider is further configured to form first ciphertext data of the first private data based at least on the sensitive fields and the corresponding encryption results, and provide the first ciphertext data to the management platform;
[0026] The management platform is used to verify the first ciphertext data based on the data sharing contract maintained by it, and save the first ciphertext data according to the verification result for use by the data recipient.
[0027] In a fifth aspect, a device for sharing private data is provided, including:
[0028] An acquisition unit, configured to acquire the first private data and a data sharing contract maintained locally therein, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to the sensitive fields;
[0029] an extraction unit, configured to extract, from the first privacy data, plaintext field values of the sensitive fields agreed upon in the data sharing contract;
[0030] An encryption unit, used to encrypt the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed in the data sharing contract, to obtain encryption results corresponding to the sensitive fields;
[0031] a forming unit, configured to form first ciphertext data of the first private data based at least on the sensitive fields and the encryption results corresponding to the sensitive fields;
[0032] The sending unit is used to send the first ciphertext data to the management platform, so that the management platform can verify the first ciphertext data based on the data sharing contract maintained by it, and save the first ciphertext data according to the verification result.
[0033] In a sixth aspect, a device for receiving private data is provided, including:
[0034] A receiving unit, configured to receive, from a data provider, first ciphertext data of first private data obtained by the data provider based on a data sharing contract maintained by the data provider; the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field; the first ciphertext data is formed based on each sensitive field and the encryption results corresponding to each sensitive field;
[0035] A verification unit, configured to verify the first ciphertext data based on the data sharing contract maintained by the verification unit;
[0036] A storage unit is used to store the first ciphertext data according to the verification result.
[0037] In a seventh aspect, a computer storage medium is provided, on which a computer program is stored, and when the computer program is executed in a computer, the computer executes the method of the first, second or third aspect.
[0038] In an eighth aspect, a computing device is provided, comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method of the first, second or third aspect is implemented.
[0039] One or more embodiments of this specification provide methods, devices, and systems for sharing and receiving private data. For the private data to be shared, the data provider obtains the corresponding ciphertext data based on the data sharing contract. Afterwards, the data provider provides the ciphertext data to the management platform, and the management platform verifies the ciphertext data based on the data sharing contract and saves it after the verification passes. It can be seen that the solution provided by the embodiments of this specification not only constrains the data sent by the data provider, but also constrains the data received by the management platform, thereby ensuring the data security of the entire link of data sharing. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0041] Figure 1 A schematic diagram of an implementation scenario of an embodiment disclosed in this specification;
[0042] Figure 2 An interaction diagram showing a method for sharing private data according to one embodiment;
[0043] Figure 3 An interactive diagram showing a method for encrypting and decrypting a first field value in one embodiment;
[0044] Figure 4 A schematic diagram showing a method for sharing private data according to an embodiment;
[0045] Figure 5 A flow chart showing a method for receiving private data according to an embodiment is shown;
[0046] Figure 6 A schematic diagram of a system for sharing private data according to an embodiment is shown;
[0047] Figure 7 A schematic diagram showing an apparatus for sharing private data according to an embodiment;
[0048] Figure 8 A schematic diagram of a device for receiving private data according to an embodiment is shown. DETAILED DESCRIPTION
[0049] The solution provided in this specification is described below in conjunction with the accompanying drawings.
[0050] Figure 1 A schematic diagram of an implementation scenario of an embodiment disclosed in this specification. Figure 1 In the data provider, management platform and data receiver can be implemented as any device, platform, server or device cluster with computing and processing capabilities. The management platform can maintain several tenants, which can also be called data receivers.
[0051] Figure 1 In the data sharing contract, the interaction between each data provider and the management platform is similar. Taking any data provider as an example, the management platform can generate a corresponding data sharing contract based on the cooperation agreement signed in advance by the data provider and the data recipient. The data sharing contract at least stipulates several sensitive fields and the encryption method corresponding to each sensitive field. In addition, several common fields can also be agreed upon. Afterwards, the management platform can send the data sharing contract to the data provider, so that the data provider can encrypt the private data to be shared based on the data sharing contract and send the encrypted data to the management platform. After receiving the encrypted data sent by the data provider, the management platform can verify the encrypted data based on the data sharing contract and save it after the verification passes.
[0052] In one example, multiple encrypted data sent by each data provider may be stored according to clusters of different data recipients.
[0053] It should be understood that Figure 1 This is just an exemplary explanation. In actual applications, after the management platform generates a data sharing contract, it can also request the approval group to conduct a multi-dimensional compliance check on the data sharing contract. The multi-dimensionality here may include several of the following items: user authorization acquisition, necessary rationality and minimum principle of data sharing, rationality of encryption method, and laws and regulations of the region. In addition, the management platform and the data provider can transmit data through data pipelines, etc., which is not limited in this manual.
[0054] Figure 2An interactive diagram of a method for sharing private data according to an embodiment is shown. Figure 2 As shown, the method may include:
[0055] Step 202: The data provider obtains the first private data and the data sharing contract it maintains.
[0056] The first privacy data here may include offline data and online data. The offline data is usually organized and sent in the form of files, while the online data may be transmitted in real time through an interface.
[0057] The data sharing contract maintained by the above data provider can be obtained through the following steps: the management platform obtains the cooperation agreement signed in advance by the data provider and the data recipient, which at least stipulates the data sharing content. The management platform generates a data sharing contract based on at least the data sharing content, and determines the compliance check results of the data sharing contract in multiple dimensions, and sends the data sharing contract to the data provider if the compliance check results are passed.
[0058] In one example, the above multi-dimensional compliance inspection results can be obtained after approval by the business department, legal department, digital security department, and privacy office. The multi-dimensionality can include several of the following items: the authenticity of the cooperation agreement, the user authorization acquisition, the necessary rationality and minimum principle of data sharing, the rationality of the encryption method, and the laws and regulations of the region.
[0059] In a specific example, a data provider may maintain a data sharing contract through a data pipeline.
[0060] It should be noted that the above data sharing contract at least stipulates several sensitive fields and the encryption methods corresponding to each sensitive field. In addition, several common fields (also called non-sensitive fields) and data recipients can also be stipulated.
[0061] The encryption method may include any of the following: de-identification, vectorization, and generalized bucketing. De-identification here may refer to replacing the data itself with the hash value of the data or the homomorphic encryption result. Vectorization may refer to representing the data itself with the embedded vector of the data. Generalized bucketing may refer to replacing the data itself with an interval range or a Boolean value.
[0062] Step 204: The data provider extracts the plaintext field values of the sensitive fields agreed upon in the data sharing contract from the first private data.
[0063] It should be understood that if several common fields are also agreed upon in the data sharing contract, then the plaintext field values of each common field can also be extracted from the first privacy data.
[0064] Here, the process of extracting the plaintext field values of each sensitive field and each common field from the first private data can also be understood as the process of filtering the first private data, that is, filtering out the field values of other fields except the agreed fields (including sensitive fields and common fields).
[0065] In step 206, the data provider encrypts the plaintext field values of each sensitive field according to the encryption method corresponding to each sensitive field agreed upon in the data sharing contract to obtain the encryption results corresponding to each sensitive field.
[0066] The following takes the first field of any sensitive field as an example, and assumes that the corresponding encryption method is de-identification, and describes the encryption process of the plaintext field value of the first field:
[0067] In one example, a hash algorithm may be used to calculate a first hash value of the plaintext field value of the first field as a first encryption result corresponding to the first field. Similarly, encryption results corresponding to each sensitive field may be obtained.
[0068] In another example, a hash algorithm may be used to calculate a first hash value of the plaintext field value of the first field. The first random string generated for this data sharing is used as a symmetric key to encrypt the first hash value, and an encrypted hash value is obtained as a first encryption result corresponding to the first field. Similarly, the encryption results corresponding to each sensitive field may be obtained.
[0069] The hash algorithm may be, for example, a SHA256 algorithm or a SHA512 algorithm.
[0070] In addition, the first random string is generated for this data sharing. In different data sharing, the generated first random string may be different to further ensure the security of the data.
[0071] In an example, the first random string may be a 128-bit bit string.
[0072] After obtaining the encryption results corresponding to each sensitive field, the data provider may provide the above symmetric key (ie, the first character string) to the management platform.
[0073] For example, the data provider can use the public key received in advance from the management platform to encrypt the symmetric key to obtain the encryption key, and then provide the encryption key to the management platform.
[0074] Step 208: The data provider forms first ciphertext data of the first private data based at least on the sensitive fields and the corresponding encryption results, and provides it to the management platform.
[0075] It should be understood that when the data sharing contract also stipulates several common fields, the first ciphertext data of the first private data can be formed based on each sensitive field and their corresponding encryption results, as well as each common field and their respective plaintext field values.
[0076] In one example, sensitive fields and corresponding encryption results can be organized in the form of key_value pairs, and common fields and corresponding plaintext field values can be organized in the form of key_value pairs. The key_value pairs are then concatenated to obtain the first ciphertext data.
[0077] It should be noted that, in the process of the data provider obtaining the encryption results corresponding to each sensitive field, if the above-mentioned symmetric key is used, the data provider can provide the first ciphertext data together with the encryption key to the management platform.
[0078] It should also be noted that when the data provider includes a data pipeline, the above steps 202 to 208 can be executed by the data pipeline of the data provider.
[0079] In step 210, the management platform verifies the first ciphertext data based on the data sharing contract it maintains, and saves the first ciphertext data according to the verification result for use by the data recipient.
[0080] Optionally, before verifying the first ciphertext data, the identity of the data provider may be authenticated first, and after the identity authentication is passed, the first ciphertext data may be verified.
[0081] In addition, when the management platform includes a data pipeline, step 210 may be performed by the data pipeline of the management platform.
[0082] In step 210, verifying the first ciphertext data may include verifying each sensitive field in the first ciphertext data in turn to obtain a verification result corresponding to each sensitive field.
[0083] Taking any first field among the sensitive fields as an example, verifying the first field may include: determining whether a first condition corresponding to the first field is satisfied, the first condition including that the first field matches any field among the sensitive fields agreed upon in the data sharing contract, and that the encryption method of the first encryption result corresponding to the first field is the same as the encryption method agreed upon for the first field in the data sharing contract. If the first condition is satisfied, the verification result corresponding to the first field is determined to be passed; otherwise, the verification result corresponding to the first field is determined to be failed.
[0084] In one example, whether the encryption method of the first encryption result is the same as the encryption method agreed for the first field can be determined by determining whether the data length of the first encryption result is the same as the ciphertext length preset for the first field.
[0085] In another example, a regular expression may also be used to determine whether the encryption method of the first encryption result is the same as the encryption method agreed upon for the first field.
[0086] In another example, whether the encryption method of the first encryption result is the same as the encryption method agreed upon for the first field may also be determined by determining whether the first encryption result can be correctly decrypted.
[0087] Similarly, the verification results corresponding to each sensitive field can be obtained.
[0088] It should be noted that for a field in each sensitive field, if the verification result corresponding to the field is passed, the encryption result corresponding to the field can be encrypted and saved (the specific saving process will be described later), otherwise the encryption result corresponding to the field is discarded.
[0089] It should be understood that when the first ciphertext data also includes ordinary fields, the above-mentioned verification of the first ciphertext data may include verifying each ordinary field in turn to obtain a verification result corresponding to each ordinary field.
[0090] Taking any second field in each common field as an example, verifying the second field may include: determining whether the second field matches any field in the common fields agreed in the data sharing contract; if so, determining that the verification result corresponding to the second field is passed; otherwise, determining that the verification result corresponding to the second field is failed.
[0091] It should be noted that, for a certain field in each common field, if the verification result corresponding to the field is verification passed, the plaintext field value corresponding to the field can be saved, otherwise the plaintext field value corresponding to the field is discarded.
[0092] The following takes any first field in each sensitive field as an example to illustrate the storage process of the corresponding first encryption result.
[0093] Specifically, if the first encryption result is a first hash value of the plaintext field value of the first field, the management platform can use the encryption key (eg, AES key) agreed upon with the data recipient to encrypt the first hash value and save the encrypted first hash value.
[0094] If the first encryption result is an encrypted hash value of the plaintext field value of the first field, the management platform can use the private key of the management platform (corresponding to the public key used to encrypt the symmetric key) to decrypt the encryption key and obtain the symmetric key. Using the symmetric key, the encrypted hash value is decrypted to obtain the first hash value. Finally, the management platform can use the encryption key (for example, AES key) agreed with the data recipient to encrypt the first hash value and save the encrypted first hash value. Similarly, the encrypted hash values corresponding to each field that has passed the verification can be saved.
[0095] In one example, the management platform may store the encrypted hash value corresponding to each field in a storage cluster corresponding to the corresponding data receiver.
[0096] It should be noted that the management platform can be divided into storage clusters corresponding to multiple data recipients, so that after receiving encrypted data sent by a data provider, the management platform can store it in the data cluster of the data recipient that has pre-signed a cooperation agreement with the data provider.
[0097] Afterwards, the management platform may receive a data read request sent by the data recipient, which may include the field name of the target field to be read. In response to the data read request, the management platform returns the encrypted target hash value corresponding to the target field to the data recipient, so that the data recipient can use the decryption key corresponding to the encryption key to decrypt the encrypted target hash value and use it.
[0098] This completes data sharing.
[0099] It should be understood that in actual applications, the above steps 202 to 210 may be repeatedly executed until the data sharing contract expires.
[0100] Specifically, the management platform can detect the validity period of the data sharing contract, and after detecting that the validity period has expired, send a notice of expiration of the data sharing contract to the data provider. In response to the expiration notice, the data provider stops sending data to the management platform. Accordingly, the management platform also stops receiving data from the data provider.
[0101] In summary, the method for sharing private data provided in the embodiments of this specification is that the data provider shares or sends data based on the data sharing contract, and the management platform receives data based on the data sharing contract, that is, in this solution, the data sent by the data provider and the data received by the management platform are constrained at the same time, thereby ensuring the data security of the entire link of data sharing. In addition, for each data sharing, the data provider generates a random string as a symmetric key, encrypts each hash value corresponding to each sensitive field, and can further ensure the security of the data. Finally, the management platform encrypts and saves the hash value of each sensitive field, which increases the difficulty for illegal intruders to obtain the original data, thereby enhancing the security of the data saved by the management platform.
[0102] The following takes any first field among the sensitive fields as an example, and the encryption method corresponding to the first field is de-identification, and the encryption and decryption process of the first field value is explained.
[0103] Figure 3 An interactive diagram of the encryption and decryption method of the first field value in one embodiment is shown. Figure 3 As shown, the method may include the following steps:
[0104] Step 302: The data provider calculates a first hash value of a first field value of a first field using a hash algorithm.
[0105] The hash algorithm here may be, for example, the SHA256 algorithm or the SHA512 algorithm.
[0106] In step 304, the data provider uses the first random string generated for this data sharing as a symmetric key to encrypt the first hash value to obtain an encrypted hash value.
[0107] Step 306: The data provider uses the public key of the management platform to encrypt the symmetric key to obtain an encrypted key.
[0108] In step 308, the data provider provides the encrypted hash value and the encryption key to the management platform.
[0109] In step 310, the management platform uses the private key it holds to decrypt the encryption key and obtain the symmetric key.
[0110] Step 312: The management platform uses the symmetric key to decrypt the encrypted hash value to obtain the first hash value.
[0111] In step 314, the management platform uses the encryption key agreed upon with the data recipient to encrypt the first hash value and save the encrypted first hash value.
[0112] From this, it can be seen that after the management platform decrypts and obtains the first hash value of the first field value of the first field, it does not store it in any form, but instead uses the encryption key agreed with the data recipient to encrypt the first hash value and then store it, thereby ensuring the security of the privacy data.
[0113] Of course, in practical applications, the encryption method for the first field value can also be vectorized or generalized bucketing. It should be understood that when the encryption method is vectorized or generalized bucketing, the first hash value in the above steps can be replaced with the first vector representation or the first interval range, and this specification will not repeat it here.
[0114] Figure 4 A schematic diagram of a method for sharing private data according to an embodiment is shown. Figure 4 In the embodiment, both the data provider and the management platform include data pipelines, wherein the data pipeline in the data provider is used to send data, and the data pipeline in the management platform is used to receive data.
[0115] Specifically, after the steps of institution settlement, demand establishment, field management, etc., the management platform finally generates a data sharing contract. After that, the data sharing contract is approved by the corresponding business department, legal department, digital security department, and privacy office to obtain the compliance check result. If the compliance check result is passed, the data sharing contract can be stored in the data channel so that the data channel can receive data based on the data sharing contract. In addition, the management platform can also send the data sharing contract to the data provider.
[0116] When the data provider shares data, the data channel reads the data sharing contract maintained locally by the data provider, and based on the data sharing contract, encrypts the private data to be shared, and sends the ciphertext data together with the encryption key to the data channel of the management platform.
[0117] The data channel of the management platform first authenticates the identity of the data provider. After the identity authentication is passed, the ciphertext data is verified based on the data sharing contract. After that, for each sensitive field in the ciphertext data that has passed the verification, the encryption key can be decrypted first, and the symmetric key obtained by decryption can be used to decrypt the hash value (or vector representation, etc.) corresponding to each sensitive field, and encrypted and saved.
[0118] Of course, in actual applications, before the data provider starts sharing data, the management platform can generate a key pair for encrypting the symmetric key and send the public key in the key pair to the data provider. The management platform can also agree with the data recipient on the encryption key for the hash value or vector representation to be saved.
[0119] Figure 5A flow chart of a method for receiving private data according to an embodiment is shown. The method is executed by a management platform. Figure 5 As shown, the method may include the following steps:
[0120] Step 502: receiving, from a data provider, first ciphertext data of first private data obtained by the data provider based on a data sharing contract maintained by the data provider.
[0121] The data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field. The first ciphertext data is formed based on each sensitive field and the encryption results corresponding to each sensitive field.
[0122] Step 504: verify the first ciphertext data based on the data sharing contract maintained by it.
[0123] Step 506: Save the first ciphertext data according to the verification result.
[0124] Among them, each sensitive field includes a first field, and the encryption result corresponding to the first field in the first ciphertext data is a first hash value of the plaintext field value of the first field; the above-mentioned saving of the first ciphertext data includes: using an encryption key agreed with the data recipient, encrypting the first hash value, and saving the encrypted first hash value.
[0125] Similarly, the management platform can also save the encrypted hash values corresponding to other sensitive fields.
[0126] In addition, the above method may further include the following steps:
[0127] A data read request sent by a data receiver is received. In response to the data read request, the encrypted first hash value is returned to the data receiver, so that the data receiver can use a decryption key corresponding to the encryption key to decrypt and use the encrypted first hash value.
[0128] Similarly, the data recipient can also read and decrypt the encrypted hash values corresponding to other sensitive fields and use them.
[0129] In summary, the management platform encrypts and saves the hash value corresponding to each sensitive field, which increases the difficulty for illegal intruders to obtain the original data, thereby enhancing the security of data stored by the management platform.
[0130] Corresponding to the above-mentioned method for sharing private data, an embodiment of the present specification also provides a system for sharing private data, such as Figure 6 As shown, the system may include:
[0131] The data provider 602 is used to obtain the first private data and the data sharing contract maintained by the data provider, where the data sharing contract at least stipulates a number of sensitive fields and the encryption method corresponding to each sensitive field.
[0132] The above data sharing contract also stipulates several common fields;
[0133] The data provider 602 is further used to extract the plaintext field values of the common fields agreed in the data sharing contract from the first privacy data.
[0134] The data provider 602 is further used to extract the plaintext field values of the sensitive fields agreed in the data sharing contract from the first privacy data.
[0135] The data provider 602 is also used to encrypt the plaintext field values of each sensitive field according to the encryption method corresponding to each sensitive field agreed in the data sharing contract, and obtain the encryption result corresponding to each sensitive field.
[0136] The data provider 602 is further configured to form first ciphertext data of the first private data based at least on the sensitive fields and their corresponding encryption results, and provide the first ciphertext data to the management platform 604 .
[0137] The data provider 602 is specifically used for:
[0138] Based on each sensitive field and the corresponding encryption result, as well as each common field and the corresponding plaintext field value, first ciphertext data of the first privacy data is formed.
[0139] The management platform 604 is used to verify the first ciphertext data based on the data sharing contract it maintains, and save the first ciphertext data according to the verification result for use by the data recipient 606.
[0140] The management platform 604 is specifically used for:
[0141] Verify each sensitive field in the first ciphertext data in turn to obtain a verification result corresponding to each sensitive field;
[0142] Among them, verifying any first field in each sensitive field includes: determining whether a first condition corresponding to the first field is satisfied, the first condition including that the first field matches any field in each agreed sensitive field, and the encryption method of the first encryption result corresponding to the first field is the same as the agreed encryption method. If the first condition is satisfied, determining that the verification result corresponding to the first field is passed.
[0143] The management platform 604 is also specifically used for:
[0144] For the first encryption result in the first ciphertext data, if the verification result corresponding to the first field is verification passed, the first encryption result is encrypted and saved; otherwise, the first encryption result is discarded.
[0145] In one example, each sensitive field includes a first field;
[0146] The data provider 602 is specifically used for:
[0147] Calculate a first hash value of the plaintext field value of the first field by using a hash algorithm;
[0148] The first random string generated for this data sharing is used as a symmetric key to encrypt the first hash value, and an encrypted hash value is obtained as a first encryption result corresponding to the first field.
[0149] The data provider 602 is also used to encrypt the symmetric key using the public key of the management platform to obtain an encrypted key.
[0150] The data provider 602 is also used to provide the encryption key to the management platform 604 .
[0151] The management platform 604 is specifically used for:
[0152] Using the private key of the management platform 604, decrypt the encryption key to obtain the symmetric key;
[0153] Decrypting a first encryption result corresponding to a first field in the first ciphertext data using a symmetric key to obtain a first hash value;
[0154] The first hash value is encrypted and saved.
[0155] In another example, each sensitive field includes a second field;
[0156] The data provider 602 is also specifically used for:
[0157] A hash algorithm is used to calculate a second hash value of the plaintext field value of the second field as a second encryption result corresponding to the second field.
[0158] Optionally, the management platform 604 is further used to obtain a cooperation agreement pre-signed by a data provider and a data recipient, in which at least data sharing content is agreed upon.
[0159] The management platform 604 is further configured to generate a data sharing contract based at least on the data sharing content.
[0160] The management platform 604 is also used to determine the compliance check results of the data sharing contract in multiple dimensions, and if the compliance check result is passed, send the data sharing contract to the data provider.
[0161] Among them, the above-mentioned multiple dimensions include several of the following items: the authenticity of the cooperation agreement, user authorization acquisition, the necessary rationality and minimum principle of data sharing, the rationality of the encryption method, and the laws and regulations of the region.
[0162] The functions of the functional modules of the device in the above-mentioned embodiment of this specification can be implemented through the steps of the above-mentioned method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.
[0163] A system for sharing private data provided by an embodiment of this specification can ensure data security in the entire link of data sharing.
[0164] Corresponding to the above-mentioned method for sharing private data, an embodiment of the present specification also provides a device for sharing private data, which is arranged at a data provider. Figure 7 As shown, the device may include:
[0165] The acquisition unit 702 is used to acquire the first private data and the data sharing contract maintained locally, where the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to the sensitive fields.
[0166] The extraction unit 704 is used to extract the plaintext field values of the sensitive fields agreed in the data sharing contract from the first privacy data.
[0167] The encryption unit 706 is used to encrypt the plaintext field values of each sensitive field according to the encryption method corresponding to each sensitive field agreed in the data sharing contract, and obtain the encryption result corresponding to each sensitive field.
[0168] The forming unit 708 is used to form first ciphertext data of the first private data based on at least the sensitive fields and the corresponding encryption results.
[0169] The sending unit 710 is used to send the first ciphertext data to the management platform, so that the management platform can verify the first ciphertext data based on the data sharing contract maintained by it, and save the first ciphertext data according to the verification result.
[0170] The functions of the functional modules of the device in the above-mentioned embodiment of this specification can be implemented through the steps of the above-mentioned method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.
[0171] An apparatus for sharing private data provided by an embodiment of this specification can ensure data security of the entire link of data sharing.
[0172] Corresponding to the above-mentioned method for receiving private data, an embodiment of the present specification also provides a device for receiving private data, which is arranged on a management platform. Figure 8 As shown, the device may include:
[0173] The receiving unit 802 is used to receive first ciphertext data of first private data obtained by the data provider based on the data sharing contract maintained by the data provider. The data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field. The first ciphertext data is formed based on each sensitive field and the encryption result corresponding to each sensitive field.
[0174] The verification unit 804 is used to verify the first ciphertext data based on the data sharing contract maintained by it.
[0175] The storage unit 806 is used to store the first ciphertext data according to the verification result.
[0176] Wherein, each sensitive field includes a first field, and the encryption result corresponding to the first field in the first ciphertext data is a first hash value of the plaintext field value of the first field;
[0177] The storage unit 806 is specifically used for:
[0178] Encrypting the first hash value using an encryption key agreed upon with the data recipient;
[0179] The encrypted first hash value is saved.
[0180] Optionally, the device may further include: a sending unit 808;
[0181] The receiving unit 802 is further configured to receive a data reading request sent by a data receiving party.
[0182] The sending unit 808 is used to return the encrypted first hash value to the data receiver in response to the data reading request, so that the data receiver can use the decryption key corresponding to the encryption key to decrypt and use the encrypted first hash value.
[0183] The functions of the functional modules of the device in the above-mentioned embodiment of this specification can be implemented through the steps of the above-mentioned method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.
[0184] An embodiment of the present specification provides a device for receiving private data, which encrypts and saves the data of the data provider, thereby increasing the difficulty for illegal intruders to obtain the original data, thereby enhancing the security of the data saved by the management platform.
[0185] According to another embodiment, there is also provided a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute a combination of Figure 2 , Figure 3 or Figure 5 The method described.
[0186] According to another embodiment of the present invention, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the Figure 2 , Figure 3 or Figure 5 The method described.
[0187] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0188] The steps of the method or algorithm described in conjunction with the disclosure of this specification can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, register, hard disk, mobile hard disk, CD-ROM or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a server. Of course, the processor and the storage medium can also be present in the server as discrete components.
[0189] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof. When implemented using software, the functions may be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium may be any available medium that a general or special-purpose computer can access.
[0190] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0191] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of this specification. It should be understood that the above description is only the specific implementation method of this specification and is not intended to limit the protection scope of this specification. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of this specification should be included in the protection scope of this specification.
Claims
1. A method for sharing private data, comprising: The data provider obtains the first private data and the data sharing contract maintained by the data provider, wherein the data sharing contract at least stipulates a number of sensitive fields and the encryption method corresponding to each sensitive field; wherein the data sharing contract is generated based on the data sharing content stipulated in the cooperation agreement pre-signed by the data provider and the data recipient; The data provider extracts, from the first privacy data, the plaintext field values of the sensitive fields agreed in the data sharing contract; The data provider encrypts the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract, and obtains encryption results corresponding to the sensitive fields; The data provider forms first ciphertext data of the first private data based at least on the sensitive fields and the corresponding encryption results, and provides the first ciphertext data to the management platform; The management platform verifies the first ciphertext data based on the data sharing contract maintained by it, and saves the first ciphertext data to the data cluster of the data recipient according to the verification result for use by the data recipient.
2. The method according to claim 1, wherein: The data sharing contract also stipulates several common fields; the method also includes: Extracting, from the first private data, each plaintext field value of each common field agreed in the data sharing contract; The first ciphertext data forming the first private data includes: Based on the sensitive fields and their corresponding encryption results, as well as the common fields and their respective plaintext field values, first ciphertext data of the first privacy data is formed.
3. The method according to claim 1, wherein: The sensitive fields include a first field; The corresponding encryption of each plaintext field value of each sensitive field includes: Using a hash algorithm, calculate a first hash value of the plaintext field value of the first field; The first random string generated for this data sharing is used as a symmetric key to encrypt the first hash value, and an encrypted hash value is obtained as a first encryption result corresponding to the first field.
4. The method according to claim 3, further comprising: The data provider encrypts the symmetric key using the public key of the management platform to obtain an encrypted key; The data provider provides the encryption key to the management platform.
5. The method according to claim 4, wherein: The storing of the first ciphertext data comprises: Decrypting the encryption key using the private key of the management platform to obtain the symmetric key; Decrypting a first encryption result corresponding to the first field in the first ciphertext data using the symmetric key to obtain the first hash value; The first Hash value is encrypted and saved.
6. The method according to claim 1, wherein: Each of the sensitive fields includes a second field; The corresponding encryption of each plaintext field value of each sensitive field includes: A hash algorithm is used to calculate a second hash value of the plaintext field value of the second field as a second encryption result corresponding to the second field.
7. The method according to claim 1, wherein: The verifying the first ciphertext data includes: Verifying each sensitive field in the first ciphertext data in turn to obtain a verification result corresponding to each sensitive field; Among them, verifying any first field in each sensitive field includes: determining whether a first condition corresponding to the first field is met, the first condition including that the first field matches any field in the agreed sensitive fields, and the encryption method of the first encryption result corresponding to the first field is the same as the agreed encryption method; when the first condition is met, determining that the verification result corresponding to the first field is passed.
8. The method according to claim 7, wherein: The step of saving the first ciphertext data to the data cluster of the data receiver includes: For the first encryption result in the first ciphertext data, if the verification result corresponding to the first field is passed, the first encryption result is encrypted and saved in the data cluster of the data recipient; otherwise, the first encryption result is discarded.
9. The method according to claim 1, wherein: Before obtaining the first private data and the data sharing contract maintained by the first private data, the method further includes: The management platform obtains the cooperation agreement; The management platform generates the data sharing contract based at least on the data sharing content agreed upon in the cooperation agreement; The management platform determines the multi-dimensional compliance check results for the data sharing contract, and if the compliance check result is passed, sends the data sharing contract to the data provider.
10. The method according to claim 9, wherein: The multiple dimensions include several of the following: the authenticity of the cooperation agreement, user authorization, the necessary rationality and minimum principle of data sharing, the rationality of the encryption method, and the laws and regulations of the region.
11. A method for sharing private data, performed by a data provider, comprising: Obtaining the first private data and a data sharing contract maintained locally therein, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field; wherein the data sharing contract is generated based on the data sharing content stipulated in the cooperation agreement pre-signed by the data provider and the data recipient; Extracting, from the first private data, plaintext field values of the sensitive fields agreed upon in the data sharing contract; Encrypting the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract to obtain encryption results corresponding to the sensitive fields; At least based on the sensitive fields and the corresponding encryption results, forming first ciphertext data of the first private data; The first ciphertext data is sent to a management platform, so that the management platform can verify the first ciphertext data based on the data sharing contract maintained by the management platform, and save the first ciphertext data to the data cluster of the data recipient according to the verification result.
12. A method for receiving private data, performed by a management platform, comprising: receiving, from a data provider, first ciphertext data of first private data obtained by the data provider based on a data sharing contract maintained by the data provider; The data sharing contract at least stipulates a number of sensitive fields and the encryption methods corresponding to the sensitive fields; the first ciphertext data is formed based on the sensitive fields and the corresponding encryption results; wherein the data sharing contract is generated based on the data sharing content agreed in the cooperation agreement pre-signed by the data provider and the data recipient; Verifying the first ciphertext data based on the data sharing contract maintained by it; According to the verification result, the first ciphertext data is saved in the data cluster of the data recipient.
13. The method according to claim 12, wherein: The sensitive fields include a first field, and the encryption result corresponding to the first field in the first ciphertext data is a first hash value of the plaintext field value of the first field; The storing of the first ciphertext data comprises: Encrypting the first hash value using an encryption key agreed upon with the data recipient; The encrypted first hash value is saved.
14. The method according to claim 13, further comprising: Receiving a data reading request sent by the data recipient; In response to the data read request, the encrypted first hash value is returned to the data receiver, so that the data receiver can use the decryption key corresponding to the encryption key to decrypt and use the encrypted first hash value.
15. A system for sharing private data, comprising: A data provider, for obtaining the first private data and a data sharing contract maintained by the data provider, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to each sensitive field; wherein the data sharing contract is generated based on the data sharing content stipulated in the cooperation agreement pre-signed by the data provider and the data recipient; The data provider is further configured to extract, from the first privacy data, the plaintext field values of the sensitive fields agreed upon in the data sharing contract; The data provider is further configured to encrypt the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed upon in the data sharing contract, so as to obtain encryption results corresponding to the sensitive fields; The data provider is further configured to form first ciphertext data of the first private data based at least on the sensitive fields and the corresponding encryption results, and provide the first ciphertext data to the management platform; The management platform is used to verify the first ciphertext data based on the data sharing contract maintained by it, and save the first ciphertext data to the data cluster of the data recipient according to the verification result for use by the data recipient.
16. The system of claim 15, wherein: The data sharing contract also stipulates several common fields; The data provider is further configured to extract, from the first private data, the plaintext field values of the common fields agreed upon in the data sharing contract; The data provider is specifically used for: Based on the sensitive fields and their corresponding encryption results, as well as the common fields and their respective plaintext field values, first ciphertext data of the first privacy data is formed.
17. The system of claim 15, wherein: The sensitive fields include a first field; The data provider is specifically used for: Using a hash algorithm, calculate a first hash value of the plaintext field value of the first field; The first random string generated for this data sharing is used as a symmetric key to encrypt the first hash value, and an encrypted hash value is obtained as a first encryption result corresponding to the first field.
18. The system of claim 17, wherein: The data provider is further configured to encrypt the symmetric key using the public key of the management platform to obtain an encrypted key; The data provider is also used to provide the encryption key to the management platform.
19. The system of claim 18, wherein: The management platform is specifically used for: Decrypting the encryption key using the private key of the management platform to obtain the symmetric key; Decrypting a first encryption result corresponding to the first field in the first ciphertext data using the symmetric key to obtain the first hash value; The first Hash value is encrypted and saved.
20. The system of claim 15, wherein: The management platform is specifically used for: Verifying each sensitive field in the first ciphertext data in turn to obtain a verification result corresponding to each sensitive field; Among them, verifying any first field in each sensitive field includes: determining whether a first condition corresponding to the first field is met, the first condition including that the first field matches any field in the agreed sensitive fields, and the encryption method of the first encryption result corresponding to the first field is the same as the agreed encryption method; when the first condition is met, determining that the verification result corresponding to the first field is passed.
21. The system of claim 20, wherein: The management platform is also specifically used for: For the first encryption result in the first ciphertext data, if the verification result corresponding to the first field is passed, the first encryption result is encrypted and saved in the data cluster of the data recipient; otherwise, the first encryption result is discarded.
22. A device for sharing private data, provided at a data provider, comprising: An acquisition unit, configured to acquire the first private data and a data sharing contract maintained locally therein, wherein the data sharing contract at least stipulates a number of sensitive fields and encryption methods corresponding to the sensitive fields; wherein the data sharing contract is generated based on the data sharing content stipulated in the cooperation agreement pre-signed by the data provider and the data recipient; an extraction unit, configured to extract, from the first privacy data, plaintext field values of the sensitive fields agreed upon in the data sharing contract; An encryption unit, used to encrypt the plaintext field values of the sensitive fields in accordance with the encryption methods corresponding to the sensitive fields agreed in the data sharing contract, to obtain encryption results corresponding to the sensitive fields; a forming unit, configured to form first ciphertext data of the first private data based at least on the sensitive fields and the encryption results corresponding to the sensitive fields; A sending unit is used to send the first ciphertext data to a management platform, so that the management platform can verify the first ciphertext data based on the data sharing contract maintained by the management platform, and save the first ciphertext data to the data cluster of the data recipient according to the verification result.
23. A device for receiving private data, arranged on a management platform, comprising: A receiving unit, configured to receive, from a data provider, first ciphertext data of first private data obtained by the data provider based on a data sharing contract maintained by the data provider; The data sharing contract at least stipulates a number of sensitive fields and the encryption methods corresponding to the sensitive fields; the first ciphertext data is formed based on the sensitive fields and the corresponding encryption results; wherein the data sharing contract is generated based on the data sharing content agreed in the cooperation agreement pre-signed by the data provider and the data recipient; A verification unit, configured to verify the first ciphertext data based on the data sharing contract maintained by the verification unit; A storage unit is used to store the first ciphertext data in the data cluster of the data recipient according to the verification result.
24. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed in a computer, the computer is caused to execute the method according to any one of claims 1 to 14.
25. A computing device comprising a memory and a processor, wherein: The memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 14 is implemented.
Citation Information
Patent Citations
Shared data privacy protection method, system, terminal and medium
CN108900533A