Method and apparatus for securing packets

CN116011018BActive Publication Date: 2026-10-27ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310081180.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-30
Publication Date
2026-10-27
Estimated Expiration
2043-01-30

AI Technical Summary

Benefits of technology

[0018]通过本说明书实施例提供的方法和装置,在数据表以竖直切分形式分布在各个参与方的情况下,经由预定乱序操作,对数据表中的各条数据进行安全乱序。经由安全乱序得到的乱序数据表在各个参与方构成共享形式,并由各个参与方分别持有相应共享分片。如此,使得各个参与方均无法恢复原始数据,也无法知晓乱序后的各条数据位置,从而,可以在公开分组所依赖的预定字段的情况下完成安全分组,提高分组业务的处理效率,而各个参与方均不能获知相应分组下的原始数据。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116011018B_ABST
    Figure CN116011018B_ABST
Patent Text Reader

Abstract

Embodiments of the present specification provide a method and device for secure grouping, under a multi-party secure computing architecture, for a business involving data in a table jointly held by each participant, grouped according to a predetermined field, using a secure out-of-order operation to reorder the data held by each participant, and obtaining a reordered table in a shared form by each participant. In the shared form, each participant cannot know the correspondence between the data before and after the reordering. Moreover, since the data identifiers are also in a shared form by each participant, even if the predetermined field on which the grouping is dependent is disclosed, the correspondence between the data before and after the reordering and the correspondence between the predetermined field and the data identifiers will not be disclosed, thereby effectively protecting the data privacy. Therefore, the secure grouping can be completed under the plaintext information of the predetermined field, and subsequent business processing can be performed. This way can improve the processing efficiency of related businesses based on secure grouping.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to one or more embodiments in the field of secure computing technology, and more particularly to methods and apparatus for secure grouping. Background Technology

[0002] Secure multi-party computation, also known as secure multi-party computation, refers to multiple parties collaboratively calculating the result of a function without disclosing their input data. The result is disclosed to one or more of the parties. Typical applications of secure multi-party computation include privacy-preserving intersection and joint learning. In business processes based on secure multi-party computation, grouped joint computations in data tables may be involved. For example, given a data table that statistically analyzes user information, one party holds a "years of service" field, and another party holds a "leisure expenditure" field. The goal is to securely calculate the average leisure expenditure of users with 5 years of service without disclosing the correlation between years of service or leisure expenditure and users. Such business processes often involve the issue of securely grouping data tables according to predetermined fields (such as years of service). Summary of the Invention

[0003] This specification describes one or more embodiments of a method and apparatus for secure grouping, which addresses one or more problems mentioned in the background art.

[0004] According to a first aspect, a secure grouping method is provided for multiple participants to group data in a data table according to values ​​in predetermined fields. The method is performed by a first party among the multiple participants and includes: scrambling the data in the data table with other participants via a secure scrambling operation to obtain a first fragment of the scrambled data table; obtaining other shared fragments of predetermined fields from other participants to determine the plaintext values ​​of the predetermined fields in the scrambled data table; and grouping the data in the first fragment according to the plaintext values ​​of the predetermined fields for related business processing.

[0005] In one embodiment, the fields in the data table are vertically divided by each participant, and the fields held by each participant are aligned using privacy-preserving intersection based on data identifiers.

[0006] In a further embodiment, the plurality of participants are two participants, a first party and a second party, which respectively hold a first shard x1 and a second shard x2 of the data table. The first party has a first permutation p1, a first balance term d1, a first disturbance term a1, and a first reference term b1, and the second party has a second permutation p2, a second balance term d2, a second disturbance term a2, and a second reference term b2. The result obtained by applying the first permutation p1 to the second disturbance term a2 and subtracting the second disturbance term b2 is consistent with the first balance term d1. The result obtained by applying the second permutation p2 to the first disturbance term a1 and subtracting the first disturbance term b1 is consistent with the second balance term d2.

