Method and apparatus for privacy protection of data

By introducing a security policy engine at the service process level into a distributed machine learning environment to generate security information, the complexity caused by the coupling of privacy protection methods and machine learning technology in existing technologies is solved, and secure data and model transmission throughout the entire lifecycle is achieved.

CN114547634BActive Publication Date: 2026-01-20CHINA TELECOM CLOUD TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011344337.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-26
Publication Date
2026-01-20
Estimated Expiration
2040-11-26

AI Technical Summary

Technical Problem

In a distributed machine learning environment, existing privacy protection methods are coupled with specific machine learning technologies, resulting in slow technological iteration, high development difficulty, and the need for multi-party consensus interaction, which increases code complexity and makes it difficult to adapt to the secure transfer of multi-party data and models.

Method used

A method and apparatus for privacy protection when transmitting data between multiple agent processes are provided. The method generates security information based on predefined configuration information through the security policy engine module of the service process and uses technologies such as encryption, data jittering, and multi-party secure computation to achieve privacy protection of data and models.

Benefits of technology

It simplifies the complexity of security mechanisms, provides a unified security interface, achieves full lifecycle security protection, reduces the intrusiveness of multi-party communication, and ensures the secure transmission of data and models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114547634B_ABST
    Figure CN114547634B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and apparatus for privacy protection of data. A method for privacy protection of data transmitted between a plurality of agent process sides is provided, which is performed at a service process side in communication with the plurality of agent process sides, and the method comprises: receiving a request from an agent process side in the plurality of agent process sides; in response to the request, determining an identity of the agent process side; based on the identity, determining a security policy corresponding to the agent process side; based on the security policy, generating security information of the agent process side by using configuration information associated with the security policy, wherein the configuration information is stored at the service process side and is predefined by one or more agent process sides in the plurality of agent process sides; and sending the security information to the agent process side, wherein the security information is used for privacy protection of information in the plurality of agent process sides to be transmitted by the agent process side.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to the field of machine learning, and more particularly to a method and apparatus for privacy protection of data. BACKGROUND

[0002] Machine learning techniques have been applied in a large number of fields, such as speech recognition, face recognition, financial risk control, recommendation systems, etc. Machine learning needs to use data to train models. However, when using data such as personal data, these data often contain some sensitive private information, such as name, age, phone number, address, etc. Therefore, when using machine learning, the privacy of personal data needs to be protected, and the learning and optimization of the machine learning model are completed without leaking personal data and ensuring privacy security.

[0003] In particular, for distributed machine learning, data provision, model training or model publishing are often not completed by the same entity, resulting in the need for data and models to be transmitted between multiple parties, further increasing the risk of data exposure. The current distributed machine learning faces risks including reconstruction attacks, model inversion attacks, relationship inference attacks, and de-anonymization attacks, etc.

[0004] With more and more diverse attack methods, the corresponding privacy protection methods are also becoming more and more diverse. Current privacy security protection technologies are often coupled with specific distributed machine learning technologies, and this coupling relationship makes the technical iteration of distributed machine learning products slow, increasing the development difficulty. Moreover, the existing privacy security protection algorithms need the parties involved to interact to reach a consensus on certain consistency condition information (such as public key, private key, noise distribution parameters, etc.), which is necessary for subsequent calculations, and need to integrate security code and machine learning business code together, which greatly increases the difficulty and complexity of code development.

[0005] There are also some mature security systems that protect data. The JUGO system can provide multi-party secure computation, garbled circuit, etc. to protect data security, but this system does not adapt to distributed machine learning and cannot be used directly. The Vault system can provide a system including key management, data encryption, but this system also does not consider data security in the distributed machine learning environment.

[0006] Therefore, there is a need for a method and apparatus for privacy protection of data in a distributed machine learning environment. SUMMARY

[0007] A brief summary of the disclosure is presented below to provide a basic understanding of some aspects of the disclosure. However, this summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0008] According to a first aspect of the disclosure, a method for privacy protection of data communicated between a plurality of agent process sides is provided, the method being performed at a service process side in communication with the plurality of agent process sides, the method comprising: receiving a request from an agent process side of the plurality of agent process sides; determining an identity of the agent process side in response to the request; determining a security policy corresponding to the agent process side based on the identity; generating security information of the agent process side based on the security policy by utilizing configuration information associated with the security policy, wherein the configuration information is stored at the service process side and is predefined by one or more agent process sides of the plurality of agent process sides; and sending the security information to the agent process side, wherein the security information is used for privacy protection of information in the plurality of agent process sides to be communicated by the agent process side.

