Data query method, system, device and equipment, storage medium and program product

By introducing a random splitting and sharding aggregation mechanism in the anonymous query, the problem of frequent data interaction in batch queries is solved, achieving efficient and secure data querying and improving query efficiency and security.

CN121524409APending Publication Date: 2026-02-13CHINA UNIONPAY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511649675.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-11
Publication Date
2026-02-13

AI Technical Summary

Technical Problem

In anonymous queries, existing technologies generate zeros and random numbers for each query, leading to frequent data interactions, prolonged feedback time, and low query efficiency.

Method used

The random splitting and sharding aggregation mechanism of the auxiliary aggregator in the Anonymous Alliance is adopted. The query results are split into multiple fragments and transmitted through a single channel. The coordinator only obtains the superimposed query results, reducing the number of zero and random number generation.

Benefits of technology

It improves the efficiency of data querying, reduces the frequency of cross-organizational data interaction, enhances security, reduces the deployment cost of dedicated nodes, and ensures the privacy of query results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121524409A_ABST
    Figure CN121524409A_ABST
Patent Text Reader

Abstract

The invention discloses a data query method, system and device, equipment, a storage medium and a program product, and relates to the technical field of computers. The auxiliary summarizing party can receive a hidden tracing query request sent by the coordinator; splitting a hidden trace query result corresponding to the hidden trace query request to obtain N hidden trace query result fragments; a first hidden tracing query result fragment in the N hidden tracing query result fragments is reserved, and a second hidden tracing query result fragment in the N hidden tracing query result fragments is sent to other auxiliary summarizing parties in the hidden tracing alliance; and sending a superposition query result fragment determined by the first hidden tracing query result fragment and the hidden tracing query result fragments of the M-1 queried parties to the coordinator. Thus, through the random splitting and fragmentation summarization mechanism of the auxiliary summarizing party, zero and random numbers do not need to be generated for each hidden tracing query request, the process of generating the zero and random numbers through data interaction among queried parties is effectively reduced, the batch query feedback time is shortened, and the data query efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of computers, and particularly relates to a data query method, system, device, equipment, storage medium and program product. BACKGROUND

[0002] Anonymity query refers to a type of privacy computing technology for obtaining matching results from a queried party without exposing original search conditions of a querying party. A typical application scenario of anonymity query is black list sharing, that is, multiple institutions with black lists as queried parties form an anonymity alliance to provide black list anonymity query services to the outside world and output statistical dimension black list hit conditions.

[0003] In related technologies, a privacy protection mechanism of zero-sum random numbers can be used when data is queried through the anonymity alliance. In order to confuse original hit conditions and corresponding random data of member institutions to query to ensure privacy, the foregoing mechanism generates zero-sum random numbers in series and piece by piece when batch querying, that is, there is a process of repeatedly generating zero-sum random numbers. In this way, not only is data interaction frequent between queried parties in the anonymity alliance, but also batch query feedback time is prolonged, resulting in low data query efficiency. SUMMARY

[0004] Embodiments of the application provide a data query method, system, device, equipment, storage medium and program product, which can improve data query efficiency.

[0005] In a first aspect, embodiments of the application provide a data query method applied to an auxiliary aggregation party, the auxiliary aggregation party being a queried party in an anonymity alliance with a function of aggregating anonymity query result segments, and the method comprising: receiving an anonymity query request sent by a coordinator; splitting an anonymity query result corresponding to the anonymity query request to obtain N anonymity query result segments, N∈[2, M], N being a number of auxiliary aggregation parties in the anonymity alliance, and M being a number of queried parties in the anonymity alliance; retaining a first anonymity query result segment of the N anonymity query result segments, and sending a second anonymity query result segment of the N anonymity query result segments to other auxiliary aggregation parties in the anonymity alliance; sending a superimposed query result segment to the coordinator, the superimposed query result segment being determined by the first anonymity query result segment and M-1 anonymity query result segments of the queried parties.

[0006] In a second aspect, embodiments of the application provide a data query method applied to a non-auxiliary aggregation party, the non-auxiliary aggregation party being a queried party in the anonymity alliance without the function of aggregating anonymity query result segments, and the method comprising: receiving an anonymity query request sent by a coordinator; The stealth query results corresponding to the stealth query request are split into N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; Send one of the N stealth query result fragments to the auxiliary aggregator in the Stealth Alliance.

[0007] Thirdly, embodiments of this application provide a data query method, applied to a coordinating party, including: Receive anonymous query requests sent by the querying party; Send an anonymity query request to M query targets in the Anonymity Alliance; Receive the superimposed query result fragments sent by N auxiliary aggregators in the Anonymous Alliance. The auxiliary aggregator is the queried party in the Anonymous Alliance that has the function of aggregating the anonymous query result fragments, and N∈[2,M]. Summarize the fragments of the anonymous query results sent by N auxiliary aggregators to obtain the summarized anonymous query results corresponding to the anonymous query requests; Send the summary of the anonymous query results to the querying party.

[0008] Fourthly, embodiments of this application provide a data query system, including a querying party, a coordinating party, and an anonymity alliance. The anonymity alliance includes N auxiliary aggregators, which are the queried parties in the anonymity alliance that have the function of aggregating fragments of anonymity query results. N∈[2,M], where M is the number of queried parties in the anonymity alliance; wherein, The querying party is responsible for sending an anonymous query request to the coordinating party. The coordinator is used to execute the data query method as shown in the third aspect; The auxiliary aggregator is used to execute the data query methods as described in the first aspect.

[0009] Fifthly, embodiments of this application provide a data query device applied to an auxiliary aggregator, which is a queried party in an anonymity alliance that has the function of aggregating fragments of anonymity query results. The data query device includes: The receiving module is used to receive the anonymity query request sent by the coordinator; The splitting module is used to split the stealth query results corresponding to the stealth query request into N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; The retention module is used to retain the first stealth query result fragment out of N stealth query result fragments; The sending module is used to send the second stealth query result fragment out of N stealth query result fragments to other auxiliary aggregators in the stealth alliance. The sending module is also used to send an overlay query result fragment to the coordinator, the overlay query result fragment being determined by the first cloaked query result fragment and the cloaked query result fragments of M-1 queried parties.

[0010] Sixthly, embodiments of this application provide a data query device applied to a non-auxiliary aggregator, wherein the non-auxiliary aggregator is the queried party in the anonymity alliance that does not have the function of aggregating fragments of anonymity query results. The device includes: The receiving module is used to receive the anonymity query request sent by the coordinator; The splitting module is used to split the stealth query results corresponding to the stealth query request into N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; The sending module is used to send one of the N stealth query result fragments to the auxiliary aggregator in the stealth alliance.

