A processing method and electronic device
By acquiring the transformed dataset and location mapping information from the second data source, and utilizing pseudo-random number generation and decoding evaluation rules, the privacy protection issue of data cleaning in multi-data source scenarios is solved, enabling the identification and cleaning of dirty data and ensuring data privacy and security.
Patent Information
- Application Number
- CN202310631467.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2043-05-31
AI Technical Summary
Existing data cleaning methods mainly target plaintext data from a single data source, lacking privacy protection solutions for multiple data sources. In particular, it is difficult to simultaneously protect data privacy and perform effective cleaning in scenarios involving multiple data source interactions.
By obtaining the second type of transformation dataset and location mapping information from the second data party, and using pseudo-random number generation rules and decoding evaluation rules, the target data objects that the first data party needs to clean are determined, thereby achieving data cleaning with privacy protection.
In multi-data source scenarios, it enables the identification and cleaning of dirty data, while protecting the privacy and security of each data provider and ensuring that the original data information is not leaked during the data cleaning process.
Smart Images

Figure CN117194394B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of data processing and privacy protection, and particularly relates to a processing method and an electronic device. BACKGROUND
[0002] Data cleaning is a procedure for finding and correcting identifiable errors in data files. It finds obvious error values, missing values, abnormal values, suspicious data and other dirty data in the data set through data review process, selects appropriate methods to clean the dirty data, and makes the data in the data file become usable clean data, so as to facilitate subsequent statistical analysis and other data processing to obtain reliable conclusions.
[0003] The current data cleaning method is usually for single data source plaintext data cleaning, such as traditional cleaning method based on manual data review, and lacks corresponding solutions for non-single data source privacy protection based safe data cleaning. SUMMARY
[0004] Therefore, the present application discloses the following technical solutions:
[0005] A processing method applied to a first data party, the method comprising:
[0006] obtaining a second type conversion data set and position mapping information of a second data party; the second type conversion data set of the second data party comprises: results obtained by the second data party converting at least label data corresponding to each second target identifier according to a second type conversion rule, the second target identifier being an identifier of the second data party corresponding to a corresponding identifier of the first data party based on satisfying a consistency condition; the first data party and the second data party each have at least one data object, each data object comprising a corresponding identifier and label data; and the position mapping information is used to indicate a position of the second target identifier in a corresponding first target identifier of the first data party;
[0007] obtaining a second type conversion data set of the first data party according to the position mapping information; the second type conversion data set of the first data party comprises: results obtained by the first data party converting at least label data corresponding to each first target identifier according to the second type conversion rule;
[0008] determining whether second type conversion data with consistent identifiers between the second type conversion data set of the first data party and the second type conversion data set of the second data party satisfies a matching condition;
[0009] determining a data object corresponding to second type conversion data in the second type conversion data set of the first data party that does not satisfy the matching condition as a target data object to be cleaned by the first data party.
[0010] Optionally, each data object possessed by the first data party and the second data party respectively comprises a tag data;
[0011] The obtaining of the second-type conversion data set and the position mapping information of the second data party comprises:
[0012] The second pseudo-random number sequence and the first position sequence transmitted by the second data party are obtained;
[0013] The second pseudo-random number in the second pseudo-random number sequence is a pseudo-random number obtained by the second data party performing a pseudo-random number generation rule with a second key possessed by the second data party as a key and the digest information of the data object corresponding to each second target identifier in the second data party as input; the first position sequence comprises a sequence formed by the position information of the first target identifier corresponding to each second target identifier in the first data party; the order of the second pseudo-random number in the second pseudo-random number sequence corresponds to the order of the position information in the first position sequence.
[0014] Optionally, the obtaining of the second-type conversion data set of the first data party according to the position mapping information comprises:
[0015] The first pseudo-random number sequence of the first data party is obtained according to the first position sequence;
[0016] The first pseudo-random number in the first pseudo-random number sequence is a pseudo-random number obtained by performing the pseudo-random number generation rule between the first data party and the second data party with the second key possessed by the second data party as a key and the digest information of the data object corresponding to each first target identifier at the position indicated by the first position sequence in the first data party as input; the pseudo-random number generation rule can be used to make the second key invisible to the first data party.
[0017] The determining of whether the second-type conversion data with the same identifier between the second-type conversion data set of the first data party and the second-type conversion data set of the second data party meets a matching condition comprises:
[0018] The first pseudo-random number in the first pseudo-random number sequence is compared with the corresponding second pseudo-random number in the second pseudo-random number sequence to determine whether the first pseudo-random number and the corresponding second pseudo-random number with the same identifier in the first pseudo-random number sequence and the second pseudo-random number sequence meet a matching condition.
[0019] Optionally, the second pseudo-random number sequence is a sequence formed by performing a disordering process on each second pseudo-random number;
[0020] The disorderly processing is used for making the order of each second pseudo-random number inconsistent with the position order of the second target identifier corresponding to each second pseudo-random number respectively.
[0021] Optionally, each data object possessed by the first data party and the second data party respectively comprises the same number of at least two label data.
[0022] The obtaining of the second type conversion data set and the position mapping information of the second data party comprises:
[0023] The evaluation matrix and the second position sequence transmitted by the second data party are obtained.
[0024] The evaluation matrix comprises a matrix formed by a group of second evaluation values corresponding to each second target identifier, and each group of second evaluation values is a row or a column of the matrix; the group of second evaluation values corresponding to the second target identifier comprises each evaluation value obtained by evaluating each identification key of the second target identifier in the data object corresponding to the second data party according to a decoding evaluation rule; one identification key of a data object is the digest information of the combination result of the identification of the data object and one label data; the second position sequence comprises a sequence formed by the position information of the first target identifier corresponding to each second target identifier; the order between each group of second evaluation values in the evaluation matrix corresponds to and is consistent with the order of the position information in the second position sequence.
[0025] Optionally, the obtaining of the second type conversion data set of the first data party according to the position mapping information comprises:
[0026] Each group of first evaluation values of the first data party is obtained according to the second position sequence.
[0027] Each group of first evaluation values of the first data party comprises each evaluation value obtained by evaluating each identification key of the corresponding first target identifier in the data object corresponding to the first data party according to the decoding evaluation rule.
[0028] The determination of whether the second type conversion data, which is consistent in identification between the second type conversion data set of the first data party and the second type conversion data set of the second data party, meets the matching condition comprises:
[0029] It is determined whether the evaluation value, which is consistent in position between the group of second evaluation values corresponding to each second target identifier in the evaluation matrix and the group of first evaluation values corresponding to the corresponding first target identifier, matches.
[0030] If the number of the evaluation value pairs corresponding to the matched evaluation value satisfies the number condition, it is determined that a set of second evaluation values corresponding to the second target identifier satisfies the matching condition with a set of first evaluation values corresponding to the corresponding first target identifier.
[0031] If the number of the evaluation value pairs does not satisfy the number condition, it is determined that a set of second evaluation values corresponding to the second target identifier does not satisfy the matching condition with a set of first evaluation values corresponding to the corresponding first target identifier.
[0032] Optionally, the evaluation matrix is an n*t order matrix, n represents the number of data objects possessed by the first data party, and t represents the number of label data included in each data object.
[0033] The position information of the set of second evaluation values corresponding to each second target identifier in the row of the evaluation matrix is the position information of the first target identifier corresponding to the second target identifier in the first data party.
[0034] The second position sequence carries the position information of the corresponding set of second evaluation values corresponding to each second target identifier in the row of the evaluation matrix in the evaluation matrix.
[0035] A processing method applied to a second data party, the method comprising:
[0036] Obtaining a first-type conversion data set of a first data party; the first-type conversion data set of the first data party comprising: results obtained by converting each identifier possessed by the first data party according to a first-type conversion rule; the first data party and the second data party each possessing at least one data object, each data object comprising a corresponding identifier and label data;
[0037] Obtaining a first-type conversion data set of the second data party; the first-type conversion data set of the second data party comprising: results obtained by converting each identifier possessed by the second data party according to the first-type conversion rule;
[0038] Determining first-type conversion data satisfying a consistency condition between the first-type conversion data set of the first data party and the first-type conversion data set of the second data party to obtain a determination result; the corresponding first-type conversion data between the first-type conversion data set of the first data party and the first-type conversion data set of the second data party satisfying the consistency condition, indicating that the corresponding first-type conversion data satisfies the consistency condition with respect to the first target identifier corresponding to the first data party and the second target identifier corresponding to the second data party respectively;
[0039] According to the determination result, a second type conversion data set of the second data party and corresponding position mapping information are generated, and the generated second type conversion data set and position mapping information are transmitted to the first data party; the second type conversion data set of the second data party includes: results obtained by the second data party converting at least label data corresponding to each second target identifier according to a second type conversion rule; the position mapping information is used to indicate a position of the second target identifier corresponding to a consistent first target identifier in identifiers possessed by the first data party.
[0040] Optionally, the first type conversion data set of the first data party includes: pseudo random numbers obtained by the first data party performing a pseudo random number generation rule, taking possessed first keys as keys and taking each identifier of the first data party as input;
[0041] The first type conversion data set of the second data party includes: pseudo random numbers obtained by the second data party performing the pseudo random number generation rule between the second data party and the first data party, taking the first keys possessed by the first data party as keys and taking each identifier of the second data party as input; the pseudo random number generation rule can be used to make the first keys invisible to the second data party.
[0042] An electronic device, comprising:
[0043] A memory for storing at least a set of computer instructions;
[0044] A processor for implementing the processing method applied to the first data party or the processing method applied to the second data party according to any one of the above by executing the set of instructions stored in the memory.
[0045] From the above scheme, it can be known that the application discloses a processing method and an electronic device, the processing method includes a processing method applied to a first data party and a processing method applied to a second data party, wherein the processing method applied to the first data party includes: obtaining a second type conversion data set and position mapping information of the second data party, and obtaining a second type conversion data set of the first data party according to the position mapping information; determining whether second type conversion data with consistent identifiers between the second type conversion data sets of the two data parties meets a matching condition; determining a data object corresponding to second type conversion data in the second type conversion data set of the first data party that does not meet the matching condition as a target data object that needs to be cleaned by the first data party. The two data parties respectively possess data objects including identifiers and label data, and the second type conversion data sets of the two data parties respectively include: results obtained by converting label data corresponding to consistent identifiers between the two data parties according to a second type conversion rule. BRIEF DESCRIPTION OF DRAWINGS
[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the embodiments or the related art description will be briefly introduced. Obviously, the drawings in the following description only constitute the embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on the provided drawings.
[0047] Figure 1 is a flow chart of the processing method applied to the first data party provided by the present application;
[0048] Figures 2(a)-2(b) is an example of determining the data to be cleaned in the single-label data object of the two data parties provided by the present application;
[0049] Figure 3 is another flow chart of the processing method applied to the first data party provided by the present application;
[0050] Figure 4 is a schematic diagram of the Hash-DH-based OPRF protocol implementation provided by the present application;
[0051] Figure 5 is still another flow chart of the processing method applied to the first data party provided by the present application;
[0052] Figure 6 is an example of determining the data to be cleaned in the multi-label data object of the two data parties provided by the present application;
[0053] Figure 7 is a flow chart of the processing method applied to the second data party provided by the present application;
[0054] Figure 8 is a schematic diagram of the data structure of the single-label data object provided by the present application;
[0055] Figure 9 is a schematic diagram of the processing stages of the data cleaning of the non-single data source provided by the present application;
[0056] Figure 10 is a schematic diagram of the privacy label comparison process of the single-label data object in the non-single data source provided by the present application;
[0057] Figure 11 is a schematic diagram of the data structure of the multi-label data object provided by the present application;
[0058] Figure 12 is a schematic diagram of the privacy label comparison process of the multi-label data object in the non-single data source provided by the present application;
[0059] Figure 13 is a component structure diagram of an electronic device provided by the present application. DETAILED DESCRIPTION
[0060] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0061] The present application discloses a processing method and an electronic device, which is used to provide a privacy protection based secure data cleaning solution for non-single data sources, so as to protect the privacy security of each data source data in data cleaning. The disclosed processing method can be used in electronic devices in a plurality of general or special computing device environments or configurations, such as personal computers, server computers, handheld or portable devices, tablet devices, multi-processor devices, and the like.
[0062] The disclosed method includes a processing method applied to a first data party and a processing method applied to a second data party. The first data party and the second data party can be different data parties that are mutually untrusted and have interaction requirements, and can be a server and a client under a federated learning framework, respectively. In a machine learning process, raw data used for model training needs to be cleaned to make the model more accurate. For a federated learning framework, the participants of model training include a server and a client, both of which are mutually untrusted and interact to cooperatively train a model. Therefore, the server and the client can be taken as the first data party and the second data party, respectively, so that based on the method of the present application, dirty data to be cleaned by the corresponding data party is determined to clean the dirty data while protecting the privacy of the data of both parties.
[0063] Referring to Figure 1 , a processing method flowchart applied to a first data party in the present application is provided, which includes:
[0064] Step 101, obtaining a second type of conversion data set and position mapping information of a second data party.
[0065] The first data party and the second data party each have at least one data object, each data object including corresponding identification and label data. The identification of the data object is used to uniquely identify the data object at the data party, which can be referred to as the unique identification of the data object. The label data included in the data object is used as the object content of the data object. The number of label data included in each data object can be one or more.
[0066] The second-type conversion data set of the second data party includes: a result obtained by the second data party converting label data corresponding to each second target identifier according to a second-type conversion rule, the second target identifier being an identifier of the second data party that corresponds to a corresponding identifier of the first data party based on satisfying a consistency condition; and the position mapping information being used to indicate a position of the second target identifier in the corresponding first target identifier of the first data party.
[0067] The two identifiers satisfy the consistency condition, that is, the two identifiers are considered to correspond to each other. The two identifiers satisfying the consistency condition can mean that the two identifiers are the same, or can mean that the two identifiers are different but satisfy a preset matching relationship, such as a preset mapping relationship or an equivalence relationship, and the present application is not limited in this regard. The present embodiment is mainly described by taking the case that the consistency condition is used to limit the corresponding two identifiers of the first data party and the second data party to be the same.
[0068] The second-type conversion rule is a corresponding rule capable of protecting the privacy of label data of a data object by converting the label data of the data object, so as to avoid leakage of original data information of the corresponding label data of the data object of the data party based on the rule.
[0069] Each data object can be an entry of the data party to which the data object belongs, that is, a data object entry.
[0070] The present embodiment mainly determines data object entries of which the unique identifiers of the first data party and the second data party are the same but the label data does not match by executing the provided processing method, so as to clean the data object entries as abnormal data (dirty data), and at the same time, does not leak the label data content of each party to the other party, thereby guaranteeing the data privacy safety of each party.
[0071] Referring to the example of FIG. 2(a), it is assumed that the data objects of the first data party and the second data party are composed of a unique identifier and a label, in this example, the unique identifiers (IDs) of the second data object are the same but the labels (locations) are different, and the two data parties mark the entry data as abnormal data by executing the processing method of the present application, as shown in FIG. 2(b), so as to clean the data, and at the same time, guarantee the data safety during the processing, where the data safety specifically means that for data object entries with different identifiers, the data parties cannot know the identifier and the label data of the data object entry of the other party, and for data object entries with the same identifier but different label data, the data parties cannot know the label data of the data object entry of the other party.
[0072] In step 101, the second type of transformation dataset obtained by the first data party from the second data party is the result obtained by the second data party transforming the label data corresponding to the second target identifier in the second data party, which meets the consistency condition with the corresponding identifier possessed by the first data party, according to the second type of transformation rules.
[0073] Accordingly, prior to this step, a privacy identifier comparison process can be performed between the first data party and the second data party in advance. This process ensures that, while protecting the privacy of both parties' identifiers as much as possible, the identifiers that correspond to each other and meet the above-mentioned consistency conditions are determined. This allows the second data party to know the second target identifier among its identifiers that corresponds to the corresponding identifier of the first data party, as well as the location information of the first target identifier that corresponds to the second target identifier in the first data party.
[0074] The privacy identifier matching process performed may be, but is not limited to, privacy identifier matching based on the Oblivious Pseudo Random Function (OPRF) protocol.
[0075] The location information of the first target identifier can refer to the original location information of the first target identifier in the first data party, such as the original order of the data objects corresponding to the first target identifier in the various data objects in the first data party; or it can be the location information obtained after mapping and transforming the original location information of the first target identifier, such as the order obtained after mapping and transforming the original order of the data objects corresponding to the first target identifier in the various data objects in the first data party, so as to protect the original location information of the first target identifier and make it invisible to the second data party.
[0076] Based on the privacy label comparison, the second data party transforms the label data corresponding to each second target label according to the second type of transformation rule to obtain the second type of transformation dataset of the second data party. Based on the location information of the first target label corresponding to the second target label in the first data party, the above-mentioned location mapping information is generated. Then, the second type of transformation dataset and the generated location mapping information are sent to the first data party so that the first data party can perform subsequent privacy label comparison processing based on the received information.
[0077] Step 102: Based on the location mapping information, obtain the second type of transformation dataset of the first data party; the second type of transformation dataset of the first data party includes: the result obtained by the first data party at least transforming the label data corresponding to each first target identifier according to the second type of transformation rule.
[0078] After obtaining the second-type conversion data set and the position mapping information of the second data party, the first data party can obtain the position information of each second target identifier corresponding to the first target identifier of the first data party according to the position mapping information, and then determine the label data corresponding to the first target identifier under the position information in the first data party, and convert the label data according to the second-type conversion rule to obtain the second-type conversion data set of the first data party.
[0079] The conversion processing of the label data can be only the conversion of the label data, or can be the conversion of the merged result of the label data and the identifier of the data object to which the label data belongs, and is not limited.
[0080] Step 103, determining whether the second-type conversion data consistent in identifier between the second-type conversion data set of the first data party and the second-type conversion data set of the second data party meets a matching condition.
[0081] Similar to the consistency condition described above, the two data meeting the matching condition can mean that the two data are the same, or the two data are different but meet a preset matching relationship, such as a preset mapping relationship or an equivalent relationship, and the like, which is not limited. The embodiment is mainly described by taking the matching condition for limiting the corresponding two data to be the same as an example.
[0082] After obtaining the second-type conversion data set of the first data party according to the position mapping information, the first data party further determines the second-type conversion data consistent in identifier between the second-type conversion data sets of the two data parties, and compares and determines whether the second-type conversion data consistent in identifier between the second-type conversion data sets of the two data parties meets the matching condition, such as determining whether the two are the same.
[0083] Step 104, determining the data object corresponding to the second-type conversion data in the second-type conversion data set of the first data party that does not meet the matching condition as a target data object to be cleaned by the first data party.
[0084] If it is determined that there is second-type conversion data in the second-type conversion data set of the first data party that does not meet the matching condition, the data object corresponding to the second-type conversion data that does not meet the matching condition is identified as a target data object (dirty data) to be cleaned by the first data party. Subsequently, corresponding data cleaning processing can be performed on the target data object, such as correcting the label data of the target data object, alarming, or directly cleaning / removing the target data object, and the like, so that the data of the first data party becomes usable clean data, to facilitate subsequent statistical analysis or model training and the like to obtain reliable conclusions.
[0085] For the second type of conversion data in the second type of conversion data set of the first data party that satisfies the matching condition, the corresponding data object is regarded as clean data available, and data cleaning does not need to be performed on the corresponding data object.
[0086] It is easy to understand that if the second type of conversion data in the second type of conversion data set of the first data party satisfies the matching condition, the data (the data contained in each data object) in the first data party is clean data available, and data cleaning does not need to be performed.
[0087] In actual application, for a multi-data-party interaction framework such as federated learning, a data party that has a data cleaning requirement can be regarded as the first data party, and the opposite party of the data party can be regarded as the second data party. By executing the processing method applied to the corresponding data party, the target data object that needs to be cleaned in the first data party is determined, so that the corresponding data cleaning processing is performed on the target data object. For example, the server in the federated learning framework is regarded as the first data party, and the client is regarded as the second data party, to determine the dirty data that needs to be cleaned on the server side, or the client in the federated learning framework is regarded as the first data party, and the server is regarded as the second data party, to determine the dirty data that needs to be cleaned on the client side.
[0088] Alternatively, in other embodiments, if the second data party also has a dirty data determination requirement, after the first data party determines the target data object that needs to be cleaned, the first data party synchronizes the target location information corresponding to the target data object that needs to be cleaned in the position mapping information to the second data party, so that the second data party determines the target data object that needs to be cleaned in the second data party according to the target location information. Specifically, the second data party can determine that the first target identifier indicated by the target location information corresponds to a second target identifier in the second data party, and the data object corresponding to the second target identifier in the second data party is the target data object that needs to be cleaned in the second data party.
[0089] Compared with the previous embodiment, the complexity of this embodiment is relatively low. In the case where both data parties need to determine the data to be cleaned, two rounds of the method of the present application do not need to be performed, but the data privacy protection strength is lower than that of the previous embodiment, which may lead to the leakage of the location information of the identifier of the dirty data of the first data party to the second data party. In actual application, the corresponding embodiment can be selected according to the requirement.
[0090] From the above scheme, the application is applied to the processing method of the first data party. The second type conversion data set and the position mapping information of the second data party are obtained at the first data party. The second type conversion data set of the first data party is obtained according to the position mapping information. It is determined whether the second type conversion data with the same identification between the second type conversion data sets of the two data parties meets the matching condition. The data object corresponding to the second type conversion data in the second type conversion data set of the first data party that does not meet the matching condition is determined as the target data object that needs to be cleaned by the first data party, solving the data cleaning problem of non-single data source.
[0091] And by comparing the privacy identifiers based on the consistency condition, the consistent identifiers in the first data party and the second data party are determined. In the second data party as a non-data comparison party, the second target identifier determined based on the consistency condition is converted and processed in the label data corresponding to the second data party according to the second type conversion rule, realizing the privacy protection of the second data party to be compared label data, avoiding the first data party directly obtaining the original data information of the second data party to be compared label data for data comparison (to determine the dirty data that needs to be cleaned in the first data party), thereby ensuring the privacy security of each data party, and realizing the privacy protection based safe data cleaning of non-single data source.
[0092] In an optional embodiment, each data object possessed by the first data party and the second data party respectively includes a label data, that is, the data objects of the two data parties are single-label data objects. The number of data objects included by the first data party and the second data party can be the same or different, without constraint. Referring to Figure 3 , step 101 can be further implemented as:
[0093] Step 301, obtaining the second pseudo-random number sequence and the first position sequence transmitted by the second data party.
[0094] In this embodiment, the second type conversion data set of the second data party is specifically a second pseudo-random number sequence, and the position mapping information transmitted by the second data party is a first position sequence.
[0095] Optionally, the second pseudo-random number in the second pseudo-random number sequence is a pseudo-random number obtained by the second data party by executing a pseudo-random number generation rule, taking the second key possessed as a key, and taking the digest information of each second target identifier in the data object corresponding to the second data party as input.
[0096] The pseudo-random number generation rule can be, but is not limited to, an oblivious pseudo-random number function protocol OPRF.
[0097] OPRF is a two-party protocol between a client and a server for calculating the output of a Pseudo Random Function (PRF). The server provides the PRF key k, and the client provides the PRF input x. At the end of the protocol, the client obtains the PRF output F(x) without obtaining the PRF key, and the server cannot obtain the PRF input or the PRF output. The present embodiment uses OPRF as a pseudo-random number generation rule to protect the privacy and security of the participating data parties in the data cleaning process based on the method of the present application. k
[0098] There are many ways to implement the OPRF protocol, and no constraints are imposed. See Figure 4 , which gives an OPRF protocol implementation based on Hash-DH (Hash- Key Exchange). The client and the server complete the OPRF protocol process by running the client-side and server-side protocol flows of the OPRF protocol and performing corresponding interactions. The client generates a random number r, multiplies the random number r by the hash value Hash(x) of the input x to obtain a=r*Hash(x), and sends a=r*Hash(x) to the server. The server multiplies its key k by a to obtain b=k*a, and returns b as the output information of the protocol to the client.
[0099] The second data party has a second key, which can be but is not limited to a random key generated by the second data party.
[0100] On the basis of determining the second target identifier through the privacy identifier comparison process, the second data party can specifically calculate the digest information of the second target identifier in the data object corresponding to the second data party based on a preset digest algorithm, such as performing a hash operation on the concatenated string of the identifier and the label data of the second target identifier in the data object corresponding to the second data party based on a preset hash algorithm, taking the hash operation result as the corresponding digest information, and taking the second key as the key and the calculated digest information as the input of OPRF to obtain the pseudo-random number output by the protocol, thereby realizing the conversion processing of the label data corresponding to the second target identifier according to the second type conversion rule. By performing the above conversion processing on the label data corresponding to each second target identifier, the second pseudo-random number sequence of the second data party is obtained.
[0101] Meanwhile, the second data party generates a first position sequence based on the position information of the corresponding first target identifier in the first data party for each second target identifier. The order of the second pseudo-random numbers in the second pseudo-random number sequence corresponds to the order of the position information in the first position sequence. By making the order of the second pseudo-random numbers in the second pseudo-random number sequence correspond to the order of the position information in the first position sequence, the second pseudo-random numbers in the second pseudo-random number sequence and the position information corresponding thereto in the first position sequence correspond to the same second target identifier in the second data party, so that the first data party can compare the conversion results (pseudo-random numbers) of the data with the same identifier in the two data parties based on the order correspondence feature of the information between the second pseudo-random number sequence and the first position sequence, to determine whether the data with the same identifier in the two data parties meet the matching condition.
[0102] For example, it is assumed that the first data party and the second data party each have 10 data objects, and the position information of the unique identifier corresponding to each data object in each data party is represented as 1, 2, …, 10. It is assumed that the identifiers at positions 1, 3, and 7 in the second data party are second target identifiers, and the corresponding first target identifiers in the first data party are 9, 2, and 6, respectively. The second data party performs the above processing on the data objects corresponding to the second target identifiers at positions 1, 3, and 7, respectively, to obtain corresponding pseudo-random numbers data1, data3, and data7, form a second pseudo-random number sequence {data1, data3, data7} of the second data party, and generate a corresponding first position sequence {9, 2, 6}. The order of the second pseudo-random numbers in the second pseudo-random number sequence corresponds to the order of the position information in the first position sequence.
[0103] Further, in a preferred embodiment, the second pseudo-random number sequence is formed by performing a disordering processing on each second pseudo-random number, and the disordering processing is used to make the order of each second pseudo-random number inconsistent with the position order of the second target identifier corresponding thereto. By this disordering processing, the data privacy protection of the second data party is further enhanced, and the first data party is prevented from knowing the order of the data with the same identifier in the second data party.
[0104] As for the example described above, the order of data1, data3, data7 is disturbed, a second pseudo-random number sequence {data7, data1, data3} is formed based on the disturbed order, and a corresponding first position sequence {6, 9, 2} is generated, the actual order of the data object in the second data party that is consistent with the first data party identifier is essentially the order represented by the first data party position sequence {9, 2, 6}. After disturbing the data, the first position sequence is adjusted to {6, 9, 2}, so that the first data party will be difficult to know the actual order of the data object in the second data party that is consistent with its identifier according to the obtained first position sequence, further enhancing the data privacy protection strength of the second data party.
[0105] In this embodiment, referring to Figure 3 , steps 102-103 can be implemented as steps 302-303 as follows:
[0106] Step 302, according to the first position sequence, obtaining the first pseudo-random number sequence of the first data party;
[0107] Among them, the first pseudo-random number in the first pseudo-random number sequence is: taking the second key possessed by the second data party as the key, and taking the digest information of each first target identifier on the position indicated by the first position sequence in the corresponding data object of the first data party as the input, the pseudo-random number obtained by executing the pseudo-random number generation rule between the first data party and the second data party; the pseudo-random number generation rule can be used to make the second key invisible to the first data party.
[0108] For the identifiers between the two data parties that meet the consistency condition, such as the second target identifier of the second data party determined through privacy identifier comparison, and the first target identifier corresponding to the second target identifier in the first data party, the first data party and the second data party use the same second type conversion rule, and each converts the corresponding target identifier (first target identifier / second target identifier) in its own data party in the corresponding label data.
[0109] Specifically, after obtaining the second pseudo-random number sequence and the first position sequence transmitted by the second data party, the first data party can determine the first target identifier corresponding to each second target identifier in the first data party according to each position information in the first position sequence, and then determine the data object corresponding to the first target identifier in the first data party, and convert the determined data object based on the second type conversion rule.
[0110] For the case that the second data party adopts OPRF as the pseudo-random number generation rule, the first data party can specifically calculate the digest information of the first target identifier in the data object corresponding to the first data party based on the same digest algorithm as the second data party, such as performing a hash operation on the splicing string of the identifier of the first target identifier in the data object corresponding to the first data party and the label data based on the hash algorithm mentioned above, taking the hash operation result as the corresponding digest information, and taking the second key of the second data party as the key to obtain the pseudo-random number output by the protocol as the input of OPRF, so as to realize the conversion of the label data corresponding to the first target identifier according to the second type of conversion rule. By performing the above conversion processing on the label data corresponding to each first target identifier, the first pseudo-random number sequence of the first data party is obtained.
[0111] Step 303, comparing the first pseudo-random number in the first pseudo-random number sequence with the corresponding second pseudo-random number in the second pseudo-random number sequence to determine whether the corresponding second pseudo-random number with the same identifier in the first pseudo-random number and the second pseudo-random number sequence meets the matching condition.
[0112] After that, the first data party can compare the first pseudo-random number in the first pseudo-random number sequence with the corresponding second pseudo-random number in the second pseudo-random number sequence, such as comparing whether the first pseudo-random number in the first pseudo-random number sequence is the same as the corresponding second pseudo-random number with the same identifier in the second pseudo-random number sequence, or whether it meets the set mapping relationship or equivalence relationship, etc., so as to determine whether the corresponding second pseudo-random number with the same identifier in the first pseudo-random number and the second pseudo-random number sequence meets the matching condition, and take the first pseudo-random number that meets the matching condition in the data object corresponding to the first data party as the target data object (dirty data) that needs to be cleaned by the first data party, so as to perform data cleaning processing such as correction or cleaning on it.
[0113] The present embodiment provides a corresponding secure data cleaning scheme based on privacy protection for the case that the data objects of each data party are single-label data objects, which can meet the data cleaning needs of single-label data objects in non-single data sources, and can also protect the privacy security of each data party.
[0114] In an optional embodiment, each data object possessed by the first data party and the second data party respectively includes the same number of at least two label data. That is, the data objects of the two data parties are multi-label data objects, and the first data party and the second data party respectively include the same number of data objects.
[0115] Referring to Figure 5 In the present embodiment, step 101 can be further implemented as:
[0116] Step 501, obtaining the evaluation matrix and the second position sequence transmitted by the second data party.
[0117] In this embodiment, the second type of conversion data set of the second data party is an evaluation matrix, and the position mapping information transmitted by the second data party is a second position sequence.
[0118] The evaluation matrix includes a matrix formed by a set of second evaluation values corresponding to each second target identifier, and each set of second evaluation values is a row or a column of the evaluation matrix. The set of second evaluation values corresponding to the second target identifier includes: each evaluation value obtained by evaluating the second target identifier at each identification key of the data object corresponding to the second data party according to the decoding evaluation rule. One identification key of the data object is the digest information of the combination result of the identification of the data object and one tag data. The second position sequence includes: a sequence formed by the position information of the first target identifier corresponding to each second target identifier. The order of each set of second evaluation values in the evaluation matrix corresponds to and is consistent with the order of the position information in the second position sequence.
[0119] The decoding evaluation rule can be, but is not limited to, an oblivious key-value store (OKVS) based decoding evaluation rule. The oblivious key-value store OKVS is to encode a plurality of key-value pairs into a black box S, and then in the decoding evaluation stage, if a correct key is input to S, the decoding evaluation is performed to recover the corresponding value, and if an incorrect key is input, a random value is obtained after decoding. The correct key refers to the key value participating in the encoding to form the black box S, and the incorrect key refers to the key value not participating in the encoding.
[0120] There can be many implementation modes of the OKVS, which are not restricted. An exemplary implementation mode provided by the present application is based on polynomial interpolation and evaluation to implement the OKVS, in which a plurality of key-value pairs <key1, value1>,..., <key n , value n > are regarded as the horizontal and vertical coordinates (x 2 , y n-1 ) of a curve y=a0+a1x+a2x n-1 +…+a i x i in a rectangular coordinate system, and the KVS encoding is an interpolation and fitting operation on the curve to obtain the curve parameters (a0,..., a n-1 ) as the OKVS encoding vector. In the OKVS decoding evaluation stage, the curve parameters (a0,..., a n-1 ) are known, and the decoding evaluation operation Eval(a i , x)=a0+a1x+a2x 2 +…+a n- 1x n-1, input the correct x will get the correct y, input the wrong x will get a random value (i.e. using the curve function for input error x calculated results).
[0121] The first data party has a first key, which can be but is not limited to a random key generated by the first data party.
[0122] In this embodiment, the first data party determines the identification key of each data object in advance, and generates an n*t order encoding matrix through the OKVS based on the generated identification key.
[0123] Optionally, for each data object in the first data party, the first data party can first concatenate the unique identification of the data object with each label data of the data object to obtain a concatenated string, and perform a hash operation on the concatenated string using a preset hash algorithm, and the obtained hash value is used as an identification key of the data object. Each data object corresponds to multiple identification keys, and the number of corresponding identification keys is the number of label data included in the data object.
[0124] Then, an n*t order encoding matrix is generated through the OKVS, wherein n represents the number of data objects possessed by the first data party, and t represents the number of label data included in each data object. The generation rule includes: for each data object in the first data party, for each identification key included in the data object (j, k are integers, and j∈1…n, k∈1…t), generate a random number r j k Correspondingly, each random number corresponding to each identification key of each data object is obtained, and an OKVS encoding process is performed on each random number corresponding to each data object. Specifically, for j∈1…n, the is encoded into a t-dimensional vector E j The n t-dimensional vectors E j (j∈1…n) form an n*t order encoding matrix E, and the encoding matrix E is sent to the second data party.
[0125] Wherein, the vector E j As a row of the n*t encoding matrix E, in actual application, a t*n order encoding matrix E can also be generated, and in this case, each vector E j is a column of the t*n encoding matrix E.
[0126] The second data party receives the encoding matrix sent by the first data party, such as an n*t order encoding matrix E, and generates respective identification keys corresponding to respective data objects in the second data party in the same manner as the first data party. For each data object in the second data party, the second data party specifically concatenates the unique identification of the data object with each label data in the data object to obtain a concatenated string, and performs a hash operation on the concatenated string using a preset hash algorithm, and takes the obtained hash value as an identification key of the data object. Each data object of the second data party also corresponds to multiple identification keys, and the number of corresponding identification keys is the number of label data contained in the data object. The first data party and the second data party generate corresponding identification keys at their respective ends using the same hash algorithm.
[0127] Subsequently, the second data party performs an OKVS decoding evaluation process for the generated identification keys. Specifically, for the n*t order encoding matrix E, the second data party generates an n*t order all-zero matrix S, and for each <i, j> ∈ <intersr>, calculate and fill in the corresponding position in S (i.e. replace the 0 value in the corresponding position), fill in the corresponding position in S (i.e. replace the 0 value in the corresponding position), i.e. a second evaluation group corresponding to the second target identifier at position i, complete fill in the corresponding position in S (i.e. replace the 0 value in the corresponding position), <intersr>This includes pairs of i and j, i.e.<i,j> Each<i,j> This indicates the position of the corresponding matching identifier (first target identifier - second target identifier) obtained after the above privacy identifier comparison in their respective data parties. Specifically, i represents the position of the corresponding second target identifier in the second data party, and j represents the position of the first target identifier corresponding to the second target identifier in the first data party.
[0128] In one implementation, it can be (k∈1…t) are filled into the i-th row of the n*t matrix S, that is, replacing the 0 value in the i-th row of S, and according to... The row order in S records each The j corresponding to i forms the second position sequence.
[0129] Preferably, in other embodiments, the following can also be directly used: (k∈1…t) are filled into the j-th row of the n*t matrix S, replacing the 0 value in the j-th row of S. In this case, the position information of the row in which the set of second evaluation values corresponding to each second target identifier is located in the evaluation matrix is the position information of the first target identifier corresponding to the second target identifier in the first data party. Accordingly, the second position sequence is directly carried / implied in the evaluation matrix, so that the second position sequence is specifically a sequence formed by the position information of the corresponding set of second evaluation values corresponding to each second target identifier in the row in the evaluation matrix. Compared with the previous implementation, this implementation can avoid the first data party from knowing the position of each second target identifier that is consistent with its identifier in the second data party, and can further improve the privacy and security of the second data party.
[0130] It is easy to understand that for a t*n matrix S, a set of second evaluation values corresponding to each second target identifier is filled into a corresponding column of S, such as the i-th column or the j-th column. In the case of filling into the j-th column, the position information of the column of the set of second evaluation values corresponding to each second target identifier in the final evaluation matrix is the position information of the first target identifier corresponding to the second target identifier in the first data side. The second position sequence is carried in the evaluation matrix, specifically the sequence formed by the position information of the corresponding set of second evaluation values corresponding to each second target identifier in the column of the evaluation matrix.
[0131] In this embodiment, see Figure 5 Steps 102-103 can be implemented as follows: Steps 502-503:
[0132] Step 502: Based on the second position sequence, obtain the first evaluation value of each group of the first data party;
[0133] The first evaluation value of each first target identifier includes each evaluation value obtained by evaluating each identification key of the data object corresponding to the first data party according to the decoding evaluation rule.
[0134] Specifically, after obtaining the evaluation matrix and the second position sequence transmitted by the second data party, the first data party can obtain each position information from the second position sequence to determine the corresponding first target identifier, and obtain each identification key of the data object corresponding to the first data party for each first target identifier. The first data party performs OKVS decoding evaluation on each identification key of the data object corresponding to the first data party for each first target identifier to obtain a set of evaluation values corresponding to the first target identifier.
[0135] The OKVS decoding evaluation performed here can refer to the description of the OKVS decoding evaluation process of the second data party above, and will not be described in detail.
[0136] For the implementation mode in which the second position sequence is carried in the evaluation matrix, the first data party can directly determine the position of each row (n*t order matrix S) or column (t*n order matrix S) in the evaluation matrix as the position of the row / column of the first target identifier corresponding to the first data party. The corresponding first target identifier is determined according to the position, and the OKVS decoding evaluation is performed on each identification key of the data object corresponding to the first data party for the first target identifier to obtain a set of first evaluation values corresponding to each first target identifier.
[0137] Step 503, determining whether the evaluation values matched between the set of second evaluation values corresponding to each second target identifier in the evaluation matrix and the set of first evaluation values corresponding to the corresponding first target identifier are consistent in position; if the number of evaluation value pairs corresponding to the matched evaluation values satisfies the number condition, it is determined that the set of second evaluation values corresponding to the second target identifier and the set of first evaluation values corresponding to the corresponding first target identifier satisfy the matching condition; if the number of evaluation value pairs does not satisfy the number condition, it is determined that the set of second evaluation values corresponding to the second target identifier and the set of first evaluation values corresponding to the corresponding first target identifier do not satisfy the matching condition.
[0138] Optionally, the number condition can be set as that the number of evaluation value pairs corresponding to the matched evaluation values between the set of second evaluation values corresponding to each second target identifier in the evaluation matrix and the set of first evaluation values corresponding to the corresponding first target identifier reaches a number threshold T. Wherein, 1≤T≤t, and T is an integer.
[0139] After obtaining each group of first evaluation values of the first data party according to the second position sequence, the first data party further determines whether the evaluation values corresponding to each group of second evaluation values of the second target identifier match the evaluation values corresponding to the first evaluation values of the corresponding first target identifier (by determining whether the evaluation values match, the relative positions of the data objects with the same identifier in the first data party and the second data party are essentially determined whether the label data corresponding to the positions match), and determines whether the number of matched evaluation value pairs satisfies the number condition (such as whether the number threshold is reached). If the number condition is satisfied, it is determined that the group of second evaluation values corresponding to the second target identifier and the group of first evaluation values corresponding to the corresponding first target identifier satisfy the matching condition, otherwise, it is determined that the matching condition is not satisfied.
[0140] Subsequently, the first data party can determine the data objects corresponding to the respective groups of first evaluation values that do not satisfy the matching condition as target data objects to be cleaned, and perform data cleaning processing thereon.
[0141] The embodiment provides a corresponding secure data cleaning scheme based on privacy protection for the case that the data objects of each data party are multi-label data objects, which can meet the data cleaning needs of multi-label data objects in non-single data sources, and can also protect the privacy and security of each data party. The identification threshold (i.e. number threshold T) of the label can be flexibly configured according to the cleaning strength requirement, so that based on the corresponding privacy protection means, the data objects with the same identifier in the first data party and the second data party, the corresponding position label data does not satisfy the matching condition, and the number of labels that do not satisfy the matching condition reaches the threshold are identified as target data objects (dirty data) to be cleaned, such as Figure 6 In the example of
[0142] In an optional embodiment, referring to Figure 7 , a processing method flowchart applied to the second data party in the present application is provided, which is applicable to data cleaning of single-label data objects and multi-label data objects, as shown in Figure 7 , the processing flow of the processing method includes:
[0143] Step 701, obtaining a first type of conversion data set of the first data party.
[0144] The first type of conversion data set of the first data party includes: the result obtained by converting each identifier of the first data party according to the first type of conversion rule.
[0145] The first type of conversion rule, which is a rule for converting the identity of a data object to achieve identity privacy protection, can be, but is not limited to, an identity-based pseudo-random number generation rule. Correspondingly, the first type of conversion data set of the first data party can specifically include: a pseudo-random number obtained by the first data party executing a pseudo-random number generation rule with the first key possessed by the first data party as the key and each identity of the first data party as the input. The first key can be, but is not limited to, a random key generated by the first data party.
[0146] Further, optionally, the pseudo-random number generation rule can be an oblivious pseudo-random number function protocol OPRF.
[0147] The input of each identity of the first data party can mean that the original identity information of each identity of the first data party is directly taken as the input of the pseudo-random number generation rule (such as OPRF), or the original identity information of each identity of the first data party is processed accordingly and then taken as the input of the pseudo-random number generation rule (such as OPRF), which is not limited. In actual application, the latter implementation can be preferred to increase the privacy protection of the identity information of the data party.
[0148] The conversion processing of the identity can be, but is not limited to, a hash operation on the identity.
[0149] Illustratively, the first data party can perform a hash operation on the identity of each data object thereof, execute OPRF with the first key of the first data party as the key and the hash operation result of the identity as the input of OPRF to obtain a pseudo-random number corresponding to the identity, and form the first type of conversion data set of the first data party with the pseudo-random numbers corresponding to the identities of the data objects of the first data party, and send the first type of conversion data set to the second data party, so that the second data party performs a private identity comparison process.
[0150] Step 702, obtaining the first type of conversion data set of the second data party.
[0151] The first type of conversion data set of the second data party includes: a result obtained by the second data party converting each identity possessed by the second data party according to the first type of conversion rule.
[0152] The first type of conversion rules adopted by the two data parties are the same.
[0153] For the case where the first type of conversion rule is an identity-based pseudo-random number generation rule, the first type of conversion data set of the second data party can specifically include: a pseudo-random number obtained by the second data party executing a pseudo-random number generation rule with the first key possessed by the first data party as the key and each identity of the second data party as the input; the pseudo-random number generation rule can be used to make the first key invisible to the second data party.
[0154] Similarly, taking each identity of the second data party as input can mean directly taking the original identity information of each identity of the second data party as the input of the pseudo-random number generation rule (such as OPRF), or taking the original identity information of each identity of the second data party after corresponding conversion processing as the input of the pseudo-random number generation rule (such as OPRF), which is not limited.
[0155] For example, the second data party can perform a hash operation on the identity of each data object thereof, and take the first key of the first data party as the key and the hash operation result of the identity of the second data party as the input of the OPRF, perform the OPRF between the second data party and the first data party, obtain the pseudo-random number of the second data party corresponding to the identity thereof, and the respective pseudo-random numbers corresponding to the identities of the respective data objects of the second data party form the first type of conversion data set of the second data party.
[0156] Step 703, determining the first type of conversion data between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party that satisfies the consistency condition, and obtaining a determination result.
[0157] The respective first type of conversion data between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party satisfies the consistency condition, which represents that the respective first type of conversion data satisfies the consistency condition at the corresponding first target identity of the first data party and at the corresponding second target identity of the second data party, respectively.
[0158] After obtaining the first type of conversion data set of the first data party and the second data party, the first type of conversion data between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party that satisfies the consistency condition can be determined by comparing the first type of conversion data between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party, such as by comparing each pseudo-random number in the first type of conversion data set of the first data party with each pseudo-random number in the first type of conversion data set of the second data party, respectively, to determine the pseudo-random numbers with the same value between the first data party and the second data party.
[0159] Based on the comparison of the first type of conversion data between the two data parties, the comparison of the identities of the data objects between the two data parties is indirectly realized, so that the second data party knows the second target identity corresponding to and consistent with the corresponding identity possessed by the first data party among the identities possessed by the second data party, and the position information of the second target identity corresponding to and consistent with the first target identity of the first data party.
[0160] The first target identifier corresponding to the second target identifier is in the position information of the first data party. The position information can be the order of the data object corresponding to the first target identifier in each data object of the first data party, such as i corresponding to j in the above <i, j>, and optionally, the order information is the same as the order corresponding to the first type conversion data of the corresponding first target identifier in the first type conversion data set of the first data party. The second data party can directly take the order of the first type conversion data of the corresponding first target identifier in the first type conversion data set of the first data party as the order of the first target identifier. Of course, a non-implicit manner can also be used. The first data party marks the order of the corresponding first target identifier for each first type conversion data in the first type conversion data set as the position information of the corresponding first target identifier, and synchronizes the marked information to the second data party.
[0161] The position information of the first target identifier can refer to the original position information of the first target identifier corresponding to the first data party, such as the original order of the data object corresponding to the first target identifier in each data object of the first data party. Alternatively, the position information of the first target identifier can also be the position information obtained by mapping and converting the original position information of the first target identifier, such as the order obtained by mapping and converting the original order of the data object corresponding to the first target identifier in each data object of the first data party, so as to protect the original position information of the first target identifier and make it invisible to the second data party.
[0162] Step 704, generating a second type conversion data set of the second data party and corresponding position mapping information according to the determination result, and transmitting the generated second type conversion data set and position mapping information to the first data party.
[0163] The second type conversion data set of the second data party includes: at least the result obtained by converting each second target identifier corresponding label data according to the second type conversion rule; and the position mapping information is used to indicate the position of the first target identifier corresponding to the second target identifier in the identifiers possessed by the first data party.
[0164] For single-label data objects, the second data party can specifically generate the second pseudo-random number sequence and the first position sequence described above. In this case, the second type conversion data set of the second data party is specifically the second pseudo-random number sequence, and the position mapping information is the first position sequence. For multi-label data objects, the second data party can specifically generate the evaluation matrix and the second position sequence described above. In this case, the second type conversion data set of the second data party is the evaluation matrix, and the position mapping information is the second position sequence.
[0165] The generation process can refer to the related description of the above embodiments, which will not be described in detail.
[0166] After the second data party generates the second type of conversion data set and the corresponding position mapping information, the second data party sends the generated second type of conversion data set and the position mapping information to the first data party, so that the first data party performs privacy label comparison processing on the single-label data object or the multi-label data object according to the obtained information, thereby determining the target data object in the first data party that needs to be cleaned, and then regarding the target data object as dirty data to perform data cleaning.
[0167] The embodiment can compare the identifiers of the data objects in different data parties under the condition of protecting the data party identifier privacy, facilitate further object content comparison based on privacy protection on the data objects corresponding to the consistent identifiers respectively indicated in different data parties, and provide a secure data cleaning solution based on privacy protection for non-single data sources, so that secure data cleaning based on privacy protection for non-single data sources can be implemented.
[0168] The following provides an application example based on the method of the present application for data cleaning of single-label data objects in non-single data sources. The system parameters or related rules / protocols involved in the example include:
[0169] OPRF: represents an oblivious pseudo-random number function protocol;
[0170] H(): represents a hash algorithm;
[0171] ||: represents string concatenation.
[0172] The data sources include a sender data source and a receiver data source, which are simply referred to as a sender and a receiver, respectively. The receiver is the first data party, and the sender is the second data party.
[0173] The data structure of the data objects in each data party is <ID, label>, which can be specifically seen from Figure 8 , where ID represents the unique identifier of the data object, and label represents the label of the data object. In the example, the ID of the sender is denoted as SS i , and the label is denoted as LS i , where i = 1…n, and n represents the number of data objects contained in the sender; the ID of the receiver is denoted as SR j , and the label is denoted as LR j , where j = 1…m, and m represents the number of data objects contained in the receiver.
[0174] Please refer to Figure 9 , the processing process is divided into four stages of sender initialization, receiver initialization, privacy identification comparison and privacy label comparison, for determining the target data object of different label data under the condition that the identification of both parties is the same, so that the corresponding data party cleans the target data object as dirty data, and the processing of each stage is as follows:
[0175] (I) Sender initialization
[0176] The sender performs H() hash algorithm on the identification SS of its data object to obtain H(SS i ), and generates a random key ks. i
[0177] (II) Receiver initialization
[0178] The receiver performs H() hash algorithm on the identification SR of its data object to obtain H(SR j ), and generates a random key kr. j
[0179] (III) Privacy identification comparison
[0180] a) The sender performs OPRF protocol between the sender and the receiver with the kr of the receiver as the key and H(SS i ) of the sender as the input, and finally the sender obtains the protocol output F kr (H(SS i )) .
[0181] b) The receiver performs OPRF protocol with the kr of the receiver as the key and H(SR j ) of the receiver as the input to obtain the protocol output F kr (H(SR j )) , and sends F kr (H(SR j )) to the sender.
[0182] c) For each i∈1…n and each j∈1…m, the sender compares F kr (H(SS i )) and F kr (H (SR j )) whether they are the same, if they are the same, add <i, j> to the set <inters>.
[0183] (iv) Privacy label matching
[0184] See also Figure 10 The privacy label matching process for single label data objects comprises:
[0185] a) For each i e <inters>, the sender takes ks as the key, takes H (SS i ||LS i ) as the input, performs the OPRF calculation F ks (H(SS i ||LS i )) , and sends F ks (H(SS i ||LS i )) to the receiver; meanwhile, the sender sends <inters>each j in the first position sequence is formed in a shuffled order, i.e. a second position sequence, and sent to the receiver. F ks (H(SS i ||LS i ))
[0186] b) the receiver performs an OPRF protocol with the sender using the sender's ks as a key and the receiver's H(SR j || LR j ) as input, and the receiver ends up with F ks (H(SR j ||LR j )) .
[0187] c) for each j in the second position sequence, the receiver compares F ks (H(SR j ||LR j )) to the value corresponding to j in the first position sequence, and if they are not the same, j is added to the set F ks (H(SS i ||LS i )) <output>.
[0188] d) receiver output <output> <output>each j in the above formula represents the corresponding data object of the receiver as the target data object (dirty data) that needs to be cleaned by the receiver, so that the receiver can clean or correct it, etc.
[0189] Meanwhile, the embodiments of the present application also provide an application example based on the method of the present application for data cleaning of multi-label data objects in non-single data sources.
[0190] In this example, the data sources also include the sender data source and the receiver data source, which are simply referred to as the sender and the receiver, respectively, wherein the receiver is the first data party and the sender is the second data party.
[0191] The data structure of the data objects in each data party is <ID, label 1 , label 2 …, label t >, which can be specifically seen from the following formula (1) : Figure 11 wherein ID represents the unique identifier of the data object, and label represents the label of the data object, and there are t types. The ID of the sender is denoted as SS i , and the label is denoted as The ID of the receiver is denoted as SR j , and the label is denoted as wherein i / j = 1…n, n represents the number of data objects contained by the two parties respectively, and k = 1…t, t represents the number of label types.
[0192] The system parameters or related rules / protocols involved include:
[0193] OPRF: represents the oblivious pseudo-random number function protocol;
[0194] OKVS: represents the oblivious key-value storage;
[0195] H(): represents the hash algorithm;
[0196] ||: represents string concatenation;
[0197] T: represents the cleaning threshold, i.e., the quantity threshold described above.
[0198] The processing procedure is divided into four stages, i.e., sender initialization, receiver initialization, private identifier comparison, and private label comparison, which are used to determine at least T different data objects with the same identifier and different labels through the processing of each stage, so that the corresponding data party can clean the target data object as dirty data, and the processing of each stage is as follows:
[0199] (I) Sender initialization
[0200] The sender initializes the identifier SS i Execute the H() hash algorithm to obtain H(SS) i ).
[0201] (II) Receiver Initialization
[0202] a) The receiver generates a random key kr. For each j∈1…n, k∈1…t, the receiver computes… Used as the identifier key for the j-th data object of the receiver.
[0203] Each data object has t identifier keys.
[0204] b) The receiver generates an n*t matrix R, with the following generation rule: for each data object in the receiver... Generate a random number Correspondingly, a data pair of identifier key and random number is obtained. Each data pair forms an n*t matrix R based on the position of its corresponding identifier key.
[0205] Each data object corresponds to a row in matrix R.
[0206] c) The receiver performs OKVS encoding on R row by row. Specifically, for j∈1…n, based on OKVS, it encodes… Encode into t-dimensional vector E j n t-dimensional vectors E j Form an n*t order encoding matrix E and send E to the sender.
[0207] (III) Privacy Label Comparison
[0208] a) The sender uses the receiver's kr as the key, and the sender's H(SS) i As input, the OPRF protocol is executed between the sender and receiver, and finally the sender receives... F kr (H(SS i )) .
[0209] b) The receiver uses the receiver's kr as the key and the receiver's H(SR) as the key. j ( ) is taken as input, the OPRF protocol is executed, and the protocol output is obtained. F kr (H(SR j )) and will F kr (H(SR j )) Send to the sender.
[0210] c) For each i / j∈1…n, the sender performs alignment. F kr (H(SS i )) and F kr (H(SR j )) Are they the same? If they are the same, then...<i,j> Add to collection <inters>.
[0211] (iv) Privacy label matching
[0212] See also Figure 12 The privacy label matching process for multi-label data objects comprises:
[0213] a) For each i∈ <intersr>, the sender calculates the identification key of the i-th data object as the sender, where k = 1…t.
[0214] b) the sender performs OKVS decoding evaluation, specifically, the sender generates an n*t order all-0 matrix, and for each <i, j> ∈ <intersr>, based on OKVS decoding evaluation calculation filling in S corresponding position, such as filling in the S j row (instead of the j row t 0), after filling in the final S obtained is called evaluation matrix.
[0215] c) sender sends evaluation matrix to the receiver.
[0216] d) after receiving the evaluation matrix, for each the row, such as the row j (with i corresponding <i, j> in j), for k = 1…t, compare and Each line is compared t times, and the number of th i is recorded as the number of comparisons and If th i ≥ T, add the position information of the row, such as j, to <output>.
[0217] e) receiver output <output> <output>Each j in the formula (1) is the corresponding data object of the receiver as the target data object (dirty data) that needs to be cleaned by the receiver, so that the receiver performs cleaning or correction or other cleaning processing.
[0218] The embodiment of the application further discloses an electronic device, and a component structure of the electronic device comprises at least Figure 13
[0219] The memory 10 is used for storing a computer instruction set.
[0220] The computer instruction set can be implemented in the form of a computer program.
[0221] The processor 20 is used for implementing the processing method applied to the first data party or the processing method applied to the second data party by executing the computer instruction set.
[0222] The processor 20 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, etc.
[0223] The electronic device is provided with a display device and / or is provided with a display interface and can be externally connected to a display device.
[0224] Optionally, the electronic device further comprises a camera assembly and / or is connected to an external camera assembly.
[0225] In addition, the electronic device can further comprise a communication interface, a communication bus and the like. The memory, the processor and the communication interface complete mutual communication through the communication bus.
[0226] The communication interface is used for communication between the electronic device and other devices. The communication bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus and the like.
[0227] It should be noted that each embodiment in the present specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same and similar parts of each embodiment can be referred to each other.
[0228] For ease of description, the above system or apparatus is described in various modules or units respectively in terms of functions. Of course, in the implementation of the present application, the functions of each unit can be implemented in the same or more software and / or hardware.
[0229] From the above description of the embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary universal hardware platforms. Based on such an understanding, the technical solutions of the present application, in essence, or the parts making the creative contributions, can be embodied in the form of a software product. The computer software product can be stored in a storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of the present application.
[0230] Finally, it should be noted that in this document, relational terms such as first and second and third and fourth, and the like can be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "comprises... " does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the recited element.
[0231] The above description is only the preferred embodiments of the present application, and it should be pointed out that for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, and these improvements and refinements should be considered as the protection scope of the present application.< / output> < / output> < / output> < / intersr> < / intersr> < / inters> < / output> < / output> < / output> < / inters> < / inters> < / inters> < / intersr> < / intersr>
Claims
1. A processing method applied to a first data party, the method comprising: obtaining a second-type conversion data set and position mapping information of a second data party; the second-type conversion data set of the second data party comprising: results obtained by the second data party converting at least label data corresponding to each second target identifier according to a second-type conversion rule, the second target identifier being an identifier of the second data party corresponding to a corresponding identifier of the first data party based on satisfying a consistency condition; the first data party and the second data party each having at least one data object, each data object comprising a corresponding identifier and label data; the position mapping information being used to indicate a position of the second target identifier in a corresponding first target identifier of the first data party; obtaining a second-type conversion data set of the first data party according to the position mapping information; the second-type conversion data set of the first data party comprising: results obtained by the first data party converting at least label data corresponding to each first target identifier according to the second-type conversion rule; determining whether second-type conversion data of which identifiers are consistent between the second-type conversion data set of the first data party and the second-type conversion data set of the second data party satisfies a matching condition; determining a data object corresponding to second-type conversion data of the first data party that does not satisfy the matching condition as a target data object to be cleaned by the first data party.
2. The method of claim 1, each data object possessed by the first data party and the second data party respectively comprising one label data; the obtaining of the second-type conversion data set and the position mapping information of the second data party comprising: obtaining a second pseudo-random number sequence and a first position sequence transmitted by the second data party; wherein a second pseudo-random number in the second pseudo-random number sequence is a pseudo-random number obtained by the second data party performing a pseudo-random number generation rule with a second key possessed by the second data party as a key and with digest information of a data object corresponding to each second target identifier in the second data party as input; the first position sequence comprising a sequence formed by position information of a first target identifier corresponding to each second target identifier in the first data party; an order of the second pseudo-random numbers in the second pseudo-random number sequence corresponding to an order of the position information in the first position sequence.
3. The method of claim 2, the obtaining of the second-type conversion data set of the first data party according to the position mapping information comprising: obtaining a first pseudo-random number sequence of the first data party according to the first position sequence; The first pseudo-random number in the first pseudo-random number sequence is a pseudo-random number obtained by taking a second key possessed by the second data party as a key, taking each first target identity at a position indicated by the first position sequence as input, and performing the pseudo-random number generation rule between the first data party and the second data party. The pseudo-random number generation rule is used to make the second key invisible to the first data party. The first pseudo-random number in the first pseudo-random number sequence is compared with a corresponding second pseudo-random number in the second pseudo-random number sequence to determine whether the first pseudo-random number and the corresponding second pseudo-random number that are consistent in identity satisfy a matching condition.
4. The method of claim 2, wherein the second pseudo-random number sequence is a sequence formed by performing a disordering process on each second pseudo-random number. The disordering process is used to make the order of each second pseudo-random number inconsistent with the position order of the second target identity corresponding to each second pseudo-random number.
5. The method of claim 1, wherein each data object possessed by the first data party and the second data party respectively includes the same number of at least two label data. The second data party's second type conversion data set and position mapping information are obtained by: Obtaining an evaluation matrix and a second position sequence transmitted by the second data party. The evaluation matrix includes a matrix formed by a group of second evaluation values corresponding to each second target identity, and each group of second evaluation values is a row or a column of the matrix. The group of second evaluation values corresponding to the second target identity includes each evaluation value obtained by evaluating each identification key of the second target identity in the data object corresponding to the second data party according to a decoding evaluation rule. One identification key of a data object is the digest information of the combination result of the identification of the data object and one label data. The second position sequence includes a sequence formed by the position information of the first target identity corresponding to each second target identity. The order of each group of second evaluation values in the evaluation matrix corresponds to the order of the position information in the second position sequence.
6. The method of claim 5, wherein the second type conversion data set of the first data party is obtained according to the position mapping information by: Obtaining each group of first evaluation values of the first data party according to the second position sequence. Each group of first evaluation values of the first data party includes each evaluation value obtained by evaluating each identification key of the corresponding first target identity in the data object corresponding to the first data party according to the decoding evaluation rule. The determination of whether the second type conversion data consistent in identity between the second type conversion data set of the first data party and the second type conversion data set of the second data party satisfies a matching condition includes: determining whether the evaluation values corresponding to the matched evaluation value pairs satisfy a quantity condition; if the evaluation value pairs corresponding to the matched evaluation values satisfy the quantity condition, determining that the second evaluation value set corresponding to the second target identifier and the first evaluation value set corresponding to the corresponding first target identifier satisfy the matching condition; if the evaluation value pairs do not satisfy the quantity condition, determining that the second evaluation value set corresponding to the second target identifier and the first evaluation value set corresponding to the corresponding first target identifier do not satisfy the matching condition.
7. The method of claim 5, wherein the evaluation matrix is an n*t order matrix, n representing a number of data objects possessed by the first data party, and t representing a number of label data included in each data object. The position information of the row in the evaluation matrix where the second evaluation value set corresponding to each second target identifier is located is the position information of the first target identifier corresponding to the second target identifier in the first data party. The second position sequence carries the position information of the row in the evaluation matrix where the corresponding second evaluation value set of each second target identifier is located.
8. A processing method applied to a second data party, the method comprising: obtaining a first type of conversion data set of a first data party; The first type of conversion data set of the first data party includes the results obtained by converting each identifier possessed by the first data party according to a first type of conversion rule; the first data party and the second data party each possess at least one data object, and each data object includes a corresponding identifier and label data; obtaining a first type of conversion data set of the second data party; the first type of conversion data set of the second data party includes the results obtained by converting each identifier possessed by the second data party according to the first type of conversion rule; determining first type of conversion data satisfying a consistency condition between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party to obtain a determination result; the corresponding first type of conversion data between the first type of conversion data set of the first data party and the first type of conversion data set of the second data party satisfying the consistency condition indicates that the corresponding first type of conversion data satisfies the consistency condition in the first target identifier corresponding to the first data party and the second target identifier corresponding to the second data party, respectively; According to the determination result, generating a second type of conversion data set of the second data party and corresponding position mapping information, and transmitting the generated second type of conversion data set and position mapping information to the first data party; the second type of conversion data set of the second data party includes the results obtained by converting at least the label data corresponding to each second target identifier according to a second type of conversion rule; the position mapping information is used to indicate the position of the second target identifier corresponding to the consistent first target identifier in the identifiers possessed by the first data party.
9. The method of claim 8, the first type of conversion data set of the first data party comprising: The first data party takes the first key possessed by the first data party as a key, takes each identity of the first data party as an input, and obtains a pseudo-random number by executing a pseudo-random number generation rule; The first type of conversion data set of the second data party includes: the second data party takes the first key possessed by the first data party as a key, takes each identity of the second data party as an input, and obtains a pseudo-random number by executing the pseudo-random number generation rule between the second data party and the first data party; the pseudo-random number generation rule can be used to make the first key invisible to the second data party. 10.An electronic device comprising: a memory for storing at least a set of computer instructions; a processor for implementing the processing method of any one of claims 1-7 or the processing method of any one of claims 8-9 by executing the set of computer instructions stored in the memory.
Citation Information
Patent Citations
Device and method sharing a matrix for use in a cryptographic protocol
US20190386828A1
Method and apparatus for storing data as objects, constructing customized data retrieval and data processing requests, and performing householding queries
US6708166B1