[0009] According to a second aspect of the disclosure, an apparatus for privacy protection of data communicated between a plurality of agent process sides is provided, the apparatus being arranged at a service process side in communication with the plurality of agent process sides, the apparatus comprising: an access control module configured to receive a request from an agent process side of the plurality of agent process sides and determine an identity of the agent process side in response to the request; a security policy engine module configured to determine a security policy corresponding to the agent process side based on the identity, and generate security information of the agent process side based on the security policy by utilizing configuration information associated with the security policy, wherein the configuration information is stored at the service process side and is predefined by one or more agent process sides of the plurality of agent process sides; and send the security information to the agent process side, wherein the security information is used for privacy protection of information in the plurality of agent process sides to be communicated by the agent process side.

[0010] According to a third aspect of the disclosure, a non-transitory computer-readable storage medium for privacy protection of data communicated between a plurality of agent process sides is provided, the non-transitory computer-readable storage medium having a program stored thereon, wherein when the program is executed by a computer, the computer is caused to perform the method according to the first aspect.

[0011] According to a fourth aspect of the present disclosure, there is provided a computing device for privacy protection of data communicated between multiple agent process ends, comprising a memory and a processor, the memory being communicatively coupled to the processor, the memory having stored therein a program which, when executed by the processor, causes the processor to perform the method according to the first aspect.

[0012] According to a fifth aspect of the present disclosure, there is provided a computer program product for privacy protection of data communicated between multiple agent process ends, comprising a computer program which, when executed by a processor, implements the method according to the first aspect.

[0013] The device and method proposed by the present disclosure are suitable for privacy protection of data in a machine learning environment, and have at least one or more of the following features: providing multiple different security mechanisms to ensure the security of data in different stages of distributed machine learning; providing a unified security interface to simplify the complexity of multiple security mechanisms and make operation simple; providing a role isolation mechanism to control access by permission and isolate the permissions and tasks of different users; implementing a client agent mechanism, in which a client agent completes actual logical processing and completes data protection and forwarding processes; and implementing machine learning lifecycle segmentation management to achieve full lifecycle security protection.

[0014] Other features of the present disclosure and its advantages will become more apparent from the following detailed description of exemplary embodiments thereof with reference to the drawings. BRIEF DESCRIPTION OF DRAWINGS

[0015] The accompanying drawings, which constitute a part of this specification, illustrate embodiments of the present disclosure and serve to explain the principles of the present disclosure.

[0016] The present disclosure can be understood more readily by reference to the following detailed description, taken in connection with the accompanying drawings, and by reference to the examples described herein.

[0017] Figure 1 A schematic diagram of a privacy security protection system for distributed machine learning according to an embodiment of the present disclosure is shown;

[0018] Figure 2 A schematic diagram of a flow of a service process end for distributed machine learning according to an embodiment of the present disclosure is shown;

[0019] Figure 3 A schematic diagram of a flow of an agent process end for distributed machine learning according to an embodiment of the present disclosure is shown; and

[0020] Figure 4 A flowchart of a method for privacy protection of data communicated between multiple agent process ends according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0021] The following detailed description is made with reference to the accompanying drawings and is provided to assist in a comprehensive understanding of various example embodiments of the present disclosure. The following description includes various details to assist in understanding the present disclosure, but these details are to be considered as merely illustrative and not restrictive in nature. The present disclosure is defined by the appended claims and their equivalents. The words and phrases used in the following description are used only to enable a comprehensive understanding of the present disclosure. In addition, for the sake of brevity and clarity, descriptions of well-known structures, functions and configurations can be omitted. Those of ordinary skill in the art will recognize that various changes and modifications can be made to the examples described herein without departing from the spirit and scope of the present disclosure.

[0022] Distributed machine learning can generally involve three processes: data collection, model training, and model publishing. The three processes can involve three parties: a data provider, a machine learning model training party, and a machine learning model publishing party. In this system, the data provider can provide its own data to the training party that provides computing power, the machine learning model training party can perform corresponding model training, and the model can be transmitted to the publishing party for model verification and publishing. The data provider, the machine learning model training party, and the machine learning model publishing party are often not the same, and data and models need to flow and be published between multiple parties, thereby bringing the risk of exposure of data and models. In particular, when the data provided by the data provider is personal data including private information, the harm of such exposure is more serious.

[0023] Therefore, there is a need for a system that can provide privacy security protection, which replaces the process of requiring multiple parties to complete consensus interaction in the traditional privacy security protection algorithm, reduces the communication messages between multiple parties and the invasiveness to the code, and protects the data security in distributed machine learning with the least invasive method.

[0024] Figure 1 A schematic diagram of a privacy security protection system for distributed machine learning according to an embodiment of the present disclosure is shown. One or more components in the system can be deployed, for example, in a K8S environment, and the deployment, planning and updating of applications can be achieved with the help of K8S.

[0025] The distributed system can adopt a Master / Worker mode, and correspondingly include a service process end and a proxy process end. The Master part can deploy a service process, which is responsible for receiving and distributing tasks. The service process can be quickly implemented through a SpringBoot framework. The Worker part can deploy a proxy process. The interaction between the proxy process end and the service process end can be achieved through RESTful API located at the service process end.