[0011] Seventhly, embodiments of this application provide a data query device, applied to a coordinating party, including: The receiving module is used to receive anonymous query requests sent by the querying party; The sending module is used to send anonymity query requests to M queried parties in the Anonymity Alliance. The receiving module is also used to receive overlay query result fragments sent by N auxiliary aggregators in the stealth alliance, where the auxiliary aggregator is the queried party in the stealth alliance that has the function of aggregating stealth query result fragments, and N∈[2,M]. The aggregation module is used to aggregate the fragments of the stealth query results sent by N auxiliary aggregation parties to obtain the aggregated stealth query results corresponding to the stealth query request. The sending module is also used to send the summarized anonymous query results to the querying party.

[0012] Eighthly, embodiments of this application provide a computer device, the computer device including: a processor and a memory storing computer program instructions; When the processor executes computer program instructions, it implements the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0013] Ninthly, embodiments of this application provide a computer storage medium storing computer program instructions. When the computer program instructions are executed by a processor, they implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0014] In a tenth aspect, embodiments of this application provide a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0015] Eleventhly, embodiments of this application provide a computer program product stored in a storage medium, which is executed by at least one processor to implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0016] The data query method, apparatus, system, device, storage medium, and program product of this application embodiment allow the auxiliary aggregator to receive anonymity query requests sent by the coordinator; to split the anonymity query results corresponding to the anonymity query requests into N anonymity query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymity alliance and M is the number of queried parties in the anonymity alliance; to retain the first anonymity query result fragment from the N anonymity query result fragments and to send the second anonymity query result fragment from the N anonymity query result fragments to other auxiliary aggregators in the anonymity alliance; and to send an overlay query result fragment to the coordinator, the overlay query result fragment being determined by the first anonymity query result fragment and the anonymity query result fragments of M-1 queried parties. In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0017] Specifically for batch anonymous query scenarios, the random splitting and sharding aggregation mechanism of the auxiliary aggregator in the Anonymity Consortium upgrades the past sequential query method to a full parallel query method, effectively reducing the frequency of cross-organizational data interaction, improving batch query efficiency, and achieving efficient batch data querying. Furthermore, by having some of the queried parties in the Anonymity Consortium also act as auxiliary aggregators, the deployment cost of dedicated nodes can be reduced. Simultaneously, the sharding overlay mechanism assists the coordinator in aggregating M-1 shards to achieve result integrity verification. Attached Figure Description

[0018] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a schematic diagram of a data query system according to an embodiment of the data query method provided in this application; Figure 2 This is a flowchart of a data query method according to an embodiment of the data query method provided in this application; Figure 3 This is a flowchart of a data query method according to an embodiment of the data query method provided in this application; Figure 4 This is a flowchart of a data query method according to an embodiment of the data query method provided in this application; Figure 5 This is a flowchart illustrating the interaction of a data query system according to an embodiment of the data query method provided in this application; Figure 6 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application; Figure 7 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application; Figure 8 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application; Figure 9 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application. Detailed Implementation

[0020] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0021] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0022] The acquisition, storage, use, and processing of data (including but not limited to features and information mentioned in this document) in the technical solution of this application all comply with the relevant provisions of national laws and regulations.

[0023] Anonymous query technology, based on a "hidden alliance" composed of multiple queried entities (institutions), can provide statistically comprehensive query results while protecting search criteria. This technology is already being used in financial risk control scenarios such as blacklist sharing. However, traditional anonymous alliance solutions primarily cater to single-query needs, employing a sequential, line-by-line approach for batch queries, resulting in low query efficiency.

[0024] In related technologies, a privacy protection mechanism using zero-sum random numbers can be employed for each query request. A zero-sum random number is generated for each party in the Anonymous Consortium, and the sum of these zero-sum random numbers is zero. Each party reports its query hit result (e.g., 1 for a hit, 0 for a miss) along with its own random number to the coordinator. The coordinator then aggregates the data from all parties to determine the hit result corresponding to the query request. When a new query request arrives, to prevent the coordinator from recalculating the original hit result based on historical records, the zero-sum random number needs to be regenerated following the aforementioned process. This means that a zero-sum random number is generated for each query request. In batch query scenarios, this increases data interaction between member organizations of the Anonymous Consortium to generate zero-sum random numbers, effectively requiring a serial, one-by-one data query, thus prolonging batch query feedback time and resulting in low data query efficiency.

[0025] To address this pain point and improve data query efficiency in batch query scenarios, this application provides a data query method, apparatus, device, storage medium, and program product. Specifically, based on the queried party (i.e., the auxiliary aggregator) in the Anonymous Consortium that has the function of aggregating fragments of anonymous query results, it provides a data query scheme of random splitting and fragmented aggregation, realizes a full parallel query mode, effectively reduces the frequency of cross-organizational data interaction, and improves query efficiency, especially batch query efficiency.

[0026] The following will be combined with the appendix Figures 1 to 9 This application describes in detail the data query methods, apparatus, computer equipment, storage media, and program products of the embodiments thereof. It should be noted that these embodiments are not intended to limit the scope of disclosure of this application.

[0027] First, the data query system of the data query method provided in the embodiments of this application will be described.

[0028] like Figure 1 As shown, the data query system includes a querying party 101, a coordinating party 102, and an anonymity alliance 103. Specifically, the coordinating party 102 establishes a communication connection between the querying party 101 and the anonymity alliance 103.

[0029] In this embodiment, the anonymity alliance 103 may include M queried parties, where M is an integer greater than 2. The M queried parties may include at least N auxiliary aggregators, where the auxiliary aggregators are queried parties in the anonymity alliance that have the function of aggregating fragments of anonymity query results, and N∈[2,M]. The M queried parties may also include N auxiliary aggregators and at least one non-auxiliary aggregator, where the non-auxiliary aggregator is a queried party in the anonymity alliance that does not have the function of aggregating fragments of anonymity query results.

[0030] It should be noted that the auxiliary aggregator in this embodiment can be agreed upon by the queried party in the Anonymity Alliance 103 or can be manually designated. Therefore, this embodiment does not limit the method of designating the auxiliary aggregator. The auxiliary aggregator in the Anonymity Alliance 103 can be replaced, and the replacement can be triggered manually by the user or periodically.

[0031] The following sections will provide a detailed explanation of each module in its data query system.

[0032] You can continue to refer to Figure 1 As shown, if the Anonymous Alliance 103 includes four queried parties, namely queried party A, queried party B, queried party C, and queried party D. Among them, the four queried parties include two auxiliary aggregators, namely auxiliary aggregator 1 and auxiliary aggregator 2. Queryed party A can be auxiliary aggregator 1, and queried party C can be auxiliary aggregator 2.

[0033] Based on this, the querying party 101 determines the original data to be queried, and performs redundancy obfuscation on the original data to be queried using the stealth query technique to obtain the stealth query request, and sends the stealth query request to the coordinating party 102.

