Method for realizing multi-party privacy query based on SCQL centralization mode
By building a SCDB server in SCQL centralized mode, deploying SCQLEngine nodes and integrating SPU dense computing units, combining CCL policy management and optimizing query execution process, data privacy and security issues in multi-party privacy queries are solved, and efficient and secure multi-party data joint analysis is achieved.
Patent Information
- Application Number
- CN202411485496.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2025-02-28
AI Technical Summary
When implementing multi-party privacy inquiry, it is difficult to effectively ensure the privacy and security of data, especially in a centralized model that relies on trusted third parties.
Adopting a centralized model based on SCQL, by building a SCDB server, deploying SCQLEngine nodes and integrating SPU dense computing units, combining CCL policy management and optimizing query execution processes, we ensure the privacy and security of data during the query process.
It realizes data security and privacy protection in multi-party privacy query scenarios, improves the performance and scalability of the system, and meets the actual needs of joint data analysis by multiple parties.
Smart Images

Figure CN119538304A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of information security, and in particular relates to a method for implementing multi-party privacy query based on the SCQL centralized model. Background Art
[0002] Privacy-preserving computation refers to a series of information technologies that analyze and calculate data without leaking the original data to ensure that the data provider remains “available but invisible” during its circulation and integration.
[0003] Secure Collaborative Query Language (SCQL) is a system that allows multiple non-trusting parties to conduct joint data analysis without disclosing their respective private data.
[0004] The SCQL system supports two deployment modes: centralized and P2P. The centralized mode relies on a trusted third party, but the deployment and configuration process is simpler; P2P does not need to rely on an additional trusted third party. This case focuses on the implementation of a multi-party privacy query solution under the centralized mode.
[0005] SPU is a secure computing unit that provides secure computing services. SCQL is supported by SPU. CCL (Column Control List) defines the disclosure policy of columns and the operations allowed on columns. SCQL promises to comply with these restrictions, refuses to execute queries that do not meet CCL requirements, and ensures that the execution process does not violate the data disclosure policy specified by CCL. CCL can be expressed as a triple<src_column,dest_party,constraint> , which means the constraint strategy of src_column for dest_party. Summary of the invention
[0006] In view of this, the present invention aims to propose a method for implementing multi-party privacy query based on the SCQL centralized model to at least solve one problem in the background technology.
[0007] To achieve the above object, the technical solution of the present invention is achieved as follows:
[0008] A method for implementing multi-party privacy query based on SCQL centralized mode includes the following steps:
[0009] S1. Design the system architecture by building the SCDB server, deploying the SCQLEngine node and integrating the SPU secret computing unit to establish the basic framework for multi-party privacy query;
[0010] S2, deploy and configure the environment by creating a working directory, configuring engine parameters, and writing a Docker-compose file to build the basic environment required for system operation;
[0011] S3, define and manage CCL policies by defining CCL policies, configuring CCL managers, and performing CCL policy verification to ensure data security and privacy protection during the query process;
[0012] S4, through initializing the session, parsing and planning, translation, graph optimization and splitting, and execution, the query execution process is used to implement the specific operations of multi-party privacy query and realize joint analysis of data;
[0013] S5. Results are returned and displayed through result aggregation, result verification and result return, so as to provide the query results to users safely and accurately and complete the entire query process;
[0014] S6. System security and optimization through data encryption and transmission security, access control and auditing, and performance optimization to improve system security and operational efficiency;
[0015] S7. System expansion and maintenance are carried out by supporting dynamic expansion and version upgrades and maintenance to ensure the scalability and continuous stable operation of the system.
[0016] Furthermore, in step S1, it specifically includes:
[0017] Build an SCDB server as a central node, and use the SCDB server to receive SQL query requests from users;
[0018] Deploy a SCQLEngine node for each participant, and use the SCQLEngine node to receive and execute the sub-execution graph from the SCDB server;
[0019] The SPU encrypted computing unit is integrated in the SCQLEngine node, and the SPU is responsible for maintaining the encryption state of the data during the calculation process.
[0020] Furthermore, in step S2, it specifically includes:
[0021] Create a working directory on each participant's server to store configuration files and logs;
[0022] Create a gflags.conf file in the working directory and configure the relevant parameters of SCQLEngine;
[0023] Write the docker-compose.yml file to define the services of the SCDB server and SCQLEngine node;
[0024] Set the container startup parameters, environment variables, and file mount paths;
[0025] Use the docker-compose up command to start all services, including SCDB and each SCQLEngine node, with one click;
[0026] After starting, check the status of each service.
[0027] Furthermore, in step S3, it specifically includes:
[0028] Formulate a CCL strategy for each data column to clarify the column disclosure strategy and allowed operations. The CCL is ColumnControl List.
[0029] Using triples<src_column,dest_party,constraint> The form describes in detail the constraints of the data column on the target participant;
[0030] Integrate the CCL manager in the SCDB server to uniformly manage the CCL policies of all participants;
[0031] During the query execution process, SCDB retrieves relevant policies from the CCL manager to verify the legitimacy of the query. If the query does not meet the CCL requirements, SCDB will refuse to execute it to ensure data security.
[0032] Furthermore, in step S4, it specifically includes:
[0033] When a user submits a query, SCDB creates a new session for it and assigns a unique session ID to verify the user's identity and permissions, ensuring that only authorized users can execute queries;
[0034] Use the parser to parse the user's SQL query into AST and extract the query structure;
[0035] Use the planner to convert the AST into a logical execution plan and determine the execution path of the query;
[0036] The translator is used to obtain the relevant CCL policies from the CCL manager and verify them in combination with the logical plan. If the verification passes, an execution graph containing plaintext and ciphertext operations is generated.
[0037] Use the graph optimizer to optimize the execution graph, and use the graph splitter to split the optimized execution graph into multiple subgraphs based on the information of the participants. Each subgraph corresponds to a SCQLEngine node.
[0038] SCDB sends each subgraph to the corresponding SCQLEngine node. SCQLEngine uses SPU to perform secret computations and collaborates with other participants to complete the query. During the execution process, each node completes the joint computation through secure communication and finally returns the results to SCDB.
[0039] Furthermore, in step S5, it specifically includes:
[0040] The SCQLEngine node returns the calculation results to the SCDB server, which summarizes and integrates the results of each node to generate the final query results;
[0041] The final result is returned to the user using SCDB.
[0042] Furthermore, the present solution discloses an electronic device, comprising a processor and a memory that is communicatively connected to the processor and is used to store executable instructions of the processor, wherein the processor is used to execute a method for implementing multi-party privacy query based on the SCQL centralized model.
[0043] Furthermore, the present solution discloses a server comprising at least one processor and a memory communicatively connected to the processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the processor so that the at least one processor executes a method for implementing multi-party privacy queries based on the SCQL centralized model.
[0044] Furthermore, the present solution discloses a computer-readable storage medium storing a computer program, which, when executed by a processor, implements a multi-party privacy query method based on the SCQL centralized model.
[0045] Compared with the prior art, the method for implementing multi-party privacy query based on the SCQL centralized model described in the present invention has the following beneficial effects:
[0046] The present invention discloses a method for implementing multi-party privacy query based on the SCQL centralized model, which integrates multiple innovative technologies such as secure computing, flexible policy management and efficient execution optimization. This solution not only ensures the privacy and security of data during the query process, but also improves the performance and scalability of the system, meeting the actual needs of multi-party data joint analysis. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The accompanying drawings constituting a part of the present invention are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the accompanying drawings:
[0048] Figure 1A schematic diagram of the execution process of the SCQL query according to an embodiment of the present invention;
[0049] Figure 2 A schematic diagram of the parsing and planning steps according to an embodiment of the present invention;
[0050] Figure 3 Schematic diagram of the translation steps described in an embodiment of the present invention. DETAILED DESCRIPTION
[0051] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.
[0052] The present invention will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.
[0053] This solution discloses a method for implementing multi-party privacy query based on the SCQL centralized model, which mainly includes the following steps:
[0054] Step 1: Initialize the session
[0055] SCDB creates a new session for the incoming query and then verifies the identity of the query issuer. If the authentication fails, it rejects the request;
[0056] Step 2: Analysis and Planning
[0057] like Figure 2 As shown, the Parser parses Q into an AST (Abstract Syntax Tree), and then the Planner converts it into a logical plan;
[0058] Step 3: Translation
[0059] like Figure 3 As shown, the Translator needs to retrieve the CCL from the CCL manager, it will build the CCL based on the logical plan, and verify the CCL of the root node to ensure that Q is legal under the constraints of the data owner. The Translator takes the logical plan and CCL as input and generates an execution of the query Q.
[0060] Step 3: Graph Optimization and Splitting
[0061] The graph optimizer will optimize the execution graph, such as node fusion and elimination of duplicate nodes. The optimized execution graph is still a whole graph, and the graph splitter will split the whole graph into subgraphs based on the node's participant information.
[0062] Step 5: Execution
[0063] SCDB sends the subgraph to the corresponding SCQLEngine node, SCQLEngine and the participants work together to run the execution graph and report the final result of Q to SCDB.
[0064] In the specific implementation process, the following steps may also be included:
[0065] Step 1: System architecture design
[0066] Build the SCDB server:
[0067] First, an SCDB server is established as the central node, which is responsible for receiving the user's SQL query requests and translating them into a plaintext and ciphertext mixed execution graph.
[0068] Configure the SCDB server to have authentication capabilities to ensure that only authorized users can submit queries and protect system security.
[0069] The establishment of the SCDB server provides the core processing power for the entire system and is the basis for subsequent steps.
[0070] Deploy SCQLEngine nodes:
[0071] Next, SCQLEngine nodes are deployed on each participant's server, which will receive and execute the sub-execution graph from SCDB.
[0072] Ensure that the SCQLEngine node can be integrated with the SPU confidential computing unit to provide secure confidential computing services.
[0073] The deployment of SCQLEngine nodes enables all parties to participate in joint computing and realize multi-party privacy queries.
[0074] Integrated SPU dense computing unit:
[0075] The SPU encrypted computing unit is integrated in the SCQLEngine node. The SPU is responsible for keeping the data encrypted during the calculation process.
[0076] SCQLEngine works with SPU to implement ciphertext computing and ensure data privacy and security.
[0077] The integration of SPU ensures data security during the computing process and is the key to achieving privacy protection.
[0078] Step 2: Environment deployment and configuration
[0079] Create a working directory:
[0080] Create a working directory on each participant's server, such as / opt / SCQLEngine / engine, to store configuration files and logs.
[0081] The unified directory structure facilitates subsequent maintenance and management, laying the foundation for the stable operation of the system.
[0082] Configure engine parameters:
[0083] Create a gflags.conf file in the working directory and configure the parameters of SCQLEngine, such as port number, participant ID, network settings, etc.
[0084] Ensure that the parameters are configured correctly to ensure smooth and secure communication between nodes.
[0085] Through correct parameter configuration, each node can work together normally.
[0086] Write the Docker-compose file:
[0087] Write the docker-compose.yml file to define the SCDB and SCQLEngine services.
[0088] Set the container's startup parameters, environment variables, and file mount paths to facilitate unified management and deployment.
[0089] Using Docker-compose, services can be quickly deployed and started.
[0090] Start the service:
[0091] Use the docker-compose up command to start all services, including SCDB and each SCQLEngine node, with one click.
[0092] After startup, check the service status to ensure that all components are running normally and that communication between nodes is normal.
[0093] The successful startup of the service marks the completion of the deployment and configuration of the system environment.
[0094] Step 3: CCL strategy definition and management
[0095] Define the CCL policy:
[0096] Develop a CCL (Column Control List) strategy for each data column to clarify the column's disclosure strategy and allowed operations.
[0097] Using triples<src_column,dest_party,constraint> The form describes in detail the constraints of the data column on the target participant.
[0098] The definition of CCL policy provides a basis for data access control.
[0099] Configure CCL Manager:
[0100] Integrate the CCL manager in the SCDB server to uniformly manage the CCL policies of all participants.
[0101] Supports dynamic update and query of CCL policies to meet the privacy needs of different scenarios.
[0102] The configuration of CCL Manager ensures the effective implementation and management of policies.
[0103] CCL Policy Verification:
[0104] During query execution, SCDB retrieves relevant policies from the CCL manager and verifies whether the query complies with the data disclosure policy.
[0105] If the query does not meet the CCL requirements, SCDB will refuse to execute it to ensure data security.
[0106] Unauthorized data leakage is prevented through policy verification.
[0107] Step 4: Query execution process
[0108] Initialize the session:
[0109] When a user submits a query, SCDB creates a new session for it and assigns a unique session ID.
[0110] Verify user identities and permissions to ensure that only authorized users can execute queries.
[0111] The initialization of the session starts the query execution process.
[0112] Analysis and planning:
[0113] The parser parses the user's SQL query into an AST (abstract syntax tree) and extracts the query structure.
[0114] The planner converts the AST into a logical execution plan to determine the execution path of the query.
[0115] Parsing and planning lay the logical foundation for query execution.
[0116] translate:
[0117] The translator obtains the relevant CCL strategy from the CCL manager and verifies the query in combination with the logical plan.
[0118] If the verification passes, an execution graph containing plaintext and ciphertext operations is generated to prepare for subsequent optimization.
[0119] The translation process ensures that the query complies with the data disclosure policy.
[0120] Graph optimization and splitting:
[0121] The graph optimizer optimizes the execution graph, such as node fusion and elimination of redundant calculations, to improve execution efficiency.
[0122] The graph splitter splits the optimized execution graph into multiple subgraphs based on the information of the participants, and each subgraph corresponds to a SCQLEngine node.
[0123] The optimization and splitting of the graph improves execution efficiency and ensures that each participant only performs relevant calculations.
[0124] implement:
[0125] SCDB sends each subgraph to the corresponding SCQLEngine node.
[0126] SCQLEngine uses SPU for confidential computing and collaborates with other parties to complete the query.
[0127] During the execution process, each node completes the joint calculation through secure communication and finally returns the results to SCDB.
[0128] Step 5: Result return and display
[0129] Summary of results:
[0130] The SCQLEngine node returns the calculation results to the SCDB server.
[0131] SCDB summarizes and integrates the results of each node to generate the final query results.
[0132] The summary of the results completed the joint analysis of the data.
[0133] Verification results:
[0134] Verify the integrity and accuracy of the results to ensure they have not been tampered with during transmission and processing.
[0135] Verification ensures the credibility of the results.
[0136] The result is:
[0137] SCDB returns the final result to the user.
[0138] Supports output in multiple data formats, making it convenient for users to view and analyze later.
[0139] The return of the results completes the entire query process.
[0140] Step 6: System security and optimization
[0141] Data encryption and transmission security:
[0142] During data transmission, encryption protocols (such as TLS) are used to protect data security.
[0143] Ensure that data is not stolen or tampered with during network transmission.
[0144] Data encryption ensures the security of the communication process.
[0145] Access Control and Auditing:
[0146] Implement strict access control policies so that only authorized users can access the system and data. Record all operation logs and query logs to support auditing and tracking, and improve system security.
[0147] Access control and auditing improve the security management level of the system.
[0148] Performance optimization:
[0149] Optimize execution plans and algorithms, reduce computing resource consumption, and improve query efficiency.
[0150] Use parallel computing and distributed processing to fully utilize system resources and improve performance.
[0151] Performance optimization ensures efficient operation of the system.
[0152] Step 7: System expansion and maintenance
[0153] Support dynamic expansion:
[0154] The microservice architecture makes it easy to add new SCQLEngine nodes to meet business growth needs. It supports load balancing and high availability configuration to ensure system stability.
[0155] Dynamic expansion improves the flexibility and scalability of the system.
[0156] Version upgrade and maintenance:
[0157] Regularly update the SCQL system to fix known vulnerabilities and issues and improve system security.
[0158] Provide a complete monitoring and alarm mechanism to detect and handle abnormal situations in a timely manner.
[0159] Version upgrades and maintenance ensure the continuous and stable operation of the system. Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0160] In the several embodiments provided in the present application, it should be understood that the disclosed methods and systems can be implemented in other ways. For example, the division of the units described above is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The above-mentioned units may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present invention.
[0161] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. These modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention, and they should all be included in the scope of the claims and specification of the present invention.
[0162] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for implementing multi-party privacy query based on SCQL centralized mode, characterized in that: include: S1. Design the system architecture by building the SCDB server, deploying the SCQLEngine node and integrating the SPU secret computing unit to establish the basic framework for multi-party privacy query; S2, deploy and configure the environment by creating a working directory, configuring engine parameters, and writing a Docker-compose file to build the basic environment required for system operation; S3, define and manage CCL policies by defining CCL policies, configuring CCL managers, and performing CCL policy verification to ensure data security and privacy protection during the query process; S4, through initializing the session, parsing and planning, translation, graph optimization and splitting, and execution, the query execution process is used to implement the specific operations of multi-party privacy query and realize joint analysis of data; S5. Results are returned and displayed through result aggregation, result verification and result return, so as to provide the query results to users safely and accurately and complete the entire query process; S6. System security and optimization through data encryption and transmission security, access control and auditing, and performance optimization to improve system security and operational efficiency; S7. System expansion and maintenance are carried out by supporting dynamic expansion and version upgrades and maintenance to ensure the scalability and continuous stable operation of the system.
2. According to claim 1, a method for implementing multi-party privacy query based on SCQL centralized mode is characterized in that: In step S1, it specifically includes: Build an SCDB server as a central node, and use the SCDB server to receive SQL query requests from users; Deploy a SCQLEngine node for each participant, and use the SCQLEngine node to receive and execute the sub-execution graph from the SCDB server; The SPU encrypted computing unit is integrated in the SCQLEngine node, and the SPU is responsible for maintaining the encryption state of the data during the calculation process.
3. According to claim 1, a method for implementing multi-party privacy query based on SCQL centralized mode is characterized in that: In step S2, it specifically includes: Create a working directory on each participant's server to store configuration files and logs; Create a gflags.conf file in the working directory and configure the relevant parameters of SCQLEngine; Write the docker-compose.yml file to define the services of the SCDB server and SCQLEngine node; Set the container startup parameters, environment variables, and file mount paths; Use the docker-compose up command to start all services, including SCDB and each SCQLEngine node, with one click; After starting, check the status of each service.
4. According to claim 1, a method for implementing multi-party privacy query based on SCQL centralized mode is characterized in that: In step S3, it specifically includes: Formulate a CCL strategy for each data column to clarify the column disclosure strategy and allowed operations. The CCL is ColumnControl List. Using triples<src_column,dest_party,constraint> The form describes in detail the constraints of the data column on the target participant; Integrate the CCL manager in the SCDB server to uniformly manage the CCL policies of all participants; During the query execution process, SCDB retrieves relevant policies from the CCL manager to verify the legitimacy of the query. If the query does not meet the CCL requirements, SCDB will refuse to execute it to ensure data security.
5. According to claim 1, a method for implementing multi-party privacy query based on SCQL centralized mode is characterized in that: In step S4, it specifically includes: When a user submits a query, SCDB creates a new session for it and assigns a unique session ID to verify the user's identity and permissions, ensuring that only authorized users can execute queries; Use the parser to parse the user's SQL query into AST and extract the query structure; Use the planner to convert the AST into a logical execution plan and determine the execution path of the query; The translator is used to obtain the relevant CCL policies from the CCL manager and verify them in combination with the logical plan. If the verification passes, an execution graph containing plaintext and ciphertext operations is generated. Use the graph optimizer to optimize the execution graph, and use the graph splitter to split the optimized execution graph into multiple subgraphs based on the information of the participants. Each subgraph corresponds to a SCQLEngine node. SCDB sends each subgraph to the corresponding SCQLEngine node. SCQLEngine uses SPU to perform secret computations and collaborates with other participants to complete the query. During the execution process, each node completes the joint computation through secure communication and finally returns the results to SCDB.
6. According to claim 1, a method for implementing multi-party privacy query based on SCQL centralized mode is characterized in that: In step S5, it specifically includes: The SCQLEngine node returns the calculation results to the SCDB server, which summarizes and integrates the results of each node to generate the final query results; The final result is returned to the user using SCDB.
7. An electronic device, comprising a processor and a memory connected to the processor for storing instructions executable by the processor, characterized in that: The processor is used to execute a method for implementing multi-party privacy query based on the SCQL centralized model as described in any one of claims 1-6 above.
8. A server, characterized in that: It includes at least one processor and a memory communicatively connected to the processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the processor so that the at least one processor executes a method for implementing multi-party privacy query based on the SCQL centralized model as described in any one of claims 1-6.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it implements a multi-party privacy query method based on the SCQL centralized model as described in any one of claims 1-6.