[0026] The service process side can include a RESTful API module 101, a path routing module 102, a configuration information management module 103, a security policy engine module 104, and a permission management module 105.

[0027] The RESTful API module 101 can be configured to develop a microservice interface based on a Spring Boot framework using a java language for the agent process side to call to make a request to the service process side.

[0028] The path routing module 102 can be configured to route to select the required services from configuration information management, security information generation, and permission management.

[0029] The services for configuration information management can be performed by the configuration information management module 103. The configuration information management module 103 can be configured to manage the configuration information of various security policies, and can include a configuration information verification module 106 and a configuration information generation module 107. The configuration information can be parameters that can be configured by a user (i.e., the agent process side) for generating security information for different security policies.

[0030] The security policy can protect the privacy of data and / or models through one or more of encryption, data dithering, multi-party secure computation, etc. As a non-limiting example, the security policy can include one or more of the following methods:

[0031] 1) Encryption technology: Encryption technology can be used by a data provider to encrypt data to be provided, and the encrypted data can be transmitted to a machine learning model training party and a machine learning model publishing party for training and publishing of the model. Common encryption technologies include homomorphic encryption, garbled circuit, key sharing technology, etc. Encryption technology requires the parties involved to coordinate to generate key encryption parameters (such as public key, private key, etc.) that can be used to encrypt local data and finally decrypt the results of the computation.

[0032] 2) Data dithering technology: Data dithering technology can protect the security of data and models by adding noise to the original data, intermediate results, or trained models. Common data dithering techniques include differential privacy protection techniques. Differential privacy protection techniques require the parties involved to pre-set the parameters of the function that generates noise, and then the noise can be randomly generated by the function, which can be added to the original data, intermediate results, or trained models to protect the privacy of data and models.

[0033] 3) Data slicing technique: the data slicing technique can achieve privacy protection of data by dividing the data into multiple data slices (for example, if k proxy processes participate in data slicing, the data can be divided into k data slices), and exchanging the data slices among multiple parties and performing corresponding processing.

[0034] 4) Multi-party secure computation technique: the multi-party secure computation technique can be used in the case where multiple parties have their own private data, and the public result is calculated without leaking the data of each party. The multi-party secure computation technique can often be combined with some other security techniques, such as passive transmission and garbled circuit. When using passive transmission, the two parties that need to send and receive messages can agree on some parameters of the key required for transmitting the message.

[0035] Correspondingly, for example, for the security policy of homomorphic encryption, the configuration information can indicate the encryption algorithm used to generate the key, the password length, the user domain name, etc. For example, for the security policy of differential privacy, the configuration information can indicate the function used to generate noise, etc. For example, for the security policy of data slicing, the configuration information can indicate the rule for slicing the data and the exchange rule of the sliced data between different users, etc. For example, for the security policy of multi-party secure computation, the configuration information can indicate the function used by each party, etc.

[0036] The configuration information verification module 106 can be configured to verify whether the configuration information set by the user (such as the data provider 115, the machine learning model training party 118, and the machine learning model publishing party 121) complies with the pre-set rules. For example, for the security policy of homomorphic encryption, two random large prime numbers p and q can be set to generate the required public key and private key; for the security policy of differential privacy, the distribution parameters of the generated noise, for example, the parameters λ and μ are required in the case of selecting Laplace noise; for the security policy of data slicing, no configuration information needs to be set, and the number k of proxy processes required by the security policy can be counted by the service process; and for the security policy of multi-party secure computation, the calculation function expression required by the garbled circuit can be set.

[0037] The configuration information generation module 107 can be configured to store the verified configuration information into a storage. The storage can be located locally in the service process, for example, stored in the configuration information management module 103 or stored in another storage in the service process. It can be a traditional MySQL database or a distributed key-value storage such as ETCD. The natural high availability feature of ETCD is conducive to ensuring the high availability of the system.

[0038] Further, the configuration information generation module 107 can also retrieve corresponding configuration information according to the security policy adopted by the security policy engine module 104, and transmit the retrieved configuration information to the security policy engine module 104 for generating security information.

[0039] In embodiments according to the present disclosure, one or more of the security policies as described above can be adopted as needed, e.g., according to the identity of the user. Accordingly, the configuration information generation module 107 can retrieve configuration information corresponding to the security policy adopted.

[0040] The service for security information generation can be performed by the security policy engine module 104. The security policy engine module 104 can be configured to select a security policy according to the identity of the agent process end that initiates the request. Specifically, the security policy engine module 104 can be configured to request from the configuration information management module 103 configuration information corresponding to the agent process end that initiates the request, and generate corresponding security information for protecting data and / or models, such as keys, noise, etc., according to the configuration information.

[0041] The security policy engine module 104 can include a security policy adapter module 108, which can be configured to select a corresponding security policy for privacy protection of data and / or models according to the identity of the agent process end that initiates the request. For example, the identity of the agent process end that initiates the request can be identified through a field included in the request.

