Privacy computation method, algorithm plug-in and heterogeneous privacy computation joint system
By implementing protocol conversion between heterogeneous privacy computing systems through algorithm plugins, the problem of interoperability between heterogeneous systems is solved, enabling secure data fusion computing across institutions and reducing costs and complexity.
Patent Information
- Application Number
- CN202211514829.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2042-11-28
AI Technical Summary
The inability of heterogeneous privacy computing systems to work together and communicate with each other results in high software costs, difficulty in system integration, and high daily maintenance costs.
By using algorithm plugins as intermediaries, and by encapsulating the conversion between local privacy computing protocols and other privacy computing protocols, interconnection and interoperability between heterogeneous privacy computing systems can be achieved.
It enables joint statistical interconnection and interoperability of heterogeneous privacy computing systems, reducing the trouble and cost for enterprises to deploy multiple privacy computing systems and meeting the requirements for secure fusion computing of data across organizations.
Smart Images

Figure CN115941156B_ABST
Abstract
Description
Technical Field
[0001] This disclosure belongs to the field of information security technology, and more specifically, relates to a privacy computing method, a heterogeneous privacy computing system, an algorithm plugin, a heterogeneous privacy computing joint system, an electronic device, a storage medium, and a program product. Background Technology
[0002] The value of data lies in data fusion, but multi-party data circulation presents challenges such as data privacy breaches. Privacy-preserving computation, a technology integrating multiple cryptographic protocols, enables multi-party computational tasks while protecting the data itself from external disclosure. The development of privacy-preserving computation technology has effectively addressed the issue of data privacy protection during data circulation, breaking down "data silos." With the rapid development of the big data industry, numerous privacy-preserving computation systems have been developed and are in use. However, different types of privacy-preserving computation systems may have different technology stacks and design philosophies, resulting in many heterogeneous privacy-preserving computation systems on the market that are not interconnected. The inability of parties using these heterogeneous privacy-preserving computation systems to interconnect creates new "technology silos" and "data islands."
[0003] In realizing the concept disclosed herein, the inventors discovered at least the following problems in the prior art: the development of privacy computing systems currently mostly adopts a closed-source approach in order to protect independent technological innovation. This makes it impossible for heterogeneous privacy computing system products to collaborate and interoperate. As a result, when multiple parties involved in privacy computing are involved in heterogeneous privacy computing systems, at least some of the parties have to use multiple privacy computing system products at the same time, resulting in high software costs, difficulty in system integration, and high daily operation and maintenance costs. Summary of the Invention
[0004] In view of this, embodiments of the present disclosure provide a privacy computing method, algorithm plugin, heterogeneous privacy computing system, heterogeneous privacy computing joint system, electronic device, storage medium, and program product that enable interoperability between heterogeneous privacy computing systems.
[0005] One aspect of this disclosure provides a privacy computing method executed by an algorithm plugin. The method includes: receiving outward forwarding information sent by a local privacy computing system according to a local privacy computing protocol, the outward forwarding information including first outward data and destination information, wherein the local privacy computing system and the algorithm plugin are both installed in the same heterogeneous privacy computing system; obtaining a first general privacy computing protocol used when the heterogeneous privacy computing system and the destination-end privacy computing system indicated by the destination information jointly perform privacy computing; when the local privacy computing protocol is consistent with the first general privacy computing protocol, forwarding the first outward data to the destination-end privacy computing system according to the destination information; and when the local privacy computing protocol is inconsistent with the first general privacy computing protocol, first converting the first outward data into second outward data according to a first conversion algorithm, and then forwarding the second outward data to the destination-end privacy computing system according to the destination information. The first conversion algorithm is an algorithm for converting data using the local privacy computing protocol into data conforming to the first general privacy computing protocol; wherein the first conversion algorithm is pre-encapsulated in the algorithm plugin.
[0006] According to embodiments of this disclosure, the method further includes: receiving internal forwarding information sent by an external privacy computing system to the heterogeneous privacy computing system, the internal forwarding information including first internal forwarding data to be forwarded and information of the external privacy computing system; determining a second general privacy computing protocol used by the heterogeneous privacy computing system and the external privacy computing system when jointly performing privacy computing based on the information of the external privacy computing system; forwarding the first internal forwarding data to the local privacy computing system when the local privacy computing protocol is consistent with the second general privacy computing protocol; and forwarding the first internal forwarding data to the local privacy computing system when the local privacy computing protocol is inconsistent with the second general privacy computing protocol; wherein, the second conversion algorithm is an algorithm for converting data using the second general privacy computing protocol into data conforming to the local privacy computing protocol; wherein, the second conversion algorithm is pre-encapsulated in the algorithm plugin.
[0007] According to embodiments of this disclosure, when the heterogeneous privacy computing system, the destination privacy computing system, and the external privacy computing system jointly participate in the same privacy computing, the first general privacy computing protocol is the same as the second general privacy computing protocol; wherein, the destination privacy computing system and the external privacy computing system are the same privacy computing system or different privacy computing systems.
[0008] According to embodiments of this disclosure, in the local privacy computing protocol and the first general privacy computing protocol, one is homomorphic encryption and the other is secret sharing.
[0009] According to an embodiment of this disclosure, when the local privacy computing protocol is homomorphic encryption and the first general privacy computing protocol is secret sharing, the step of converting the first outgoing data into second outgoing data according to the first conversion algorithm includes: generating N-1 first random numbers, processing the opposite of the N-1 first random numbers and the first outgoing data according to homomorphic addition to obtain second random numbers; and summing the N-1 first random numbers and the second random numbers to obtain the second outgoing data, wherein N is the secret sharing share determined according to secret sharing in the privacy computing, and N is an integer greater than or equal to 3.
[0010] According to embodiments of this disclosure, when the local privacy computing protocol is secret sharing and the first general privacy computing protocol is homomorphic encryption, the first outgoing data includes N-1 secret data secretly shared by the local privacy computing system. Then, converting the first outgoing data into second outgoing data according to the first conversion algorithm includes: generating N-1 third random numbers; sending the N-1 third random numbers to the local privacy computing system; receiving secret combination data sent by the local privacy computing system, wherein the secret combination data is obtained by combining the secrets held by the local privacy computing system with the N-1 third random numbers; based on the N-1 secret data, the N-1 third random numbers, and the secret combination data, reversing to obtain the original data of the secrets to be shared by the local privacy computing system; and homomorphically encrypting the original data to obtain the second outgoing data.
[0011] A second aspect of this disclosure provides an algorithm plugin. The algorithm plugin includes a local interaction module, a protocol conversion module, and an external interaction module. The local interaction module is configured to: receive external forwarding information sent by a local privacy computing system according to a local privacy computing protocol, the external forwarding information including first outgoing data and destination information, wherein the local privacy computing system and the algorithm plugin are both installed in the same heterogeneous privacy computing system; and acquire a first general privacy computing protocol used when the heterogeneous privacy computing system and the destination privacy computing system indicated by the destination information jointly perform privacy computing. The protocol conversion module is configured to convert the first outgoing data into second outgoing data according to a first conversion algorithm when the local privacy computing protocol is inconsistent with the first general privacy computing protocol; wherein the first conversion algorithm is an algorithm for converting data using the local privacy computing protocol into data conforming to the first general privacy computing protocol; wherein the first conversion algorithm is pre-encapsulated in the algorithm plugin. The external interaction module is configured to: forward the first outgoing data to the destination privacy computing system according to the destination information when the local privacy computing protocol is consistent with the first general privacy computing protocol; and forward the second outgoing data to the destination privacy computing system according to the destination information when the local privacy computing protocol is inconsistent with the first general privacy computing protocol.
[0012] According to embodiments of this disclosure, the external interaction module is further configured to: receive internal forwarding information sent by an external privacy computing system to the heterogeneous privacy computing system, the internal forwarding information including first internal forwarding data to be forwarded and information of the external privacy computing system; and, based on the information of the external privacy computing system, determine a second general privacy computing protocol used when the heterogeneous privacy computing system and the external privacy computing system jointly perform privacy computing. The protocol conversion module is further configured to, when the local privacy computing protocol is inconsistent with the second general privacy computing protocol, first convert the first internal forwarding data into second internal forwarding data according to a second conversion algorithm, wherein the second conversion algorithm is an algorithm for converting data using the second general privacy computing protocol into data conforming to the local privacy computing protocol; wherein the second conversion algorithm is pre-encapsulated in the algorithm plugin. The local interaction module is further configured to: forward the first internal forwarding data to the local privacy computing system when the local privacy computing protocol is consistent with the second general privacy computing protocol, and forward the second internal forwarding data to the local privacy computing system when the local privacy computing protocol is inconsistent with the second general privacy computing protocol.
[0013] A third aspect of this disclosure provides a heterogeneous privacy computing system. The heterogeneous privacy computing system includes: a local privacy computing system and an algorithm plugin as described above. The local privacy computing system is used for data processing and data interaction in privacy computing according to a local privacy computing protocol.
[0014] A fourth aspect of this disclosure provides a heterogeneous privacy computing joint system. The heterogeneous privacy computing joint system includes at least one heterogeneous privacy computing system and an algorithm plugin registration service center. Each heterogeneous privacy computing system includes a local privacy computing system, which performs data processing and data interaction in privacy computing according to a local privacy computing protocol. The algorithm plugin registration service center is used to register and manage at least one algorithm plugin as described above. The heterogeneous privacy computing system is further used to: apply to the algorithm plugin registration service center to download an algorithm plugin corresponding to the local privacy computing protocol used by the local privacy computing system in the heterogeneous privacy computing system, and install the downloaded algorithm plugin into the heterogeneous privacy computing system.
[0015] According to embodiments of this disclosure, the algorithm plugin registration service center is specifically used for: receiving registration applications for the algorithm plugin, registering information of the algorithm plugins applying for registration, and storing the installation packages of the algorithm plugins.
[0016] According to embodiments of this disclosure, the algorithm plugin registration service center is further configured to: receive a download request for the algorithm plugin sent by the heterogeneous privacy computing system; register the network link information of the heterogeneous privacy computing system that applied to download the algorithm plugin; and send the installation package of the algorithm plugin to the heterogeneous privacy computing system that applied for the algorithm plugin.
[0017] According to embodiments of this disclosure, the algorithm plugin registration service center is further configured to: during the privacy computing process, provide the heterogeneous privacy computing system with the local privacy computing protocols and network link information of other participants in the privacy computing, based on the invocation of the heterogeneous privacy computing system, wherein the other participants include the initiator of the privacy computing.
[0018] A fifth aspect of this disclosure provides an electronic device. The electronic device includes one or more memories and one or more processors. The memories store executable instructions. The processors execute the executable instructions to implement the method described above.
[0019] A sixth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed, are used to implement the method described above.
[0020] A seventh aspect of this disclosure provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the method described above.
[0021] The above one or more embodiments have the following advantages or beneficial effects: they can at least partially solve the problem of the inability of heterogeneous privacy computing systems to interconnect. By using algorithm plugins as the medium for interaction in the privacy computing process, the local privacy computing system interacts with other participants in privacy computing through algorithm plugins. The algorithm plugins encapsulate the conversion between the local privacy computing protocol and other privacy computing protocols, enabling interconnection and interoperability of joint statistics between heterogeneous privacy computing systems under the current closed-source development of privacy computing systems. This better and faster meets the secure fusion computing of data across institutions, saving enterprises the trouble and cost of deploying multiple privacy computing systems. Attached Figure Description
[0022] The above and other objects, features and advantages of this disclosure will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0023] Figure 1 This illustration schematically depicts an application scenario of a heterogeneous privacy computing system according to an embodiment of the present disclosure;
[0024] Figure 2 This illustration schematically depicts an application scenario of a heterogeneous privacy computing system according to another embodiment of the present disclosure;
[0025] Figure 3 A flowchart illustrating a privacy computing method according to an embodiment of the present disclosure is shown schematically.
[0026] Figure 4 A flowchart illustrating a privacy computing method according to another embodiment of this disclosure is shown schematically;
[0027] Figure 5 The illustration schematically shows the processing flow of a privacy computing method according to another embodiment of the present disclosure;
[0028] Figure 6 This illustration schematically shows a flowchart of the protocol conversion performed by the algorithm plugin when the local privacy computing protocol is homomorphic encryption and the general privacy computing protocol is secret sharing in one embodiment;
[0029] Figure 7 The application is illustrated schematically. Figure 6 This is a specific computational example of implementing privacy-preserving computation through a protocol conversion process;
[0030] Figure 8 This schematically illustrates the architecture of a heterogeneous privacy computing federated system according to an embodiment of the present disclosure;
[0031] Figure 9 This schematically illustrates a structural block diagram of an algorithm plugin registration service center in a heterogeneous privacy computing federated system according to an embodiment of the present disclosure;
[0032] Figure 10 A schematic diagram illustrating the structure of an algorithm plugin according to an embodiment of the present disclosure is shown.
[0033] Figure 11 This schematically illustrates a structural block diagram of the interoperability function in a heterogeneous privacy computing system according to an embodiment of the present disclosure.
[0034] Figure 12 A schematic diagram illustrating the data processing and interaction flowchart in a heterogeneous privacy computing federated system according to embodiments of the present disclosure; and
[0035] Figure 13 A block diagram schematically illustrates an electronic device suitable for implementing the method according to embodiments of the present disclosure. Detailed Implementation
[0036] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0037] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0038] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0039] When using expressions such as "at least one of A, B, and C," the expression should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, a system having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, features defined with "first" or "second" may explicitly or implicitly include one or more features.
[0040] In realizing the concept of this invention, the inventors discovered that in the prior art, to achieve data interoperability between heterogeneous privacy computing systems of different enterprises, it is generally necessary to negotiate that all parties use one set of privacy computing systems for joint privacy computing. This means that all parties must deploy the agreed-upon privacy computing system. If a party has not previously deployed this privacy computing system, it will have to deploy it additionally on top of its existing privacy computing systems.
[0041] In view of this, embodiments of the present disclosure provide a privacy computing method, algorithm plugin, heterogeneous privacy computing system, heterogeneous privacy computing joint system, electronic device, storage medium, and program product that enable interoperability between heterogeneous privacy computing systems.
[0042] According to embodiments of this disclosure, a heterogeneous privacy computing system can install an algorithm plugin on top of an existing local privacy computing system (hereinafter referred to as the "local privacy computing system"). This algorithm plugin serves as a medium or intermediary for interaction between the local privacy computing system and other parties involved in privacy computing. During the interaction process, the algorithm plugin can construct data that meets the requirements of the data receiver's protocol, based on the privacy computing protocol adopted by the data receiver, thereby achieving the conversion between different privacy computing protocols.
[0043] It should be noted that the privacy computing methods, algorithm plugins, heterogeneous privacy computing systems, heterogeneous privacy computing joint systems, electronic devices, media, and program products determined in the embodiments of this disclosure can be used in the financial field, or in any field other than the financial field. This disclosure does not limit the application field.
[0044] The key terms used in this article are explained below:
[0045] When used as an adjective, "heterogeneous" refers to the phenomenon or situation where different privacy computing systems employ different privacy computing protocols. This is due to the different technology stacks and design concepts of different privacy computing systems.
[0046] Homomorphic encryption (HE) refers to a class of cryptographic methods that allow operations to be performed on the ciphertext space. In the initialization phase of homomorphic encryption, the homomorphic encryption algorithm generates key pairs.<pk,sk> In this algorithm, the public key pk is used for encryption and can be shared with other participants, while the private key sk is used for decryption and cannot be shared. Given integers x and y, a homomorphic encryption algorithm satisfies the following operations and properties:
[0047] • Encryption: Enc(x, pk)->[x].
[0048] • Decryption: Dec(x, sk)->[x].
[0049] Homomorphic addition: Hadd([x], [y]) → [z], where [z] satisfies Dec([z], sk) = x + y. This means that the sum of the two homomorphically encrypted values [z] is decrypted as z = x + y.
[0050] For example, participant C uses the numerical value x from participant A and the numerical value y from participant B to jointly calculate the sum of x and y. When implementing this joint statistical method based on homomorphic encryption, participant C first generates a public-private key pair (pk, sk); participants A and B respectively use the public key pk to homomorphically encrypt x and y into [x] and [y]; then participant A or participant B uses homomorphic addition to calculate [x] + [y] = [z], sends it to participant C, and finally participant C homomorphically decrypts [z] using the private key sk to obtain the calculated result z.
[0051] Secret Sharing (SS) is a commonly used cryptographic method in privacy computing. The main idea behind Secret Sharing is to split a numerical value into multiple secrets and distribute each secret to different participants, ensuring that none of the participants know the true value. For example, participant C uses participant A's value x and participant B's value y to jointly calculate the sum of x and y using Secret Sharing. Participants A and B secretly share x and y as [xA, xB, xC] and [yA, yB, yC] respectively, satisfying xA + xB + xC = x and yA + yB + yC = y. In this scenario, participant A holds xA and yA and calculates z1 = xA + yA; participant B holds xB and yB and calculates z2 = xB + yB; and participant C holds xC and yC and calculates z3 = xC + yC. Participants A, B, and C send the intermediate calculation results z1, z2, and z3 to participant C. Participant C obtains the joint statistical value by calculating Z = Z1 + z2 + z3 = xA + yA + xB + yB + xC + yC = x + y. At the same time, participants A, B, and C do not know the actual values of x and y.
[0052] Figure 1 The illustration schematically depicts an application scenario 100 of a heterogeneous privacy computing system 101 according to an embodiment of the present disclosure.
[0053] like Figure 1 As shown, the heterogeneous privacy computing system 101 according to the embodiments of this disclosure can be applied in application scenario 100. The heterogeneous privacy computing system 101 includes a local privacy computing system and an algorithm plugin.
[0054] In addition to the heterogeneous privacy computing system 101, application scenario 100 may also include multiple privacy computing systems 10. The heterogeneous privacy computing system 101 and the multiple privacy computing systems 10 can communicate via network 11. The privacy computing system 10 can be any type of conventional privacy computing system.
[0055] For example, in application scenario 100, most of the companies involved in privacy computing have already deployed the same privacy computing system. In this case, if one party's original privacy computing system is different from the others, it can install an algorithm plugin locally. This allows it to use its own deployed privacy computing system as a local privacy computing system in the heterogeneous privacy computing system 101, communicate with the algorithm plugin, and then interconnect with the privacy computing systems of other parties in the privacy computing process through the algorithm plugin.
[0056] Alternatively, the actual application scenario corresponding to application scenario 100 could be that when an enterprise needs to perform joint queries with different enterprises for different privacy computing needs, and the privacy computing protocols required in the different joint query needs are different, an algorithm plugin can be installed according to the requirements, so that only one privacy computing system is installed locally. Through the protocol conversion of the algorithm plugin, the heterogeneous privacy computing in the corresponding scenario can be met.
[0057] Figure 2 The illustration schematically depicts an application scenario 200 of a heterogeneous privacy computing system 201 according to another embodiment of the present disclosure.
[0058] like Figure 2 As shown, in this application scenario 200, all parties involved in privacy computing deploy heterogeneous privacy computing systems 201, wherein each heterogeneous privacy computing system 201 includes a local privacy computing system and an algorithm plugin.
[0059] In application scenario 200, the heterogeneous privacy computing systems 201 communicate via network 202. Each heterogeneous privacy computing system 201 uses an algorithm plugin to separate the data interaction process into external and internal parts. External interaction is mediated by the algorithm plugin, while internal interaction occurs between the algorithm plugin and the local privacy computing system. The algorithm plugin encapsulates the conversion between different privacy computing protocols, ensuring that regardless of whether the privacy computing protocols used by the participating parties (i.e., their local privacy computing systems) are the same, a unified privacy computing protocol is used during external interactions. This approach solves the problem in existing technologies where different technology vendors employ different technical approaches, resulting in ineffective interconnection between heterogeneous privacy computing systems.
[0060] This disclosure embodiment, for application scenario 200, can also set up an algorithm plugin registration service center (as described below). Figure 8 The algorithm plugin registration service center (801) manages and maintains algorithm plugins, improving the interoperability efficiency between heterogeneous privacy computing systems.
[0061] Figure 3 A flowchart illustrating a privacy computing method according to an embodiment of the present disclosure is shown.
[0062] like Figure 3 As shown, the privacy computing method according to this embodiment is executed by an algorithm plugin in a heterogeneous privacy computing system 101 or 201, and may specifically include operations S31 to S36.
[0063] First, in operation S31, the system receives outward forwarding information sent by the local privacy computing system in accordance with the local privacy computing protocol. This outward forwarding information includes the first outward data and destination information.
[0064] Then, in operation S32, the first general privacy computing protocol used when the heterogeneous privacy computing system and the destination privacy computing system indicated by the destination information jointly perform privacy computing is obtained.
[0065] Next, in operation S33, it is determined whether the local privacy computing protocol is consistent with the first general privacy computing protocol.
[0066] When the local privacy computing protocol is consistent with the first general privacy computing protocol, then in operation S34, the first outgoing data is forwarded to the destination privacy computing system according to the destination information.
[0067] When the local privacy computing protocol is inconsistent with the first general privacy computing protocol, it is handled through operations S35 and S36.
[0068] First, in operation S35, the first outgoing data is converted into second outgoing data according to a first conversion algorithm. The first conversion algorithm is used to convert data using a local privacy computing protocol into data conforming to a first general privacy computing protocol; the first conversion algorithm is pre-encapsulated in an algorithm plugin.
[0069] Then, in operation S36, the second outgoing data is forwarded to the destination privacy computing system according to the destination information.
[0070] In this way, embodiments of this disclosure can convert outgoing data from a local privacy computing system into data conforming to a first general privacy computing protocol for external transmission. This is particularly suitable for scenarios where, in some privacy computing applications, the local privacy computing system may only need to transmit data externally without receiving data from external sources.
[0071] For example, when the local privacy computing protocol is homomorphic encryption, the local outgoing data will be sent out in homomorphic encryption. However, if the first general privacy computing protocol is another protocol, the algorithm plugin can process the outgoing data generated by the local privacy computing system in homomorphic encryption into data of the general privacy computing protocol before sending it out.
[0072] When data is sent from an external privacy-preserving computation system (e.g., the destination privacy-preserving computation system), if interaction with the local privacy-preserving computation system is not required, the algorithm plugin can process it directly according to the first general privacy-preserving computation protocol. If interaction with the local privacy-preserving computation system is required, then it can be processed according to... Figure 4 The process is handled using the following methods and procedures.
[0073] Figure 4 A flowchart illustrating a privacy computing method according to another embodiment of this disclosure is shown schematically.
[0074] like Figure 4 As shown, the privacy computing method according to this embodiment may further include operations S41 to S46.
[0075] In operation S41, the system receives internal forwarding information sent from the external privacy computing system to the heterogeneous privacy computing system. The internal forwarding information includes the first internal forwarding data to be forwarded and the information from the external privacy computing system.
[0076] In operation S42, based on information from the external privacy computing system, the second general privacy computing protocol to be used when the heterogeneous privacy computing system and the external privacy computing system jointly perform privacy computing is determined.
[0077] Then, in operation S43, it is determined whether the local privacy computing protocol is consistent with the second general privacy computing protocol.
[0078] When the local privacy computing protocol is consistent with the second general privacy computing protocol, the first internal forwarding data is forwarded to the local privacy computing system in operation S44.
[0079] When the local privacy computing protocol is inconsistent with the second general privacy computing protocol, operations S45 and S46 are performed.
[0080] Firstly, in operation S45, the first internal forwarding data is converted into second internal forwarding data according to the second conversion algorithm. The second conversion algorithm is used to convert data using a second general privacy computing protocol into data conforming to a local privacy computing protocol; the second conversion algorithm is pre-encapsulated in an algorithm plugin.
[0081] Then, in operation S46, the second internal forwarding data is forwarded to the local privacy computing system.
[0082] In one embodiment, if Figure 3 The destination privacy computing system mentioned in the text and Figure 4 The external privacy computing system mentioned above is the same, or when the destination privacy computing system, the external privacy computing system, and the heterogeneous privacy computing system with the algorithm plugin installed jointly perform privacy computing, the first general privacy computing protocol and the second general privacy computing protocol can be the same, serving as the general privacy computing protocol in the joint privacy computing process. In other words, in one embodiment, regardless of whether the local privacy computing protocols used by each privacy computing system participating in the joint privacy computing are the same, a unified general privacy computing protocol can be adopted externally during joint privacy computing through negotiation, and the protocol conversion can be implemented by the algorithm plugin.
[0083] Figure 5 The illustration shows a flowchart of a privacy computing method performed by a heterogeneous privacy computing system 501 according to another embodiment of the present disclosure.
[0084] like Figure 5 As shown, combined with Figure 3 and Figure 4 The privacy computing method according to another embodiment of the present disclosure may include operations S51, S52 and S53.
[0085] During operation S51, in the privacy computation involving the heterogeneous privacy computation system 501, the local privacy computation system and the algorithm plugin interact according to the local privacy computation protocol adopted by the local privacy computation system.
[0086] When operating S52, the algorithm plugin interacts with other participants in privacy computing in accordance with a common privacy computing protocol agreed upon by all participants.
[0087] In application scenario 100, the general privacy computing protocol can be the protocol adopted by privacy computing system 10. In application scenario 200, the general privacy computing protocol can be the protocol adopted by the local privacy computing system of the heterogeneous privacy computing system 201 that initiates privacy computing, or it can be a protocol determined by voting and negotiation among multiple heterogeneous privacy computing systems 201 in application scenario 200.
[0088] When the local privacy computing protocol of the heterogeneous privacy computing system 501 differs from the general privacy computing protocol, the algorithm plugin, acting as an intermediary between the local privacy computing system and other participants, performs protocol conversion between the local and general privacy computing protocols before sending data in operation S53. Similarly, when the local and general privacy computing protocols are the same, if the heterogeneous privacy computing system 501 is not the initiator of the privacy computing, the algorithm plugin directly forwards the data during the interaction. Alternatively, if the heterogeneous privacy computing system 501 is the initiator of the privacy computing, and other participants perform protocol conversion before interacting with the initiator, the algorithm plugin can decrypt the data based on the protocol conversion before sending data to the local privacy computing system. When the heterogeneous privacy computing system 501 is the initiator of the privacy computing, and the local privacy computing protocols of other participants may differ from those of the initiator, sometimes the algorithm plugin of the initiator needs to perform decryption functions (e.g., data decryption) that the initiator's local privacy computing protocol does not possess. For details, please refer to the section below. Figure 7 An introduction to the operation of the algorithm plugin for participant C.
[0089] As can be seen, according to the embodiments of this disclosure, in privacy computing involving the heterogeneous privacy computing system 501, the algorithm plugin in the heterogeneous privacy computing system 501 can act as an intermediary between the local privacy computing system and other participants in the privacy computing, providing a data processing environment suitable for the local privacy computing protocol to the local privacy computing system, and providing a data processing environment suitable for the general privacy computing protocol to other participants. The implementation of the data conversion mechanism between the two is encapsulated in the algorithm plugin.
[0090] According to one embodiment of this disclosure, in a local privacy computing protocol and a general privacy computing protocol, one uses homomorphic encryption and the other uses secret sharing. Since homomorphic encryption and secret sharing are two widely used privacy computing protocols, this embodiment combines… Figure 6 and Figure 7 The illustration provides a detailed explanation of the conversion between these two protocols.
[0091] Figure 6The illustration shows a flowchart of the protocol conversion performed by the algorithm plugin when the local privacy computing protocol is homomorphic encryption and the general privacy computing protocol is secret sharing, in one embodiment.
[0092] like Figure 6 As shown, when the local privacy computing protocol is homomorphic encryption and the general privacy computing protocol is secret sharing, as described in the homomorphic encryption process above, the local privacy computing system needs to use the public key pk provided by the initiator to encrypt the data (e.g., y) to be provided to the initiator to obtain [y]. Then, the local privacy computing system can send [y] to the locally installed algorithm plugin. When the algorithm plugin interacts with other participants in the privacy computing, it follows the secret sharing principle. That is, the algorithm plugin needs to share N-1 data points (where N is the secret sharing share determined according to the secret sharing principle in the privacy computing, and N is an integer greater than or equal to 3) according to the aforementioned secret sharing process. Thus, before sending N-1 data points to other participants, the algorithm plugin can convert the homomorphically encrypted first data (e.g., [y]) received from the local privacy computing system into N data points that conform to the secret sharing protocol. The specific process includes operations S601 to S603.
[0093] First, operate S601 to generate N-1 initial random numbers.
[0094] Then, in operation S602, the opposites of the N-1 first random numbers and the first data are processed by homomorphic addition to obtain the second random number.
[0095] Next, in operation S603, the N-1 first and second random numbers are aggregated to obtain N data points, where N is the secret sharing share determined according to the secret sharing. These N data points are the transformed outgoing data, i.e., the second outgoing data obtained in operation S35.
[0096] For example, when three parties participate in the privacy computation, the secret sharing share N=3, and the two generated first random numbers are yA and yB. Then, the second random number calculated in operation S602 is: [yC] = Hadd[([y]) + (-yA) + (-yB)]. Thus, the algorithm plugin can convert the received homomorphically encrypted [y] into yA, yB, and [yC], obtaining three data points conforming to the secret sharing protocol, achieving the conversion between homomorphic encryption and the secret sharing protocol. Afterward, the algorithm plugin can interact with other participants according to the secret sharing protocol.
[0097] Figure 7 The application is illustrated schematically. Figure 6 This is a specific computational example of implementing privacy-preserving computation through a protocol conversion process.
[0098] like Figure 7 As shown, the participants in privacy computing include three parties, A, B, and C, among which the heterogeneous privacy computing system of this disclosure embodiment is deployed in all three parties, A, B, and C.
[0099] In a privacy-preserving computation requirement, participant C is the initiator. For example, participant C uses the value x from participant A and the value y from participant B to jointly calculate the sum of x and y. The privacy-preserving computation systems of participants A and C employ a secret-sharing protocol for joint calculation, while participant B's privacy-preserving computation system employs a homomorphic encryption protocol. Participants A, B, and C all use the heterogeneous privacy-preserving computation system of this disclosure embodiment, and all interact with other participants through algorithm plugins. Since participant A and initiator C use the same protocol, the algorithm plugin deployed in participant A primarily serves as a data forwarding mechanism. However, participant B uses a different protocol than initiator C, so participant B can... Figure 4 The illustrated process transforms homomorphically encrypted data [y] generated in the local privacy computing system B into secret-shared data yA, yB, and [yC]. Initiator C receives data from participants A and B according to the secret-sharing protocol. However, since participant B's data contains encrypted data, initiator C's algorithm plugin performs homomorphic decryption on the encrypted data and then forwards the data without encryption to the local privacy computing system C. Because the local privacy computing systems among the participants are heterogeneous, when initiating privacy computing, initiator C can generate a key pair <pk, sk> through its algorithm plugin, publish the public key pk to participants A and B, and retain the private key sk.
[0100] Specifically, the complete data processing flow includes operations S701 to S716.
[0101] S701: Local privacy computing system A splits the secret number x according to the original secret sharing protocol process and generates random numbers xA, xB, and xC, such that x = xA + xB + xC.
[0102] S702: Local privacy-preserving computation system A retains xA according to the original secret-sharing protocol. Local privacy-preserving computation system A communicates with external systems via an algorithm plugin, sending xB and xC.
[0103] S703: Local privacy computing system A uses a local algorithm plugin to receive xA and sends xB and xC to the algorithm plugins of participants B and C, respectively.
[0104] S704: Participant B's algorithm plugin receives xB.
[0105] S705: Local privacy computing system B performs homomorphic encryption on the value y according to the original homomorphic encryption process, such that [y] = Enc(y, pk). Local privacy computing system B sends the homomorphic encrypted value [y] to the algorithm plugin of participant B.
[0106] S706: Participant B's algorithm plugin receives [y] and simultaneously generates random numbers yA and yB.
[0107] S707: Participant B's algorithm plugin uses homomorphic addition to calculate [yC], where [yC] = Hadd[([y]) + (-yA) + (-yB)], and Hadd represents homomorphic addition.
[0108] S708: Participant B's algorithm plugin calculates z2 = xB + yB.
[0109] S709: Participant B's algorithm plugin sends {yA, yB} and {[yC], z2} to the algorithm plugins of participants A and C respectively.
[0110] S710: Participant A's algorithm plugin receives yA and forwards yA to the local privacy computing system A.
[0111] S711: Local privacy computing system A receives yA, calculates z1 = xA + yA, and then sends z1 to the algorithm plugin of participant A.
[0112] S712: Participant A's algorithm plugin receives z1 and sends z1 to participant C's algorithm plugin.
[0113] S713: Participant C's algorithm plugin receives xC, [yC], z1, and z2 sent from the algorithm plugins of participants A and B.
[0114] S714: Participant C's local algorithm plugin uses a homomorphic algorithm to decrypt [yC], such that yC = Dec([yC], sk). According to the properties of the homomorphic encryption algorithm, yC = y - yA - yB, which satisfies y = yA + yB + yC.
[0115] S715: Participant C's algorithm plugin forwards xC, yC, z1, and z2 to the local privacy computing system C.
[0116] S716: The local privacy computing system C receives xC, yC, z1, and z2 according to the original secret sharing protocol process, calculates z3 = xC + yC and z = z1 + z2 + z3, and finally obtains the joint calculation result z of x and y.
[0117] As can be seen in the above processing flow:
[0118] Participant A's algorithm plugin mainly forwards data, sharing xB (shared with B), xC (shared with C), and z1 (sent to C);
[0119] Participant B's algorithm plugin performed a protocol conversion, that is, it converted the data [y] received from the local privacy computing system B into data of the secret sharing protocol, and obtained yA, yB and [yC]. Then, according to the secret sharing protocol, it calculated z2 = xB + yB and shared yA (shared with A), [yC] (shared with C), and z2 (sent to C).
[0120] The algorithm plugin in participant C performs homomorphic decryption on [yC] obtained from B after homomorphic encryption, calculates z3 = xC + yC, and then forwards it along with other data to the local privacy computing system.
[0121] The above Figure 6 and Figure 7 The example illustrates this by using homomorphic encryption as the local privacy computing protocol and secret sharing as the general privacy computing protocol. In this example, participant B's algorithm plugin mainly performs the protocol conversion from homomorphic encryption to secret sharing.
[0122] Conversely, for example, if the local privacy computing protocol in the heterogeneous privacy computing system 501 is secret sharing, while the general privacy computing protocol is homomorphic encryption, the data processing procedure in one embodiment could be as follows: After receiving N-1 pieces of secret data to be shared from the local privacy computing system, the heterogeneous privacy computing system 501 generates N-1 third random numbers, which are then sent back to the local privacy computing system. Upon receiving the N-1 third random numbers, the local privacy computing system assumes they are secrets received from other participants in the secret sharing process. It combines its own retained secret with the N-1 third random numbers to obtain a secret combination data, which is then sent to the algorithm plugin. Upon receiving this secret combination data, the algorithm plugin can combine the N-1 pieces of secret data to be shared with the N-1 third random numbers to decipher the original secret data to be shared by the local privacy computing system. The algorithm plugin can then use its public key to homomorphically encrypt this original data and interact with other participants in the privacy computing process using the homomorphic encryption protocol.
[0123] For example, suppose in Figure 5In a scenario where the participants in a privacy-preserving computation include parties A, B, and C, B and C's local privacy-preserving computation protocols are both homomorphically encrypted, while A uses secret sharing. When the general privacy-preserving computation protocol uses homomorphic encryption, in this case, after receiving xB and xC, party A's algorithm plugin can choose not to share them externally, but instead send a random number yA to A's local privacy-preserving computation system. It can then receive z1 from A. It calculates Enc[xB+xC+z1-yA]=[x] and sends the homomorphically encrypted value [x] to C. This achieves the conversion from secret sharing to homomorphic encryption.
[0124] As can be seen, the heterogeneous privacy computing system and algorithm plugin according to the embodiments of this disclosure can realize bidirectional conversion between homomorphic encryption and secret sharing according to data transmission requirements.
[0125] It should be noted that the above examples of homomorphic encryption and secret sharing are merely illustrative. This disclosure is not limited to the conversion between homomorphic encryption and secret sharing protocols. In this disclosure, an algorithm plugin shields the specific algorithm logic of the local privacy computing system from the various participants in privacy computing. By encapsulating the underlying logic of data processing and / or protocol conversion within the algorithm logic, a computing environment suitable for the local privacy computing protocol is provided to the local privacy computing system. A computing environment suitable for a general privacy computing protocol is provided to other participants in privacy computing, thereby enabling interoperability between heterogeneous privacy computing systems and providing a technical foundation for the joint use of privacy computing systems from different technology vendors.
[0126] Figure 8 The schematic diagram illustrates the architecture of a heterogeneous privacy computing federated system 800 according to an embodiment of the present disclosure.
[0127] like Figure 8 As shown, the heterogeneous privacy computing joint system 800 includes an algorithm plugin registration service center 801 and multiple heterogeneous privacy computing systems 802 according to embodiments of this disclosure.
[0128] The Algorithm Plugin Registration Service Center 801 is used to register and manage at least one algorithm plugin.
[0129] The heterogeneous privacy computing system 802 includes a local privacy computing system and may also include an interoperability module. This interoperability module can be used to: apply to the algorithm plugin registration service center 801 to download an algorithm plugin corresponding to the local privacy computing protocol used by the local privacy computing system before installing the algorithm plugin, and then install the downloaded algorithm plugin into the privacy computing system. Specifically, each heterogeneous privacy computing system 802, when downloading algorithm plugins, downloads and installs algorithm plugins that can be used to convert the local privacy computing protocol in its own local privacy computing system. After the algorithm plugins are installed in the privacy computing system, the privacy computing system can be used to execute the aforementioned references. Figures 3-5 The description of heterogeneous privacy computing systems introduces various operations and functions.
[0130] Specifically, the algorithm plugin registration service center 801 can be used to: receive registration applications for algorithm plugins, register the information of the algorithm plugins applying for registration, and store the installation packages of the algorithm plugins. The algorithm plugin registration service center 801 can also be used to: receive download applications for algorithm plugins sent by privacy computing systems; register the network link information (e.g., IP address, port address, etc.) of the privacy computing system applying to download the algorithm plugin; and send the installation packages of the algorithm plugins to the privacy computing system that applied for the algorithm plugins.
[0131] It is evident that heterogeneous privacy-preserving computing systems 802 that install algorithm plugins through the algorithm plugin registration service center 801 all store network link information in the algorithm plugin registration service center 801. Simultaneously, the algorithm plugin registration service center 801 can also record the converted protocol content from the algorithm plugins downloaded by each heterogeneous privacy-preserving computing system 802. Therefore, during the privacy-preserving computing process, the algorithm plugin registration service center 801 can provide algorithm discovery services to other participants in the privacy-preserving computing process. Specifically, the algorithm plugin registration service center is also used to: during the privacy-preserving computing process, based on calls made by the privacy-preserving computing system, provide the privacy-preserving computing system with the local privacy-preserving computing protocols and network link information of other participants in the privacy-preserving computing process.
[0132] In one embodiment, the algorithm plugin registration service center 801 is responsible for the centralized management of algorithm plugins in multiple heterogeneous privacy computing systems 802, and provides standardized algorithm plugin services. Each heterogeneous privacy computing system 802 is responsible for establishing a connection with the algorithm plugin registration service center 801, and using the standard services of the algorithm plugin registration service center 801 to register and centrally manage its own algorithm plugins. The algorithm plugin registration service center 801 provides registration services for algorithm plugins, including parameters such as a unique algorithm plugin number, algorithm plugin name, algorithm plugin version number, algorithm function description, algorithm image package identifier, and algorithm provider, as shown in Table 1.
[0133] The heterogeneous privacy computing system 802 includes a local privacy computing system. This local privacy computing system, leveraging its own strengths and according to the technical architecture plan, develops joint statistical algorithms using different cryptographic protocols in a closed-source manner to achieve joint statistical functions for multi-party data.
[0134] After the algorithm plugin is downloaded and installed in the heterogeneous privacy computing system 802, it is responsible for converting between different cryptographic protocols. This plugin is developed and implemented by multiple technology vendors of the heterogeneous privacy computing system 802 or independent third parties. The algorithm plugin is implemented in an open-source manner, allowing for code review by all participating parties in the interoperability process. It also supports the dynamic deployment and maintenance of the algorithm plugin's installation package as an algorithm image package. When a new algorithm plugin is added, it is registered through the algorithm plugin registration service of the algorithm plugin registration service center 801. When an algorithm plugin is upgraded, it is re-registered with the algorithm plugin registration service center 801 with the new version number. When an algorithm plugin is deregistered, it is deregistered through the algorithm plugin deregistration service of the algorithm plugin registration service center 801. When multiple parties negotiate interoperability, they can negotiate and evaluate according to business tasks, ultimately determining the algorithm plugin to be adopted. The specific algorithm plugin version number is specified in the task, and the algorithm plugin image package is downloaded through the algorithm plugin download service of the algorithm plugin registration service center 801, and the network connection of the running computing node is registered. When performing interoperability between algorithm plugins, the network link of the computing node running the algorithm plugin is obtained through the algorithm plugin discovery service of the algorithm plugin registration service center 801, according to the configuration of the participants in the algorithm plugin execution task.
[0135] Table 1
[0136]
[0137] The heterogeneous privacy computing joint system 800 can be applied to the aforementioned application scenario 200. The algorithm plugin registration service center 801 manages and maintains the algorithm plugins, realizes the automatic update and installation of algorithm plugins in the heterogeneous privacy computing system 802, and improves the rapid interconnection and interoperability between heterogeneous privacy computing systems.
[0138] In the heterogeneous privacy computing joint system 800, each heterogeneous privacy computing system 802 can apply to download and install algorithm plugins corresponding to the local privacy computing protocol used by its own local privacy computing system through the algorithm plugin registration service center 801. During the privacy computing process, the algorithm plugin registration service center can be used to discover the privacy computing protocol used by the initiator or other participants of the privacy computing.
[0139] By managing algorithm plugins through the Algorithm Plugin Registration Service Center 801, it is possible to automatically download, install, delete, and deregister algorithm plugins in various heterogeneous privacy computing systems, and improve the interconnectivity between heterogeneous privacy computing systems during the privacy computing process.
[0140] The heterogeneous privacy computing federation system 800 enables joint statistical analysis among the heterogeneous privacy computing systems 802 connected to it. This means that, without disclosing the input information of each participant, they collaboratively calculate the aggregated statistical value of the input set elements. Typical application scenarios include customer total asset statistics and customer multiple loan statistics.
[0141] Figure 9 The diagram illustrates the structure of an algorithm plugin registration service center 801 in a heterogeneous privacy computing federated system 800 according to an embodiment of the present disclosure.
[0142] like Figure 9 As shown, the algorithm plugin registration service center 801 may include modules such as algorithm plugin registration 11, algorithm plugin deregistration 12, algorithm plugin download 13, and algorithm plugin discovery 14.
[0143] Algorithm Plugin Registration 11 is responsible for registering protocol conversion algorithm plugins and uploading algorithm image packages. Algorithm plugin registration information includes application function description, algorithm plugin version number, algorithm plugin provider, algorithm image package identifier, and algorithm image package size.
[0144] Algorithm Plugin Deregistration 12 is responsible for implementing the deregistration and deletion services for protocol conversion algorithm plugins and algorithm image packages. Algorithm plugin deregistration information includes the deregistered algorithm plugin version number and the algorithm plugin provider.
[0145] Algorithm Plugin Download 13 is responsible for downloading the protocol conversion algorithm plugin image package and registering the network connection of the computing node for algorithm execution. The algorithm plugin download information includes a description of the business function used, the algorithm plugin version number, the user of the algorithm plugin, and the network IP and port of the computing node used by the user. The algorithm plugin download returns the image package file of the algorithm plugin.
[0146] Algorithm Plugin Discovery 14 is responsible for discovering the network connection of the compute nodes running the protocol conversion algorithm plugin. Algorithm plugin discovery information includes a description of the task initiator's function, the algorithm plugin version number, and the algorithm plugin user. The algorithm plugin discovery service returns information such as the network IP and port of the compute node running the algorithm plugin.
[0147] Figure 10 The schematic diagram illustrates a structural block diagram of an algorithm plugin 802 according to an embodiment of the present disclosure, which can be installed in a heterogeneous privacy computing system 802.
[0148] like Figure 8 As shown, the algorithm plugin 802 may include a local interaction module 810, an external interaction module 820, and a protocol conversion module 830.
[0149] The local interaction module 810 is used to interact with the local privacy computing system according to the local privacy computing protocol during privacy computing involving the privacy computing system. In one embodiment, the local interaction module 810 can perform the operations S31 to S32 described above. In another embodiment, the local interaction module 810 can perform the operations S44 or S46 described above.
[0150] The external interaction module 820 is used to interact with other participants in privacy computing, in accordance with a common privacy computing protocol agreed upon by all participants. In one embodiment, the external interaction module 820 may perform operation S34 or operation S36 described above. In another embodiment, the external interaction module 820 may perform operation S36 or operations S41 to S42 described above.
[0151] The protocol conversion module 830 acts as an intermediary between the local privacy computing system and other participants. When the local privacy computing protocol differs from the general privacy computing protocol, it performs protocol conversion between the local and general privacy computing protocols before sending data. Conversely, when the local and general privacy computing protocols are the same, it directly forwards the data. In one embodiment, the protocol conversion module 830 can perform the operation S35 described above. In another embodiment, the protocol conversion module 830 can perform the operation S45 described above.
[0152] According to embodiments of this disclosure, in addition to the local privacy computing system and algorithm plugins, the heterogeneous privacy computing system 802 may also include an interconnection function module for implementing functions such as algorithm plugin download and installation, interconnection between algorithm plugins and the local privacy computing system, and privacy computing task scheduling.
[0153] Figure 11 The diagram schematically illustrates the structure of the interoperability module in a heterogeneous privacy computing system 802 according to an embodiment of this disclosure. The local privacy computing system in the heterogeneous privacy computing system 802 is used for data processing and data interaction in privacy computing according to a local privacy computing protocol. After installation, the algorithm plugin acts as an intermediary between the local privacy computing system and other participants, used for protocol conversion and / or data forwarding. In addition to the algorithm plugin and the local privacy computing system, the heterogeneous privacy computing system 802 may also deploy an interoperability module 902.
[0154] like Figure 9As shown, the interconnection function module 902 may include data source management 21, privacy computing system task scheduling 22, algorithm management 23, and computing nodes 24.
[0155] Data source management 21 is responsible for managing the data sources of the local privacy computing system, registering the list of data sources interconnected by users and controlling access permissions.
[0156] The privacy computing system task scheduler 22 is responsible for managing business function tasks initiated by itself, starting the interconnection task process, and obtaining local data source links. It obtains network link information of other participants in privacy computing by calling the algorithm plugin registration service center, notifies other participants in privacy computing to start the interconnection task, starts their respective algorithm plugin image computing container tasks, and returns the business task execution results.
[0157] Algorithm Management 23 is responsible for implementing application function algorithm plugins and registration management. It uses a closed-source approach to encapsulate cryptographic protocols to implement application functions and achieves external interconnection through algorithm plugins.
[0158] Compute node 24 is responsible for starting and running the algorithm plugin image. Based on the network connection information of all participating computing nodes and the local data source connection, it runs the algorithm plugin, completes the conversion between underlying privacy computing protocols according to the algorithm plugin logic, performs multi-party encrypted collaborative computation, and returns the computation results.
[0159] Figure 12 This schematically illustrates a data processing and interaction flowchart in a heterogeneous privacy computing federated system 800 according to an embodiment of the present disclosure. The three heterogeneous privacy computing systems 802 shown in the heterogeneous privacy computing federated system 800 are deployed in... Figure 7 Taking the heterogeneous privacy computing systems of participants A, B, and C as an example, the data processing flow inside the heterogeneous privacy computing consortium system 800 is described below.
[0160] like Figure 12 As shown, combined with Figure 8 and Figure 7 The data processing flow in the heterogeneous privacy computing consortium 800 includes the registration of algorithm plugins (including S101 to S103), the download of algorithm plugins (S201 to S204), and the algorithm plugin invocation mechanism (S301 to S313), which are explained in detail below.
[0161] First, register the algorithm plugin.
[0162] S1 01: Heterogeneous privacy computing system C (i.e., deployed in...) Figure 7The heterogeneous privacy computing system in participant C completes the compilation of algorithm plugins and packaging of image files locally. It then applies for registration of algorithm plugins and uploads image packages by calling the registration service of the algorithm plugin registration service center.
[0163] S102: The algorithm plugin registration service center receives algorithm plugin registration applications, registers algorithm plugins according to the items in Table 1, and stores the algorithm plugin image package.
[0164] S103: The algorithm plugin registration service center sends the algorithm plugin registration result.
[0165] exist Figure 10 The example uses the development and uploading of an algorithm plugin in a heterogeneous privacy computing system (C) as an example, which is combined with... Figure 7 In the example shown, participant C is a preferred choice because it is the initiator of privacy computation. Initiators are often more motivated to develop algorithm plugins compared to other participants in privacy computation. It is understandable that the development and uploading of algorithm plugins could also occur in other heterogeneous privacy computation systems or other systems that communicate with the algorithm plugin registration service center. This disclosure does not limit this.
[0166] Then download the algorithm plugin.
[0167] S201: Heterogeneous privacy computing system A or B (i.e., deployed in...) Figure 7 The heterogeneous privacy computing systems of participant A or B in the process call the download service of the algorithm plugin registration service center and upload the network link information of the computing node of the user, such as IP address and port.
[0168] S202: The Algorithm Plugin Registration Service Center receives applications to download algorithm plugins and registers the network link information of the computing nodes of the algorithm plugin users.
[0169] S203: The algorithm plugin registration service center sends the algorithm plugin image package to heterogeneous privacy computing system A or B.
[0170] S204: Heterogeneous privacy computing system A or B (receives and stores algorithm plugin image packages).
[0171] Next is the invocation of the algorithm plugin.
[0172] S301: Heterogeneous privacy computing system C initiates multi-party privacy computing tasks and starts the local computing node task process according to the business request.
[0173] S302: Heterogeneous privacy computing system C queries the network link information of the computing nodes of each participant in the algorithm plugin corresponding to this computing task by calling the discovery service of the algorithm plugin registration service center.
[0174] S303: The algorithm plugin registration service center queries and sends the network link information of the computing nodes of the participating parties of the algorithm plugin corresponding to this computing task, based on the algorithm plugin version number, participating computing parties, etc.
[0175] S304: Heterogeneous privacy computing system C notifies heterogeneous privacy computing system A to start this computing task.
[0176] S305: Heterogeneous privacy computing system A receives the task start notification, obtains the local data source link through the local data source management function, converts it into the standard input of the algorithm plugin, and sends the network link information of all computing nodes for this computing task to the local algorithm plugin.
[0177] S306: Heterogeneous privacy computing system A starts the task of the local algorithm plugin image package container on the compute node.
[0178] S307: Heterogeneous privacy computing system A sends a message indicating that the local computing node task has started successfully.
[0179] S308: Heterogeneous privacy computing system C receives a notification that the participant has successfully started the task. Through the local data source management function, it obtains the local data source link, converts it into the standard input of the algorithm plugin, and sends it to the local algorithm plugin along with the network link information of all participants in this computing task.
[0180] S309: Heterogeneous privacy computing system C starts the local algorithm plugin image package container task on the compute node.
[0181] S310: The algorithm plugin image package container task of heterogeneous privacy computing system C communicates with the algorithm plugins of heterogeneous privacy computing systems A and B of other participants to achieve secret sharing and homomorphic encryption protocol conversion. See details. Figure 7 accomplish.
[0182] S311: A container task containing the local algorithm plugin image packages of heterogeneous privacy computing systems A and B, communicating with the algorithm plugin of heterogeneous privacy system C to achieve secret sharing and homomorphic encryption protocol conversion. See details... Figure 5 accomplish.
[0183] S312: Heterogeneous privacy computing systems A and B complete the task of storing the local algorithm plugin image package and close the algorithm plugin container.
[0184] S313: Heterogeneous privacy computing system C completes the task of the local algorithm plugin image package container, closes the algorithm plugin container, and returns the computation result.
[0185] According to embodiments of this disclosure, after heterogeneous privacy computing systems A, B, and C each install their own algorithm plugins locally, their respective original local privacy computing systems interact directly with their respective algorithm plugins. Furthermore, heterogeneous privacy computing systems A, B, and C interact with each other's algorithm plugins through their own algorithm plugins.
[0186] According to one embodiment of this disclosure, in a heterogeneous privacy computing system, A, B, and C can use the same set of algorithm plugins. The locally installed algorithm plugin can identify the algorithm used by the local privacy computing system, the role of the local system (whether it is the initiator or user of the privacy computing), and whether the privacy computing methods of the user and the initiator in this computing are consistent. Based on this information, the algorithm plugin is initialized, controlling some computing functions to be active and others to be disabled. According to this embodiment, the heterogeneous privacy computing systems A, B, and C participating in privacy computing use the same set of algorithm plugins, which facilitates the use of unified interaction and algorithm logic among the plugins, saving development workload. Compared to developing separate plugins for A, B, and C, it greatly reduces the need for interfacing different plugins with their interaction logic.
[0187] The heterogeneous privacy computing joint system according to the embodiments of this disclosure provides interconnection and interoperability of joint statistics of privacy computing systems based on algorithm plug-ins, which can realize the interoperability of joint statistical functions of privacy computing systems from different technology vendors, while protecting the technological innovations of technology vendors for their respective cryptographic protocols.
[0188] According to embodiments of this disclosure, by encapsulating the conversion between different privacy computing protocols through the algorithm plugin and using real-time loading and dynamic invocation, the differences in algorithm protocols between different privacy computing systems can be avoided, improving system scalability. Thus, under the current situation of closed-source development of existing privacy computing systems, the interconnection and interoperability of joint statistics between heterogeneous privacy computing systems can be realized, better and faster meeting the secure fusion computing of data across institutions, and reducing R&D costs and expenses.
[0189] According to embodiments of this disclosure, protocol conversion such as homomorphic encryption and secret sharing can be achieved through algorithm plugins, reducing the coupling between the privacy computing system and the underlying algorithm. Interoperability can be achieved through algorithm plugins without modifying the underlying cryptographic protocol components of the privacy computing system, thereby enhancing the system's flexibility and scalability.
[0190] According to the embodiments of this disclosure, the cost investment of enterprises applying privacy technology can be reduced. Based on the algorithm plug-in approach, the interconnection and interoperability of heterogeneous privacy computing systems among enterprises can be realized. Enterprises do not need to integrate multiple sets of privacy computing systems for joint statistical functions. They can obtain algorithm plug-ins that meet the needs of the cooperation scenario from the algorithm plug-in registration service center as needed according to the multi-party cooperation agreement, thereby realizing the secure integration and circulation of cross-organizational data and reducing the investment in enterprise system construction and operation and maintenance.
[0191] According to embodiments of this disclosure, any and multiple modules among algorithm plugin registration 11, algorithm plugin deregistration 12, algorithm plugin download 13, algorithm plugin discovery 14, local interaction module 810, external interaction module 820, protocol conversion module 830, data source management 21, privacy computing system task scheduling 22, algorithm management 23, and computing node 24 can be combined into one module, or any one of these modules can be split into multiple modules. Alternatively, at least some of the functions of one or more of these modules can be combined with at least some of the functions of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the following components—algorithm plugin registration 11, algorithm plugin deregistration 12, algorithm plugin download 13, algorithm plugin discovery 14, local interaction module 810, external interaction module 820, protocol conversion module 830, data source management 21, privacy computing system task scheduling 22, algorithm management 23, and computing node 24—can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the following can be implemented, at least partially, as a computer program module: algorithm plugin registration 11, algorithm plugin deregistration 12, algorithm plugin download 13, algorithm plugin discovery 14, local interaction module 810, external interaction module 820, protocol conversion module 830, data source management 21, privacy computing system task scheduling 22, algorithm management 23, and computing node 24. When the computer program module is run, it can perform the corresponding function.
[0192] Figure 13 A block diagram schematically illustrates an electronic device suitable for implementing the method according to embodiments of the present disclosure. Figure 13 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0193] like Figure 13As shown, an electronic device 1300 according to an embodiment of the present disclosure includes a processor 1301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1302 or a program loaded from a storage portion 1308 into a random access memory (RAM) 1303. The processor 1301 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1301 may also include onboard memory for caching purposes. The processor 1301 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0194] RAM 1303 stores various programs and data required for the operation of electronic device 1300. Processor 1301, ROM 1302, and RAM 1303 are interconnected via bus 1304. Processor 1301 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 1302 and / or RAM 1303. It should be noted that the programs may also be stored in one or more memories other than ROM 1302 and RAM 1303. Processor 1301 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in said one or more memories.
[0195] According to embodiments of this disclosure, the electronic device 1300 may further include an input / output (I / O) interface 1305, which is also connected to a bus 1304. The electronic device 1300 may also include one or more of the following components connected to the I / O interface 1305: an input section 1306 including a keyboard, mouse, etc.; an output section 1307 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1308 including a hard disk, etc.; and a communication section 1309 including a network interface card such as a LAN card, modem, etc. The communication section 1309 performs communication processing via a network such as the Internet. A drive 1310 is also connected to the I / O interface 1305 as needed. A removable medium 1311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1310 as needed so that computer programs read from it can be installed into the storage section 1308 as needed.
[0196] According to embodiments of this disclosure, the method flow according to embodiments of this disclosure can be implemented as a computer software program. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the methods shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1309, and / or installed from removable medium 1311. When the computer program is executed by processor 1301, it performs the functions defined in the system of embodiments of this disclosure. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0197] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.
[0198] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 1302 and / or RAM 1303 and / or one or more memories other than ROM 1302 and RAM 1303 described above.
[0199] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods provided in the embodiments of this disclosure. When the computer program product is run on an electronic device, the program code is used to enable the electronic device to implement the methods provided in the embodiments of this disclosure.
[0200] When the computer program is executed by the processor 1301, it performs the functions defined in the system / apparatus of this disclosure embodiments. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0201] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via the communication section 1309, and / or installed from the removable medium 1311. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0202] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0203] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0204] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of this disclosure is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A privacy-preserving computation method performed by an algorithm plugin, comprising: The system receives outward forwarding information sent by the local privacy computing system in accordance with the local privacy computing protocol. The outward forwarding information includes first outward data and destination information. The local privacy computing system and the algorithm plugin are both installed in the same heterogeneous privacy computing system. When the local privacy computing protocol is consistent with the first general privacy computing protocol, the first outgoing data is forwarded to the destination privacy computing system according to the destination information; and when the local privacy computing protocol is inconsistent with the first general privacy computing protocol, the first outgoing data is first converted into second outgoing data according to the first conversion algorithm, and then the second outgoing data is forwarded to the destination privacy computing system according to the destination information; the first general privacy computing protocol is the general privacy computing protocol used when the heterogeneous privacy computing system and m privacy computing systems participating in joint privacy computing jointly compute, the m privacy computing systems include the destination privacy computing system indicated by the destination information, and m is an integer greater than or equal to 2; Receive internal forwarding information sent by an external privacy computing system to the heterogeneous privacy computing system, wherein the internal forwarding information includes first internal forwarding data to be forwarded and information from the external privacy computing system; Based on the information from the external privacy computing system, determine whether the external privacy computing system belongs to the m privacy computing systems; When the external privacy computing system belongs to m privacy computing systems, if the local privacy computing protocol is consistent with the first general privacy computing protocol, the first internal forwarding data is forwarded to the local privacy computing system; and if the local privacy computing protocol is inconsistent with the first general privacy computing protocol, the first internal forwarding data is first converted into second internal forwarding data according to the second conversion algorithm, and then the second internal forwarding data is forwarded to the local privacy computing system. The first conversion algorithm is used to convert data using the local privacy computing protocol into data conforming to the first general privacy computing protocol; wherein the first conversion algorithm is pre-encapsulated in the algorithm plugin; The second conversion algorithm is an algorithm for converting data using the first general privacy computing protocol into data conforming to the local privacy computing protocol; wherein the second conversion algorithm is pre-encapsulated in the algorithm plugin.
2. The method according to claim 1, wherein, Of the local privacy computing protocol and the first general privacy computing protocol, one uses homomorphic encryption and the other uses secret sharing.
3. The method according to claim 2, wherein, When the local privacy computing protocol is homomorphic encryption and the first general privacy computing protocol is secret sharing, the step of converting the first outgoing data into the second outgoing data according to the first conversion algorithm includes: Generate N-1 random numbers. The opposites of the N-1 first random numbers and the first outgoing data are processed using homomorphic addition to obtain the second random number; and The second outgoing data is obtained by summing the N-1 first random numbers and the second random numbers, where N is the secret sharing share determined according to secret sharing in privacy computing, and N is an integer greater than or equal to 3.
4. The method according to claim 2, wherein, When the local privacy computing protocol is secret sharing and the first general privacy computing protocol is homomorphic encryption, and the first outgoing data includes N-1 secret data items secretly shared by the local privacy computing system, then converting the first outgoing data into the second outgoing data according to the first conversion algorithm includes: Generate N-1 third random numbers; Send the N-1 third random numbers to the local privacy computing system; Receive secret combination data sent by the local privacy computing system, wherein the secret combination data is obtained by the local privacy computing system combining its own secret with the N-1 third random numbers; Based on the N-1 secret data, the N-1 third random numbers, and the secret combination data, the original data of the secret to be shared by the local privacy computing system is deduced; and The original data is homomorphically encrypted to obtain the second outgoing data.
5. An algorithm plugin, comprising: The local interaction module is used for: The system receives outward forwarding information sent by a local privacy computing system according to a local privacy computing protocol. This outward forwarding information includes first outward data and destination information. The local privacy computing system and the algorithm plugin are both installed within the same heterogeneous privacy computing system. The protocol conversion module is used to convert the first outgoing data into second outgoing data according to a first conversion algorithm when the local privacy computing protocol is inconsistent with the first general privacy computing protocol. The first conversion algorithm is used to convert data using the local privacy computing protocol into data conforming to the first general privacy computing protocol. The first conversion algorithm is pre-encapsulated in the algorithm plugin. The first general privacy computing protocol is the general privacy computing protocol used when the heterogeneous privacy computing system and m privacy computing systems participating in joint privacy computing perform joint computation. The m privacy computing systems include the destination privacy computing system indicated by the destination information, and m is an integer greater than or equal to 2. The external interaction module is used for: When the local privacy computing protocol is consistent with the first general privacy computing protocol, the first outgoing data is forwarded to the destination privacy computing system according to the destination information; and When the local privacy computing protocol is inconsistent with the first general privacy computing protocol, the second outgoing data is forwarded to the destination privacy computing system according to the destination information. The external interaction module is further configured to: receive internal forwarding information sent by an external privacy computing system to the heterogeneous privacy computing system, the internal forwarding information including first internal forwarding data to be forwarded and information of the external privacy computing system; and, based on the information of the external privacy computing system, determine whether the external privacy computing system belongs to m privacy computing systems; and, if the external privacy computing system belongs to m privacy computing systems, determine that the first general privacy computing protocol is used when the heterogeneous privacy computing system and the external privacy computing system jointly perform privacy computing. The protocol conversion module is further configured to: when the local privacy computing protocol is inconsistent with the first general privacy computing protocol, first convert the first internal forwarding data into second internal forwarding data according to the second conversion algorithm, wherein the second conversion algorithm is an algorithm for converting data using the first general privacy computing protocol into data conforming to the local privacy computing protocol; wherein the second conversion algorithm is pre-encapsulated in the algorithm plugin; The local interaction module is further configured to: forward the first internal forwarding data to the local privacy computing system when the local privacy computing protocol is consistent with the first general privacy computing protocol, and forward the second internal forwarding data to the local privacy computing system when the local privacy computing protocol is inconsistent with the first general privacy computing protocol.
6. A heterogeneous privacy computing system, comprising: A local privacy computing system is used for data processing and data interaction in privacy computing in accordance with a local privacy computing protocol. as well as The algorithm plugin according to claim 5.
7. A heterogeneous privacy computing joint system, comprising: At least one heterogeneous privacy computing system, wherein each heterogeneous privacy computing system includes a local privacy computing system, the local privacy computing system performing data processing and data interaction in privacy computing according to a local privacy computing protocol; and An algorithm plugin registration service center is used to register and manage at least one algorithm plugin as described in claim 5. in, The heterogeneous privacy computing system is also used to: apply to the algorithm plugin registration service center to download the algorithm plugin corresponding to the local privacy computing protocol adopted by the local privacy computing system, and install the downloaded algorithm plugin into the heterogeneous privacy computing system.
8. An electronic device, comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors perform the method according to any one of claims 1 to 4.
9. A computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 4.
10. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Privacy computing algorithm cross-platform system and migration method
CN114638017A
Multi-party fusion computing system, multi-party fusion computing method and readable storage medium
CN114944935A