[0007] The secure out-of-order operation includes: the second party perturbs the second fragment x2 with the second perturbation term a2 to obtain x2–a2, which is provided to the first party; the first party uses the received x2–a2, the first permutation p1, the first balance term d1, and the first fragment x1 to determine the first out-of-order fragment r1 = p1(x2–a2) + d1 + p1(x1); the first party perturbs the first out-of-order fragment r1 to obtain r1–a1, which is provided to the second party; the second party uses the received r1–a1, the second permutation p2, the second balance term d2, and the second reference term b2 to determine the second out-of-order fragment y2 = p2(r1–a1) + d2 + p2(b2), whereby the second out-of-order fragment y2 and the first reference term b1 held by the first party constitute a shared form of the out-of-order data table x' obtained by the first permutation p1 and the second permutation p2 being applied sequentially to the dataset x.

[0008] In one embodiment, the sharing method is arithmetic sharing. The step of obtaining shared fragments of a predetermined field from other participants and determining the plaintext value of the predetermined field in the disordered data table includes: summing each shared fragment of the predetermined field obtained from other participants with the shared fragment of the local predetermined field, and using the summation result as the plaintext value of the predetermined field.

[0009] In one embodiment, grouping the data according to the plaintext value of a predetermined field includes: using the plaintext value of the predetermined field to determine that data entries whose values ​​in the predetermined field meet predetermined conditions are grouped together.

[0010] In a further embodiment, the method further includes: sending the row identifiers corresponding to each group of data to other participants according to the grouping results.

[0011] In one embodiment, the related service is to perform a predetermined fusion of data rows grouped together on a first field. The method further includes: performing a predetermined fusion of data rows grouped together on a first field as a first fragment of the related service processing result.

[0012] According to a second aspect, a secure grouping apparatus is provided for multiple parties to group data in a data table according to values ​​in a predetermined field, the apparatus being disposed in a first party among the multiple parties, comprising:

[0013] The secure out-of-order unit is configured to out-of-order the data in the data table with other participants through a secure out-of-order operation, thereby obtaining the first fragment of the out-of-order data table.

[0014] The plaintext recovery unit is configured to obtain other shared fragments of a predetermined field from other participants, thereby determining the plaintext value of the predetermined field in the out-of-order data table;

[0015] The security grouping unit is configured to group each piece of data in the first segment according to the plaintext value of a predetermined field for related business processing.

[0016] According to a third aspect, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed in a computer, causes the computer to perform the method of the first aspect.

[0017] According to a fourth aspect, a computing device is provided, including a memory and a processor, characterized in that the memory stores executable code, and when the processor executes the executable code, it implements the method of the first aspect.

[0018] The method and apparatus provided in the embodiments of this specification, when a data table is vertically partitioned and distributed among various participants, securely scrambles the data entries in the data table through a predetermined scrambling operation. The scrambled data table obtained through secure scrambling is shared among the participants, with each participant holding a corresponding shared fragment. This prevents any participant from recovering the original data or knowing the position of the scrambled data entries. Therefore, secure grouping can be completed with the predetermined fields upon which the grouping depends, improving the processing efficiency of grouping services, while ensuring that none of the participants can access the original data within the corresponding group. Attached Figure Description

[0019] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a schematic diagram illustrating the implementation process of security grouping according to one embodiment;

[0021] Figure 2A schematic diagram illustrating a specific example of the technical concept of this specification shows a secure out-of-order operation process.

[0022] Figure 3 This is a schematic block diagram of a security grouping device according to one embodiment. Detailed Implementation

[0023] The solution provided in this specification will now be described with reference to the accompanying drawings.

[0024] First, let's introduce some related concepts.

[0025] Secure Multi-Party Computation (SMPC) solves the problem of privacy-preserving collaborative computation among a group of distrustful participants. SMPC ensures the independence of inputs, the correctness of computation, and does not disclose input values ​​to other participants.