[0042] For example, as shown in FIG. 1, for the data provider 115, the security policy adapter module 108 can adopt one or more of the policies of homomorphic encryption, differential privacy, and multi-party secure computation. For the machine learning model training party 118, the security policy adapter module 108 can adopt one or more of the policies of homomorphic encryption, differential privacy, data slicing, and multi-party secure computation. For the machine learning model publishing party 121, the security policy adapter module 108 can adopt the policy of differential privacy, etc. Figure 1

[0043] Further, in embodiments according to the present disclosure, the security policy adapter module 108 also selects a security policy for the agent process end that initiates the request according to the identity of the agent process end that initiates the request and the security policies adopted by other agent process ends in the system. For example, for the machine learning model training party 118, the security policy adapter module 108 will also consider selecting any one or more of the policies of homomorphic encryption, differential privacy, and data slicing for the machine learning model training party 118 if the data provider 115 adopts the policy of homomorphic encryption or differential privacy; but if the data provider 115 adopts the policy of multi-party secure computation, the security policy adapter module 108 will select the policy of multi-party secure computation for the machine learning model training party 118.​

[0044] The security policy adapter module 108 can also be configured to invoke the corresponding modules in the homomorphic encryption adapter module 109, the differential privacy adapter module 110, the data slicing adapter module 111, and the multi-party secure computation adapter module 112, which are also included in the security policy engine module 104, according to the selected security policy. These modules can be configured to generate security information for protecting data based on the configuration information according to the corresponding security policy.

[0045] For example, for the homomorphic encryption adapter module 109, the security information can be a homomorphic encryption key, such as a public key and a private key, generated according to the configuration information, wherein the key required for encryption can be sent to the corresponding proxy process end, and the key required for decryption can be saved in the service process end.

[0046] For example, for the differential privacy adapter module 110, the security information can be random noise generated by a function according to the configuration information.

[0047] For example, for the data slicing adapter module 111, the security information can be the number k of proxy process ends participating in data slicing. The proxy process end can split the data or the model (e.g., the feature vector of the model) into k slices, and distribute k-1 slices to the remaining k-1 proxy process ends, respectively

[0048] For example, for the multi-party secure computation adapter module 112, the security information can be the input label of the garbled circuit corresponding to the data. The multi-party secure computation adapter module 112 can convert the computation function into a Boolean circuit, perform encryption processing for each gate in the circuit, and distribute the garbled truth table to the computing parties (e.g., machine learning model training parties). Next, the input label of the garbled circuit corresponding to the data is obtained from the server through oblivious transfer and sent to the computing parties. Here, each piece of data corresponds to a label, which can be polled or randomly sent to different computing parties. After a single computing party calculates the local result, the global computation result is calculated by all computing parties.

[0049] The service for permission management can be performed by the permission management module 105. The permission management module 105 can be configured to manage and authorize access permissions. The permission management module 105 can be configured to verify whether a user is a legitimate user, and confirm whether the user has the permission to access the information, authorize the user to access, and ensure the security of the user's private information. If the user is not a legitimate user, or the user does not have the permission to access the information, it can be recorded as an exception in the exception log, and feedback can be given to the proxy process end that makes the request and further processing can be performed.

[0050] The agent process side can include a data provider 115, a machine learning model trainer 118, and a machine learning model publisher 121.

[0051] The data provider 115 can be configured to submit data to the machine learning model trainer 118. The data provider 115 can include an I / O module 116 and a security module 117.

[0052] The machine learning model trainer 118 can be configured to receive data from the data provider 115, and perform training of a machine learning model using the received data. The machine learning model trainer 118 can also be configured to forward the trained machine learning model to the machine learning model publisher 121. For example, the machine learning model trainer 118 can save the trained machine learning model to the service process side, and the service process side can deliver the trained machine learning model to the machine learning model publisher 121. The machine learning model trainer 118 can include an I / O module 119 and a security module 120.

[0053] The machine learning model publisher 121 can be configured to receive the trained machine learning model from the machine learning model trainer 118 (e.g., via the service process side), and publish the received machine learning model. The machine learning model publisher 121 can include an I / O module 122 and a security module 123.

[0054] The I / O modules of the data provider 115, the machine learning model trainer 118, and the machine learning model publisher 121 can be configured to implement reading and writing of data, forwarding, etc. The security modules of the data provider 115, the machine learning model trainer 118, and the machine learning model publisher 121 can be configured to implement interfaces of various security policy modules.