[0034] Coordinator 102 is used to send an anonymity query request to each of the M queried parties in the Anonymity Consortium 103 upon receiving an anonymity query request sent by queried party 101.

[0035] Auxiliary aggregators among the M queried parties, such as Auxiliary Aggregator 1 or Auxiliary Aggregator 2, are used to split the anonymous query result corresponding to the anonymous query request into N anonymous query result fragments, where N is the number of auxiliary aggregators in the anonymous alliance and M is the number of queried parties in the anonymous alliance. The first anonymous query result fragment from the N fragments is retained, and the second anonymous query result fragment from the N fragments is sent to the other auxiliary aggregators in the anonymous alliance. An overlay query result fragment is sent to coordinator 102, and the overlay query result fragment is determined by the first anonymous query result fragment and the anonymous query result fragments from the M-1 queried parties. For example, Auxiliary aggregator 1 retains the first anonymous query result fragment and sends the second anonymous query result fragment to Auxiliary aggregator 2. Furthermore, upon receiving the anonymous query result fragments sent by Auxiliary Aggregator 2, the anonymous query result fragments sent by Queryed Party B, and the anonymous query result fragments sent by Queryed Party D, Auxiliary Aggregator 1 merges the first anonymous query result fragment retained by Auxiliary Aggregator 1, the anonymous query result fragment sent by Auxiliary Aggregator 2, the anonymous query result fragment sent by Queryed Party B, and the anonymous query result fragment sent by Queryed Party D to obtain an overlay query result fragment, and sends the overlay query result fragment to Coordinator 102.

[0036] Furthermore, among the M queried parties, non-auxiliary aggregators, such as queried party B or queried party D, are used to split the anonymous query result corresponding to the anonymous query request into N anonymous query result fragments; and send one of the N anonymous query result fragments to the auxiliary aggregators in the anonymous alliance. For example, queried party B splits the anonymous query result corresponding to the anonymous query request into two anonymous query result fragments, namely anonymous query result fragment 1 and anonymous query result fragment 2. At this time, queried party B sends anonymous query result fragment 1 to auxiliary aggregator 1, and queried party B sends anonymous query result fragment 2 to auxiliary aggregator 2.

[0037] Based on this, the coordinator 102 is also used to receive the stealth query result fragments sent by N auxiliary aggregators in the stealth alliance 103; and to aggregate the stealth query result fragments sent by the N auxiliary aggregators to obtain the aggregated stealth query result corresponding to the stealth query request; then, the coordinator 102 sends the aggregated stealth query result to the queryer 101.

[0038] Therefore, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Furthermore, shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be correlated. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot correlate the query results with the queried party. While improving data query security, it eliminates the need to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between queried parties in the anonymous consortium. This achieves efficient batch data querying while ensuring privacy. Moreover, it is compatible with traditional anonymous consortium organizational structures, requires minimal system modification, and has a wide range of applications.

[0039] For batch anonymous query scenarios, the random splitting and sharding aggregation mechanism of the auxiliary aggregators in the Anonymity Consortium transforms the previous sequential query method into a full parallel query method. This effectively reduces the frequency of cross-organizational data interaction, improves batch query efficiency, and achieves efficient batch data querying. Furthermore, by having some of the queried entities in the Anonymity Consortium also act as auxiliary aggregators, the deployment cost of dedicated nodes can be reduced. Simultaneously, the sharding overlay mechanism assists the coordinator in aggregating M-1 shards to achieve result integrity verification.

[0040] It should be noted that the data query system provided in this application embodiment can be applied to at least one of the following application scenarios. Privacy computing, as a key technology for data element circulation, can be applied in the financial field, as well as in application scenarios where financial institutions, internet systems, and privacy computing technology systems engage in anonymous alliance-like collaborations.

[0041] Based on the aforementioned data query system, the following section combines... Figure 2 The data query method provided in the embodiments of this application will be described in detail.

[0042] Figure 2 This is a flowchart of a data query method provided in an embodiment of this application.

[0043] like Figure 2 As shown, this data query method can be applied to, for example... Figure 1 The auxiliary aggregator shown is the query subject within the Anonymous Alliance that has the function of aggregating fragments of anonymous query results. This data query method may specifically include the following steps: Step 210: Receive the anonymity query request sent by the coordinator; Step 220: Split the anonymity query result corresponding to the anonymity query request to obtain N anonymity query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymity alliance, M is the number of queried parties in the anonymity alliance, and M is an integer greater than or equal to 2; Step 230: Retain the first anonymity query result fragment from the N anonymity query result fragments, and send the second anonymity query result fragment from the N anonymity query result fragments to other auxiliary aggregators in the anonymity alliance; Step 240: Send the superimposed query result fragment to the coordinator, the superimposed query result fragment being determined by the first anonymity query result fragment and the anonymity query result fragments of M-1 queried parties.

[0044] In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0045] The steps described above are explained in detail below.

[0046] First, regarding step 210, the anonymous query request in this embodiment carries a full dataset corresponding to the querying party. This full dataset includes the original query data that the querying party wants to query and multiple obfuscated query data that the coordinator obfuscates to avoid exposing the original search conditions and original query data of the querying party.

[0047] In this embodiment, the number of anonymous query requests can be one, which includes multiple pieces of data to be queried, i.e., the full dataset. Alternatively, the anonymous query requests in this embodiment can include at least two, each including at least one piece of data to be queried; that is, anonymous query requests are suitable for batch queries.

[0048] Therefore, the traditional serial mode of querying one item at a time can be upgraded to full parallel processing, which significantly reduces the frequency of data interaction across the queried parties and improves the efficiency of batch query.

[0049] Secondly, regarding step 220, in one or more possible embodiments, the stealth query request carries the dataset to be queried corresponding to the querying party. Before step 220, it is necessary to determine the stealth query result corresponding to the stealth query request based on the stealth query request. Based on this, the data query method may also include steps 2501 and 2502, as shown below.

[0050] Step 2501: Based on the dataset to be queried, determine the query hit result for each query requirement in the dataset to be queried.

[0051] For example, if the dataset to be queried includes 100 query requests, the query hit results for each query request can be retrieved locally. For instance, the query requests might include: Query Request 1: Is Zhang San on the blacklist of overdue payments? Query Request 2: Is Li Si on the blacklist of overdue payments? Query Request 3: Is Wang Wu on the blacklist of overdue payments? Then, the query hit results could include: Query Result 1: Query Request 1: "Yes"; Query Result 2: Query Request 2: "Yes"; Query Result 3: Query Request 3: "No". This example only uses three query requests; other query requests are similar and will not be elaborated further.

[0052] Step 2502: Add zero-sum random numbers to the query hit results to obtain the stealth query results. The zero-sum random numbers are generated by M queried parties in the stealth alliance for historical stealth query requests and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period. The service period can be a manually set time length. The zero-sum random numbers within the same service period can remain unchanged, and there is no need to generate zero-sum random numbers multiple times within a service period.