[0026] A common privacy protection method for multi-party secure computation is secret sharing (SS). The idea behind secret sharing is to divide private data into appropriate parts as a secret, with each part managed by a different participant. A single participant cannot recover the secret information; only through the collaboration of several participants can the secret message be recovered.

[0027] When each participant holds data for a portion of the data table, they can also execute a secure out-of-order protocol to jointly and securely out-of-order the data in the table, so that none of the participants know the relationship between the out-of-order data and the initial data.

[0028] SQL (Structured Query Language) is a database language with multiple functions, including data manipulation and definition. This interactive language provides great convenience to users, and database management systems should fully utilize SQL to improve the quality and efficiency of computer application systems. SQL can not only be used independently in the terminal, but also serve as a sub-language to effectively assist other programming languages. For example, SQL can work with other programming languages ​​to optimize program functionality, thereby providing users with more comprehensive information.

[0029] The GroupBy statement is used in SQL databases to group data according to certain rules. It can divide a dataset into several smaller datasets based on specific rules, and then process the data in each of these smaller datasets.

[0030] For example, suppose a business process requires determining the average leisure expenditure of employees across various years of service. The data table could be an SQL table in the form shown in Table 1 below.

[0031] Table 1. Example of Employee Leisure Expenditure Data

[0032] 1 1000 1 2 2000 1 3 3000 2 …… …… ……

[0033] In this business process, the data needs to be grouped according to years of service (Age), and the average leisure expenditure (Outlay) of each group needs to be calculated. For example, if the number of users with 1 year of service is m, then the rows of users with a value of 1 in the "Years of Service (Age)" field of the data table need to be identified, and the values ​​of the "Leisure Expenditure (Outlay)" field of these rows need to be obtained and averaged, such as (1000+2000+...) / m.

[0034] In SQL business processing, this business can be achieved, for example, using the "group by" statement, such as "Select age, avg(Outlay) from table 1 group by age". The following describes a specific processing procedure using this common technique.

[0035] First, each participating party secretly shares and splits the data they hold locally, and then encodes the data table using one-hot encoding based on the value of the "Years of Service (Age)" field.

[0036] Specifically, assuming n is the total number of values ​​for the "Years of Service (Age)" field (e.g., if the Age field has five values: 1, 2, 4, 5, and 7, then n = 5), the data is repeated n times. For rows with true values, the one-hot encoding is a value with a predetermined bit of 1; for rows with non-true values, the one-hot encoding is 0. For example, if the Age field in Table 1 has two values, 1 and 2, the number of rows in the table can be doubled, resulting in the one-hot encoded data table shown in Table 2.

[0037] Table 2 Examples of OneHot Encoding

[0038] 1 1000 1 1 1 1000 2 0 2 2000 1 1 2 2000 2 0 3 3000 1 0 3 3000 2 1 …… …… …… ……

[0039] In Table 2, one-hot encoding is represented by a single bit. Rows 1, 3, 5… identify the actual values ​​in Table 1, corresponding to a single bit value of 1 in one-hot encoding. The other rows are extended interference rows, with a one-hot encoding value of 0. In a multi-party secure computation architecture, one-hot encoded values ​​can be shared among the participating parties.

[0040] Then, using secure calculations such as secure comparison and secure multiplication, rows with the same value in the Age field are extracted and leisure expenditure is averaged to obtain the corresponding business statistics results.