[0055] It is worth noting that, Figure 1 The various components of the system shown in FIG. 1 are not necessary, and one or more of the components can be selected according to a specific embodiment. For example, the system can not include the permission management module 105. The service process side, upon receiving a request from the agent process side, does not perform legality verification, but directly determines the corresponding configuration information and security policy according to its identity. For another example, Figure 1 The homomorphic encryption adapter module 109, the differential privacy adapter module 110, the data slicing adapter module 111, and the multi-party secure computation adapter module 112 shown in FIG. 1, and their correspondence with the data provider, the machine learning model trainer, and the machine learning model publisher are merely exemplary, and are not intended to exclude other security policies for privacy protection and the correspondence of the security policies with the specific agent process side. Those skilled in the art of machine learning will recognize that other security policies can be used and matched with various agent process sides as needed. For another example, although Figure 1The document simultaneously illustrates three types of proxy processes: data provider 115, machine learning model trainer 118, and machine learning model publisher 121. However, those skilled in the art will recognize that in some specific embodiments, only one or more of the proxy processes may use the methods of this disclosure for privacy protection, while the other proxy processes may not use privacy protection or may use other privacy protection security strategies besides those exemplified in this disclosure.

[0056] Figure 2 A schematic diagram of the process flow for a service process side for distributed machine learning according to an embodiment of the present disclosure is shown.

[0057] like Figure 2 As shown, after receiving a request from a proxy process (such as a data provider 115, a machine learning model trainer 118, or a machine learning model publisher 121) using the RESTful API module 101, firstly, at 201, the access control module 105 can perform access control to determine whether the user initiating the request is a legitimate proxy process. Next, at 202, the access control module 105 can perform authorization control to determine the identity of the proxy process, such as a data provider, machine learning model trainer, or machine learning model publisher, so as to determine the permissions of the proxy process initiating the request based on its identity. Then, at 203, the security policy engine module 104 can perform security policy adaptation based on the identity of the proxy process determined by the access control module 105 or directly from the identity of the proxy process identified from specific fields in the request. The security policy adapter module 108 can be invoked to select a security policy that protects the privacy of the data and / or model, corresponding to the identity of the proxy process. Based on the selected security policy, one or more of the following adapter modules can be invoked: homomorphic encryption adapter module 109, differential adapter module 110, data slicing adapter module 111, or multi-party secure computation adapter module 112. The invoked adapter module generates security information using configuration information requested from configuration information management module 103, where the configuration information corresponds to the security policy. The generated security information can be sent to the corresponding proxy process via RESTful API module 101 at security policy adaptation 203, allowing the proxy process to perform privacy protection on data and / or models. At 204, exception logging can be performed. Specifically, logs recording exceptions occurring at access control 201, authorization control 202, and security policy adaptation 203 can be fed back to the corresponding proxy process via RESTful API module 101 for subsequent processing by the proxy process.

[0058] Figure 3 A schematic diagram of the flow of an agent process for distributed machine learning according to an embodiment of the present disclosure is shown.

[0059] As shown in Figure 3 After the agent process end issues a request to the service process end in an offline or online manner, and receives returned security information from the service process end, the agent process end can use the security information to protect the privacy of data and / or models.

[0060] The data provider 115 can be configured to receive raw data, issue a security policy request to the service process end, receive returned security information from the service process end, protect the privacy of the raw data according to the security information, and transmit the secure privacy-protected data to the machine learning model trainer 118. Figure 3 A single data provider 115 is shown in

[0061] The data provider 115 can include an I / O module 116 and a security module 117, where the security module 117 can be an implementation interface of various security policy modules. For the data provider 115, the received returned security information from the service process end can be associated with a homomorphic encryption security policy or a multi-party secure computation security policy. For example, the corresponding policy can be determined according to the content of the security information. Accordingly, the security method module can be a homomorphic encryption module 301, a multi-party secure computation module 302, or a differential privacy module 307. The homomorphic encryption module 301 can be configured to homomorphically encrypt the raw data according to the security information received from the service process end. The multi-party secure computation module 302 can be configured to perform multi-party secure computation on the raw data according to the security information received from the service process end. The differential privacy module 307 can be configured to add noise to the raw data or the trained model according to the security information received from the service process end.

[0062] The machine learning model trainer 118 can be configured to receive privacy-protected data from the data provider 115, train a machine learning model using the privacy-protected data, issue a security policy request to the service process end, receive returned security information from the service process end, and use the security information to protect the privacy of the machine learning model, and transmit the privacy-protected machine learning model to the machine learning model publisher 121 or the service process end. Figure 3 A single machine learning model trainer 118 is shown in

[0063] In embodiments according to the present disclosure, the trained machine learning model feature vector can be transmitted to the service process end and saved locally at the service process end, in addition to being transmitted to the machine learning model publisher 121, for forwarding to the machine learning model publisher 121 or for use in the next round of model training.