[0053] For example, if the zero-sum random number of the auxiliary summator is denoted as For each query result, record it as... At this point, zeros and random numbers are added to each query hit result to obtain the obfuscated result for each query hit result. Right now + = Let i ∈ [1, j], where j is the number of queries to be performed. Using the above example, j is 100, and i is any integer from 1 to 100. Based on this, the 100 query hits, after being obfuscated, can be summarized to obtain the anonymous query result record. .

[0054] It should be noted that the zero-sum random number in this embodiment can also be generated by N queried parties in the stealth alliance for the historical query dataset. That is, the zero-sum random number does not need to be regenerated for each query as in the prior art. Based on this, before step 210, the step of generating the zero-sum random number for the auxiliary aggregator in this embodiment may include: Upon receiving a historical stealth query request, the M queried parties in the Stealth Alliance are triggered to determine the zero-sum random number of each queried party using a zero-sum random algorithm, wherein the sum of the zero-sum random numbers of each of the M queried parties is zero.

[0055] In this embodiment of the application, taking M as 4 as an example, if there are 4 queried parties, and the sum of the zero-sum random numbers of the 4 queried parties is zero, that is, the zero-sum random number of queried party A is denoted as The zero-sum random number of the queried party B is... The zero-sum random number of the queried party C is denoted as The zero-sum random number of the queried party D is denoted as ,So, + + + =0.

[0056] Therefore, for the blacklist query scenario, it is not necessary to regenerate zero-sum random numbers for each query. Instead, zero-sum random numbers generated by N query parties in the Anonymous Alliance based on the historical dataset to be queried can be used. To ensure privacy, it is not necessary to regenerate them for each query. This achieves efficient batch data query results while also ensuring privacy.

[0057] In this embodiment of the application, in addition to triggering the determination of the zero-sum random number of each queried party based on the historical anonymity query request, this embodiment of the application can also trigger the determination of the zero-sum random number of each queried party based on the start time of the service period. For example, if the service period is one week, then at 12:00 AM every Monday, the zero-sum random number of each of the M queried parties in the anonymity alliance will be determined through the zero-sum random algorithm.

[0058] Based on this, in this embodiment of the application, the process of splitting the query result of the queried party can be as follows, that is, the above step 220 may specifically include step 2201 and step 2202.

[0059] Step 2201: The number of auxiliary aggregators in the stealth alliance is used as the number of stealth query results to be split. The data of each stealth query result is randomly split to obtain N local query results for each stealth query result. The sum of the values ​​of the N local query results is the value of the data of each stealth query result.

[0060] For example, if there are two auxiliary aggregators in the stealth alliance, then for each stealth query result, it is randomly split into two parts, and the sum of the values ​​in the two parts is the value of the data in that stealth query result. Using the example above, each stealth query result can be denoted as... The two parts of an anonymous query result can be denoted as: -1 and -2. The value of the data is equal to The sum of the values ​​of -1 The sum of the values ​​of -2.

[0061] Step 2202: Summarize each partial query result in each anonymous query result to obtain N anonymous query result fragments.

[0062] For example, still using the above example, let's take each of the 100 anonymous queries... Summarizing by -1 yields 100 anonymous queries. The results of a subset of these anonymous queries are then considered as follows: And, for each of the 00 anonymous queries. -2 is used to summarize, resulting in 100 anonymous queries. The anonymous query results for the other part are then... .in, .

[0063] In step 230, in this embodiment, since the auxiliary aggregator not only has the function of determining the anonymity query result, but also the function of aggregating the anonymity query result fragments of all queried parties in the anonymity alliance, it is necessary to retain one of the N anonymity query result fragments it splits into, namely the first anonymity query result fragment. Then, after receiving anonymity query result fragments sent by M-1 queried parties, the aggregation is performed.

[0064] Based on this, the first stealth query result fragment in this embodiment is one of N stealth query result fragments. Therefore, the data query method may further include: Remove the first stealth query result fragment from N stealth query result fragments to obtain N-1 second stealth query result fragments.

[0065] For example, since the auxiliary aggregator not only has the function of determining the anonymous query result, but also the function of aggregating the anonymous query result fragments of all queried parties in the anonymous alliance, it needs to retain one of the N anonymous query result fragments it splits into, namely the first anonymous query result fragment. If N is 2, then one of the first anonymous query result fragments needs to be removed from the two anonymous query result fragments to obtain one anonymous query result fragment. If N is 4, then one of the first anonymous query result fragments needs to be removed from the four anonymous query result fragments to obtain three anonymous query result fragments.

[0066] Based on this, the step of sending the overlay query result fragment to the coordinator in the embodiments of this application may specifically include: Send one of the N-1 second stealth query result fragments to other auxiliary aggregators in the Stealth Alliance.

[0067] For example, taking the above example again, if the stealth alliance includes two auxiliary aggregators, then apart from its own auxiliary aggregator, there is another auxiliary aggregator in the stealth alliance. Therefore, a second stealth query fragment can be sent to one of the other auxiliary aggregators.

[0068] Alternatively, if the Stealth Alliance includes 4 auxiliary aggregators, then excluding its own auxiliary aggregator, there are 3 other auxiliary aggregators remaining in the Stealth Alliance. Therefore, a second stealth query fragment can be sent to each of the 3 other auxiliary aggregators.

[0069] It should be noted that the second stealth query fragments sent to different auxiliary aggregators are different. For example, there are two auxiliary aggregators: auxiliary aggregator 1 and auxiliary aggregator 2. The number of second stealth query fragments is also two: second stealth query fragment 1 and second stealth query fragment 2. In this case, second stealth query fragment 1 can be sent to auxiliary aggregator 1, and second stealth query fragment 2 can be sent to auxiliary aggregator 2.

[0070] Regarding step 240, in some embodiments of this application, before step 140, the data query method may also include steps 2701 and 2702, as detailed below.

[0071] Step 2701: Receive the stealth query result fragment sent by the queried party in the stealth alliance.

[0072] Step 2702: Upon receiving M-1 anonymous query result fragments sent by the queried parties, the first anonymous query result fragment and the M-1 anonymous query result fragments sent by the queried parties are summarized to obtain the superimposed query result fragment.

[0073] For example, if the anonymity consortium includes four queried parties, such as queried party A, queried party B, queried party C, and queried party D. If the auxiliary aggregator is queried party A, then queried party A receives anonymity query result fragments sent by queried parties B, C, and D. That is, the anonymity query result fragment sent by queried party B is denoted as... The fragment of the anonymous query result sent by the queried party C is denoted as The fragment of the anonymous query result sent by the queried party D is denoted as Based on this, the queried party A can save its own first anonymous query result fragment. , , and The summation, i.e., the superimposed query result fragment obtained by the queried party A, is denoted as... .