[0041] For example, executing the "group by" statement "Select age, avg(Outlay) from table 1 group by Age" based on the Age field in Table 2, which performs one-hot encoding on the extended data, retrieves rows with the same Age, thus dividing the data in the table into several groups. Within each group, calculations are performed based on one-hot encoding (one-hot indicates whether the row's data is included in the calculation). For instance, to calculate the average leisure expenditure for the group where age = 1, we can calculate sum(Outlay * one-hot) / m, where m is the sum of the one-hot encoded values ​​in that group. All these calculations are performed under a secure, secret-shared system and will not be elaborated further here.

[0042] This approach requires expanding the number of rows in the table to n (the total number of values ​​for the group by field), significantly increasing the amount of safe computation (n times). This is especially true when n is a large value, resulting in significant additional overhead and resource costs.

[0043] In view of this, this specification provides a method for shuffling data in a data table based on secure disorder, and storing the shuffled data table in a shared manner among all participating parties, where no participating party can individually obtain the valid location information of any data in the data table. Based on this, the fields upon which grouping depends are exposed, and grouping is performed securely in plaintext under these fields, thereby greatly reducing the complexity of grouping calculations and improving business processing efficiency.

[0044] The following is combined Figure 1 This manual provides a detailed introduction to the technical concepts behind this invention.

[0045] Figure 1The diagram illustrates a secure grouping process according to one embodiment. This secure grouping process can be executed by a first party among multiple participants in a multi-party secure computation. The first party can participate in the multi-party secure computation through a computer, device, server, or other means with certain computing capabilities. In specific business scenarios, the multiple participants can be different business entities holding related data, or different collaborative departments within a single enterprise or business entity. Further, the multiple participants can jointly hold a data table, which can be held by each data entity in a horizontally or vertically partitioned manner. In a horizontally partitioned manner, each participant can hold at least one data entry, and these data entries are independent of each other. In a vertically partitioned manner, each participant can hold partial fields of each data entry. For example, in the data table of Table 1, one participant holds information about the Id and the "Outlay" field of leisure expenditure, while another participant can hold information about the Id and the "Age" field. Here, the Id can be a user identifier or a data identifier. When data is segmented, each participant has a consistent data identifier, such as a phone number as the data ID. Data can be aligned using a privacy-preserving intersection method based on these consistent data identifiers; for example, the first row might all correspond to ID1, the second row to ID2, and so on. The technical solutions provided in the embodiments of this specification are particularly suitable for situations where data is vertically segmented.

[0046] like Figure 1 As shown, a secure grouping process provided in one embodiment of this specification may include: step 110, reordering the data in the data table with other participants via a secure reordering operation to obtain a first fragment of the reordered data table; step 120, obtaining other shared fragments of predetermined fields from other participants to determine the plaintext values ​​of predetermined fields in the reordered data table; step 130, grouping the data in the first fragment according to the plaintext values ​​of predetermined fields for use in related business processing.

[0047] First, through step 110, the data in the data table is scrambled by other participants through a secure scrambling operation to obtain the first shard of the scrambled data table.

[0048] Secure out-of-order operation is a secure operation performed by participating parties without disclosing local privacy data and without revealing the order of the data after out-of-order processing. Through secure out-of-order operation, the fields of the resulting out-of-order data table are shared among multiple participating parties, and each participating party can obtain a shard of the out-of-order data table. Here, the shard obtained by the first party is called the first shard. More specifically, a single participating party holds a shard of each element in the out-of-order data table. The corresponding elements in each shard can be used to reconstruct the elements in the out-of-order data table according to the sharing method (such as arithmetic sharing, Boolean sharing, etc.).

[0049] Safe out-of-order operations can be any operation that achieves the goal of safe out-of-order execution. The following example illustrates the achievable out-of-order effect.

[0050] To facilitate understanding, we first describe how a data table held by a single participant (let's call it Party 1) is safely shuffled, and the resulting shuffled data table is shared between two participants (let's call it Party 1 and Party 2).

[0051] Suppose x is a data table held by a second party, and p is an arbitrary data permutation operation or permutation relation (hereinafter referred to as permutation), such as a row permutation operation. Given three random datasets a, b, and d, when permutation p is applied to dataset a (denoted as pa), pa - b = d is satisfied. As an example of permutation p, suppose permutation p = [1, 3, 2, 4], meaning that the first element after the permutation is still the first element of the original dataset, the second element after the permutation is the third element of the original dataset, and so on. If dataset a is a = [11, 13, 54, 12], then permutation p applied to dataset a can be pa = [11, 54, 13, 12]. A set of random vectors or arrays [p, a, b, d] can be called a secure out-of-order tuple, which can be used in two-party secure computation to achieve secure out-of-order processing when one party holds p and d, and the other party holds a and b. This secure out-of-order tuple can be generated with the constraint pa - b = d by a trusted third party. The second party uses dataset a as perturbation data for data table x, calculates xa, and provides it to the first party. The first party applies permutation p to xa and uses d as the balance term after perturbation (balanced data table), calculating p(xa) + d as a shared partition of the disordered dataset, denoted as y1 = p(xa) + d. On the other hand, the second party uses b as another shared partition of the disordered dataset, denoted as y2 = b. It is easy to verify that y1 + y2 = p(xa) + d + b = px - (pa - b) + d = px.

[0052] The above-mentioned safe out-of-order operations can be extended to multiple participants, which will not be elaborated here.

[0053] When data held by multiple participants is vertically partitioned, each participant's data table can be called a sub-data table. Aligning these sub-data tables row-wise yields the complete original data table.

[0054] According to one optional implementation, each participant can first split its local sub-data table into shared shards and exchange them, then each holds a shard of the original data table. Randomization operations are then performed on each shard x1 and x2 to achieve secure reordering of the entire data table. Taking a participant count of 2 as an example, data table x can consist of sub-data table s1 held by the first participant and sub-data table s2 held by the second participant, denoted as x = [s1, s2] or x = [s2, s1]. The first and second participants can respectively split s1 and s2 into shared shards (s1, s2, s2, s1). 11 s 12 ) and (s 21 s 22 They then exchange a fragment with each other, thus the first party obtains s. 11 and s 21 Combined into x1 = [s 11 s 21 ] or x1 = [s 21 s 11 The second party obtains s. 12 and s 22 Combined into x2 = [s 12 s 22 ] or x1 = [s 22 s 12 x1 and x2 are shared partitions of data table x, such as x = x1 + x2.

[0055] To ensure a synchronized scrambled result for x1 and x2, meaning the correspondence between the scrambled and pre-scrambled data remains consistent, we can perform two superimposed scrambling operations on x1 and x2, using two permutations p2 and p1 (or permutation operations or permutation relationships p2 and p1), denoted as p2p1 x1 and p2p1x2. Then, p2p1x1 + p2p1x2 = p2p1x. This generates two sets of random data: (p1, d1, a2, b2) and (p2, d2, a1, b1), satisfying p1a2 – b2 = d1 and p2a1 – b1 = d2, respectively. Here, index 1 indicates that the data is held by the first party, and index 2 indicates that it is held by the second party.

[0056] like Figure 2As shown, in a specific example, the second party can perturb the second partition x2 of data table x, obtaining x2–a2 and providing it to the first party. For consistency, the first out-of-order partition r2 = b2. Upon receiving x2–a2, the first party can calculate another first out-of-order partition r1 = p1(x2–a2) + d1 + p1(x1). Then, the first party perturbs r1, obtaining r1–a1 and providing it to the second party, and sets its local second out-of-order partition y1 = b1. Upon receiving r1–a1, the second party can calculate another second out-of-order partition y2 = p2(r1–a1) + d2 + p2(r2). It is easy to verify that y1 + y2 = p2p1(x1 + x2). That is, the two out-of-order partitions y1 and y2 constitute a shared form of the out-of-order data table x' obtained by superimposing the two permutations p2 and p1 on data table x.

[0057] According to another optional implementation, each participant can also adopt a suitable scheme to first perform association and shuffling of each sub-data table, and then merge the shuffled sub-data tables for each participant to obtain a shard of the shuffled dataset. For example, in a multi-party secure computation architecture with two participants, for the first party's sub-data table, through a permutation-based p-secure shuffling operation, arithmetic shared shards t are obtained for both the first and second parties respectively. 11 t 12 For the second party's sub-data table, through a safe out-of-order operation based on the same permutation p, arithmetic shared fragments t are obtained in both the first and second parties respectively. 21 t 22 Then the first party merges t 11 t 21 This yields a partition t1' = t of the disordered data table. 11 +t 21 Second-party merger t 12 t 22 This yields a partition t2' = t of the disordered data table. 12 +t 22 .

[0058] In other alternative implementation methods, the participating parties can also complete the safe out-of-order operation in other ways, which will not be elaborated here.

[0059] By employing secure out-of-order processing, a shared, out-of-order data table can be obtained across all participating parties. Taking the original data table as Table 1 as an example, the out-of-order data table is shown in Table 3:

[0060] Table 3 shows the meaning of disordered data.

[0061] 1 1000 1 3 3000 2 2 2000 1 …… …… ……

[0062] In practice, apart from the field information, neither the first party nor the second party can obtain the other numerical or identification information in Table 3 independently. These data are distributed among the first party and the second party in a shared manner, as shown in Tables 4 and 5.

[0063] Table 4. Example 1 of partitioning a disordered data table

[0064] 23 1023 2 19 2045 3 11 4096 4 …… …… ……

[0065] Table 5. Example 2 of sharding a disordered data table.

[0066] -22 -23 -1 -16 -45 -1 -9 -1096 -2 …… …… ……

[0067] Thus, through secure out-of-order operations, none of the participating parties can match the data in the table with the data in the original data table, thereby effectively protecting data privacy. In other embodiments, other secure out-of-order operations can also be used, such as secure out-of-order operations based on the g-modules protocol, which will not be elaborated here.

[0068] Where the sensitivity of the grouping field information permits, the values ​​of the grouping field can be made public without affecting the privacy of other fields.

[0069] Therefore, through step 120, other shared fragments of the predetermined field are obtained from other participants, thereby determining the plaintext value of the predetermined field in the disordered data table.

[0070] The predetermined field can be a field upon which the security group depends, such as the "Age" field describing years of service mentioned earlier. Each participant can expose its local sharded out-of-order data table to other participants, allowing each participant to recover the plaintext value of the predetermined field locally. In an optional implementation, to save overall communication overhead, a single participant can receive the data shards of the predetermined field from other participants and recover the plaintext information of the predetermined field. In one embodiment, the single participant can also feed back the plaintext information of the predetermined field to other participants. Ultimately, at least one participant can obtain the plaintext value of the predetermined field. Thus, when the number of data rows corresponding to a single value of the predetermined field is not unique, each participant cannot determine the correspondence between the data in the sharded data table and the data in the original data table from the plaintext value of the predetermined field. For example, in the table mentioned earlier, since the data ID is shared among the data parties, a single participant cannot know the correspondence between the plaintext value of the predetermined field and the ID.

[0071] Then, in step 130, the data in the first segment is grouped according to the plaintext values ​​of the predetermined fields for use in relevant business processing.

[0072] It's easy to understand that each participant holding the plaintext values ​​of the predetermined fields can use a plaintext grouping method to obtain the data row information assigned to the same group, such as data row identifiers (e.g., row 10, row 15, etc.), thus completing the data grouping. With each participant having the plaintext values ​​of the predetermined fields, each participant can independently group its local sharded data table. If only one participant has the plaintext values ​​of the predetermined fields, that single participant can disclose the grouping results to other participants; this is not limited here. The grouping results can be described by row numbers or the order of arrangement in the sharded data table. Thus, each participant groups its local related data rows.

[0073] Because after secure reordering, each participant can obtain data grouping information based on the plaintext information of the predefined fields, such as grouping by executing a grouping statement based on "group by" in a single participant, thus greatly improving grouping efficiency.

[0074] After determining the grouping results, further related business processing can be performed. In one optional implementation, the related business could be determining the average leisure expenditure for groups with the same number of years of service. In one embodiment, each participant can locally determine the average value of the "Outlay" field corresponding to leisure expenditure for a single group within a shared shard of the corresponding out-of-order data table. For example, if there are m data entries with 1 year of service, each participant can sum the values ​​of the "Outlay" field in their local shared shard and divide by m to obtain the corresponding average. These averages can be used as a shared shard for the average leisure expenditure of groups with 1 year of service. For instance, the first party can use the first shard of the out-of-order data table to obtain the first shard of the average leisure expenditure. This process can be completed without communication between the participants.

[0075] To recap the above process, during business processing involving multiple participants, for transactions involving grouping data tables jointly held by these participants according to predetermined fields, a secure scrambling operation is employed to reduce the complexity of secure grouping. This scrambling of the data held by each participant creates a shared data table across all participants. In this shared format, no participant can individually know the data correspondence before and after scrambling. Furthermore, since data identifiers are also shared among the participants, even if the predetermined fields upon which grouping depends are made public, the correspondence before and after scrambling, as well as the correspondence between predetermined fields and data identifiers (such as user IDs), will not be leaked, thus effectively protecting data privacy. Therefore, secure grouping can be completed with the plaintext information of the predetermined fields, followed by subsequent business processing. This method does not require expanding the data table and can complete secure grouping with less communication, thereby improving the processing efficiency of related business transactions based on secure grouping.

[0076] According to another embodiment, a secure grouping device that can be set at a single participant is also provided. This secure grouping device is used by multiple participants to group data in a data table according to values ​​in predetermined fields, and can be set at any one participant.

[0077] Figure 3 A structural block diagram of a security grouping device according to one embodiment is shown. Figure 3 As shown, the secure grouping device 300 may include a secure out-of-order unit 310, a plaintext recovery unit 320, and a secure grouping unit 330. The secure out-of-order unit 310 is configured to: out-of-order data entries in a data table with other participating parties via a secure out-of-order operation, obtaining a first fragment of the out-of-order data table; the plaintext recovery unit 320 is configured to: obtain other shared fragments of predetermined fields from other participating parties, thereby determining the plaintext values ​​of the predetermined fields in the out-of-order data table; and the secure grouping unit 330 is configured to: group the data entries in the first fragment according to the plaintext values ​​of the predetermined fields for use in related business processing.

[0078] It is worth noting that, Figure 3 The device 300 shown is Figure 1 The method embodiment shown corresponds to this, therefore, Figure 1 The corresponding descriptions in the method embodiments also apply to Figure 3 The device 300 shown will not be described in detail here.

[0079] According to another embodiment, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed in a computer, causes the computer to perform a combination Figure 1 The methods described above.

[0080] According to another embodiment, a computing device is also provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, it implements a combination... Figure 1 The methods described above.

[0081] Those skilled in the art will recognize that the functions described in the embodiments of this specification in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium.

[0082] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the technical concept in this specification. It should be understood that the above description is only a specific embodiment of the technical concept in this specification and is not intended to limit the scope of protection of the technical concept in this specification. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solutions of the embodiments in this specification should be included within the scope of protection of the technical concept in this specification.

Claims

1. A method for secure grouping, used by multiple parties to group data in a data table according to values ​​in a predetermined field, the method being performed by a first party among the multiple parties, comprising: The data in the data table is shuffled by a secure shuffle operation involving multiple data row replacements with other participants to obtain the first shard of the shuffled data table. The shuffled data table is the shuffled data table and is shared among the participants. Obtain other shared fragments of the predetermined field from other participants to determine the plaintext value of the predetermined field in the disordered data table; The data in the first shard of the disordered data table is grouped according to the plaintext values ​​of the predetermined fields to obtain the grouping results, which, together with the grouping results of the participants in the disordered data table, are used for relevant business processing.

2. The method as described in claim 1, wherein, The fields in the data table are vertically partitioned by each participant, and the fields held by each participant constitute sub-data tables. Each sub-data table is aligned using privacy-preserving intersection based on its data identifier. The secure out-of-order operation includes: Based on secure computation, the association of each sub-data table with other participants performing the same permutation operation on each sub-data table is disordered, resulting in a shared shard of each disordered sub-data table; The local out-of-order sub-data tables are merged to obtain the first shard of the out-of-order data table.

3. The method as described in claim 1, wherein, The multiple participants are two parties, a first party and a second party. When the first party and the second party respectively hold the first shard x1 and the second shard x2 of the data table, the first party has a first permutation p1, a first balance term d1, a first disturbance term a1 and a first reference term b1, and the second party has a second permutation p2, a second balance term d2, a second disturbance term a2 and a second reference term b2. The result of the first permutation p1 applied to the second disturbance term a2 and subtracting the second reference term b2 is consistent with the first balance term d1. The result of the second permutation p2 applied to the first disturbance term a1 and subtracting the first reference term b1 is consistent with the second balance term d2. The secure out-of-order operation includes: The second party uses the second perturbation term a2 to perturb the second piece x2, and obtains x2–a2 which is then provided to the first party; The first party uses the received x2-a2, the first permutation p1, the first balance term d1, and the first piece x1 to determine the first out-of-order piece r1 = p1(x2–a2) + d1 + p1(x1); The first party perturbs the first out-of-order fragment r1 to obtain r1-a1, which is then provided to the second party. The second party uses the received r1-a1, the second permutation p2, the second balancing term d2, and the second reference term b2 to determine the second out-of-order fragment y2 = p2(r1–a1) + d2 + p2(b2). The second out-of-order fragment y2 and the first reference term b1 held by the first party constitute a shared form of the out-of-order data table x' obtained by the first permutation p1 and the second permutation p2 being applied sequentially to the data table.

4. The method of claim 1, wherein, The sharing method is arithmetic sharing, whereby the shared fragments of the predetermined fields are obtained from other participants, and the plaintext values ​​of the predetermined fields in the disordered data table include: The shared fragments of the predetermined field obtained from other participants are summed with the shared fragments of the local predetermined field, and the summation result is used as the plaintext value of the predetermined field.

5. The method of claim 1, wherein, The process of grouping data according to the plaintext values ​​of predetermined fields includes: A set of data behaviors that meet predetermined conditions are determined by using the plaintext values ​​of predetermined fields.

6. The method of claim 5, wherein, The method further includes: Based on the grouping results, the row identifiers corresponding to each group of data are sent to other participants.

7. The method of claim 1, wherein, The relevant business involves pre-merging data rows grouped together on a first field. The method further includes: The data rows that are grouped together are pre-merged on the first field and used as the first fragment of the relevant business processing result.

8. A secure grouping apparatus for grouping data in a data table by multiple parties according to values ​​in a predetermined field, the apparatus being disposed in a first party among the multiple parties, comprising: The secure out-of-order unit is configured to out-of-order each data in the data table through a secure out-of-order operation with other participants by replacing multiple data rows, to obtain the first fragment of the out-of-order data table, wherein the out-of-order data table is the out-of-order data table and is shared among the participants. The plaintext recovery unit is configured to obtain other shared fragments of a predetermined field from other participants, thereby determining the plaintext value of the predetermined field in the out-of-order data table; The security grouping unit is configured to group each data entry in the first shard of the out-of-order data table according to the plaintext value of a predetermined field, obtain the grouping result, and use it together with the grouping result of the participants in the out-of-order data table for related business processing.

9. A computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform the method of any one of claims 1-7.

10. A computing device, comprising a memory and a processor, characterized in that, The memory stores executable code, and when the processor executes the executable code, it implements the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Two-party data grouping statistics method, device and system

    CN111967050A

  • Data sharing method, using method of model applying data sharing method and related equipment

    CN113051239A

  • Data query method and device based on multi-party security computing

    CN115080615A