[0064] The machine learning model trainer 118 can include an I / O module 119 and a security module 120, where the security module 120 can be an implementation interface of various security policy modules. For the machine learning model trainer 118, the security information can be associated with a homomorphic encryption security policy, a differential privacy security policy, or a data slicing security policy, and accordingly, the security method module can be a homomorphic encryption module 303, a differential privacy module 304, a data slicing module 305, or a multi-party security module 308. The homomorphic encryption module 303 can be configured to perform homomorphic encryption on data of the machine learning model according to the security information received from the service process end. The differential privacy module 304 can be configured to add noise to the data of the machine learning model according to the security information received from the service process end. The data slicing module 305 can be configured to slice and process the data of the machine learning model according to the security information received from the service process end. For example, the data slicing module 305 can be applied in a case where the system for machine learning includes multiple machine learning model trainers 118. The data slicing module 305 can slice the data received by the machine learning model trainer 118 according to the security information received from the service process end, exchange data slices among the multiple machine learning model trainers 118, combine the exchanged data slices with the local data slices, and perform model training using the combined data. The multi-party security module 308 can perform multi-party secure computation according to the security information received from the service process end.

[0065] The machine learning model publisher 121 can be configured to receive a secure privacy-protected machine learning model from the machine learning model trainer 118 or the service process end, issue a security policy request to the service process end, receive returned security information from the service process end, perform privacy protection on the machine learning model to be published using the security information, and publish the privacy-protected machine learning model to be published.

[0066] The machine learning model publisher 121 can include an I / O module 122 and a security module 123, where the security module 123 can be an implementation interface of various security policy modules. For the machine learning model publisher 121, the security information can be associated with a differential privacy policy, and accordingly, the security policy module can be a differential privacy module 306. The differential privacy module 306 can be configured to perform noise protection on the machine learning model to be published (specifically, the feature vector of the machine learning model) according to the security information received from the service process end.

[0067] It should be noted that after receiving the corresponding security information, the specific algorithm of each security policy module (such as homomorphic encryption 301, multi-party security 302, homomorphic encryption 303, differential privacy 304, data slicing 305, and differential privacy 306, etc.) for privacy protection of data and / or models based on the security information is known to those skilled in the relevant art, and will not be described here.

[0068] Figure 4 A flowchart of a method for privacy protection of data transmitted between a plurality of agent process ends is shown, which is performed at a service process end in communication with the plurality of agent process ends according to an embodiment of the present disclosure.

[0069] At S401, a request can be received from an agent process end in the plurality of agent process ends.

[0070] At S402, the identity of the agent process end can be determined in response to the request. For example, the identity of the agent process end can be identified from a field included in the request.

[0071] At S403, a security policy corresponding to the agent process end can be determined based on the identity. The correspondence between the identity and the security policy can be referred to Figure 1 and related descriptions.

[0072] At S404, security information of the agent process end can be generated based on the security policy using configuration information associated with the security policy.

[0073] At S405, the security information can be sent to the agent process end.

[0074] In summary, according to the first aspect of the present disclosure, a method for privacy protection of data transmitted between a plurality of agent process ends is provided, which is performed at a service process end in communication with the plurality of agent process ends. The method includes: receiving a request from an agent process end in the plurality of agent process ends; determining the identity of the agent process end in response to the request; determining a security policy corresponding to the agent process end based on the identity; generating security information of the agent process end based on the security policy using configuration information associated with the security policy, wherein the configuration information is stored at the service process end and is predefined by one or more agent process ends in the plurality of agent process ends; and sending the security information to the agent process end, wherein the security information is used for privacy protection of information in the plurality of agent process ends to be transmitted by the agent process end.

[0075] In some embodiments, the plurality of agent process ends includes a data provider, a machine learning model training party, and a machine learning model publishing party.

[0076] In some embodiments, the agent process end of the plurality of agent process ends is a data provider, the security information is used for privacy protection of data to be transmitted by the data provider to the machine learning model training party for model training; and the security policy corresponding to the agent process end as the data provider includes a homomorphic encryption policy and a multi-party secure computation policy.

[0077] In some embodiments, the agent process end of the plurality of agent process ends is a machine learning model training party, the security information is used for privacy protection of a machine learning model to be transmitted to the model publishing party, which is obtained by the machine learning model training party via model training using data received from the data provider; and the security policy corresponding to the agent process end as the machine learning model training party includes a homomorphic encryption policy, a differential privacy policy and a data slicing policy.

[0078] In some embodiments, a feature vector of the machine learning model is received from the machine learning model training party and saved.

[0079] In some embodiments, the agent process end of the plurality of agent process ends is a machine learning model publishing party, the security information is used for privacy protection of a machine learning model to be published by the machine learning model publishing party, which is received by the machine learning model publishing party from the service process end or the machine learning model training party; and the security policy corresponding to the agent process end as the machine learning model publishing party includes a differential privacy policy.

[0080] In some embodiments, the configuration information is set by the agent process end; the method further includes verifying whether the configuration information set by the agent process end conforms to a pre-set rule, and storing the configuration information locally at the service process end if the configuration information conforms to the pre-set rule.

[0081] In some embodiments, the plurality of agent process ends includes a plurality of data providers and a plurality of machine learning model training parties, the plurality of data providers provide different data, and the plurality of machine learning model training parties respectively perform model training using different data.