[0074] Therefore, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0075] Specifically for batch anonymous query scenarios, the system upgrades the previous sequential query method to a fully parallel query method by using the random splitting and sharding aggregation mechanism of the auxiliary aggregators in the Anonymity Consortium. This effectively reduces the frequency of cross-organizational data interaction, improves batch query efficiency, and achieves highly efficient batch data querying. Furthermore, by having some of the queried entities in the Anonymity Consortium also act as auxiliary aggregators, the deployment cost of dedicated nodes can be reduced. Simultaneously, the sharding overlay mechanism assists the coordinator in aggregating M-1 shards to achieve result integrity verification. Moreover, by changing the number of auxiliary aggregators, the number of fragments in the anonymous query results can be adjusted. The number of auxiliary aggregators can be flexibly and dynamically increased or decreased. For example, increasing the number of auxiliary aggregators increases the difficulty for attackers to reconstruct the original data, further enhancing security.

[0076] Based on the aforementioned data query system, the following section combines... Figure 3 The data query method provided in the embodiments of this application will be described in detail.

[0077] Figure 3This is a flowchart of a data query method provided in an embodiment of this application.

[0078] like Figure 3 As shown, this data query method can be applied to, for example... Figure 1 The non-auxiliary aggregator shown refers to the queried party in the Anonymous Alliance that does not have the function of aggregating fragments of anonymous query results. This data query method may specifically include the following steps: Step 310: Receive the anonymity query request sent by the coordinator; Step 320: Split the anonymity query result corresponding to the anonymity query request to obtain N anonymity query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymity alliance and M is the number of queried parties in the anonymity alliance; Step 330: Send one of the N anonymity query result fragments to each of the auxiliary aggregators in the anonymity alliance.

[0079] In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0080] The steps described above are explained in detail below.

[0081] In this embodiment of the application, before step 320, the data query method may further include steps 3401 and 3402, as shown below.

[0082] Step 3401: Based on the dataset to be queried, determine the query hit result for each query requirement in the dataset to be queried.

[0083] For example, if the dataset to be queried includes 100 query requests, the query hit results for each query request can be retrieved locally. For instance, the query requests might include: Query Request 1: Is Zhang San on the blacklist of overdue payments? Query Request 2: Is Li Si on the blacklist of overdue payments? Query Request 3: Is Wang Wu on the blacklist of overdue payments? Then, the query hit results could include: Query Result 1: Query Request 1: "Yes"; Query Result 2: Query Request 2: "Yes"; Query Result 3: Query Request 3: "No". This example only uses three query requests; other query requests are similar and will not be elaborated further.

[0084] Step 3402: Add zeros and random numbers to the query hit results to obtain the stealth query results. The zeros and random numbers are generated by M queried parties in the stealth alliance for historical stealth query requests and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period.

[0085] For example, if the zero-sum random number of the auxiliary summator is denoted as For each query result, record it as... At this point, zeros and random numbers are added to each query hit result to obtain the obfuscated result for each query hit result. Right now + = Let i ∈ [1, j], where j is the number of queries to be performed. Using the above example, j is 100, and i is any integer from 1 to 100. Based on this, the 100 query hits, after being obfuscated, can be summarized to obtain the anonymous query result record. .

[0086] It should be noted that the non-auxiliary aggregator and the auxiliary aggregator are based on the same principle in obtaining N fragments of the anonymous query results. For details, please refer to the descriptions in steps 210 and 220 above, which will not be repeated here.

[0087] In step 330, in some embodiments of this application, the anonymous query fragments sent by auxiliary aggregators with different non-auxiliary aggregator directions are different. For example, there are two auxiliary aggregators, namely auxiliary aggregator 1 and other auxiliary aggregators 2. The N anonymous query result fragments may include anonymous query fragment 1 and anonymous query fragment 2. In this case, the non-auxiliary aggregator sends anonymous query fragment 1 to auxiliary aggregator 1, and the non-auxiliary aggregator sends anonymous query fragment 2 to auxiliary aggregator 2. Thus, especially for batch anonymous query scenarios, by using the random splitting and sharding aggregation mechanism of auxiliary aggregators in the anonymous alliance, the past sequential query method is upgraded to a full parallel query method, which effectively reduces the frequency of cross-organizational data interaction, improves the efficiency of batch queries, and achieves efficient batch data query. In addition, by having some of the queried parties in the anonymous alliance also serve as auxiliary aggregators, the deployment cost of dedicated nodes can be reduced, and the sharding overlay mechanism assists the coordinator in aggregating M-1 shards to achieve result integrity verification.

[0088] Based on the aforementioned data query system, the following section combines... Figure 4 The data query method provided in the embodiments of this application will be described in detail.

[0089] Figure 4 This is a flowchart of a data query method provided in an embodiment of this application.

[0090] like Figure 4 As shown, this data query method can be applied to, for example... Figure 1 The coordinating party shown in the figure, the data query method may specifically include the following steps: Step 410: Receive the anonymous query request sent by the querying party; Step 420: Send the anonymous query request to M queried parties in the anonymous alliance; Step 430: Receive the superimposed query result fragments sent by N auxiliary aggregators in the anonymous alliance, where the auxiliary aggregators are queried parties in the anonymous alliance that have the function of aggregating anonymous query result fragments, and N∈[2,M]; Step 440: Aggregate the anonymous query result fragments sent by the N auxiliary aggregators to obtain the aggregated anonymous query result corresponding to the anonymous query request; Step 450: Send the aggregated anonymous query result to the querying party.

[0091] In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0092] The steps described above are explained in detail below.

[0093] Regarding step 440, in some embodiments of this application, summarizing the stealth query results includes query hit results corresponding to the dataset to be queried carried in the stealth query request. Based on this, step 440 may specifically include: The stealth query result fragments sent by N auxiliary aggregators are aggregated. The zeros and random numbers in the stealth query result fragments sent by each auxiliary aggregator are used to cancel out the zeros and random numbers used to obfuscate the query hit results corresponding to the dataset to be queried in the stealth query results, so as to obtain the query hit results corresponding to the dataset to be queried carried in the stealth query request.

[0094] For example, if there are two auxiliary aggregators, namely auxiliary aggregator A and auxiliary aggregator C, then the aggregation result of auxiliary aggregator A is... The summary result of auxiliary summary method C is as follows: Therefore, the query hit result corresponding to the dataset to be queried carried in the anonymous query request is... .

[0095] To better illustrate the data query method provided in the embodiments of this application, combined with Figure 5 The data query system in this application provides a detailed description of the data query method.

[0096] based on Figure 1 The data query system shown executes a batch anonymous data query method.

