A distributed database node secure communication method and system
By establishing an encrypted channel between trusted and untrusted domains and utilizing topological relationships and encryption strategies, the security problem of data transmission in distributed databases is solved, ensuring that data is not leaked or tampered with during transmission, and achieving secure data transmission and decryption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN HUAXIN INTEGRATED CIRCUIT DESIGN CO LTD
- Filing Date
- 2025-05-19
- Publication Date
- 2026-07-21
AI Technical Summary
How to securely transmit data from a distributed database between trusted and untrusted domains, ensuring that the data is not leaked or tampered with during transmission.
By establishing an encrypted channel between the data management device in the trusted domain and the storage node in the non-trusted domain, and by utilizing topology relationships and encryption strategies, it is ensured that the data is encrypted during transmission and decrypted only within the trusted domain.
It ensures the security and integrity of data during transmission in untrusted domains, and guarantees that data in trusted domains remains secure after being transmitted to untrusted domains.
Smart Images

Figure CN120675736B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and in particular to a method and system for secure communication between distributed database nodes. Background Technology
[0002] With the rapid development of information technology and the arrival of the big data era, the explosive growth of data volume has placed higher demands on data storage systems. Traditional centralized database systems face performance bottlenecks and reliability issues when processing large-scale data. To address these problems, distributed database technology has emerged. This article will provide a background introduction to distributed database technology.
[0003] A distributed database is a database system that stores data across multiple physical locations. It connects multiple database nodes through a network, forming a logically unified data storage and management system. The main characteristics of a distributed database include: Data distribution: Data is distributed across different nodes, which can be physically distributed servers or different storage devices on the same server. Data independence: Each node is independent of the others, allowing for independent data operations and management. High availability: Distributed databases typically have failover and data replication mechanisms, ensuring data availability and consistency even in the event of node failures. Scalability: Distributed databases can easily expand storage capacity and processing power by adding nodes. Performance optimization: Distributed databases can utilize multiple nodes to process data in parallel, improving data processing efficiency.
[0004] Based on different data distribution and management methods, distributed databases can be divided into the following types: Partitioned Database: Data is divided into multiple parts, each stored on a different node. Replicated Database: Data replicas are stored on multiple nodes, each capable of handling read and write operations. Distributed Database System: Combines the features of partitioning and replication; data is both partitioned and replicated for storage.
[0005] Distributed databases are typically deployed in trusted domains, meaning that communication between nodes is considered secure and reliable. However, external third-party applications are usually considered to be located in untrusted domains. Therefore, how to ensure the security of data read from trusted domains when transferring data to untrusted domains is a current research problem. Summary of the Invention
[0006] This application provides a method and system for secure communication between distributed database nodes to ensure the security of data read from a trusted domain to a non-trusted domain.
[0007] To achieve the above objectives, this application adopts the following technical solution: In a first aspect, a secure communication method for distributed database nodes is provided, applied to a data management device. The data management device is located in a first trusted domain, and the distributed storage nodes are located in a second trusted domain. The first trusted domain and the second trusted domain are connected via a non-trusted domain communication connection. The method includes: when it is necessary to analyze at least one type of data, the data management device sends a data acquisition request to N storage nodes in the second trusted domain. The data acquisition request is used to request the provision of at least one type of data, which is stored in N storage nodes, where N is an integer greater than 1; the data management device receives encrypted data information from the second trusted domain; the data management device decrypts the encrypted data information to obtain plaintext data of at least one type; and the data management device analyzes the plaintext data of at least one type to obtain data analysis results.
[0008] Optionally, the encrypted data information is information encrypted by some of the storage nodes among the M storage nodes in the first trusted domain. The encryption of some storage nodes is performed by the data management device. M is an integer greater than N. The M storage nodes include N storage nodes and also include MN storage nodes other than N storage nodes. The MN storage nodes are used to forward at least one type of data.
[0009] Optionally, when it is necessary to analyze at least one type of data, the method further includes: the data management device determining that at least one type of data is distributed and stored in N storage nodes in a second trusted domain; the data management device determining a first topology relationship based on the topology relationship between the storage nodes in the second trusted domain, wherein the first topology relationship contains M storage nodes, and the first topology relationship indicates the routing path for the data stored by the N storage nodes to be sent to the security gateway of the first trusted domain through the M storage nodes; the communication connection between the first trusted domain and the second trusted domain via a non-trusted domain includes: the data management device communicating with the security gateway via a non-trusted domain communication connection; correspondingly, the data acquisition request includes the data routing information of each of the N storage nodes in the first topology relationship.
[0010] Optionally, for the i-th storage node among N storage nodes, where i is any integer from 1 to N, if the i-th storage node has a previous hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the sending port information of the previous hop storage node; if the i-th storage node has a next hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the receiving port information of the next hop storage node; or if the i-th storage node does not have a next hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the receiving port information of the security gateway.
[0011] Optionally, the method further includes: the data management device determining a data encryption strategy based on the first topology relationship; correspondingly, the data acquisition request also includes the data encryption strategy, which instructs some storage nodes to perform encryption.
[0012] Optionally, the first topology is a tree-like branching structure. The storage node that serves as the root node in the tree-like branching structure among the M storage nodes is connected to the security gateway. The tree-like branching structure includes multiple branches, and the N storage nodes are distributed across multiple branches. The data encryption policy indicates that the first type of storage nodes among the M storage nodes need to perform encryption, and the second type of storage nodes among the M storage nodes do not need to perform encryption. Here, the second type of storage nodes are storage nodes that serve as the root nodes of at least two of the multiple branches, and the first type of storage nodes are the other storage nodes among the M storage nodes besides the second type of storage nodes. Each of the M storage nodes is used to determine whether it belongs to the first type of storage node or the second type of storage node based on its own data routing information in the first topology.
[0013] Optionally, the first storage node can be any of the N storage nodes. If the first storage node is among the storage nodes performing encryption, and if it has a previous storage node in the first topology, then the first storage node is configured to: encrypt the ciphertext or plaintext data received from the previous storage node together with the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next-hop storage node or security gateway in the first topology. If the first storage node is among the storage nodes performing encryption, and it does not have a previous storage node in the first topology, then the first storage node is configured to: encrypt the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next-hop storage node or security gateway in the first topology. A full gateway; if the first storage node is not one of the storage nodes performing encryption, and if the first storage node has a previous storage node in the first topology, then the first storage node is configured to: package the ciphertext or plaintext data received from the previous storage node and the plaintext data provided by the first storage node itself, and send them to the next-hop storage node or security gateway in the first topology; if the first storage node is not one of the storage nodes performing encryption, and if the first storage node does not have a previous storage node in the first topology, then the first storage node is configured to: send the plaintext data provided by the first storage node itself to the next-hop storage node or security gateway in the first topology; wherein the ciphertext or plaintext data belongs to at least one type of data, and the plaintext data provided by the first storage node itself also belongs to at least one type of data.
[0014] Optionally, the second storage node is any one of the MN storage nodes; if the second storage node is among the storage nodes performing encryption, the second storage node is configured to: encrypt the ciphertext or plaintext data received from the previous hop storage node again to obtain ciphertext data, and send the ciphertext data to the next hop storage node or security gateway in the first topology; if the second storage node is not among the storage nodes performing encryption, the second storage node is configured to: package the ciphertext or plaintext data received from the previous hop storage node and send it to the next hop storage node or security gateway in the first topology; wherein the ciphertext or plaintext data belongs to at least one type of data.
[0015] Optionally, the data management device decrypts the encrypted data information to obtain at least one type of plaintext data, including: the data management device decrypts the encrypted data information according to the data encryption strategy to obtain at least one type of plaintext data.
[0016] Secondly, a distributed database node secure communication system is provided. This system includes a data management device located in a first trusted domain, and distributed storage nodes located in a second trusted domain. The first and second trusted domains are connected via a non-trusted domain communication connection. The data management device is configured to: when analyzing at least one type of data, send a data acquisition request to N storage nodes in the second trusted domain, the data acquisition request requesting at least one type of data stored on the N storage nodes; receive encrypted data information from the second trusted domain; decrypt the encrypted data information to obtain at least one type of plaintext data; and analyze the at least one type of plaintext data to obtain data analysis results.
[0017] The system described in the second aspect is also configured to perform the method described in the first aspect above.
[0018] Thirdly, an electronic device is provided, comprising: a processor and a memory; the memory is used to store a computer program, which, when executed by the processor, causes the electronic device to perform the aforementioned distributed database node secure communication method.
[0019] In one possible design, the big data-based natural capital statistics device described in the third aspect may further include a transceiver. This transceiver may be a transceiver circuit or an interface circuit. The transceiver can be used for communication between the big data-based natural capital statistics device described in the third aspect and other big data-based natural capital statistics devices.
[0020] Fourthly, a computer-readable storage medium is provided, comprising: a computer program or instructions; when the computer program or instructions are executed on a computer, the computer causes the computer to perform the aforementioned distributed database node secure communication method.
[0021] In summary, the above methods and systems achieve the following specific technical effects: When the first trusted domain and the second trusted domain are connected via a non-trusted domain, if a data management device in the first trusted domain wants to read data from N storage nodes in the second trusted domain, the data management device sends a data retrieval request to the N storage nodes in the second trusted domain, requesting at least one type of data. This allows it to receive encrypted data from the second trusted domain. The data management device can then decrypt the encrypted data to obtain at least one type of plaintext data, and analyze this plaintext data to obtain the analysis results. In other words, during data transmission, the data passing through the non-trusted domain is encrypted encrypted data, thus ensuring the security of data read from the trusted domain and transmitted to the non-trusted domain. Attached Figure Description
[0022] Figure 1 This is a schematic diagram of the communication system provided in an embodiment of this application; Figure 2 A flowchart illustrating a secure communication method for distributed database nodes provided in an embodiment of this application; Figure 3 This is a schematic diagram illustrating an application scenario of the distributed database node secure communication method provided in the embodiments of this application; Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0023] Furthermore, in the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as an "example" in this application should not be construed as being better or more advantageous than other embodiments or designs. Rather, the use of the word "example" is intended to present the concept in a specific manner.
[0024] First, in this application, "for indicating" can include both direct and indirect indication. When describing "information" for indicating A, it can include whether the information directly indicates A or indirectly indicates A, but does not necessarily mean that the information carries A.
[0025] The information indicated by a given piece of information is called the information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as, but not limited to, directly indicating the information to be indicated, such as the information to be indicated itself or its index. It can also be indirectly indicated by indicating other information, where there is a relationship between the other information and the information to be indicated. It can also indicate only a part of the information to be indicated, while the other parts are known or pre-agreed upon. For example, the indication of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing the indication overhead to some extent. Simultaneously, the common parts of various pieces of information can be identified and indicated uniformly to reduce the indication overhead caused by individually indicating the same information. Furthermore, the specific indication method can also be any existing indication method, such as, but not limited to, the above-mentioned indication methods and their various combinations. Specific details of various indication methods can be found in existing technologies, and will not be elaborated upon here. As can be seen from the above, for example, when multiple pieces of information of the same type need to be indicated, the indication methods for different pieces of information may differ. In the specific implementation process, the required instruction method can be selected according to specific needs. This application embodiment does not limit the selected instruction method. Therefore, the instruction methods involved in this application embodiment should be understood to cover various methods that can enable the party to be instructed to know the information to be instructed.
[0026] Second, in the embodiments shown below, the first, second, and various numerical designations are merely distinctions for descriptive convenience and are not intended to limit the scope of the embodiments of this application. For example, to distinguish different indication information.
[0027] Third, "pre-set," "predefined," or "pre-configured" can be achieved by pre-saving corresponding codes, tables, or other means of indicating relevant information in the device (e.g., including terminal devices and network devices), or by pre-defining them in a protocol. This application does not limit the specific implementation method. "Saving" can refer to saving in one or more memories. These memories can be separate installations or integrated into the encoder, decoder, processor, or communication device. Alternatively, some memories can be separately installed, while others are integrated into the decoder, processor, or communication device. The type of memory can be any form of storage medium, and this application does not limit this.
[0028] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0029] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0030] To facilitate understanding of the embodiments of this application, let's first take... Figure 1 The communication system illustrated herein is used as an example to illustrate a communication system applicable to embodiments of this application. For example, Figure 1 This is a schematic diagram of the architecture of a communication system to which the method provided in the embodiments of this application applies.
[0031] Figure 1 This is a schematic diagram of the architecture of a communication system, which mainly includes: data management equipment and distributed storage nodes.
[0032] Data management devices can be network devices, such as network elements within the core network of a carrier network, like the Network Data Analysis Function (NWDAF) element. The core network of a carrier network is a trusted network and can therefore be referred to as the first trusted domain; that is, the data management device resides in the first trusted domain. Communication between network elements / devices within the first trusted domain is considered secure.
[0033] Distributed storage nodes can be storage nodes within a distributed database, which can be a partitioned database, a replicated database, a distributed database system, etc., with no specific restrictions. A distributed database is also a trusted local area network, and therefore can be referred to as a second trusted domain, meaning the distributed storage nodes reside in the second trusted domain. The first and second trusted domains communicate through a non-trusted domain, which can be a third-party network; its security risks cannot be controlled by the first and second trusted domains, hence it is considered a non-trusted domain.
[0034] Storage nodes can be terminals, such as servers or storage devices. In a broader sense, a terminal can also be considered a terminal with data storage capabilities, or a chip or chip system located on that terminal, or a device containing that terminal. This terminal can also be called user equipment (UE), access terminal, user unit (subscriber unit), user station, mobile station (MS), mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user equipment. The terminals in the embodiments of this application may be mobile phones, cellular phones, smartphones, tablets, wireless data cards, personal digital assistants (PDAs), wireless modems, handsets, laptop computers, machine-type communication (MTC) terminals, computers with wireless transceiver capabilities, virtual reality (VR) terminals, augmented reality (AR) terminals, smart home devices (e.g., refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes.
[0035] For example, Figure 2 This is a flowchart illustrating a secure communication method for distributed database nodes provided in an embodiment of this application. Figure 2 As shown, the process of this distributed database node secure communication method is as follows: S201, when it is necessary to analyze at least one type of data, the data management device sends a data acquisition request to N storage nodes in the second trusted domain.
[0036] For example, before the data management device sends a data acquisition request to N storage nodes in the second trusted domain, the method further includes: the data management device receiving a data analysis request from a third-party application, wherein the data management request requests the data analysis device to analyze at least one type of data.
[0037] S202, the data management device receives encrypted data information from the second trusted domain.
[0038] A data retrieval request is used to request at least one type of data. This at least one type of data is stored on N storage nodes, where N is an integer greater than 1. The at least one type can include user data such as video, audio, games, and images. The encrypted data information is information encrypted by a subset of the M storage nodes in the first trusted domain. This encryption is performed by a data management device, where M is an integer greater than N. The M storage nodes include the N storage nodes and also include MN storage nodes other than the N storage nodes. These MN storage nodes are used to forward the at least one type of data.
[0039] For example, when it is necessary to analyze at least one type of data, the method further includes: The data management device determines that at least one type of data is distributed and stored on N storage nodes in a second trusted domain. For example, the data management device is pre-configured with information on which storage nodes in the second trusted domain store various types of data, thereby enabling it to determine, based on the type of at least one type of data, which of these at least one type of data is distributed and stored on N storage nodes.
[0040] The data management device can determine a first topology relationship based on the topology relationship between storage nodes in the second trusted domain. This first topology relationship involves M storage nodes, and it indicates the routing path for data stored on N storage nodes to be sent to the security gateway of the first trusted domain via the M storage nodes. The communication connection between the first and second trusted domains via non-trusted domains includes: the data management device communicating with the security gateway via non-trusted domain communication.
[0041] Accordingly, the data acquisition request includes data routing information for each of the N storage nodes in the first topology. For example, for the i-th storage node among the N storage nodes, where i is any integer from 1 to N, if the i-th storage node has a previous-hop storage node in the first topology, then the data routing information for the i-th storage node in the first topology includes the sending port information of the previous-hop storage node (such as port number, address, etc., used to identify data from the previous-hop storage node); if the i-th storage node has a next-hop storage node in the first topology, then the data routing information for the i-th storage node in the first topology includes the receiving port information of the next-hop storage node (such as port number, address, etc., used to indicate that the data for this storage node needs to be sent by the next-hop storage node); or if the i-th storage node does not have a next-hop storage node in the first topology, then the data routing information for the i-th storage node in the first topology includes the receiving port information of the security gateway (such as port number, address, etc., used to indicate that the data for this storage node needs to be sent by the next-hop storage node).
[0042] Based on this, the method also includes: The data management device determines the data encryption strategy based on the first topology relationship. Correspondingly, the data acquisition request also includes the data encryption strategy, which indicates which of the above-mentioned storage nodes need to perform encryption, that is, which of the M storage nodes are to be encrypted.
[0043] For example, the first topology is a tree-like branching structure. The root node of the M storage nodes in this tree-like branching structure is connected to the security gateway. The tree-like branching structure includes multiple branches, and N storage nodes are distributed across these branches. The data encryption policy instructs the first type of storage nodes among the M storage nodes to perform encryption, and the second type of storage nodes among the M storage nodes not to perform encryption. Here, the second type of storage nodes are those that are the root nodes of at least two of the multiple branches, and the first type of storage nodes are all other storage nodes among the M storage nodes besides those in the second type. Each of the M storage nodes determines whether it belongs to the first or second type of storage node based on its data routing information in the first topology. That is, if a storage node has two or more preceding storage nodes, it is classified as a second type of storage node; otherwise, it is classified as a first type of storage node.
[0044] Therefore, taking the first storage node as an example, the first storage node is any one of the N storage nodes.
[0045] If the first storage node is one of the storage nodes that performs encryption, and if the first storage node has a previous storage node in the first topology, then the first storage node is configured to: encrypt the ciphertext or plaintext data received from the previous storage node together with the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next hop storage node or security gateway in the first topology.
[0046] If the first storage node is one of the storage nodes that performs encryption, and if the first storage node does not have a previous storage node in the first topology, then the first storage node is configured to: encrypt the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next-hop storage node or security gateway in the first topology.
[0047] If the first storage node is not one of the storage nodes performing encryption, and if the first storage node has a previous storage node in the first topology, then the first storage node is configured to: package the ciphertext or plaintext data received from the previous storage node and the plaintext data provided by the first storage node itself, and send them to the next-hop storage node or security gateway in the first topology.
[0048] If the first storage node is not among the storage nodes performing encryption, and if the first storage node has no previous hop storage node in the first topology, then the first storage node is configured to send the plaintext data provided by the first storage node itself to the next hop storage node or security gateway in the first topology.
[0049] Among them, the encrypted or plaintext data belongs to at least one type of data, and the plaintext data provided by the first storage node itself also belongs to at least one type of data.
[0050] Taking the second storage node as an example, the second storage node is any one of the MN storage nodes; In the case where the second storage node is a partial storage node that performs encryption, the second storage node is configured to: encrypt the ciphertext or plaintext data received from the previous hop storage node again to obtain ciphertext data, and send the ciphertext data to the next hop storage node or security gateway in the first topology relationship. In cases where the second storage node is not part of the storage node performing encryption, the second storage node is configured to: package ciphertext or plaintext data received from the previous hop storage node and send it to the next hop storage node or security gateway in the first topology relationship. The encrypted or plaintext data belongs to at least one type of data.
[0051] The aforementioned encryption refers to encrypting the payload portion of the message, that is, encrypting at least one type of data, while leaving the message header unprocessed, in order to achieve message forwarding.
[0052] S203, the data management device decrypts the encrypted data information to obtain at least one type of plaintext data.
[0053] The data management device decrypts the encrypted data information according to the data encryption strategy to obtain at least one type of plaintext data. The encryption and decryption described above are symmetric encryption and decryption. The data management device shares a key with M storage nodes, meaning it can use the same key for decryption, and decryption is the reverse process.
[0054] For ease of understanding, such as Figure 3As shown in the example, there are M storage nodes, including storage nodes 1 to 10, and N storage nodes, including storage nodes 1, 2, 3, 4, 5, 6, and 7. The storage nodes performing encryption are storage nodes 1, 2, 3, 4, 6, 7, and 9. Storage node 4 retrieves data #1, encrypts it using key #1 to obtain ciphertext data #1, and then sends it to storage node 5. Storage node 3 retrieves data #2, encrypts it using key #2 to obtain ciphertext data #2, and then sends it to storage node 5. Storage node 5 retrieves data #3, encrypts it using key #3 to obtain ciphertext data #3. Storage node 5 then waits to receive data from storage nodes 4 and 3 according to the topology. Upon receiving ciphertext data #1 and #2, storage node 5 packages (i.e., encapsulates) ciphertext data #1, #2, and #3 into the message payload and sends it to storage node 6. Storage node 6 retrieves data #4 and encrypts it using key #4 to obtain ciphertext data #4. Then, based on the topology, storage node 6 waits to receive data from storage node 10. Upon receiving the packaged ciphertext data #1, #2, and #3, storage node 6 packages these data (i.e., encapsulates them all into the message payload) and sends them to storage node 10. Storage node 7 retrieves data #5, encrypts it using key #5 to obtain ciphertext data #5, and sends it to storage node 10. Storage node 2 retrieves data #6, encrypts it using key #6 to obtain ciphertext data #6, and sends it to storage node 8. Storage node 1 retrieves data #7, encrypts it using key #7 to obtain ciphertext data #7, and sends it to storage node 8. Storage node 8, based on the topology, waits to receive data from storage nodes 1 and 2. Upon receiving ciphertext data #6 and #7, it packages them together and sends them to storage node 9. Storage node 9 waits to receive data from storage node 8 according to the topology. Upon receiving packaged ciphertext data #6 and #7, it forwards them to storage node 10. Storage node 10 then waits to receive data from storage nodes 8, 9, 7, and 10. Upon receiving ciphertext data #1 through #7, it packages them and sends them to the security gateway. The security gateway uses the root key to encrypt the entire set of ciphertext data #1 through #7 before sending it to the data analysis device. The data analysis device, pre-configured with the root key and keys #1 through #7, performs decryption in reverse order of encryption to obtain data #1 through #7.
[0055] It is understandable that in the above process, the root node does not perform encryption, but only data aggregation, which can reduce the load on the root node. Non-root nodes usually only perform encryption, which can also reduce the load, thus achieving a relatively balanced load.
[0056] S204, The data management device analyzes at least one type of plaintext data and obtains the data analysis results.
[0057] By statistically analyzing the time and data volume of various business processes in the data, the results of this data analysis can reveal user preferences, such as whether they like watching videos or making phone calls.
[0058] Therefore, after the data management device analyzes at least one type of plaintext data and obtains the data analysis results, The data management device can also send responses to data analysis requests to third-party applications, including the data analysis results.
[0059] In summary, when the first trusted domain and the second trusted domain are connected via a non-trusted domain, if a data management device in the first trusted domain wants to read data from N storage nodes in the second trusted domain, the data management device sends a data retrieval request to the N storage nodes in the second trusted domain, requesting at least one type of data. This allows it to receive encrypted data from the second trusted domain. The data management device can then decrypt the encrypted data to obtain at least one type of plaintext data, and analyze this plaintext data to obtain the analysis results. In other words, during data transmission, the data passing through the non-trusted domain is encrypted data, thus ensuring the security of data read from the trusted domain and transmitted to the non-trusted domain.
[0060] The above combination Figure 2 This application provides a detailed description of the secure communication method for distributed database nodes provided in its embodiments. The following describes a secure communication system for distributed database nodes that implements this method.
[0061] The system includes a data management device located in a first trusted domain and distributed storage nodes located in a second trusted domain. The first and second trusted domains are connected via a non-trusted domain communication link. The data management device is configured to: when analyzing at least one type of data, send a data acquisition request to N storage nodes in the second trusted domain, requesting at least one type of data stored on the N storage nodes; receive encrypted data information from the second trusted domain; decrypt the encrypted data information to obtain at least one type of plaintext data; and analyze the at least one type of plaintext data to obtain data analysis results.
[0062] The system is specifically configured to perform the above. Figure 2 For details on the methods described above, please refer to the relevant descriptions.
[0063] For example, Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device can be a terminal or network device, or it can be a chip (system) or other component or assembly that can be disposed in a terminal or network device. Figure 4 As shown, the electronic device 500 may include a processor 501. Optionally, the electronic device 500 may also include a memory 502 and / or a transceiver 503. The processor 501 is coupled to the memory 502 and the transceiver 503, for example, via a communication bus.
[0064] The following is combined with Figure 4 A detailed introduction to each component of the electronic device 500 is provided below: The processor 501 is the control center of the electronic device 500. It can be a single processor or a collective term for multiple processing elements. For example, the processor 501 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement the embodiments of this application, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).
[0065] Optionally, the processor 501 can perform various functions of the electronic device 500 by running or executing software programs stored in the memory 502 and by calling data stored in the memory 502, such as performing the aforementioned functions. Figure 3 The method for secure communication between distributed database nodes is shown.
[0066] In a specific implementation, as one example, the processor 501 may include one or more CPUs, for example... Figure 4 CPU0 and CPU1 are shown in the diagram.
[0067] In a specific implementation, as one embodiment, the electronic device 1200 may also include multiple processors. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). Here, a processor may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0068] The memory 502 is used to store the software program that executes the solution of this application, and is controlled by the processor 501 to execute it. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.
[0069] Optionally, the memory 502 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 502 may be integrated with the processor 501 or exist independently, and may be accessed through the interface circuit of the electronic device 500. Figure 4 (Not shown in the image) is coupled to processor 501, and this embodiment does not specifically limit this.
[0070] Transceiver 503 is used for communication with other electronic devices. For example, if electronic device 500 is a terminal, transceiver 503 can be used to communicate with a network device or with another terminal device. As another example, if electronic device 500 is a network device, transceiver 503 can be used to communicate with a terminal or with another network device.
[0071] Alternatively, transceiver 503 may include a receiver and a transmitter. Figure 4 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.
[0072] Optionally, the transceiver 503 can be integrated with the processor 501, or it can exist independently and be connected via the interface circuit of the electronic device 500. Figure 4 (Not shown in the image) is coupled to processor 501, and this embodiment does not specifically limit this.
[0073] It should be noted that, Figure 4 The structure of the electronic device 500 shown does not constitute a limitation on the electronic device. Actual electronic devices may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0074] Furthermore, the technical effects of the electronic device 500 can be referenced from the technical effects of the distributed database node secure communication method described in the above method embodiments, and will not be repeated here.
[0075] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0076] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0077] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0078] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0079] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be a single item or multiple items.
[0080] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0081] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0082] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0083] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0084] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0085] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0086] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0087] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A secure communication method for distributed database nodes, characterized in that, The method is applied to a data management device located in a first trusted domain, with distributed storage nodes located in a second trusted domain, and the first and second trusted domains connected via a non-trusted domain communication connection; the method includes: When it is necessary to analyze at least one type of data, the data management device sends a data acquisition request to N storage nodes in the second trusted domain. The data acquisition request is used to request the provision of the at least one type of data, which is stored in the N storage nodes, where N is an integer greater than 1. The data management device receives encrypted data information from the second trusted domain; The data management device decrypts the encrypted data information to obtain plaintext data of at least one type; The data management device analyzes the at least one type of plaintext data to obtain data analysis results; The encrypted data information is information encrypted by a portion of the M storage nodes in the second trusted domain. The encryption is performed by the data management device, where M is an integer greater than N. The M storage nodes include the N storage nodes and also include MN storage nodes other than the N storage nodes. The MN storage nodes are used to forward the at least one type of data. When it is necessary to analyze at least one type of data, the method further includes: The data management device determines that the at least one type of data is distributed and stored in N storage nodes in the second trusted domain; The data management device determines a first topology relationship based on the topology relationship between storage nodes in the second trusted domain. The storage nodes in the first topology relationship are the M storage nodes. The first topology relationship indicates the routing path for the data stored by the N storage nodes to be sent to the security gateway of the first trusted domain through the M storage nodes. The communication connection between the first trusted domain and the second trusted domain through a non-trusted domain includes: the data management device communicating with the security gateway through the non-trusted domain communication. Accordingly, the data acquisition request includes the data routing information of each of the N storage nodes in the first topology.
2. The method according to claim 1, characterized in that, For the i-th storage node among the N storage nodes, where i is any integer from 1 to N, if the i-th storage node has a previous hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the information of the sending port of the previous hop storage node. If the i-th storage node has a next-hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the receiving port information of the next-hop storage node; or if the i-th storage node does not have a next-hop storage node in the first topology, then the data routing information of the i-th storage node in the first topology includes the receiving port information of the security gateway.
3. The method according to claim 1, characterized in that, The method further includes: The data management device determines a data encryption strategy based on the first topology relationship. Correspondingly, the data acquisition request also includes a data encryption strategy, which instructs the storage nodes to perform encryption.
4. The method according to claim 3, characterized in that, The first topology is a tree-like branch structure. The storage node that serves as the root node in the tree-like branch structure among the M storage nodes is connected to the security gateway. The tree-like branch structure includes multiple branches, and the N storage nodes are distributed on the multiple branches. The data encryption policy indicates that the first type of storage nodes among the M storage nodes need to perform encryption, and the second type of storage nodes among the M storage nodes do not need to perform encryption. Wherein, the second type of storage node is a storage node that serves as the root node of at least two of the plurality of branches, and the first type of storage node is any other storage node among the M storage nodes besides the second type of storage node. Each of the M storage nodes is used to determine whether it belongs to the first type of storage node or the second type of storage node based on its own data routing information in the first topology relationship.
5. The method according to claim 4, characterized in that, The first storage node is any one of the N storage nodes; If the first storage node is one of the storage nodes performing encryption, and if the first storage node has a previous hop storage node in the first topology, then the first storage node is configured to: encrypt the ciphertext or plaintext data received from the previous hop storage node together with the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next hop storage node of the first storage node in the first topology or the security gateway. If the first storage node is one of the storage nodes performing encryption, and if the first storage node does not have a previous hop storage node in the first topology, then the first storage node is configured to: encrypt the plaintext data provided by the first storage node itself to obtain ciphertext data, and send the ciphertext data to the next hop storage node of the first storage node in the first topology or the security gateway. If the first storage node is not one of the storage nodes performing encryption, and if the first storage node has a previous storage node in the first topology, then the first storage node is configured to: package the ciphertext or plaintext data received from the previous storage node and the plaintext data provided by the first storage node itself, and send them to the next hop storage node in the first topology or the security gateway. If the first storage node is not among the storage nodes performing encryption, and if the first storage node has no previous hop storage node in the first topology, then the first storage node is configured to send plaintext data provided by the first storage node itself to the next hop storage node or the security gateway in the first topology. The encrypted or plaintext data belongs to at least one of the data types, and the plaintext data provided by the first storage node itself also belongs to at least one of the data types.
6. The method according to claim 4, characterized in that, The second storage node is any one of the MN storage nodes; When the second storage node belongs to the part of the storage nodes that perform encryption, the second storage node is configured to: encrypt the ciphertext or plaintext data received from the previous hop storage node again to obtain ciphertext data, and send the ciphertext data to the next hop storage node or the security gateway in the first topology relationship of the second storage node; If the second storage node is not among the storage nodes performing encryption, the second storage node is configured to package ciphertext or plaintext data received from the previous hop storage node and send it to the next hop storage node or the security gateway in the first topology. The encrypted or plaintext data belongs to at least one of the data types.
7. The method according to claim 1, characterized in that, The data management device decrypts the encrypted data information to obtain the at least one type of plaintext data, including: The data management device decrypts the encrypted data information according to the data encryption strategy to obtain the at least one type of plaintext data.
8. A distributed database node secure communication system, characterized in that, The system includes a data management device located in a first trusted domain, and distributed storage nodes located in a second trusted domain. The first trusted domain and the second trusted domain are connected via a non-trusted domain communication connection. The data management device is configured to: When it is necessary to analyze at least one type of data, the data management device sends a data acquisition request to N storage nodes in the second trusted domain. The data acquisition request is used to request the provision of the at least one type of data, and the at least one type of data is stored in the N storage nodes. The data management device receives encrypted data information from the second trusted domain; The data management device decrypts the encrypted data information to obtain plaintext data of at least one type; The data management device analyzes the at least one type of plaintext data to obtain data analysis results; The encrypted data information is information encrypted by a portion of the M storage nodes in the second trusted domain. The encryption is performed by the data management device, where M is an integer greater than N. The M storage nodes include the N storage nodes and also include MN storage nodes other than the N storage nodes. The MN storage nodes are used to forward the at least one type of data. In cases where at least one type of data needs to be analyzed, it also includes: The data management device determines that the at least one type of data is distributed and stored in N storage nodes in the second trusted domain; The data management device determines a first topology relationship based on the topology relationship between storage nodes in the second trusted domain. The storage nodes in the first topology relationship are the M storage nodes. The first topology relationship indicates the routing path for the data stored by the N storage nodes to be sent to the security gateway of the first trusted domain through the M storage nodes. The communication connection between the first trusted domain and the second trusted domain through a non-trusted domain includes: the data management device communicating with the security gateway through the non-trusted domain communication. Accordingly, the data acquisition request includes the data routing information of each of the N storage nodes in the first topology.