[0082] According to a second aspect of the disclosure, there is provided an apparatus for privacy protection of data communicated between a plurality of agent process ends, the apparatus being arranged at a service process end in communication with the plurality of agent process ends, the apparatus comprising: an access control module configured to: receive a request from an agent process end of the plurality of agent process ends, and in response to the request, determine an identity of the agent process end; a security policy engine module configured to: determine, based on the identity, a security policy corresponding to the agent process end; generate, based on the security policy, security information of the agent process end with configuration information associated with the security policy, wherein the configuration information is stored at the service process end and is predefined by one or more agent process ends of the plurality of agent process ends; and send the security information to the agent process end, wherein the security information is used for privacy protection of information to be communicated by the agent process end of the plurality of agent process ends.

[0083] In some embodiments, the plurality of agent process ends comprises a data provider, a machine learning model trainer, and a machine learning model publisher.

[0084] In some embodiments, the agent process end of the plurality of agent process ends is a data provider, the security information is used for privacy protection of data to be communicated by the data provider to the machine learning model trainer for model training, and the security policy corresponding to the agent process end being the data provider comprises a homomorphic encryption policy and a multi-party secure computation policy.

[0085] In some embodiments, the agent process end of the plurality of agent process ends is a machine learning model trainer, the security information is used for privacy protection of a machine learning model to be communicated by the machine learning model trainer to the model publisher or the service process end, the machine learning model being obtained via model training by the machine learning model trainer with data received from the data provider, and the security policy corresponding to the agent process end being the machine learning model trainer comprises a homomorphic encryption policy, a differential privacy policy, and a data slicing policy.

[0086] In some embodiments, a feature vector of the machine learning model is received from the machine learning model trainer and saved.

[0087] In some embodiments, the agent process end of the plurality of agent process ends is a machine learning model publisher, the security information is used for privacy protection of a machine learning model to be published by the machine learning model publisher, the machine learning model being received by the machine learning model publisher from the service process end or the machine learning model trainer, and the security policy corresponding to the agent process end being the machine learning model publisher comprises a differential privacy policy.

[0088] In some embodiments, the configuration information can be set by the agent process side; the apparatus further comprises a configuration information management module configured to: verify whether the configuration information set by the agent process side conforms to a preset rule; and if the configuration information conforms to the preset rule, store the configuration information locally at the service process side.

[0089] In some embodiments, the plurality of agent process sides comprises a plurality of data providers and a plurality of machine learning model training parties, the plurality of data providers provide different data, and the plurality of machine learning model training parties respectively perform model training using different data.

[0090] According to a third aspect of the present disclosure, a non-transitory computer-readable storage medium for privacy protection of data transmitted between a plurality of agent process sides is provided, the non-transitory computer-readable storage medium has a program stored thereon, and when the program is executed by a computer, the computer executes the method according to the first aspect of the present disclosure.

[0091] According to a fourth aspect of the present disclosure, a computing apparatus for privacy protection of data transmitted between a plurality of agent process sides is provided, comprising a memory and a processor, the memory and the processor are communicatively coupled, and the memory has a program stored therein, the program, when executed by the processor, causes the processor to execute the method according to the first aspect of the present disclosure.

[0092] According to a fifth aspect of the present disclosure, a computer program product for privacy protection of data transmitted between a plurality of agent process sides is provided, comprising a computer program, the computer program, when executed by a processor, implements the method according to the first aspect.

[0093] The method and apparatus for privacy protection of data transmitted between a plurality of agent process sides according to the present disclosure can have the following advantages:

[0094] The full life cycle management of machine learning is implemented, and the data and models in each stage of machine learning are ensured to be safe;

[0095] The modular design of the security module is implemented, and the expansion of security algorithms is facilitated;

[0096] The security isolation mechanism is implemented, and the user permission isolation based on roles is implemented, thereby ensuring the independence of user application running;

[0097] The low invasiveness is ensured, and the machine learning algorithm code does not need to be changed; and

[0098] The unified privacy security protection algorithm interface is implemented, and the user does not need to know the details of the algorithm implementation.

[0099] The subject matter of the present disclosure is provided as an example for implementing the features described in the present disclosure as an apparatus, system, method, and procedure. However, other features or variations can be expected in addition to the above-described features. It can be expected that the implementation of components and functions of the present disclosure can be completed with any newly emerging technology that can replace any of the above-described technologies.

[0100] In addition, the above description provides an example, not a limitation, of the range, applicability, or configuration set forth in the claims. Changes can be made to the functions and arrangements of the elements discussed without departing from the spirit and scope of the present disclosure. Various embodiments can appropriately omit, substitute, or add various processes or components. For example, features described with respect to certain embodiments can be incorporated in other embodiments.

[0101] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring such an order or the order shown, or that all of the illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing can be advantageous.

Claims