[0097] like Figure 5 As shown, taking M=4 and N=2 as an example, a covert alliance is formed by four query subjects A, B, C, and D, with two query subjects A and C also serving as auxiliary aggregators. This can be achieved as follows: Figure 5As shown, all parties involved in the Anonymity Consortium's queries have pre-processed the ID information of the queried dataset using a unified anonymization method. The specific process is as follows: Figure 5 As shown.

[0098] Step (1), ID desensitization, that is, the querying party determines the original data to be queried, and uses the anonymous query technology to redundancy obfuscate the original data to be queried, and obtains the anonymous query request.

[0099] Step (2) The querying party initiates an anonymous query request to the coordinating party. Based on the characteristics of anonymous queries, the actual dataset received by the coordinating party is a column containing a large amount of redundant, anonymized data.

[0100] Step (3) Coordinate the sending of anonymity query requests to each party in the Anonymity Alliance.

[0101] Step (4) Each member of the Stealth Alliance generates a zero-sum random number, that is, the queried parties A, B, C, and D each obtain a zero-sum random number. , , , ,and At this point, the zero-sum random number can be determined based on historical stealth query requests. This zero-sum random number can also be applied to the next stealth query request.

[0102] Step (5) Each queried party matches the dataset to be queried with its local dataset, and adds zero and a random number to the matching result (i.e., the query hit result) to obtain the query result. Taking queried party A as an example, the anonymous query result is: ,in, , All are matrices. This indicates that the query returned a match result. This means adding to each row of the matrix. Similar examples include... , , .

[0103] Step (6) Each queried party randomly splits the anonymous query result into two shards on its local machine. That is, for each of the two shards, the sum of the corresponding rows is equal to the value of the query result in that row. Taking queried party A as an example, using... and This indicates that the result of an anonymous query has been randomly split into two parts, then we have Similar examples include... , , .

[0104] Step (7) Each queried party sends its two randomly split fragments to two auxiliary aggregators. The auxiliary aggregators need to retain one fragment and send the remaining fragments to other auxiliary aggregators.

[0105] In this embodiment, two queried parties, A and C, also act as auxiliary aggregators. A and C each retain one fragment and send their other fragment to the other; B and D send their two fragments to A and C respectively. Figure 2 In the middle, auxiliary summary party A is retained. And received one fragment sent by B, C, and D, namely , , ; Auxiliary summary C is retained And received 1 fragment sent by A, B, and D, namely , , .

[0106] Step (8) The auxiliary aggregator aggregates the first anonymous query result fragment it retains with the M-1 anonymous query result fragments received from the query subjects.

[0107] In this embodiment of the application, the summary result of auxiliary aggregator A is: The summary result of auxiliary summary method C is as follows: .

[0108] Step (9) The auxiliary aggregator sends the aggregated results to the coordinator. In this embodiment, the auxiliary aggregator A provides feedback to the coordinator. The auxiliary summary party C provides feedback to the coordinating party. .

[0109] Step (10) The coordinator summarizes the overlay anonymity query results sent by each auxiliary aggregator to obtain the summarized anonymity query result. It also sends the summarized anonymous query results to the querying party.

[0110] Step (11) The querying party summarizes the results of the anonymous query.

[0111] Based on the same inventive concept, this application also provides a data query device. (Specifically combined with...) Figure 6 Please provide a detailed explanation.

[0112] Figure 6 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application.

[0113] In some embodiments of this application, Figure 6 The data query device shown can be set up in, for example Figure 1 The auxiliary aggregation party shown is in the Stealth Alliance.

[0114] like Figure 6 As shown, the data query device 60 may specifically include: The receiving module 601 is used to receive the anonymity query request sent by the coordinator; The splitting module 602 is used to split the stealth query result corresponding to the stealth query request to obtain N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; The retention module 603 is used to retain the first stealth query result fragment among N stealth query result fragments; The sending module 604 is used to send the second stealth query result fragment out of N stealth query result fragments to other auxiliary aggregators in the stealth alliance. The sending module 604 is also used to send an overlay query result fragment to the coordinator, the overlay query result fragment being determined by the first cloaked query result fragment and the cloaked query result fragments of M-1 queried parties.

[0115] In this embodiment of the application, the data query device 60 can receive an anonymous query request sent by the coordinator; split the anonymous query result corresponding to the anonymous query request to obtain N anonymous query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymous alliance and M is the number of queried parties in the anonymous alliance; retain the first anonymous query result fragment from the N anonymous query result fragments, and send the second anonymous query result fragment from the N anonymous query result fragments to other auxiliary aggregators in the anonymous alliance; send the superimposed query result fragment to the coordinator, the superimposed query result fragment being determined by the first anonymous query result fragment and the anonymous query result fragments of M-1 queried parties. In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0116] The data query device 60 in the embodiments of this application will be described in detail below.

[0117] In one or more optional embodiments, the data query device 60 in this application embodiment may further include a determining module, used to determine the query hit result of each query request in the query dataset according to the query dataset when the anonymous query request carries the query dataset corresponding to the queryer; In this embodiment, the data query device 60 may further include an adding module, which is used to add zeros and random numbers to the query hit results to obtain the stealth query results. The zeros and random numbers are generated by M queried parties in the stealth alliance for historical stealth query requests and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period.

[0118] In one or more optional embodiments, the splitting module 602 is specifically used to: take the number of auxiliary aggregators in the stealth alliance as the number of stealth query results to split; randomly split the data of each stealth query result in the stealth query results to obtain N local query results of each stealth query result; and the sum of the values ​​of the data of the N local query results is the value of the data of each stealth query result. In this embodiment, the data query device 60 may further include a summarization module, which is used to summarize each local query result in each cloaking query result to obtain N cloaking query result fragments.

[0119] In one or more optional embodiments, the receiving module 601 can also be used to receive a fragment of the tracing query result sent by the queried party in the tracing alliance. In this embodiment, the data query device 60 may further include a summarization module, which is used to summarize the first anonymous query result fragment and the M-1 anonymous query result fragments sent by the query subjects to obtain a superimposed query result fragment.

[0120] In one or more optional embodiments, the data query device 60 in this application embodiment may further include a removal module, which is used to remove the first stealth query result segment from the N stealth query result segments when the first stealth query result segment is one of the N stealth query result segments, to obtain N-1 second stealth query result segments. The sending module 604 is also used to send one of the N-1 second stealth query result fragments to other auxiliary aggregators in the stealth alliance.

[0121] Based on the same inventive concept, this application also provides a data query device. (Specifically combined with...) Figure 7 Please provide a detailed explanation.

[0122] Figure 7This is a schematic diagram of the structure of a data query device provided in one embodiment of this application.

[0123] In some embodiments of this application, Figure 7 The data query device shown can be set up in, for example Figure 1 The non-auxiliary aggregator in the stealth alliance shown is the queried party in the stealth alliance that does not have the function of aggregating fragments of stealth query results.

