WO2024011826A1 - 一种隐私计算设备、方法、系统、电子设备及介质 - Google Patents
一种隐私计算设备、方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- WO2024011826A1 WO2024011826A1 PCT/CN2022/137367 CN2022137367W WO2024011826A1 WO 2024011826 A1 WO2024011826 A1 WO 2024011826A1 CN 2022137367 W CN2022137367 W CN 2022137367W WO 2024011826 A1 WO2024011826 A1 WO 2024011826A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- algorithm
- sub
- calculation data
- privacy
- api
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 792
- 238000004364 calculation method Methods 0.000 claims description 386
- 230000005540 biological transmission Effects 0.000 claims description 80
- 238000012545 processing Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 18
- 239000008186 active pharmaceutical agent Substances 0.000 description 200
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 29
- 238000004590 computer program Methods 0.000 description 17
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Definitions
- This application relates to the field of network security technology, and in particular to a privacy computing device, method, system, electronic device and medium.
- Privacy computing refers to a collection of technologies that realize data analysis and calculation on the premise of protecting the data itself from being leaked to the outside world, to achieve the purpose of "available and invisible" data, and on the premise of fully protecting data and privacy security. Next, realize the transformation and release of data value.
- This application provides a privacy computing device, method, system, device and medium for realizing interconnection between privacy algorithm products stored in different privacy computing devices.
- this application provides a privacy computing device, which includes:
- the determination unit is used to obtain the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm, and determines that the first calculation data needs to be reprocessed based on the second sub-algorithm in the privacy algorithm. Calculation, where the second sub-algorithm is stored in other privacy computing devices, then according to the pre-saved correspondence between each sub-algorithm and the agent application programming interface API, determine the agent API corresponding to the first sub-algorithm, and the The proxy API corresponding to the second sub-algorithm described above;
- a transmission unit configured to send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that the other privacy computing devices can calculate the data based on the second sub-algorithm.
- the first calculation data performs corresponding calculations.
- the determining unit includes:
- a scene algorithm module used to send the data to be processed to the security algorithm module
- the security algorithm module is configured to receive the data to be processed, and perform corresponding calculations on the data to be processed based on the security algorithm included in the saved first sub-algorithm to obtain the first calculation data.
- the scene algorithm module is specifically configured to determine the security algorithm API corresponding to the scene algorithm included in the first sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API, and Based on the security algorithm API corresponding to the scene algorithm, the data to be processed is sent to the security algorithm module.
- the security algorithm module is also configured to send the first calculation data to the scene algorithm module;
- the scene algorithm module is also used to send the first calculation data to the transmission unit.
- the scene algorithm module is specifically configured to determine the transport layer API corresponding to the first sub-algorithm according to the pre-saved correspondence between each sub-algorithm and the transport layer API, and use the The transport layer API corresponding to the first sub-algorithm sends the first calculation data to the transmission unit.
- the security algorithm module is also configured to send the first calculation data to the transmission unit.
- the security algorithm module is specifically configured to determine the transport layer API corresponding to the first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API, and use the The transport layer API corresponding to the first sub-algorithm sends the first calculation data to the transmission unit.
- the determining unit is further configured to receive a sending instruction to send the first calculation data, wherein the sending instruction carries the need to send the first calculation data to information of the second sub-algorithm, it is determined that the first calculation data needs to be re-calculated based on the second sub-algorithm in the privacy algorithm.
- the transmission unit is also configured to send the second calculation data to the determination unit if the second calculation data is received based on the proxy API corresponding to the first sub-algorithm. ;
- the determination unit is also configured to perform corresponding calculations on the second calculation data based on the first sub-algorithm if it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm.
- the transmission unit is specifically configured to, if the second calculation data is received, send the second calculation data to the transmission layer API corresponding to the first sub-algorithm. Determine the unit.
- the determining unit includes:
- a scene algorithm module specifically configured to receive the second calculation data and send the second calculation data to the security algorithm module;
- the security algorithm module is specifically configured to receive the second calculation data, and perform corresponding calculations on the second calculation data based on the security algorithm included in the saved first sub-algorithm.
- the scene algorithm module is specifically configured to determine the security algorithm API corresponding to the scene algorithm included in the first sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API, And based on the security algorithm API corresponding to the scene algorithm, the second calculation data is sent to the security algorithm module.
- the determining unit is further configured to determine that the second calculation data needs to be processed based on the first sub-algorithm if a processing instruction is received.
- the first sub-algorithm described above is recalculated.
- the determining unit is also used to identify the target token carried in the processing instruction, if the target token is consistent with the pre-saved reference token of the second sub-algorithm. , then it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm.
- the first sub-algorithm and the second sub-algorithm are container-structured algorithms.
- this application provides a privacy calculation method, which includes:
- the proxy API corresponding to the first sub-algorithm and the second sub-algorithm are determined based on the pre-saved correspondence between each sub-algorithm and the proxy application programming interface API.
- the first calculation data is sent to the proxy API corresponding to the second sub-algorithm, so that the other privacy computing devices perform calculations on the first calculation based on the second sub-algorithm.
- the data is calculated accordingly.
- the method before determining that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm, the method further includes:
- the method further includes:
- the second calculation data is received based on the proxy API corresponding to the first sub-algorithm, and it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, then based on the first sub-algorithm, the The second calculated data performs corresponding calculations.
- the method before determining that the second calculation data needs to be recalculated based on the first sub-algorithm, the method further includes:
- the method after receiving the processing instruction that the second calculation data needs to be processed based on the first sub-algorithm, the determining that the second calculation data needs to be processed based on the first sub-algorithm Before calculation, the method also includes:
- this application provides a privacy computing system, which includes:
- the first privacy computing device is used to obtain the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm, and determine that the first calculation data needs to be based on the second sub-algorithm in the privacy algorithm.
- the algorithm is recalculated, and the second sub-algorithm is stored in the second privacy computing device, and the agent corresponding to the first sub-algorithm is determined according to the corresponding relationship between the pre-saved sub-algorithms and the agent application programming interface API.
- API, and the proxy API corresponding to the second sub-algorithm sending the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm;
- the second privacy computing device is configured to receive the first computing data based on the proxy API corresponding to the second sub-algorithm, and determine that the first computing data needs to be reprocessed based on the second sub-algorithm. Calculate, then perform corresponding calculations on the first calculation data based on the second sub-algorithm.
- the present application provides an electronic device, which includes a processor and a memory, wherein the memory stores program code, and when the program code is executed by the processor, the processor is caused to execute the above The steps of any of the privacy calculation methods.
- the present application provides a computer-readable storage medium, which includes program code.
- the program code is used to cause the electronic device to perform any of the above. Describe the steps of the privacy calculation method.
- the present application provides a computer program product.
- the computer program product includes: computer program code.
- the computer program code When the computer program code is run on a computer, it causes the computer to execute any one of the above privacy computing methods. step.
- the determination unit in the privacy computing device of this application obtains the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm, and the determination of the first calculation data needs to be based on the second sub-algorithm in the privacy algorithm. Then calculate, where the second sub-algorithm is stored in other privacy computing devices, and then determine the proxy API corresponding to the first sub-algorithm and the proxy corresponding to the second sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the proxy API.
- the transmission unit in the privacy computing device can send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that other privacy computing devices can perform the first calculation based on the second sub-algorithm.
- the calculation data is calculated accordingly, so that information can be exchanged between the first sub-algorithm and the second sub-algorithm (privacy algorithm products stored in different privacy computing devices), and the privacy algorithm products stored in different privacy computing devices can be realized. for the purpose of interconnection.
- Figure 1 shows a schematic structural diagram of a first privacy computing device provided by some embodiments
- Figure 2 shows a schematic structural diagram of a second privacy computing device provided by some embodiments
- Figure 3 shows a schematic diagram of the first interconnection process of different privacy algorithms provided by some embodiments
- Figure 4 shows a schematic diagram of the second interconnection process of different privacy algorithms provided by some embodiments
- Figure 5 shows a schematic diagram of the third interconnection process of different privacy algorithms provided by some embodiments.
- Figure 6 shows a schematic diagram of the interconnection process of the fourth different privacy algorithms provided by some embodiments.
- Figure 7 shows a schematic diagram of an interconnection scenario of different privacy algorithms provided by some embodiments.
- Figure 8 shows a schematic diagram of the interconnection process of the fifth different privacy algorithms provided by some embodiments.
- Figure 9 shows a schematic process diagram of a privacy calculation method provided by some embodiments.
- Figure 10 shows a schematic diagram of a privacy computing system provided by some embodiments.
- Figure 11 shows a schematic structural diagram of an electronic device provided by some embodiments.
- this application provides a privacy computing device, method, system, device and medium.
- module means any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic or combination of hardware or/and software code capable of performing the functions associated with that element.
- Figure 1 shows a schematic structural diagram of a first privacy computing device provided by some embodiments.
- the device includes: a determination unit 11 and a transmission unit 12;
- the determining unit 11 is used to obtain the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm, and determine that the first calculation data needs to be based on the second sub-algorithm in the privacy algorithm.
- the algorithm is recalculated, and the second sub-algorithm is saved in other privacy computing devices, then the proxy API corresponding to the first sub-algorithm is determined based on the pre-saved correspondence between each sub-algorithm and the proxy application programming interface API. , and the proxy API corresponding to the second sub-algorithm;
- the transmission unit 12 is configured to send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that the other privacy computing devices can be based on the second sub-algorithm. Corresponding calculations are performed on the first calculation data.
- the privacy computing device may be a PC, a mobile terminal, or other equipment, or a server or other equipment, which is not specifically limited in this application.
- the determination unit 11 and the transmission unit 12 in the privacy computing device are connected. This application does not specifically limit the connection method of the determination unit 11 and the transmission unit 12.
- the first sub-algorithm of any privacy algorithm is stored in the privacy computing device (for convenience of description, the sub-algorithm stored in the privacy computing device is called the first sub-algorithm), and other privacy algorithms are stored in the privacy computing device.
- the second sub-algorithm of any privacy algorithm is stored in the computing device (for convenience of description, sub-algorithms stored in other privacy computing devices are called second sub-algorithms).
- the first sub-algorithm and the second sub-algorithm can respectively be part of the sub-algorithms included in the same privacy computing product launched by the same technology manufacturer.
- the first sub-algorithm and the second sub-algorithm can also be different privacy computing products launched by different technology manufacturers based on different system platforms, etc., which can be flexibly set according to needs.
- This application does not specifically limit this.
- the number of other privacy computing devices may be one or multiple.
- This application does not specifically limit the number of other privacy computing devices, which can be flexibly set according to needs.
- the privacy computing process provided by the embodiments of this application can be used for interconnection between the privacy computing device and the privacy algorithm products stored in the other privacy computing devices. The privacy calculation process will not be described in detail here.
- the determination unit 11 in the privacy computing device can perform corresponding calculations on the data to be processed based on the first sub-algorithm to obtain the first calculation data (for convenience of description, the calculation obtained based on the first sub-algorithm will be The data is called the first calculated data).
- the first calculation data can be the intermediate calculation result of the data to be processed by the first sub-algorithm, or it can be the final calculation of the data to be processed by the first sub-algorithm. Results etc.
- the determination unit 11 when the determination unit 11 obtains the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm, it can determine whether the first calculation data needs to be based on the data stored in other privacy computing devices.
- the second sub-algorithm performs recalculation.
- the privacy computing device that stores the first sub-algorithm is called the first privacy computing device, and the other privacy computing devices that store the second sub-algorithm are called the second privacy computing device.
- the first sub-algorithm and the second sub-algorithm can be run based on a predetermined privacy algorithm protocol.
- the first privacy algorithm The determination unit 11 in the computing device may receive a sending instruction to send the first calculation data.
- the sending instruction may carry information that the first calculation data needs to be sent to the second sub-algorithm.
- the determination unit 11 receives the sending instruction, When the instruction is issued, it can be determined that the first calculation data needs to be recalculated based on the second sub-algorithm.
- each sub-algorithm can be saved in advance in the determination unit 11
- the corresponding relationship with the agent application programming interface (Application Programming Interface, API), in which each sub-algorithm and the corresponding agent API can be flexibly set according to needs, this application does not specifically limit this.
- the determination unit 11 may determine the proxy API corresponding to the first sub-algorithm according to the pre-stored correspondence between each sub-algorithm and the proxy API.
- the determination unit 11 may also determine the proxy API corresponding to the second sub-algorithm based on the pre-stored correspondence between each sub-algorithm and the proxy API.
- the transmission unit 12 in the privacy computing device can use the proxy API corresponding to the first sub-algorithm to transfer the first
- the calculation data is sent to the proxy API corresponding to the second sub-algorithm in other privacy computing devices (second privacy computing devices), so that the second sub-algorithm stored in other privacy computing devices can perform corresponding calculations on the first calculation data, so that the first calculation data can be calculated accordingly.
- the proxy API corresponding to the first sub-algorithm and the proxy API corresponding to the second sub-algorithm can be Representational State Transfer (RESTful) API, etc.
- the determination unit in the privacy computing device of this application obtains the first calculation data after performing corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm, and the determination of the first calculation data needs to be based on the second sub-algorithm in the privacy algorithm. Then calculate, where the second sub-algorithm is stored in other privacy computing devices, and then determine the proxy API corresponding to the first sub-algorithm and the proxy corresponding to the second sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the proxy API.
- the transmission unit in the privacy computing device can send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that other privacy computing devices can perform the first calculation based on the second sub-algorithm.
- the calculation data is calculated accordingly, so that information can be exchanged between the first sub-algorithm and the second sub-algorithm (privacy algorithm products stored in different privacy computing devices), and the privacy algorithm products stored in different privacy computing devices can be realized. for the purpose of interconnection.
- the determination unit 11 includes:
- a scene algorithm module used to send the data to be processed to the security algorithm module
- the security algorithm module is configured to receive the data to be processed, and perform corresponding calculations on the data to be processed based on the security algorithm included in the saved first sub-algorithm to obtain the first calculation data.
- privacy algorithms such as the first sub-algorithm and the second sub-algorithm can be decoupled to include scene algorithms and security algorithms.
- the privacy algorithm does not contain a security algorithm and only contains a scenario algorithm, it can be considered to be a plaintext calculation of the data to be processed without security encryption protection; if the privacy algorithm contains a scenario algorithm and a security algorithm, it can be considered as Perform private calculations on the data to be processed under secure encryption protection.
- the scene algorithm can be the horizontal and vertical LR, XGBoost algorithm within federated learning, etc.
- the security algorithm can refer to cryptographic algorithm operations, or multi-party security calculations and other algorithms that perform certain dense state primitive operations on data. Privacy algorithms include The scenario algorithm and security algorithm can be flexibly selected according to needs, and this application does not specifically limit this.
- Figure 2 shows a schematic structural diagram of the second privacy computing device provided by some embodiments.
- the first sub-algorithm can be decoupled to include a scene algorithm and a security algorithm.
- the included scene algorithm is stored in the scene algorithm module in the determining unit 11
- the security algorithm included in the first sub-algorithm is stored in the security algorithm module in the determining unit 11 .
- the process of obtaining the first calculated data after performing corresponding calculations on the data to be processed based on the first sub-algorithm is as follows:
- the corresponding relationship between the scenario algorithm and the security algorithm API can be saved in advance.
- the first scenario algorithm module can determine the first scenario algorithm based on the pre-saved corresponding relationship between the scenario algorithm and the security algorithm API.
- the security algorithm API corresponding to the scene algorithm contained in the first sub-algorithm and then through the security algorithm API corresponding to the scene algorithm contained in the first sub-algorithm, the scene algorithm contained in the first sub-algorithm can call the security algorithm contained in the first sub-algorithm, Therefore, based on the security algorithm included in the first sub-algorithm, privacy calculation can be performed on the data to be processed under secure encryption protection to obtain the first calculation data.
- the scenario algorithm module can send the data to be processed to the security algorithm module based on the security algorithm API corresponding to the scenario algorithm included in the first sub-algorithm, and the security algorithm module receives
- the data to be processed can be used to perform corresponding privacy calculations on the data to be processed based on the security algorithm included in the saved first sub-algorithm to obtain the first calculation data.
- this application can decouple the privacy algorithm into a scene algorithm and a security algorithm, so that a trusted security algorithm can be freely selected for the privacy algorithm, which improves the security of the privacy algorithm. Flexibility and security.
- the privacy algorithm may not include the coupled transmission unit 12, but the transmission unit 12 is configured in the privacy computing device, such as in the platform base of the privacy computing device, etc., which improves the standardization of the privacy algorithm. and diversity.
- proxy API security algorithm API
- transport layer API transport layer API
- the flow and call of data in the privacy computing process can be tracked and monitored, which can improve the controllability of privacy computing.
- the proxy API, security algorithm API, transport layer API, etc. in this application can all be standard APIs, the flow and call of data in the privacy computing process can be tracked and monitored, which can improve the controllability of privacy computing.
- which can well meet the requirements of the privacy algorithm for safe and controllable data operations, and also has the characteristics of safe replaceability and flexible combination between the scene algorithm and the security algorithm, and between the privacy algorithm and the transmission unit 12.
- the embodiment of the present application provides two ways to send the first calculation data to the transmission unit 12:
- the first way is: for example, when the security algorithm included in the first sub-algorithm is simple encryption or homomorphic encryption (Homomorphic Encryption, HE), etc., after obtaining the first calculation data, the security algorithm module can convert the first calculation data into It is sent to the scene algorithm module, which sends the first calculation data to the transmission unit 12 .
- the scene algorithm module when the scene algorithm module sends the first calculation data to the transmission unit 12, it can determine the transmission layer corresponding to the first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transmission layer API. API, and sends the first calculation data to the transmission unit 12 through the transmission layer API corresponding to the first sub-algorithm.
- the second method is: for example, when the security algorithm included in the first sub-algorithm is Secure Multi-party Computation (MPC), etc., the security algorithm module can directly use the pre-saved correspondence between each sub-algorithm and the transport layer API. relationship, determine the transport layer API corresponding to the first sub-algorithm, and send the first calculation data to the transmission unit 12 through the transport layer API corresponding to the first sub-algorithm.
- MPC Secure Multi-party Computation
- Figure 3 shows a schematic diagram of the first interconnection process of different privacy algorithms provided by some embodiments. As shown in Figure 3, the process includes the following steps:
- the scene algorithm module determines the security algorithm API corresponding to the scene algorithm included in the first sub-algorithm based on the pre-saved correspondence between the scene algorithm and the security algorithm API, and sends the data to be processed to the security algorithm module based on the security algorithm API. .
- the security algorithm module receives the data to be processed, and based on the security algorithm included in the saved first sub-algorithm, performs corresponding calculations on the data to be processed to obtain the first calculation data.
- S303 The security algorithm module sends the first calculation data to the scene algorithm module.
- the scene algorithm module determines the corresponding first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API.
- the transport layer API is used to send the first calculation data to the transmission unit 12 through the transport layer API.
- the transmission unit 12 sends the first calculation data to the proxy API corresponding to the second sub-algorithm (that is, the proxy API of other privacy computing devices) through the proxy API corresponding to the first sub-algorithm, so that other privacy computing devices can use the proxy API corresponding to the first sub-algorithm.
- the two-sub algorithm performs corresponding calculations on the first calculation data.
- Figure 4 shows a schematic diagram of the second interconnection process of different privacy algorithms provided by some embodiments. As shown in Figure 4, the process includes the following steps:
- the scene algorithm module determines the security algorithm API corresponding to the scene algorithm included in the first sub-algorithm based on the pre-saved correspondence between the scene algorithm and the security algorithm API, and sends the data to be processed to the security algorithm module based on the security algorithm API. .
- the security algorithm module receives the data to be processed, and based on the security algorithm contained in the saved first sub-algorithm, performs corresponding calculations on the data to be processed to obtain the first calculation data.
- the security algorithm module determines the corresponding first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API.
- the first calculation data is sent to the transmission unit 12 through the transmission layer API corresponding to the first sub-algorithm.
- the transmission unit 12 sends the first calculation data to the proxy API corresponding to the second sub-algorithm (that is, the proxy API of other privacy computing devices) through the proxy API corresponding to the first sub-algorithm, so that other privacy computing devices can use the proxy API corresponding to the first sub-algorithm.
- the two-sub algorithm performs corresponding calculations on the first calculation data.
- the privacy computing device can not only send the obtained first computing data to other privacy computing devices, but also save it in other privacy computing devices (second privacy computing device).
- the second sub-algorithm can not only recalculate the first calculation data, but also receive the second calculation data sent by other privacy computing devices (for convenience of description, the calculation data sent by other privacy computing devices is called the second calculation data ), recalculate the second calculated data.
- the transmission unit 12 in the first privacy computing device can receive the second calculation data sent by other privacy computing devices based on the proxy API corresponding to the first sub-algorithm, and can send the second calculation data to the determination unit 11 .
- the determination unit 11 can determine whether the second calculation data needs to be recalculated based on the first sub-algorithm. If it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, the second calculation can be performed based on the saved first sub-algorithm. The data is calculated accordingly.
- the determination unit 11 may determine whether it has received a process that requires the second calculation data to be processed based on the first sub-algorithm. instruction, if the processing instruction is received, it can be determined that the second calculation data needs to be recalculated based on the first sub-algorithm.
- the privacy computing device where the first sub-algorithm is located may save the reference token of the second sub-algorithm, etc.
- the reference token of the first sub-algorithm, etc. can also be stored in the privacy computing device where the second sub-algorithm is located.
- the processing instruction can carry the token of the second sub-algorithm (for convenience of description, the token carried in the processing instruction is called the target token).
- the privacy computing device where the first sub-algorithm is located receives the processing instruction, it can determine the processing instruction. Whether the target token carried in is consistent with the pre-saved reference token of the second sub-algorithm. If they are consistent, the second calculation data can be considered to be sent by a safe and compliant device, and it can be determined that the data needs to be processed based on the first sub-algorithm. The second calculated data is recalculated.
- the target token is inconsistent with the pre-saved reference token of the second sub-algorithm, it can be considered that the second calculation data is not sent by a secure compliance device, and it can be determined that there is no need to calculate the second calculation data based on the first sub-algorithm.
- the data is recalculated to ensure the security of the interconnection of privacy algorithm products stored in different privacy computing devices.
- the transmission unit 12 of the first privacy computing device may include a transmission module
- the determination unit 11 may include a scene algorithm module and a security algorithm module.
- the transmission module may first receive the second calculation data based on the proxy API in the transmission unit 12 (the proxy API corresponding to the first sub-algorithm), and then send the second calculation data to the determination unit 11.
- the calculation data is sent to the scene algorithm module in the determination unit 11 through the transport layer API corresponding to the first sub-algorithm.
- the scene algorithm module receives the second calculation data, it can send the second calculation data to the security algorithm module.
- the scenario algorithm module can determine the security algorithm API corresponding to the scenario algorithm included in the first sub-algorithm based on the pre-saved correspondence between the scenario algorithm and the security algorithm API, and send the second calculation data to the security algorithm based on the security algorithm API.
- Algorithm module When the security algorithm module receives the second calculation data, it can perform corresponding calculations on the second calculation data based on the security algorithm included in the saved first sub-algorithm.
- Figure 5 shows a schematic diagram of the third interconnection process of different privacy algorithms provided by some embodiments. As shown in Figure 5, the process includes the following steps:
- the determination unit 11 in the privacy computing device performs corresponding calculations on the data to be processed based on the first sub-algorithm and obtains the first calculation data, and determines that the first calculation data needs to be based on data stored in other privacy computing devices.
- the second sub-algorithm is recalculated, and the proxy API corresponding to the first sub-algorithm and the proxy API corresponding to the second sub-algorithm are determined based on the pre-saved correspondence between each sub-algorithm and the proxy API.
- the transmission unit 12 in the privacy computing device sends the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that other privacy computing devices (th The second privacy computing device) performs corresponding calculations on the first calculation data based on the second sub-algorithm.
- the transmission unit 12 in the privacy computing device receives the second calculation data based on the proxy API corresponding to the first sub-algorithm, it sends the second calculation data to the determination unit 11; if the determination unit 11 If it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, then the second calculation data is calculated accordingly based on the first sub-algorithm.
- Figure 6 shows a schematic diagram of the interconnection process of the fourth different privacy algorithms provided by some embodiments. As shown in Figure 6, the process includes the following steps:
- the determination unit 11 in the privacy computing device performs corresponding calculations on the data to be processed based on the first sub-algorithm and obtains the first calculation data, and determines that the first calculation data needs to be based on data stored in other privacy computing devices.
- the second sub-algorithm is recalculated, and the first proxy API corresponding to the first sub-algorithm and the second proxy API corresponding to the second sub-algorithm are determined based on the pre-saved correspondence between each sub-algorithm and the proxy API.
- the transmission unit 12 in the privacy computing device sends the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, and other privacy computing devices (second The privacy computing device) performs corresponding calculations on the first calculation data based on the saved second sub-algorithm to obtain the second calculation data. If the second calculation data needs to be recalculated based on the first sub-algorithm, the agent corresponding to the second sub-algorithm is used. API, a proxy API that sends the second calculation data to the first sub-algorithm.
- the transmission unit 12 in the privacy computing device receives the second calculation data based on the proxy API of the first sub-algorithm, it passes the second calculation data through the transmission layer API corresponding to the first sub-algorithm. , sent to the scene algorithm module in the determination unit 11.
- the scene algorithm module receives the second calculation data, and determines the safety algorithm API corresponding to the scene algorithm included in the first sub-algorithm according to the correspondence between the pre-saved scene algorithm and the safety algorithm API. , and based on the security algorithm API, send the second calculation data to the security algorithm module in the determination unit 11 .
- the security algorithm module receives the second calculation data and performs corresponding calculations on the second calculation data based on the security algorithm contained in the saved first sub-algorithm.
- different privacy computing products can be configured separately.
- the algorithm is an algorithm with a container (Container) structure.
- the first sub-algorithm and the second sub-algorithm may both be algorithms with a container structure.
- Configuring the privacy algorithm as a container structure can make the interconnection and interoperability between different privacy algorithm products stored in different privacy computing devices have good compatibility and operability, and can be accepted by most current mainstream privacy algorithms.
- Figure 7 shows a schematic diagram of an interconnection scenario of different privacy algorithms provided by some embodiments
- Figure 8 shows a schematic diagram of the interconnection process of a fifth different privacy algorithm provided by some embodiments, as shown in Figure As shown in Figures 7 and 8, the process includes the following steps:
- the scene algorithm module in the first privacy computing device determines the security algorithm API corresponding to the scene algorithm included in the first sub-algorithm based on the pre-saved correspondence between the scene algorithm and the security algorithm API, and based on the security algorithm API, will The processed data is sent to the security algorithm module in the first privacy computing device.
- the security algorithm module in the first privacy computing device receives the data to be processed, and based on the security algorithm included in the saved first sub-algorithm, performs corresponding calculations on the data to be processed to obtain the first calculation data. If the first calculation data needs to be recalculated based on the second sub-algorithm, the security algorithm module in the first privacy computing device can send the first calculation data to the scene algorithm in the first privacy computing device after obtaining the first calculation data. module.
- the scene algorithm module in the first privacy computing device determines the transport layer API corresponding to the first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API, and uses the transport layer API corresponding to the first sub-algorithm to A calculation data is sent to the transmission module in the first privacy calculation device.
- the transmission module in the first privacy computing device sends the first calculation data to the proxy API corresponding to the second sub-algorithm (the proxy API of the second privacy computing device) through the proxy API corresponding to the first sub-algorithm.
- the first privacy computing device and the second privacy computing device can communicate through a network.
- the transmission module in the second privacy computing device can send the first calculation data to the second privacy through the transmission layer API corresponding to the second sub-algorithm.
- a scene algorithm module in a computing device When the scene algorithm module in the second privacy computing device receives the first computing data, it can determine the security algorithm API corresponding to the scene algorithm included in the second sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API, and Based on the security algorithm API, the first calculation data is sent to the security algorithm module in the second privacy computing device.
- the security algorithm module in the second privacy computing device receives the first calculation data, it can perform corresponding calculations on the first calculation data based on the security algorithm included in the saved second sub-algorithm.
- the security algorithm module in the computing device may send the second calculation data to the scene algorithm module in the second privacy computing device.
- the scene algorithm module in the second privacy computing device determines the transport layer API corresponding to the second sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API, and uses the transport layer API corresponding to the second sub-algorithm to The second calculation data is sent to the transmission module in the second privacy calculation device.
- the transmission module in the second privacy computing device sends the second calculation data to the proxy API corresponding to the first sub-algorithm through the proxy API corresponding to the second sub-algorithm.
- the transmission module in the first privacy computing device can send the second calculation data to the first privacy through the transmission layer API corresponding to the first sub-algorithm.
- the scene algorithm module in the computing device receives the second computing data
- the scene algorithm module in the first privacy computing device can determine the scene included in the first sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API.
- the security algorithm API corresponding to the algorithm, and based on the security algorithm API sends the second calculation data to the security algorithm module in the first privacy computing device.
- the security algorithm module in the first privacy computing device receives the second calculation data, it can perform corresponding calculations on the second calculation data based on the security algorithm included in the saved first sub-algorithm.
- the security algorithm API in the first privacy computing device and the security algorithm API in the second privacy computing device may be the same API, and the transport layer API in the first privacy computing device
- the transport layer API in the second privacy computing device may also be the same API
- the proxy API in the first privacy computing device and the proxy API in the second privacy computing device may also be the same API.
- Figure 9 shows a schematic process diagram of a privacy calculation method provided by some embodiments. As shown in Figure 9, the method includes:
- S902 Send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that the other privacy computing devices perform calculations on the third sub-algorithm based on the second sub-algorithm.
- a calculation data is used to perform corresponding calculations.
- the privacy computing method provided by the embodiments of this application can be applied to electronic devices.
- the electronic device can be a privacy computing device that stores a privacy algorithm (sub-algorithm).
- the electronic device can be a PC, a mobile terminal, etc., or a server, etc. equipment.
- the method before determining that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm, the method further includes:
- the method further includes:
- the second calculation data is received based on the proxy API corresponding to the first sub-algorithm, and it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, then based on the first sub-algorithm, the The second calculated data performs corresponding calculations.
- the method before determining that the second calculation data needs to be recalculated based on the first sub-algorithm, the method further includes:
- the method after receiving the processing instruction that the second calculation data needs to be processed based on the first sub-algorithm, the determining that the second calculation data needs to be processed based on the first sub-algorithm Before calculation, the method also includes:
- Figure 10 shows a schematic diagram of a private computing system provided by some embodiments.
- the system includes:
- the first privacy computing device 101 is configured to perform corresponding calculations on the data to be processed based on the first sub-algorithm in the privacy algorithm to obtain the first calculation data, and determine that the first calculation data needs to be based on the second sub-algorithm in the privacy algorithm.
- the sub-algorithm is recalculated, and the second sub-algorithm is stored in the second privacy computing device. Then, according to the corresponding relationship between each pre-saved sub-algorithm and the agent application programming interface API, the corresponding first sub-algorithm is determined.
- Proxy API, and the proxy API corresponding to the second sub-algorithm sending the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm;
- the second privacy computing device 102 is configured to receive the first calculation data based on the proxy API corresponding to the second sub-algorithm, and determine that the first calculation data needs to be performed based on the second sub-algorithm. Calculate again, and perform corresponding calculations on the first calculation data based on the second sub-algorithm.
- the first privacy computing device 101 includes a determination unit and a transmission unit; wherein the determination unit in the first privacy computing device 101 is used to process data based on the first sub-algorithm in the privacy algorithm.
- the first calculation data is obtained after performing corresponding calculations on the data, and it is determined that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm, wherein the second sub-algorithm is stored in other privacy computing devices, Then, according to the pre-saved corresponding relationship between each sub-algorithm and the agent application programming interface API, determine the agent API corresponding to the first sub-algorithm, and the agent API corresponding to the second sub-algorithm;
- the transmission unit in the first privacy computing device 101 is used to send the first calculation data to the proxy API corresponding to the second sub-algorithm through the proxy API corresponding to the first sub-algorithm, so that the other privacy
- the computing device performs corresponding calculations on the first calculation data based on the second sub-algorithm.
- the determining unit in the first privacy computing device 101 includes:
- a scene algorithm module used to send the data to be processed to the security algorithm module
- the security algorithm module is configured to receive the data to be processed, and perform corresponding calculations on the data to be processed based on the security algorithm included in the saved first sub-algorithm to obtain the first calculation data.
- the scene algorithm module in the first privacy computing device 101 is specifically used to determine the corresponding scene algorithm contained in the first sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API.
- security algorithm API and based on the security algorithm API corresponding to the scene algorithm, send the data to be processed to the security algorithm module in the first privacy computing device 101.
- the security algorithm module in the first privacy computing device 101 is also used to send the first calculation data to the scene algorithm module in the first privacy computing device 101;
- the scene algorithm module in the first privacy computing device 101 is also used to send the first computing data to the transmission unit in the first privacy computing device 101 .
- the scene algorithm module in the first privacy computing device 101 is specifically used to determine the transport layer corresponding to the first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API. API, and sends the first calculation data to the transmission unit in the first privacy computing device 101 through the transmission layer API corresponding to the first sub-algorithm.
- the security algorithm module in the first privacy computing device 101 is also used to send the first computing data to the transmission unit in the first privacy computing device 101 .
- the security algorithm module in the first privacy computing device 101 is specifically used to determine the transport layer corresponding to the first sub-algorithm based on the pre-saved correspondence between each sub-algorithm and the transport layer API. API, and sends the first calculation data to the transmission unit in the first privacy computing device 101 through the transmission layer API corresponding to the first sub-algorithm.
- the determining unit in the first privacy computing device 101 is also configured to receive a sending instruction to send the first computing data, wherein the sending instruction carries the need to send the first computing data. If the first calculation data is sent to the second sub-algorithm, it is determined that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm.
- the transmission unit in the first privacy computing device 101 is also configured to, if the second calculation data is received based on the proxy API corresponding to the first sub-algorithm, transfer the second calculation data to Sent to the determination unit in the first privacy computing device 101;
- the determination unit in the first privacy computing device 101 is also used to, if it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, based on the first sub-algorithm, the second calculation data Make the appropriate calculations.
- the transmission unit in the first privacy computing device 101 is specifically configured to, if the second calculation data is received, pass the second calculation data through the transmission layer corresponding to the first sub-algorithm. API, sent to the determination unit in the first privacy computing device 101.
- the determining unit in the first privacy computing device 101 includes:
- the scene algorithm module in the first privacy computing device 101 is specifically configured to receive the second calculation data and send the second calculation data to the security algorithm module in the first privacy computing device 101;
- the security algorithm module in the first privacy computing device 101 is specifically configured to receive the second calculation data, and perform corresponding calculations on the second calculation data based on the security algorithm included in the saved first sub-algorithm.
- the scene algorithm module in the first privacy computing device 101 is specifically used to determine the scene algorithm included in the first sub-algorithm based on the correspondence between the pre-saved scene algorithm and the security algorithm API.
- the corresponding security algorithm API is sent to the security algorithm module in the first privacy computing device 101 based on the security algorithm API corresponding to the scene algorithm.
- the determination unit in the first privacy computing device 101 is also configured to determine whether the second calculation data needs to be processed based on the first sub-algorithm if a processing instruction is received. The second calculation data needs to be recalculated based on the first sub-algorithm.
- the determination unit in the first privacy computing device 101 is also used to identify the target token carried in the processing instruction. If the reference tokens of the algorithms are consistent, it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm.
- the first sub-algorithm and the second sub-algorithm are container-structured algorithms.
- the second privacy computing device 102 includes a determination unit and a transmission unit; wherein the transmission unit in the second privacy computing device 102 is used to receive based on the proxy API corresponding to the second sub-algorithm. to the first calculation data, sending the first calculation data to the determination unit in the second privacy computing device 102;
- the determination unit in the second privacy computing device 102 is configured to, if it is determined that the first calculation data needs to be recalculated based on the second sub-algorithm in the saved privacy algorithm, based on the second sub-algorithm, A calculation data is used to perform corresponding calculations.
- the transmission unit in the second privacy computing device 102 is specifically configured to pass the first computing data through the transmission layer corresponding to the second sub-algorithm if the first computing data is received.
- API sent to the determination unit in the second privacy computing device 102;
- the determining unit in the second privacy computing device 102 includes:
- the scene algorithm module in the second privacy computing device 102 is specifically configured to receive the first computing data, and determine the corresponding scene algorithm included in the second sub-algorithm according to the correspondence between the pre-saved scene algorithm and the security algorithm API.
- the security algorithm API and based on the security algorithm API, send the first calculation data to the security algorithm module in the second privacy computing device 102;
- the security algorithm module in the second privacy computing device 102 is specifically configured to receive the first calculation data, and perform corresponding calculations on the first calculation data based on the security algorithm included in the saved second sub-algorithm.
- the determination unit in the second privacy computing device 102 is also configured to determine the first calculation data if a processing instruction that needs to be processed based on the second sub-algorithm is received. A calculation data needs to be recalculated based on the second sub-algorithm.
- the determination unit in the second privacy computing device 102 is also used to identify the target token carried in the processing instruction. If the reference tokens of the algorithms are consistent, it is determined that the first calculation data needs to be recalculated based on the second sub-algorithm.
- Figure 11 shows a schematic structural diagram of an electronic device provided in some embodiments. As shown in Figure 11, it includes: a processor 111, a communication interface 112, and a memory. 113 and communication bus 114, wherein the processor 111, communication interface 112, and memory 113 complete communication with each other through the communication bus 114;
- the memory 113 stores a computer program.
- the processor 111 executes the following steps:
- the proxy API corresponding to the first sub-algorithm and the second sub-algorithm are determined based on the pre-saved correspondence between each sub-algorithm and the proxy application programming interface API.
- the first calculation data is sent to the proxy API corresponding to the second sub-algorithm, so that the other privacy computing devices calculate the first calculation data based on the second sub-algorithm.
- the data is calculated accordingly.
- the processor 111 is also used to determine that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm.
- the method further includes:
- the processor 111 is further configured to receive second calculation data based on the proxy API corresponding to the first sub-algorithm, and determine that the second calculation data needs to be based on the The first sub-algorithm performs recalculation, and then performs corresponding calculations on the second calculation data based on the first sub-algorithm.
- the processor 111 is also used to determine that the second calculation data needs to be recalculated based on the first sub-algorithm.
- the method further includes:
- the processor 111 is further configured to determine the second calculation data after receiving a processing instruction to process the second calculation data based on the first sub-algorithm. Before recalculating based on the first sub-algorithm, the method further includes:
- the communication bus mentioned in the above-mentioned electronic equipment can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- the communication bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
- the communication interface 112 is used for communication between the above-mentioned electronic device and other devices.
- the memory may include random access memory (Random Access Memory, RAM) or non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory.
- RAM Random Access Memory
- NVM Non-Volatile Memory
- the memory may also be at least one storage device located remotely from the aforementioned processor.
- the above-mentioned processor can be a general-purpose processor, including a central processing unit, a network processor (Network Processor, NP), etc.; it can also be a digital instruction processor (Digital Signal Processing, DSP), an application-specific integrated circuit, a field programmable gate array, or Other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- NP Network Processor
- DSP Digital Signal Processing
- inventions of the present application provide a computer-readable storage medium.
- the computer-readable storage medium stores a computer program that can be executed by an electronic device. When the program is run on the electronic device, , so that the electronic device can implement the following steps when executed:
- the proxy API corresponding to the first sub-algorithm and the second sub-algorithm are determined based on the pre-saved correspondence between each sub-algorithm and the proxy application programming interface API.
- the first calculation data is sent to the proxy API corresponding to the second sub-algorithm, so that the other privacy computing devices perform calculations on the first calculation based on the second sub-algorithm.
- the data is calculated accordingly.
- the method before determining that the first calculation data needs to be recalculated based on the second sub-algorithm in the privacy algorithm, the method further includes:
- the method further includes:
- the second calculation data is received based on the proxy API corresponding to the first sub-algorithm, and it is determined that the second calculation data needs to be recalculated based on the first sub-algorithm, then based on the first sub-algorithm, the The second calculated data performs corresponding calculations.
- the method before determining that the second calculation data needs to be recalculated based on the first sub-algorithm, the method further includes:
- the method after receiving the processing instruction that the second calculation data needs to be processed based on the first sub-algorithm, the determining that the second calculation data needs to be processed based on the first sub-algorithm Before calculation, the method also includes:
- the above-mentioned computer-readable storage media can be any available media or data storage devices that can be accessed by the processor in the electronic device, including but not limited to magnetic memories such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc., and optical memories such as CDs. , DVD, BD, HVD, etc., as well as semiconductor memories such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid state drive (SSD), etc.
- magnetic memories such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.
- optical memories such as CDs. , DVD, BD, HVD, etc.
- semiconductor memories such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid state drive (SSD), etc.
- the present application provides a computer program product.
- the computer program product includes: computer program code.
- the computer program code When the computer program code is run on a computer, the computer Perform the steps of the privacy calculation method as described in any one of the above.
- embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
- These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions
- the device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device.
- Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
一种隐私计算设备、方法、系统、电子设备及介质,用于实现不同隐私计算产品之间的互联互通。该隐私计算设备在基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定第一计算数据需基于隐私算法中的第二子算法进行再计算,其中该第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的代理API,以及第二子算法对应的代理API;通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API,使其他隐私计算设备基于第二子算法对第一计算数据进行相应计算,从而使不同隐私计算设备中保存的隐私算法产品之间互联互通。
Description
相关申请的交叉引用
本申请要求在2022年07月15日提交中国专利局、申请号为202210836848.2、申请名称为“一种隐私计算设备、方法、系统、电子设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及网络安全技术领域,尤其涉及一种隐私计算设备、方法、系统、电子设备及介质。
隐私计算(Privacy compute或Privacy computing)是指在保护数据本身不对外泄露的前提下实现数据分析计算的技术集合,达到对数据“可用、不可见”的目的,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
随着业界数据保护意识的增强以及隐私监管政策的趋严,隐私计算由于其“可用、不可见”的特性受到了业界的广泛关注。众多技术厂商纷纷推出其具有行业特色的隐私计算产品。众多的隐私计算产品在丰富了市场选择的同时,也带来了新的挑战。例如不同技术厂商推出的隐私计算产品通常是基于不同系统平台设计实现的,将不同系统平台的隐私计算产品分别保存在不同的隐私计算设备中时,不同系统平台的隐私计算产品之间通常无法完成信息的交互,将“数据孤岛”变成了“计算孤岛”。另外,即便是同一技术厂商推出的同一隐私计算产品,将同一隐私计算产品分别保存在不同隐私计算设备中时,同一隐私计算产品之间通常也无法完成信息的交互,同样将“数据孤岛”变成了“计算孤岛”。
因此,不同隐私计算设备中保存的隐私算法产品之间的互联互通问题已经成为业界的绝对痛点,如何实现不同隐私计算设备中保存的隐私算法产品 之间的互联互通是目前亟需解决的一个技术问题。
发明内容
本申请提供了一种隐私计算设备、方法、系统、设备及介质,用于实现不同隐私计算设备中保存的隐私算法产品之间的互联互通。
第一方面,本申请提供了一种隐私计算设备,所述设备包括:
确定单元,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;
传输单元,用于通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,所述确定单元包括:
场景算法模块,用于将所述待处理数据发送给安全算法模块;
所述安全算法模块,用于接收所述待处理数据,基于保存的第一子算法中包含的安全算法,对所述待处理数据进行相应计算得到所述第一计算数据。
在一种可能的实施方式中,所述场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法包含的场景算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述待处理数据发送给所述安全算法模块。
在一种可能的实施方式中,所述安全算法模块,还用于将所述第一计算数据发送给所述场景算法模块;
所述场景算法模块,还用于将所述第一计算数据发送给所述传输单元。
在一种可能的实施方式中,所述场景算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API, 并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给所述传输单元。
在一种可能的实施方式中,所述安全算法模块,还用于将所述第一计算数据发送给所述传输单元。
在一种可能的实施方式中,所述安全算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API,并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给所述传输单元。
在一种可能的实施方式中,所述确定单元,还用于若接收到对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息,则确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算。
在一种可能的实施方式中,所述传输单元,还用于若基于所述第一子算法对应的代理API,接收到第二计算数据,将所述第二计算数据发送给所述确定单元;
所述确定单元,还用于若确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,所述传输单元,具体用于若接收到所述第二计算数据,则将所述第二计算数据通过第一子算法对应的传输层API,发送给所述确定单元。
在一种可能的实施方式中,所述确定单元包括:
场景算法模块,具体用于接收所述第二计算数据,将所述第二计算数据发送给安全算法模块;
所述安全算法模块,具体用于接收所述第二计算数据,基于保存的第一子算法中包含的安全算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,所述场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法中包含的场景 算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述第二计算数据发送给所述安全算法模块。
在一种可能的实施方式中,所述确定单元,还用于若接收到需基于所述第一子算法对第二计算数据进行处理的处理指令,则确定所述第二计算数据需基于所述第一子算法进行再计算。
在一种可能的实施方式中,所述确定单元,还用于识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则确定所述第二计算数据需基于所述第一子算法进行再计算。
在一种可能的实施方式中,所述第一子算法和所述第二子算法为容器结构的算法。
第二方面,本申请提供了一种隐私计算方法,所述方法包括:
若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;
通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,所述确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算之前,所述方法还包括:
接收对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息。
在一种可能的实施方式中,所述方法还包括:
若基于所述第一子算法对应的代理API,接收到第二计算数据,且确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
接收需基于所述第一子算法对第二计算数据进行处理的处理指令。
在一种可能的实施方式中,所述接收需基于所述第一子算法对第二计算数据进行处理的处理指令之后,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则进行后续确定所述第二计算数据需基于所述第一子算法进行再计算的步骤。
第三方面,本申请提供了一种隐私计算系统,所述系统包括:
第一隐私计算设备,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在第二隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API;
所述第二隐私计算设备,用于若基于所述第二子算法对应的代理API,接收到所述第一计算数据,且确定所述第一计算数据需基于所述第二子算法进行再计算,则基于所述第二子算法,对所述第一计算数据进行相应计算。
第四方面,本申请提供了一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任一项所述隐私计算方法的步骤。
第五方面,本申请提供了一种计算机可读存储介质,其包括程序代码,当所述存储介质在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任一项所述隐私计算方法的步骤。
第六方面,本申请提供了一种计算机程序产品,所述计算机程序产品包 括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一所述隐私计算方法的步骤。
由于本申请隐私计算设备中的确定单元在基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定第一计算数据需基于隐私算法中的第二子算法进行再计算,其中该第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的代理API,以及第二子算法对应的代理API;隐私计算设备中的传输单元可以通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API,使其他隐私计算设备可以基于第二子算法对第一计算数据进行相应计算,从而可以使得第一子算法和第二子算法(保存在不同隐私计算设备中的隐私算法产品)之间可以进行信息的交互,实现不同隐私计算设备中保存的隐私算法产品之间可以互联互通的目的。
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了一些实施例提供的第一种隐私计算设备结构示意图;
图2示出了一些实施例提供的第二种隐私计算设备结构示意图;
图3示出了一些实施例提供的第一种不同隐私算法互联互通流程示意图;
图4示出了一些实施例提供的第二种不同隐私算法互联互通流程示意图;
图5示出了一些实施例提供的第三种不同隐私算法互联互通流程示意图;
图6示出了一些实施例提供的第四种不同隐私算法互联互通流程示意图;
图7示出了一些实施例提供的一种不同隐私算法互联互通场景示意图;
图8示出了一些实施例提供的第五种不同隐私算法互联互通流程示意图;
图9示出了一些实施例提供的一种隐私计算方法过程示意图;
图10示出了一些实施例提供的一种隐私计算系统示意图;
图11示出了一些实施例提供的一种电子设备结构示意图。
为了实现不同隐私计算设备中保存的隐私算法产品之间的互联互通,本申请提供了一种隐私计算设备、方法、系统、设备及介质。
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
实施例1:
图1示出了一些实施例提供的第一种隐私计算设备结构示意图,该设备包括:确定单元11和传输单元12;
其中,确定单元11,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;
传输单元12,用于通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,隐私计算设备可以是PC、移动终端等设备,也可以是服务器等设备,本申请对此不作具体限定。隐私计算设备中的确定单元11和传输单元12相连,本申请对确定单元11和传输单元12的连接方式不作具体限定。
在一种可能的实施方式中,隐私计算设备中保存有任一隐私算法的第一子算法(为方便描述,将保存在该隐私计算设备中的子算法称为第一子算法),其他隐私计算设备中保存有任一隐私算法的第二子算法(为方便描述,将保存在其他隐私计算设备中的子算法称为第二子算法)。在一种可能的实施方式中,第一子算法和第二子算法可以分别为同一技术厂商推出的同一隐私计算产品中包含的部分子算法,可选的,第一子算法和第二子算法也可以分别为不同技术厂商基于不同系统平台推出的不同隐私计算产品等,可以根据需求灵活设置,本申请对此不作具体限定。在一种可能的实施方式中,其他隐私计算设备的数量可以为一个也可以为多个,本申请对其他隐私计算设备的数量不作具体限定,可以根据需求灵活设置,其中,无论其他隐私计算设备的数量是一个还是多个,针对每个其他隐私计算设备,隐私计算设备与该其他隐私计算设备中保存的隐私算法产品之间进行互联互通时的隐私计算过程均 可以采用本申请实施例提供的隐私计算过程,在此不再赘述。
在一种可能的实施方式中,隐私计算设备中的确定单元11可以基于第一子算法,对待处理数据进行相应计算而得到第一计算数据(为方便描述,将基于第一子算法获得的计算数据称为第一计算数据)。其中,本申请对第一子算法对待处理数据的计算方式不作具体限定,第一计算数据可以为第一子算法对待处理数据的中间计算结果,也可以为第一子算法对待处理数据的最终计算结果等。
在一种可能的实施方式中,确定单元11在基于第一子算法对待处理数据进行相应计算后得到第一计算数据时,可以判断该第一计算数据是否需基于保存在其他隐私计算设备中的第二子算法进行再计算。为方便描述,将保存第一子算法的隐私计算设备称为第一隐私计算设备,将保存第二子算法的其他隐私计算设备称为第二隐私计算设备。
在一种可能的实施方式中,第一子算法和第二子算法可以基于预先确定的隐私算法协议来运行,例如,当第一计算数据需要基于第二子算法进行再计算时,第一隐私计算设备中的确定单元11可以接收到对第一计算数据进行发送的发送指令,该发送指令中可以携带需将第一计算数据发送给第二子算法的信息,当确定单元11接收到该发送指令时,可以确定第一计算数据需基于第二子算法进行再计算。
在一种可能的实施方式中,当确定第一计算数据需基于第二子算法进行再计算时,为了可以将第一计算数据发送给第二子算法,确定单元11中可以预先保存各子算法与代理应用程序编程接口(Application Programming Interface,API)的对应关系,其中各子算法及对应的代理API可以根据需求灵活设置,本申请对此不作具体限定。确定单元11可以根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的代理API。另外确定单元11还可以根据预先保存的各子算法与代理API的对应关系,确定第二子算法对应的代理API。
确定了第一子算法对应的代理API以及第二子算法对应的代理API之后, 隐私计算设备(第一隐私计算设备)中的传输单元12可以通过第一子算法对应的代理API,将第一计算数据发送给其他隐私计算设备(第二隐私计算设备)中的第二子算法对应的代理API,使保存在其他隐私计算设备中的第二子算法对第一计算数据进行相应计算,从而可以使得第一子算法和第二子算法(保存在不同隐私计算设备的隐私算法产品)之间可以进行信息的交互,实现不同隐私计算设备中保存的隐私算法产品之间可以互联互通的目的。可选的,第一子算法对应的代理API和第二子算法对应的代理API可以为Representational State Transfer(RESTful)API等。
由于本申请隐私计算设备中的确定单元在基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定第一计算数据需基于隐私算法中的第二子算法进行再计算,其中该第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的代理API,以及第二子算法对应的代理API;隐私计算设备中的传输单元可以通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API,使其他隐私计算设备可以基于第二子算法对第一计算数据进行相应计算,从而可以使得第一子算法和第二子算法(保存在不同隐私计算设备中的隐私算法产品)之间可以进行信息的交互,实现不同隐私计算设备中保存的隐私算法产品之间可以互联互通的目的。
实施例2:
为了灵活准确地对待处理数据进行隐私计算,在上述实施例的基础上,在本申请实施例中,所述确定单元11包括:
场景算法模块,用于将所述待处理数据发送给安全算法模块;
所述安全算法模块,用于接收所述待处理数据,基于保存的第一子算法中包含的安全算法,对所述待处理数据进行相应计算得到所述第一计算数据。
在一种可能的实施方式中,为了增加隐私计算的灵活性和准确性,可以将第一子算法和第二子算法等隐私算法解耦为包含场景算法和安全算法。其中,如果隐私算法中不包含安全算法,只包含场景算法的话,可以认为是在 没有安全加密保护的情况下对待处理数据进行明文计算;如果隐私算法中包含场景算法以及安全算法的话,可以认为是在安全加密保护的情况下对待处理数据进行隐私计算。其中,场景算法可以为联邦学习内的横纵向LR、XGBoost算法等,安全算法可以是指密码算法操作、或者多方安全计算等对于数据进行某种密态的原语操作等算法,隐私算法中包含的场景算法及安全算法均可以根据需求灵活选择,本申请对此不作具体限定。
如图2所示,图2示出了一些实施例提供的第二种隐私计算设备结构示意图,可选的,可以将第一子算法解耦为包含场景算法和安全算法,将第一子算法包含的场景算法保存在确定单元11中的场景算法模块中,将第一子算法包含的安全算法保存在确定单元11中的安全算法模块中。
在一种可能的实施方式中,基于第一子算法对待处理数据进行相应计算后得到第一计算数据的过程如下:
为了灵活准确的确定第一子算法中包含的安全算法,可以预先保存场景算法与安全算法API的对应关系,第一场景算法模块可以根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法包含的场景算法对应的安全算法API,然后通过该第一子算法包含的场景算法对应的安全算法API,使得第一子算法包含的场景算法可以调用第一子算法包含的安全算法,从而可以基于第一子算法包含的安全算法,在安全加密保护的情况下对待处理数据进行隐私计算得到第一计算数据。可选的,在调用第一子算法包含的安全算法时,场景算法模块可以是基于第一子算法包含的场景算法对应的安全算法API,将待处理数据发送给安全算法模块,安全算法模块接收待处理数据,并可以基于保存的第一子算法中包含的安全算法,对待处理数据进行相应隐私计算从而得到第一计算数据。
相较于隐私算法中包含高度耦合的场景算法和安全算法,由于本申请可以将隐私算法解耦为场景算法和安全算法,使得可以为隐私算法自由选择受信任的安全算法,提高了隐私算法的灵活性及安全性。
另外,相较于隐私算法中还包含有高度耦合的传输单元12,每次加载隐 私算法还需要加载其对应的传输单元12,导致系统实现并不高效等而言,本申请可以将传输单元12与隐私算法解耦,隐私算法中可以不包含耦合的传输单元12,而是将传输单元12配置在隐私计算设备中,例如配置在隐私计算设备的平台底座等中,提升了隐私算法的标准化程度和多样化。而且加载隐私算法时,也只需要加载其包含的场景算法和安全算法即可,无需再加载其对应的传输单元12相关的传输组件或者加载信任程度未知的传输组件,从而可以提升系统整体性能的同时还可以提升安全性。
另外,由于本申请中代理API、安全算法API、传输层API等均可以是标准的API,因此数据在隐私计算过程的流动与调用都是可追踪监控的,可以提升对隐私计算的可控程度,从而可以很好的满足隐私算法对于数据操作安全可控的要求,并且还具备场景算法与安全算法之间、隐私算法与传输单元12之间等安全可替换,可灵活组合等特性。
为了快捷灵活地将第一计算数据发送给传输单元12,在上述各实施例的基础上,本申请实施例提供了两种可以将第一计算数据发送给传输单元12的方式:
第一种方式为:例如当第一子算法中包含的安全算法为简单加密或同态加密(Homomorphic Encryption,HE)等时,安全算法模块在获得第一计算数据后,可以将第一计算数据发送给场景算法模块,由场景算法模块将第一计算数据发送给传输单元12。在一种可能的实施方式中,场景算法模块在将第一计算数据发送给传输单元12时,可以根据预先保存的各子算法与传输层API的对应关系,确定第一子算法对应的传输层API,并通过第一子算法对应的传输层API,将第一计算数据发送给传输单元12。
第二种方式为:例如第一子算法中包含的安全算法为安全多方计算(Secure Multi-party Computation,MPC)等时,安全算法模块可以直接根据预先保存的各子算法与传输层API的对应关系,确定第一子算法对应的传输层API,并可以通过第一子算法对应的传输层API,将第一计算数据发送给传输单元12。
为方便理解,下面通过一个具体实施例对本申请提供的不同隐私算法互联互通过程进行说明。图3示出了一些实施例提供的第一种不同隐私算法互联互通流程示意图,如图3所示,该过程包括以下步骤:
S301:场景算法模块根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法包含的场景算法对应的安全算法API,并基于该安全算法API,将待处理数据发送给安全算法模块。
S302:安全算法模块接收待处理数据,基于保存的第一子算法中包含的安全算法,对待处理数据进行相应计算得到第一计算数据。
S303:安全算法模块将第一计算数据发送给场景算法模块。
S304:若第一计算数据需基于保存在其他隐私计算设备中的第二子算法进行再计算,场景算法模块根据预先保存的各子算法与传输层API的对应关系,确定第一子算法对应的传输层API,并通过该传输层API,将第一计算数据发送给传输单元12。
S305:传输单元12通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API(也即其他隐私计算设备的代理API),使其他隐私计算设备可以基于第二子算法对第一计算数据进行相应计算。
为方便理解,下面再通过一个具体实施例对本申请提供的不同隐私算法互联互通过程进行说明。图4示出了一些实施例提供的第二种不同隐私算法互联互通流程示意图,如图4所示,该过程包括以下步骤:
S401:场景算法模块根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法包含的场景算法对应的安全算法API,并基于该安全算法API,将待处理数据发送给安全算法模块。
S402:安全算法模块接收待处理数据,基于保存的第一子算法包含的安全算法,对待处理数据进行相应计算得到第一计算数据。
S403:若第一计算数据需基于保存在其他隐私计算设备中的第二子算法进行再计算,安全算法模块根据预先保存的各子算法与传输层API的对应关系,确定第一子算法对应的传输层API,并通过该第一子算法对应的传输层 API,将第一计算数据发送给传输单元12。
S404:传输单元12通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API(也即其他隐私计算设备的代理API),使其他隐私计算设备可以基于第二子算法对第一计算数据进行相应计算。
实施例3:
在一种可能的实施方式中,隐私计算设备(第一隐私计算设备)除了可以将获得的第一计算数据发送给其他隐私计算设备,使保存在其他隐私计算设备(第二隐私计算设备)中的第二子算法可以对第一计算数据进行再计算之外,还可以接收其他隐私计算设备发送的第二计算数据(为方便描述,将其他隐私计算设备发送的计算数据称为第二计算数据),对第二计算数据进行再计算。
具体的,第一隐私计算设备中的传输单元12可以基于第一子算法对应的代理API,接收其他隐私计算设备发送的第二计算数据,并可以将该第二计算数据发送给确定单元11。确定单元11可以判断第二计算数据是否需基于第一子算法进行再计算,如果确定第二计算数据需基于第一子算法进行再计算,则可以基于保存的第一子算法,对第二计算数据进行相应计算。
在一种可能的实施方式中,在判断第二计算数据是否需基于第一子算法进行再计算时,确定单元11可以判断是否接收到需基于第一子算法对第二计算数据进行处理的处理指令,如果接收到该处理指令,则可以确定第二计算数据需基于第一子算法进行再计算。
在一种可能的实施方式中,在第一子算法和第二子算法预先开始准备进行互联互通时,第一子算法所在的隐私计算设备中可以保存第二子算法的参考令牌等。同样的,第二子算法所在的隐私计算设备中也可以保存第一子算法的参考令牌等。当第二子算法所在的隐私计算设备向第一子算法所在的隐私计算设备发送第二计算数据时,可以同时发送需基于第一子算法对第二计算数据进行处理的处理指令,该处理指令中可以携带第二子算法的令牌(为方便描述,将处理指令中携带的令牌称为目标令牌),第一子算法所在的隐私 计算设备接收到处理指令后,可以判断该处理指令中携带的目标令牌与预先保存的第二子算法的参考令牌是否一致,如果一致,则可以认为第二计算数据为安全的合规设备发送的,可以确定需基于第一子算法对该第二计算数据进行再计算。而如果目标令牌与预先保存的第二子算法的参考令牌不一致,则可以认为该第二计算数据不是安全的合规设备发送的,则可以确定无需基于第一子算法对该第二计算数据进行再计算,从而可以保证保存在不同隐私计算设备中的隐私算法产品互联互通时的安全性。
在一种可能的实施方式中,第一隐私计算设备的传输单元12中可以包含传输模块,确定单元11中可以包括场景算法模块和安全算法模块。传输单元12在将第二计算数据发送给确定单元11时,可以是传输模块先基于传输单元12中的代理API(第一子算法对应的代理API)接收到第二计算数据,然后将第二计算数据通过第一子算法对应的传输层API,发送给确定单元11中的场景算法模块,场景算法模块接收到第二计算数据时,可以将第二计算数据发送给安全算法模块,可选的,场景算法模块可以根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法中包含的场景算法对应的安全算法API,并基于该安全算法API,将第二计算数据发送给安全算法模块。安全算法模块接收到第二计算数据时,可以基于保存的第一子算法中包含的安全算法,对第二计算数据进行相应计算。
为方便理解,下面再通过一个具体实施例对本申请提供的不同隐私算法互联互通过程进行说明。图5示出了一些实施例提供的第三种不同隐私算法互联互通流程示意图,如图5所示,该过程包括以下步骤:
S501:隐私计算设备(第一隐私计算设备)中的确定单元11若基于第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定第一计算数据需基于保存在其他隐私计算设备中的第二子算法进行再计算,则根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的代理API,以及第二子算法对应的代理API。
S502:隐私计算设备(第一隐私计算设备)中的传输单元12通过第一子 算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API,使其他隐私计算设备(第二隐私计算设备)基于第二子算法对第一计算数据进行相应计算。
S503:隐私计算设备(第一隐私计算设备)中的传输单元12若基于第一子算法对应的代理API,接收到第二计算数据,将第二计算数据发送给确定单元11;确定单元11若确定第二计算数据需基于第一子算法进行再计算,则基于第一子算法,对第二计算数据进行相应计算。
为方便理解,下面再通过一个具体实施例对本申请提供的不同隐私算法互联互通过程进行说明。图6示出了一些实施例提供的第四种不同隐私算法互联互通流程示意图,如图6所示,该过程包括以下步骤:
S601:隐私计算设备(第一隐私计算设备)中的确定单元11若基于第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定第一计算数据需基于保存在其他隐私计算设备中的第二子算法进行再计算,则根据预先保存的各子算法与代理API的对应关系,确定第一子算法对应的第一代理API,以及第二子算法对应的第二代理API。
S602:隐私计算设备(第一隐私计算设备)中的传输单元12通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API,其他隐私计算设备(第二隐私计算设备)基于保存的第二子算法对第一计算数据进行相应计算,得到第二计算数据,若第二计算数据需基于第一子算法进行再计算,则基于第二子算法对应的代理API,将第二计算数据发送给第一子算法的代理API。
S603:隐私计算设备(第一隐私计算设备)中的传输单元12若基于第一子算法的代理API,接收到第二计算数据,则将第二计算数据通过第一子算法对应的传输层API,发送给确定单元11中的场景算法模块,场景算法模块接收第二计算数据,根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法中包含的场景算法对应的安全算法API,并基于该安全算法API,将第二计算数据发送给确定单元11中的安全算法模块。安全算法模块接收第 二计算数据,基于保存的第一子算法中包含的安全算法,对第二计算数据进行相应计算。
在一种可能的实施方式中,为了实现不同隐私计算设备中保存的隐私算法产品之间的互联互通,可以将不同隐私计算产品(隐私算法),例如第一子算法和第二子算法分别配置为容器(Container)结构的算法,例如,第一子算法和第二子算法可以均为容器结构的算法。将隐私算法配置为容器结构,可以使得保存在不同隐私计算设备中的不同隐私算法产品之间的互联互通具有良好的兼容性和可操作性,能够被目前大多数主流的隐私算法所接受。
为方便理解,下面通过一个具体实施例对本申请实施例提供的隐私算法互联互通过程进行说明。参阅图7和图8,图7示出了一些实施例提供的一种不同隐私算法互联互通场景示意图,图8示出了一些实施例提供的第五种不同隐私算法互联互通流程示意图,如图7和图8所示,该过程包括以下步骤:
S801:第一隐私计算设备中的场景算法模块根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法包含的场景算法对应的安全算法API,并基于该安全算法API,将待处理数据发送给第一隐私计算设备中的安全算法模块。
S802:第一隐私计算设备中的安全算法模块接收待处理数据,基于保存的第一子算法中包含的安全算法,对待处理数据进行相应计算得到第一计算数据。如果第一计算数据需基于第二子算法进行再计算,第一隐私计算设备中的安全算法模块可以在得到第一计算数据后,将第一计算数据发送给第一隐私计算设备中的场景算法模块。第一隐私计算设备中的场景算法模块根据预先保存的各子算法与传输层API的对应关系,确定第一子算法对应的传输层API,并通过第一子算法对应的传输层API,将第一计算数据发送给第一隐私计算设备中的传输模块。第一隐私计算设备中的传输模块通过第一子算法对应的代理API,将第一计算数据发送给第二子算法对应的代理API(第二隐私计算设备的代理API)。
可选的,第一隐私计算设备和第二隐私计算设备之间可以通过网络进行 通信。
S803:第二隐私计算设备中的传输模块基于第二子算法对应的代理API接收到第一计算数据后,可以将第一计算数据通过第二子算法对应的传输层API,发送给第二隐私计算设备中的场景算法模块。第二隐私计算设备中的场景算法模块接收到第一计算数据时,可以根据预先保存的场景算法与安全算法API的对应关系,确定第二子算法中包含的场景算法对应的安全算法API,并基于该安全算法API,将第一计算数据发送给第二隐私计算设备中的安全算法模块。第二隐私计算设备中的安全算法模块接收到第一计算数据时,可以基于保存的第二子算法中包含的安全算法,对第一计算数据进行相应计算。
S804:第二隐私计算设备基于第二子算法中包含的安全算法对第一计算数据进行相应计算得到第二计算数据之后,如果第二计算数据需基于第一子算法进行再计算,第二隐私计算设备中的安全算法模块可以在得到第二计算数据后,将第二计算数据发送给第二隐私计算设备中的场景算法模块。第二隐私计算设备中的场景算法模块根据预先保存的各子算法与传输层API的对应关系,确定第二子算法对应的传输层API,并通过第二子算法对应的传输层API,将第二计算数据发送给第二隐私计算设备中的传输模块。第二隐私计算设备中的传输模块通过第二子算法对应的代理API,将第二计算数据发送给第一子算法对应的代理API。
S805:第一隐私计算设备中的传输模块基于第一子算法对应的代理API接收到第二计算数据后,可以将第二计算数据通过第一子算法对应的传输层API,发送给第一隐私计算设备中的场景算法模块,第一隐私计算设备中的场景算法模块接收到第二计算数据时,可以根据预先保存的场景算法与安全算法API的对应关系,确定第一子算法中包含的场景算法对应的安全算法API,并基于该安全算法API,将第二计算数据发送给第一隐私计算设备中的安全算法模块。第一隐私计算设备中的安全算法模块接收到第二计算数据时,可以基于保存的第一子算法中包含的安全算法,对第二计算数据进行相应计算。
在一种可能的实施方式中,第一隐私计算设备中的安全算法API与第二 隐私计算设备中的安全算法API可以是相同的(一样的)API,第一隐私计算设备中的传输层API与第二隐私计算设备中的传输层API也可以是相同的API,第一隐私计算设备中的代理API与第二隐私计算设备中的代理API也可以是相同的API。
实施例4:
基于相同的技术构思,本申请提供了一种隐私计算方法,图9示出了一些实施例提供的一种隐私计算方法过程示意图,如图9所示,该方法包括:
S901:若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API。
S902:通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
本申请实施例提供的隐私计算方法可以应用于电子设备,该电子设备可以为保存有隐私算法(子算法)的隐私计算设备,该电子设备可以为PC、移动终端等设备,也可以是服务器等设备。
在一种可能的实施方式中,所述确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算之前,所述方法还包括:
接收对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息。
在一种可能的实施方式中,所述方法还包括:
若基于所述第一子算法对应的代理API,接收到第二计算数据,且确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,所述确定所述第二计算数据需基于所述第一 子算法进行再计算之前,所述方法还包括:
接收需基于所述第一子算法对第二计算数据进行处理的处理指令。
在一种可能的实施方式中,所述接收需基于所述第一子算法对第二计算数据进行处理的处理指令之后,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则进行后续确定所述第二计算数据需基于所述第一子算法进行再计算的步骤。
实施例5:
基于相同的技术构思,本申请提供了一种隐私计算系统,图10示出了一些实施例提供的一种隐私计算系统示意图,该系统包括:
第一隐私计算设备101,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在第二隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API;
所述第二隐私计算设备102,用于若基于所述第二子算法对应的代理API,接收到所述第一计算数据,且确定所述第一计算数据需基于所述第二子算法进行再计算,则基于所述第二子算法,对所述第一计算数据进行相应计算。
在一种可能的实施方式中,第一隐私计算设备101中包括确定单元和传输单元;其中,第一隐私计算设备101中的确定单元,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API, 以及所述第二子算法对应的代理API;
第一隐私计算设备101中的传输单元,用于通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,第一隐私计算设备101中的确定单元包括:
场景算法模块,用于将所述待处理数据发送给安全算法模块;
所述安全算法模块,用于接收所述待处理数据,基于保存的第一子算法中包含的安全算法,对所述待处理数据进行相应计算得到所述第一计算数据。
在一种可能的实施方式中,第一隐私计算设备101中的场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法包含的场景算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述待处理数据发送给第一隐私计算设备101中的安全算法模块。
在一种可能的实施方式中,第一隐私计算设备101中的安全算法模块,还用于将所述第一计算数据发送给第一隐私计算设备101中的场景算法模块;
第一隐私计算设备101中的场景算法模块,还用于将所述第一计算数据发送给第一隐私计算设备101中的传输单元。
在一种可能的实施方式中,第一隐私计算设备101中的场景算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API,并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给第一隐私计算设备101中的传输单元。
第一隐私计算设备101中的安全算法模块,还用于将所述第一计算数据发送给第一隐私计算设备101中的传输单元。
在一种可能的实施方式中,第一隐私计算设备101中的安全算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API,并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给第一隐私计算设备101中的传输单元。
在一种可能的实施方式中,第一隐私计算设备101中的确定单元,还用于若接收到对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息,则确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算。
在一种可能的实施方式中,第一隐私计算设备101中的传输单元,还用于若基于所述第一子算法对应的代理API,接收到第二计算数据,将所述第二计算数据发送给第一隐私计算设备101中的确定单元;
第一隐私计算设备101中的确定单元,还用于若确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,第一隐私计算设备101中的传输单元,具体用于若接收到所述第二计算数据,则将所述第二计算数据通过第一子算法对应的传输层API,发送给第一隐私计算设备101中的确定单元。
在一种可能的实施方式中,第一隐私计算设备101中的确定单元包括:
第一隐私计算设备101中的场景算法模块,具体用于接收所述第二计算数据,将所述第二计算数据发送给第一隐私计算设备101中的安全算法模块;
第一隐私计算设备101中的安全算法模块,具体用于接收所述第二计算数据,基于保存的第一子算法中包含的安全算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,第一隐私计算设备101中的场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法中包含的场景算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述第二计算数据发送给第一隐私计算设备101中的安全算法模块。
在一种可能的实施方式中,第一隐私计算设备101中的确定单元,还用于若接收到需基于所述第一子算法对第二计算数据进行处理的处理指令,则确定所述第二计算数据需基于所述第一子算法进行再计算。
在一种可能的实施方式中,第一隐私计算设备101中的确定单元,还用于识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则确定所述第二计算数据需基于所述第一子算法进行再计算。
在一种可能的实施方式中,所述第一子算法和所述第二子算法为容器结构的算法。
在一种可能的实施方式中,第二隐私计算设备102中包括确定单元和传输单元;其中,第二隐私计算设备102中的传输单元,用于若基于第二子算法对应的代理API,接收到第一计算数据,将所述第一计算数据发送给第二隐私计算设备102中的确定单元;
第二隐私计算设备102中的确定单元,用于若确定所述第一计算数据需基于保存的隐私算法中的第二子算法进行再计算,则基于所述第二子算法,对所述第一计算数据进行相应计算。
在一种可能的实施方式中,第二隐私计算设备102中的传输单元,具体用于若接收到所述第一计算数据,则将所述第一计算数据通过第二子算法对应的传输层API,发送给第二隐私计算设备102中的确定单元;
第二隐私计算设备102中的确定单元包括:
第二隐私计算设备102中的场景算法模块,具体用于接收所述第一计算数据,根据预先保存的场景算法与安全算法API的对应关系,确定所述第二子算法中包含的场景算法对应的安全算法API,并基于该安全算法API,将所述第一计算数据发送给第二隐私计算设备102中的安全算法模块;
第二隐私计算设备102中的安全算法模块,具体用于接收所述第一计算数据,基于保存的第二子算法中包含的安全算法,对所述第一计算数据进行相应计算。
在一种可能的实施方式中,第二隐私计算设备102中的确定单元,还用于若接收到需基于所述第二子算法对第一计算数据进行处理的处理指令,则确定所述第一计算数据需基于所述第二子算法进行再计算。
在一种可能的实施方式中,第二隐私计算设备102中的确定单元,还用于识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第一子算法的参考令牌一致,则确定所述第一计算数据需基于所述第二子算法进行再计算。
实施例6:
基于相同的技术构思,本申请还提供了一种电子设备,图11示出了一些实施例提供的一种电子设备结构示意图,如图11所示,包括:处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信;
所述存储器113中存储有计算机程序,当所述程序被所述处理器111执行时,使得所述处理器111执行如下步骤:
若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;
通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,所述处理器111,还用于所述确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算之前,所述方法还包括:
接收对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息。
在一种可能的实施方式中,所述处理器111,还用于若基于所述第一子算法对应的代理API,接收到第二计算数据,且确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进 行相应计算。
在一种可能的实施方式中,所述处理器111,还用于所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
接收需基于所述第一子算法对第二计算数据进行处理的处理指令。
在一种可能的实施方式中,所述处理器111,还用于所述接收需基于所述第一子算法对第二计算数据进行处理的处理指令之后,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则进行后续确定所述第二计算数据需基于所述第一子算法进行再计算的步骤。
由于上述电子设备解决问题的原理与隐私计算方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口112用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(Network Processor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例7:
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质, 所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;
通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
在一种可能的实施方式中,所述确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算之前,所述方法还包括:
接收对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息。
在一种可能的实施方式中,所述方法还包括:
若基于所述第一子算法对应的代理API,接收到第二计算数据,且确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
在一种可能的实施方式中,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
接收需基于所述第一子算法对第二计算数据进行处理的处理指令。
在一种可能的实施方式中,所述接收需基于所述第一子算法对第二计算数据进行处理的处理指令之后,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:
识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则进行后续确定所述第二计算数据需基于所述第一子算法进行再计算的步骤。
由于上述计算机可读存储介质解决问题的原理与隐私计算方法相似,因此上述计算机可读存储介质的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD)等。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一所述隐私计算方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (23)
- 一种隐私计算设备,所述设备包括:确定单元,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;传输单元,用于通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
- 根据权利要求1所述的设备,其中,所述确定单元包括:场景算法模块,用于将所述待处理数据发送给安全算法模块;所述安全算法模块,用于接收所述待处理数据,基于保存的第一子算法中包含的安全算法,对所述待处理数据进行相应计算得到所述第一计算数据。
- 根据权利要求2所述的设备,其中,所述场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法包含的场景算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述待处理数据发送给所述安全算法模块。
- 根据权利要求2或3所述的设备,所述安全算法模块,还用于将所述第一计算数据发送给所述场景算法模块;所述场景算法模块,还用于将所述第一计算数据发送给所述传输单元。
- 根据权利要求4所述的设备,其中,所述场景算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API,并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给所述传输单元。
- 根据权利要求2或3所述的设备,所述安全算法模块,还用于将所述 第一计算数据发送给所述传输单元。
- 根据权利要求6所述的设备,其中,所述安全算法模块,具体用于根据预先保存的各子算法与传输层API的对应关系,确定所述第一子算法对应的传输层API,并通过所述第一子算法对应的传输层API,将所述第一计算数据发送给所述传输单元。
- 根据权利要求1所述的设备,所述确定单元,还用于若接收到对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息,则确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算。
- 根据权利要求1-3、5、7-8任一所述的设备,所述传输单元,还用于若基于所述第一子算法对应的代理API,接收到第二计算数据,将所述第二计算数据发送给所述确定单元;所述确定单元,还用于若确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
- 根据权利要求9所述的设备,其中,所述传输单元,具体用于若接收到所述第二计算数据,则将所述第二计算数据通过第一子算法对应的传输层API,发送给所述确定单元。
- 根据权利要求10所述的设备,其中,所述确定单元包括:场景算法模块,具体用于接收所述第二计算数据,将所述第二计算数据发送给安全算法模块;所述安全算法模块,具体用于接收所述第二计算数据,基于保存的第一子算法中包含的安全算法,对所述第二计算数据进行相应计算。
- 根据权利要求11所述的设备,其中,所述场景算法模块,具体用于根据预先保存的场景算法与安全算法API的对应关系,确定所述第一子算法中包含的场景算法对应的安全算法API,并基于所述场景算法对应的安全算法API,将所述第二计算数据发送给所述安全算法模块。
- 根据权利要求9所述的设备,所述确定单元,还用于若接收到需基 于所述第一子算法对第二计算数据进行处理的处理指令,则确定所述第二计算数据需基于所述第一子算法进行再计算。
- 根据权利要求13所述的设备,所述确定单元,还用于识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则确定所述第二计算数据需基于所述第一子算法进行再计算。
- 根据权利要求1所述的设备,其中,所述第一子算法和所述第二子算法为容器结构的算法。
- 一种隐私计算方法,所述方法包括:若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在其他隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API,使所述其他隐私计算设备基于第二子算法对所述第一计算数据进行相应计算。
- 根据权利要求16所述的方法,所述确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算之前,所述方法还包括:接收对所述第一计算数据进行发送的发送指令,其中所述发送指令中携带需将所述第一计算数据发送给所述第二子算法的信息。
- 根据权利要求16-17任一所述的方法,所述方法还包括:若基于所述第一子算法对应的代理API,接收到第二计算数据,且确定所述第二计算数据需基于所述第一子算法进行再计算,则基于所述第一子算法,对所述第二计算数据进行相应计算。
- 根据权利要求18所述的方法,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:接收需基于所述第一子算法对第二计算数据进行处理的处理指令。
- 根据权利要求19所述的方法,所述接收需基于所述第一子算法对第二计算数据进行处理的处理指令之后,所述确定所述第二计算数据需基于所述第一子算法进行再计算之前,所述方法还包括:识别所述处理指令中携带的目标令牌,若所述目标令牌与预先保存的所述第二子算法的参考令牌一致,则进行后续确定所述第二计算数据需基于所述第一子算法进行再计算的步骤。
- 一种隐私计算系统,所述系统包括:第一隐私计算设备,用于若基于隐私算法中的第一子算法对待处理数据进行相应计算后得到第一计算数据,且确定所述第一计算数据需基于所述隐私算法中的第二子算法进行再计算,其中所述第二子算法保存在第二隐私计算设备中,则根据预先保存的各子算法与代理应用程序编程接口API的对应关系,确定所述第一子算法对应的代理API,以及所述第二子算法对应的代理API;通过所述第一子算法对应的代理API,将所述第一计算数据发送给所述第二子算法对应的代理API;所述第二隐私计算设备,用于若基于所述第二子算法对应的代理API,接收到所述第一计算数据,且确定所述第一计算数据需基于所述第二子算法进行再计算,则基于所述第二子算法,对所述第一计算数据进行相应计算。
- 一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求16-20任一项所述隐私计算方法的步骤。
- 一种计算机可读存储介质,其包括程序代码,当所述存储介质在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求16-20任一项所述隐私计算方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210836848.2A CN115270201A (zh) | 2022-07-15 | 2022-07-15 | 一种隐私计算设备、方法、系统、电子设备及介质 |
CN202210836848.2 | 2022-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024011826A1 true WO2024011826A1 (zh) | 2024-01-18 |
Family
ID=83765615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/137367 WO2024011826A1 (zh) | 2022-07-15 | 2022-12-07 | 一种隐私计算设备、方法、系统、电子设备及介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN115270201A (zh) |
TW (1) | TWI843356B (zh) |
WO (1) | WO2024011826A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115270201A (zh) * | 2022-07-15 | 2022-11-01 | 中国银联股份有限公司 | 一种隐私计算设备、方法、系统、电子设备及介质 |
CN116127511A (zh) * | 2023-01-29 | 2023-05-16 | 中国银联股份有限公司 | 一种隐私计算方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012160245A1 (en) * | 2011-05-20 | 2012-11-29 | Nokia Corporation | Method and apparatus for providing end-to-end privacy for distributed computations |
US20210294659A1 (en) * | 2018-06-21 | 2021-09-23 | Siemens Aktiengesellschaft | System for data analytics using a local device and a cloud computing platform |
CN113486332A (zh) * | 2021-07-22 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种计算节点、隐私计算系统及算法引擎的加载方法 |
CN114172958A (zh) * | 2021-11-19 | 2022-03-11 | 云从科技集团股份有限公司 | 隐私计算节点、系统、方法、装置以及存储介质 |
CN114510743A (zh) * | 2022-04-19 | 2022-05-17 | 中路智链科技集团有限公司 | 一种基于隐私计算平台的数据交换方法、装置及电子设备 |
CN114626088A (zh) * | 2022-03-04 | 2022-06-14 | 上海富数科技有限公司 | 基于算法互联的隐私计算平台的任务处理方法及装置 |
CN115270201A (zh) * | 2022-07-15 | 2022-11-01 | 中国银联股份有限公司 | 一种隐私计算设备、方法、系统、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109716345B (zh) * | 2016-04-29 | 2023-09-15 | 普威达有限公司 | 计算机实现的隐私工程系统和方法 |
US11783223B2 (en) * | 2019-06-01 | 2023-10-10 | Apple Inc. | Techniques for machine language model creation |
CN111460511B (zh) * | 2020-04-17 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
CN114035907B (zh) * | 2021-12-16 | 2024-06-14 | 北京冲量在线科技有限公司 | 基于超算中心Slurm作业调度和安全虚拟机容器的隐私计算系统 |
-
2022
- 2022-07-15 CN CN202210836848.2A patent/CN115270201A/zh active Pending
- 2022-12-07 WO PCT/CN2022/137367 patent/WO2024011826A1/zh unknown
- 2022-12-26 TW TW111149908A patent/TWI843356B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012160245A1 (en) * | 2011-05-20 | 2012-11-29 | Nokia Corporation | Method and apparatus for providing end-to-end privacy for distributed computations |
US20210294659A1 (en) * | 2018-06-21 | 2021-09-23 | Siemens Aktiengesellschaft | System for data analytics using a local device and a cloud computing platform |
CN113486332A (zh) * | 2021-07-22 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种计算节点、隐私计算系统及算法引擎的加载方法 |
CN114172958A (zh) * | 2021-11-19 | 2022-03-11 | 云从科技集团股份有限公司 | 隐私计算节点、系统、方法、装置以及存储介质 |
CN114626088A (zh) * | 2022-03-04 | 2022-06-14 | 上海富数科技有限公司 | 基于算法互联的隐私计算平台的任务处理方法及装置 |
CN114510743A (zh) * | 2022-04-19 | 2022-05-17 | 中路智链科技集团有限公司 | 一种基于隐私计算平台的数据交换方法、装置及电子设备 |
CN115270201A (zh) * | 2022-07-15 | 2022-11-01 | 中国银联股份有限公司 | 一种隐私计算设备、方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202405683A (zh) | 2024-02-01 |
CN115270201A (zh) | 2022-11-01 |
TWI843356B (zh) | 2024-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024011826A1 (zh) | 一种隐私计算设备、方法、系统、电子设备及介质 | |
CN111767555B (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
WO2021239070A1 (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
WO2024011827A1 (zh) | 一种隐私计算系统、方法、装置、设备及介质 | |
US10257189B2 (en) | Using hardware based secure isolated region to prevent piracy and cheating on electronic devices | |
US11281781B2 (en) | Key processing methods and apparatuses, storage media, and processors | |
TW202110125A (zh) | 與可信賴執行環境之安全通訊 | |
JP7554380B2 (ja) | 異なるネットワークにわたって資産を転送するためのセキュアかつ信頼できるブリッジ | |
CN110570196A (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
US10931512B2 (en) | Computer readable media, methods, and computer apparatuses for network service continuity management | |
KR20190133208A (ko) | 보안 메모리 장치 | |
CN111383018A (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
EP3850522A1 (en) | Secure compute network devices and methods | |
US20230115187A1 (en) | Remote hardware execution service with customer consented debugging | |
CN118332546A (zh) | 旁路保护 | |
US20240323023A1 (en) | Sample alignment method and apparatus, device, and storage medium | |
WO2024156205A1 (zh) | 一种隐私计算方法、装置、设备及介质 | |
CN114780465A (zh) | 可共享远程直接数据存取链接的创建方法及装置 | |
CN114363055A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
WO2018024797A1 (en) | Sequence verification | |
CN114257424A (zh) | 基于电力专用芯片的数据包接收处理方法及装置 | |
TW202431126A (zh) | 隱私計算方法、裝置、設備及介質 | |
WO2020102028A1 (en) | Optimized simultaneous authentication of equals (sae) authentication in wireless networks | |
EP4354329A1 (en) | Boot verification method and related apparatus | |
US20240004986A1 (en) | Cla certificateless authentication of executable programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22950933 Country of ref document: EP Kind code of ref document: A1 |