1. A method for privacy protection of data communicated between a plurality of agent process ends, the method being performed at a service process end in communication with the plurality of agent process ends, the plurality of agent process ends comprising a data provider, a machine learning model trainer, and a machine learning model publisher, the method comprising: receiving a request from an agent process end of the plurality of agent process ends; determining an identity of the agent process end in response to the request; determining a security policy corresponding to the agent process end based on the identity; generating security information of the agent process end based on the security policy with configuration information associated with the security policy, wherein the configuration information is stored at the service process end after being verified to comply with pre-set rules and is pre-defined by one or more agent process ends of the plurality of agent process ends; and sending the security information to the agent process end, wherein the security information is used for privacy protection of information in the plurality of agent process ends to be communicated by the agent process end; wherein in a case that an agent process end of the plurality of agent process ends is a data provider, the security information is used for privacy protection of data to be communicated by the data provider to the machine learning model trainer for model training, and the security policy comprises a homomorphic encryption policy and a multi-party secure computation policy; in a case that an agent process end of the plurality of agent process ends is a machine learning model trainer, the security information is used for privacy protection of a machine learning model to be communicated by the machine learning model trainer to the service process end or the model publisher via model training with data received from the data provider, and the security policy comprises a homomorphic encryption policy, a differential privacy policy, and a data slicing policy; in a case that an agent process end of the plurality of agent process ends is a machine learning model publisher, the security information is used for privacy protection of a machine learning model to be published by the machine learning model publisher received from the service process end or the machine learning model trainer, and the security policy comprises a differential privacy policy. in a case that an agent process end of the plurality of agent process ends is a machine learning model trainer, receiving and saving a feature vector of the machine learning model from the machine learning model trainer. The plurality of agent process ends comprises a plurality of data providers and a plurality of machine learning model trainers, the plurality of data providers providing different data, and the plurality of machine learning model trainers performing model training with different data respectively.

4. An apparatus for privacy protection of data communicated between a plurality of agent process ends, the apparatus being arranged at a service process end in communication with the plurality of agent process ends, the plurality of agent process ends comprising a data provider, a machine learning model trainer, and a machine learning model publisher, the apparatus comprising: an access control module configured to: receive a request from an agent process end of the plurality of agent process ends, and ​ ​ ​ ​ ​ ​ 2. The method of claim 1, wherein, ​ 3. The method of claim 1, wherein, ​ ​ ​ ​ In response to the request, an identity of the agent process end is determined; The security policy engine module is configured to: based on the identity, determine a security policy corresponding to the agent process end; based on the security policy, generate security information of the agent process end by using configuration information associated with the security policy, wherein the configuration information is stored at the service process end after being verified to comply with a pre-set rule and is pre-defined by one or more agent process ends of the plurality of agent process ends; and send the security information to the agent process end, wherein the security information is used for privacy protection of information to be transmitted by the agent process end among the plurality of agent process ends; wherein, in a case where an agent process end among the plurality of agent process ends is a data provider, the security information is used for privacy protection of data to be transmitted by the data provider to the machine learning model training party for model training, and the security policy includes a homomorphic encryption policy and a multi-party secure computation policy; in a case where an agent process end among the plurality of agent process ends is a machine learning model training party, the security information is used for privacy protection of a machine learning model to be transmitted to the service process end or the model publishing party by the machine learning model training party via model training by using data received from the data provider, and the security policy includes a homomorphic encryption policy, a differential privacy policy and a data slicing policy; in a case where an agent process end among the plurality of agent process ends is a machine learning model publishing party, the security information is used for privacy protection of a machine learning model to be published by the machine learning model publishing party, which is received by the machine learning model publishing party from the service process end or the machine learning model training party, and the security policy includes a differential privacy policy.

5. The apparatus of claim 4, wherein, in a case where an agent process end among the plurality of agent process ends is a machine learning model training party, a feature vector of the machine learning model is received and saved from the machine learning model training party.

6. The apparatus of claim 4, wherein, The plurality of agent process ends includes a plurality of data providers and a plurality of machine learning model training parties, the plurality of data providers provide different data, and the plurality of machine learning model training parties respectively perform model training by using different data.

7. A non-transitory computer-readable storage medium storing a program for privacy protection of data communicated between a plurality of agent processes, the program comprising instructions for causing a processor to: When the program is executed by a computer, the computer is caused to perform the method according to any one of claims 1-3. ​ 8. A computing device for privacy protection of data transmitted between a plurality of agent process ends, comprising a memory and a processor, the memory being communicatively coupled with the processor, the memory storing a program which, when executed by the processor, causes the processor to perform the method according to any one of claims 1-3.

9. A computer program product for privacy protection of data transmitted between a plurality of agent process ends, comprising a computer program which, when executed by a processor, implements the method of any one of claims 1-3.

Citation Information

Patent Citations

  • System and method for protecting privacy information in mobile terminal

    CN103701778A