[0124] like Figure 7 As shown, the data query device 70 may specifically include: The receiving module 701 is used to receive the anonymity query request sent by the coordinator; The splitting module 702 splits the cloaking query result corresponding to the cloaking query request into N cloaking query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the cloaking alliance and M is the number of queried parties in the cloaking alliance; The sending module 703 sends one of the N stealth query result fragments to the auxiliary aggregator in the stealth alliance.

[0125] In this embodiment, the data query device 70 can receive an anonymous query request sent by the coordinator; split the anonymous query result corresponding to the anonymous query request to obtain N anonymous query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymous alliance and M is the number of queried parties in the anonymous alliance; retain the first anonymous query result fragment from the N anonymous query result fragments, and send the second anonymous query result fragment from the N anonymous query result fragments to other auxiliary aggregators in the anonymous alliance; send the superimposed query result fragment to the coordinator, the superimposed query result fragment being determined by the first anonymous query result fragment and the anonymous query result fragments of M-1 queried parties. In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0126] The data query device 70 in the embodiments of this application will be described in detail below.

[0127] In one or more optional embodiments, the data query device 70 in this application embodiment may further include a determining module, used to determine the query hit result of each query request in the query dataset according to the query dataset when the anonymous query request carries the query dataset corresponding to the queryer. In this embodiment, the data query device 70 may further include an adding module, which is used to add zeros and random numbers to the query hit results to obtain the stealth query results. The zeros and random numbers are generated by M queried parties in the stealth alliance for historical stealth query requests and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period.

[0128] Based on the same inventive concept, this application also provides a data query device. (Specifically combined with...) Figure 8 Please provide a detailed explanation.

[0129] Figure 8 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application.

[0130] In some embodiments of this application, Figure 8 The data query device shown can be set up in, for example Figure 1 The coordinating party is shown.

[0131] like Figure 8 As shown, the data query device 80 may specifically include: The receiving module 801 is used to receive the anonymous query request sent by the querying party; The sending module 802 is used to send anonymity query requests to M queried parties in the anonymity alliance; The receiving module 801 can also be used to receive the superimposed query result fragments sent by N auxiliary aggregators in the stealth alliance, where the auxiliary aggregator is the queried party in the stealth alliance that has the function of aggregating stealth query result fragments, and N∈[2,M]. The aggregation module 803 is used to aggregate the stealth query result fragments sent by N auxiliary aggregation parties to obtain the aggregated stealth query result corresponding to the stealth query request. The sending module 802 is also used to send the summarized anonymous query results to the querying party.

[0132] In this embodiment of the application, the data query device 80 can receive an anonymous query request sent by the coordinator; split the anonymous query result corresponding to the anonymous query request to obtain N anonymous query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the anonymous alliance and M is the number of queried parties in the anonymous alliance; retain the first anonymous query result fragment from the N anonymous query result fragments, and send the second anonymous query result fragment from the N anonymous query result fragments to other auxiliary aggregators in the anonymous alliance; send the superimposed query result fragment to the coordinator, the superimposed query result fragment being determined by the first anonymous query result fragment and the anonymous query result fragments of M-1 queried parties. In this way, each auxiliary aggregator holds only a unique shard of the anonymous query result corresponding to the request. Since the amount of information leaked by a single shard is reduced, it effectively increases the difficulty for attackers to reconstruct the original data, effectively resisting attacks or leaks from auxiliary aggregators, coordinators, and man-in-the-middle attacks. Moreover, the shard transmission uses a single channel between the auxiliary aggregator and the coordinator, ensuring that shards cannot be associated with each other. For the coordinator, only the superimposed query results are obtained, ensuring that the coordinator cannot associate the query results with the queried party. While improving the security of data queries, it is not necessary to generate a zero-sum random number for each anonymous query request, effectively reducing the process of generating zero-sum random numbers through data interaction between the queried parties in the anonymous alliance, shortening the batch query feedback time, and improving data query efficiency.

[0133] The data query device 80 in the embodiments of this application will be described in detail below.

[0134] In one or more optional embodiments, the aggregation module 803 may be specifically used to, when the aggregated stealth query results include query hit results corresponding to the dataset to be queried carried in the stealth query request, aggregate the stealth query result fragments sent by N auxiliary aggregators, so as to offset the zero and random numbers used to confuse the query hit results corresponding to the dataset to be queried in the stealth query results by using the zero and random numbers in the stealth query result fragments sent by each auxiliary aggregator, thereby obtaining the query hit results corresponding to the dataset to be queried carried in the stealth query request.

[0135] Based on the same inventive concept, this application also provides a computer device. (Specifically combined with...) Figure 9 Please provide a detailed explanation.

[0136] Figure 9 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application.

[0137] like Figure 9As shown, the computer device may include at least one of the following as described in the embodiments of this application: the device of the querying party, the device of the coordinating party, and the device of the queried party. The computer device may include a processor 901 and a memory 902 storing computer program instructions.

[0138] Specifically, the processor 901 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0139] Memory 902 may include mass storage for data or instructions. For example, and not limitingly, memory 902 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 902 may include removable or non-removable (or fixed) media. Where appropriate, memory 902 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 902 is non-volatile solid-state memory. In a particular embodiment, memory 902 includes solid-state storage (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.

[0140] The processor 901 reads and executes computer program instructions stored in the memory 902 to implement any of the data query methods in the above embodiments.

[0141] In one example, the computer device may also include a communication interface 903 and a bus 910. Wherein, as... Figure 9 As shown, the processor 901, memory 902, and communication interface 903 are connected through bus 910 and complete communication with each other.

[0142] The communication interface 903 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0143] Bus 910 includes hardware, software, or both, that couples components of a flow control device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 910 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0144] The computer device can execute the data query method in the embodiments of this application, thereby achieving a combination Figures 1 to 8 The data query method and apparatus described.

[0145] Furthermore, in conjunction with the data query methods in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data query methods in the above embodiments.

[0146] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0147] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0148] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0149] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A data query method, characterized in that, Applied to auxiliary aggregators, where the auxiliary aggregator is the queried party in the Anonymity Consortium that has the function of aggregating fragments of anonymous query results, including: Receive the anonymity query request sent by the coordinator; The cloaking query result corresponding to the cloaking query request is split into N cloaking query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the cloaking alliance and M is the number of queried parties in the cloaking alliance; The first stealth query result fragment from the N stealth query result fragments is retained, and the second stealth query result fragment from the N stealth query result fragments is sent to other auxiliary aggregators in the stealth alliance; Send an overlay query result fragment to the coordinating party, the overlay query result fragment being determined by the first cloaking query result fragment and the cloaking query result fragments of the M-1 queried parties.

2. The method according to claim 1, characterized in that, The anonymous query request carries the dataset to be queried corresponding to the queryer; the method further includes: Based on the dataset to be queried, determine the query hit result for each query requirement in the dataset to be queried; Add zeros and random numbers to the query hit results to obtain the stealth query results. The zeros and random numbers are generated by the M queried parties in the stealth alliance for historical stealth query requests and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period.

3. The method according to claim 2, characterized in that, The process of splitting the stealth query result corresponding to the stealth query request into N stealth query result fragments includes: The number of auxiliary aggregators in the stealth alliance is used as the number of stealth query results to be split. The data of each stealth query result is randomly split to obtain N local query results for each stealth query result. The sum of the values ​​of the N local query results is the value of the data of each stealth query result. Each of the local query results in each of the anonymous query results is summarized to obtain the N anonymous query result fragments.

4. The method according to claim 1, characterized in that, Before sending the overlay query result fragment to the coordinator, the method further includes: Receive fragments of the stealth query results sent by the queried party in the stealth alliance; Upon receiving M-1 anonymous query result fragments sent by the queried parties, the first anonymous query result fragment and the M-1 anonymous query result fragments sent by the queried parties are summarized to obtain the superimposed query result fragment.

5. The method according to claim 1, characterized in that, The first stealth query result fragment is one of the N stealth query result fragments; the method further includes: Remove the first stealth query result fragment from the N stealth query result fragments to obtain N-1 second stealth query result fragments; Sending the overlay query result fragment to the coordinator includes: Send one of the N-1 second stealth query result fragments to the other auxiliary aggregators in the stealth alliance.

6. A data query method, characterized in that, This applies to non-auxiliary aggregators, which are query subjects in the Anonymous Consortium that do not have the function of aggregating fragments of anonymous query results, including: Receive the anonymity query request sent by the coordinator; The cloaking query result corresponding to the cloaking query request is split into N cloaking query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the cloaking alliance and M is the number of queried parties in the cloaking alliance; Send one of the N stealth query result fragments to the auxiliary aggregator in the stealth alliance.

7. The method according to claim 6, characterized in that, The anonymous query request carries the dataset to be queried corresponding to the queryer; the method further includes: Based on the dataset to be queried, determine the query hit result for each query requirement in the dataset to be queried; Add zeros and random numbers to the query hit results to obtain the stealth query results, wherein the zeros and random numbers are generated by M queried parties in the stealth alliance for historical stealth query requests, and are used to obfuscate the query hit results corresponding to the dataset to be queried within the service period.

8. A data query method, characterized in that, Applied to the coordinating party, including: Receive anonymous query requests sent by the querying party; Send the stealth query request to M queried parties in the stealth alliance; Receive the superimposed query result fragments sent by N auxiliary aggregators in the stealth alliance, wherein the auxiliary aggregator is the queried party in the stealth alliance that has the function of aggregating stealth query result fragments, and N∈[2,M]; The fragments of the stealth query results sent by the N auxiliary aggregators are aggregated to obtain the aggregated stealth query results corresponding to the stealth query request; The summarized anonymous query results are sent to the querying party.

9. The method according to claim 8, characterized in that, The aggregated anonymous query results include query hit results corresponding to the dataset to be queried carried in the anonymous query request; the aggregation of the anonymous query result fragments sent by the N auxiliary aggregators to obtain the aggregated anonymous query results corresponding to the anonymous query request includes: The stealth query result fragments sent by the N auxiliary aggregators are aggregated, and the zero and random numbers in each of the stealth query result fragments sent by the auxiliary aggregators are used to cancel the zero and random numbers used to confuse the query hit results corresponding to the dataset to be queried in the stealth query results, so as to obtain the query hit results corresponding to the dataset to be queried carried by the stealth query request.

10. A data query system, characterized in that, The system includes a querying party, a coordinating party, and an anonymity alliance. The anonymity alliance comprises N auxiliary aggregators, which are the queried parties within the anonymity alliance that have the function of aggregating fragments of anonymity query results. N ∈ [2, M], where M is the number of queried parties in the anonymity alliance. The querying party is used to send an anonymous query request to the coordinating party; The coordinator is used to execute the data query method as described in claim 8 or 9; The auxiliary aggregator is used to execute the data query method as described in any one of claims 1 to 5.

11. The system according to claim 10, characterized in that, The Anonymous Alliance also includes non-auxiliary aggregators, where the auxiliary aggregator is the queried party in the Anonymous Alliance that does not have the function of aggregating fragments of anonymous query results. The non-auxiliary aggregator is used to execute the data query method as described in claim 6 or 7.

12. A data query device, characterized in that, Applied to auxiliary aggregators, where the auxiliary aggregator is the queried party in the Anonymity Consortium that has the function of aggregating fragments of anonymous query results, including: The receiving module is used to receive the anonymity query request sent by the coordinator; The splitting module is used to split the stealth query result corresponding to the stealth query request into N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; The retention module is used to retain the first stealth query result fragment among the N stealth query result fragments; The sending module is used to send the second stealth query result fragment of the N stealth query result fragments to other auxiliary aggregators in the stealth alliance; The sending module is further configured to send an overlay query result fragment to the coordinator, the overlay query result fragment being determined by the first cloaking query result fragment and the cloaking query result fragments of the M-1 queried parties.

13. A data query device, characterized in that, This applies to non-auxiliary aggregators, which are query subjects in the Anonymous Consortium that do not have the function of aggregating fragments of anonymous query results, including: The receiving module is used to receive the anonymity query request sent by the coordinator; The splitting module is used to split the stealth query result corresponding to the stealth query request into N stealth query result fragments, N∈[2,M], where N is the number of auxiliary aggregators in the stealth alliance and M is the number of queried parties in the stealth alliance; The sending module is used to send one of the N stealth query result fragments to the auxiliary aggregator in the stealth alliance.

14. A data query device, characterized in that, Applied to the coordinating party, including: The receiving module is used to receive anonymous query requests sent by the querying party; The sending module is used to send the cloaking query request to M queried parties in the cloaking alliance; The receiving module is also used to receive superimposed query result fragments sent by N auxiliary aggregators in the stealth alliance, wherein the auxiliary aggregator is the queried party in the stealth alliance that has the function of aggregating stealth query result fragments, and N∈[2,M]. The aggregation module is used to aggregate the stealth query result fragments sent by the N auxiliary aggregation parties to obtain the aggregated stealth query result corresponding to the stealth query request. The sending module is also used to send the summarized anonymous query results to the querying party.

15. A computer device, characterized in that, The computer device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the data query method as described in any one of claims 1-5, the data query method as described in claim 6 or 7, or the data query method as described in claim 8 or 9.

16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the data query method as described in any one of claims 1-5, the data query method as described in claim 6 or 7, or the data query method as described in any one of claims 8 or 9.

17. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the data query method as described in any one of claims 1-5, the data query method as described in claim 6 or 7, or the data query method as described in claim 8 or 9.