A privacy protection method and device

By determining and reporting integers on the terminal device, the major communication overhead problem caused by the use of floating point numbers in the prior art is solved, and effective privacy protection and communication savings are achieved.

CN112287359BActive Publication Date: 2025-03-28HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910662932.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-07-22
Publication Date
2025-03-28
Estimated Expiration
2039-07-22

AI Technical Summary

Technical Problem

When adding Laplace noise to user data, existing methods based on differential privacy technology need to use floating point numbers in order to ensure the data noise reduction accuracy, resulting in large communication overhead.

Method used

By obtaining differential privacy configuration parameters on the terminal device, determine the integer that needs to be reported and report it to the server. The server receives integers sent by multiple terminal devices and calculates their mean to determine the mean of privacy data.

Benefits of technology

This method reduces communication overhead by reporting integers instead of floating point numbers, and calculates the mean of privacy data through the mean of integers, protects user privacy and meets differential privacy requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112287359B_ABST
    Figure CN112287359B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a privacy protection method and device, which relates to the terminal field and can reduce communication overhead. The method is as follows: the terminal device obtains the differential privacy configuration parameters corresponding to the privacy data of the first data type, and the differential privacy configuration parameters include at least two integers to be reported; the terminal device determines the integer corresponding to the privacy data of the first data type, and the integer corresponding to the privacy data of the first data type is one of the at least two integers to be reported; the terminal device reports the integer corresponding to the privacy data of the first data type to the server. The embodiment of the present application is applied to the scenario of protecting the privacy of user data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminals, and in particular to a privacy protection method and device. Background Art

[0002] In order to provide a better experience for end users, it is necessary to collect user data on the terminal side for intelligent analysis. For example, statistics on the average usage time of users on a certain application (APP), or collection of parameters of the local artificial intelligence (AI) model on the user side, so as to aggregate the AI ​​model on the server side. If user data is transmitted in plain text, it is easy to cause user privacy leakage. In order to prevent user privacy leakage, such as Figure 1 As shown in the figure, the user's terminal device can use differential privacy (DP) technology to protect the original data that needs to be counted, that is, the original data is processed by the differential privacy noise module to obtain privacy-protected data, and then the privacy-protected data is stored in the database. When the data user queries the database, he can only query the statistical value of the privacy-protected data (privacy-protected query results), and cannot obtain the original data of each user, thereby protecting the user data.

[0003] Existing methods based on differential privacy technology are mainly implemented by adding Laplace noise to user data. Figure 2 As shown, when each terminal device (the terminal device of user 1 or the terminal device of user 2) reports the weight ω of the neural network obtained by its own training, noise (for example, Laplace noise) can be added to ω, and then the ω with added Laplace noise is submitted to the computing server. When the computing server sums and averages the reported values ​​of multiple terminal devices, the Laplace noise can be approximately offset, thereby obtaining the sum and average of the original user data.

[0004] However, when the Laplace method is used to add Laplace noise to user data, floating point numbers need to be used to ensure the noise reduction accuracy of the data, which results in large communication overhead. Summary of the invention

[0005] The embodiments of the present application provide a privacy protection method and device, which can reduce communication overhead.

[0006] In a first aspect, an embodiment of the present application provides a privacy protection method, including: a terminal device obtains differential privacy configuration parameters corresponding to privacy data of a first data type, the differential privacy configuration parameters including at least two integers to be reported; the terminal device determines an integer corresponding to the privacy data of the first data type, the integer corresponding to the privacy data of the first data type is one of the at least two integers to be reported; the terminal device reports the integer corresponding to the privacy data of the first data type to a server.

[0007] Based on the method provided in the embodiment of the present application, the terminal device can report an integer according to the privacy data of the first data type, that is, add random noise to the privacy data of the first data type, thereby protecting the user's privacy information. Moreover, since the reported value is an integer, the communication overhead can be saved compared to reporting a floating point number.

[0008] In a possible implementation, the differential privacy configuration parameter further includes a privacy budget, at least one of a maximum value of the privacy data of the first data type and a minimum value of the privacy data of the first data type.

[0009] In a possible implementation, the terminal device determines the integer corresponding to the privacy data of the first data type, including: the terminal device determines the probability of reporting each of at least two integers to be reported according to the differential privacy configuration parameter; the terminal device determines the integer corresponding to the privacy data of the first data type according to the probability of reporting each of the at least two integers to be reported. Optionally, the terminal device may determine the integer corresponding to the privacy data of the first data type according to the probability of reporting each of the at least two integers to be reported and a random number generated by the terminal device.

[0010] In one possible implementation, the terminal device determines the probability of reporting each of at least two integers to be reported based on the differential privacy configuration parameters, including: the terminal device performs a linear operation on the privacy data of the first data type based on the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type to obtain X, where X is greater than 0 and less than or equal to 1; the terminal device determines the probability of reporting each of the at least two integers to be reported based on X and the privacy budget.

[0011] In a possible implementation, if the at least two integers to be reported include 1 and 0, the terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget, including:

[0012] P(1)=(1+(exp(ε)-1)*X) / (exp(ε)+1);

[0013] P(0)=(exp(ε)-(exp(ε)-1)*X) / (exp(ε)+1);

[0014] Among them, P(1) represents the probability of reporting 1, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0015] In this way, the terminal device can report limited integers based on the privacy data without having to report floating point numbers. For example, if the integers to be reported include 0 and 1, the terminal device can report 0 or 1. The overhead of reporting an integer only requires 1 bit, and the communication overhead is small.

[0016] In a possible implementation, if the at least two integers to be reported include 0 to N, where N is an integer greater than or equal to 1, the terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget, including:

[0017] P(i)=(1+(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)], i=1,2,…,N;

[0018] P(0)=(exp(ε)-(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)];

[0019] Among them, P(i) represents the probability of reporting i, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0020] In this way, the terminal device can report limited integers based on the privacy data without having to report floating point numbers. For example, if the integers to be reported include 0-3, the terminal device can report any number from 0-3. The overhead of reporting an integer only requires 2 bits, and the communication overhead is small. In addition, the integers to be reported include 0 to N. Compared with the integers to be reported including 0 and 1, the types of reported values ​​are more, and the protection of user privacy is better.

[0021] In a second aspect, an embodiment of the present application provides a privacy protection method, including: a server receives integers sent by multiple terminal devices, the integers sent by each terminal device include an integer corresponding to privacy data of a first data type; the server determines the sum of the integers corresponding to the privacy data of the first data type; the server determines the mean of the integers corresponding to the privacy data of the first data type; the server determines the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type.

[0022] Based on the method provided in the embodiment of the present application, the server can receive integers corresponding to the privacy data of the first data type sent by multiple terminal devices, which can save communication overhead compared to the server receiving floating-point numbers corresponding to the privacy data in the prior art. The server can determine the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type, but the server cannot determine the user's real information (original privacy data) through a reported value of the user, thereby protecting the user's privacy information and meeting the differential privacy requirements.

[0023] In one possible implementation, the server determines the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type, including: the server determines the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type and differential privacy configuration parameters, and the differential privacy configuration parameters include at least one of a privacy budget, a maximum value of the privacy data of the first data type, and a minimum value of the privacy data of the first data type.

[0024] In a possible implementation, if the integers sent by the multiple terminal devices include 1 and 0, the server determines the mean of the private data of the first data type according to the mean of the integers corresponding to the private data of the first data type and the differential privacy configuration parameter, including:

[0025] avg(t)=avg(X)*(max-min)+min;

[0026] avg(X)=(avg(y)*(exp(ε)+1)-1) / (exp(ε)-1);

[0027] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0028] It is understandable that since the integer reported by the terminal device is 0 or 1, the server cannot determine the user's true information (original private data) through a reported value of the user, thereby protecting the user's privacy information and meeting the differential privacy requirements.

[0029] In a possible implementation, if the integers sent by multiple terminal devices include 0 to N, where N is an integer greater than or equal to 1, the server determines the mean of the privacy data of the first data type according to the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameter, including:

[0030] avg(t)=avg(X)*(max-min)+min;

[0031] avg(X)=[(N+1) / 2-avg(y)*(N+(exp(ε))] / [(N-1)*(exp(ε)-avg(y))-(exp(ε)-1)(N+1) / 2];

[0032] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0033] It is understandable that since the integer reported by the terminal device is at least one integer between 0-N, the server cannot determine the user's true information (original privacy data) through a reported value of the user, thereby protecting the user's privacy information and meeting the differential privacy requirements.

[0034] In a third aspect, an embodiment of the present application provides a terminal device, comprising: an acquisition unit, used to acquire differential privacy configuration parameters corresponding to privacy data of a first data type, the differential privacy configuration parameters including at least two integers to be reported; a determination unit, used to determine an integer corresponding to the privacy data of the first data type, the integer corresponding to the privacy data of the first data type being one of the at least two integers to be reported; and a sending unit, used to report the integer corresponding to the privacy data of the first data type to a server.

[0035] In a possible implementation, the differential privacy configuration parameter further includes a privacy budget, at least one of a maximum value of the privacy data of the first data type and a minimum value of the privacy data of the first data type.

[0036] In one possible implementation, the determination unit is used to: determine the probability of reporting each of at least two integers to be reported according to the differential privacy configuration parameters; and determine the integer corresponding to the privacy data of the first data type according to the probability of reporting each of at least two integers to be reported.

[0037] In one possible implementation, the determination unit is used to: perform a linear operation on the privacy data of the first data type according to a maximum value of the privacy data of the first data type and a minimum value of the privacy data of the first data type to obtain X, where X is greater than 0 and less than or equal to 1; and determine a probability of reporting each of at least two integers to be reported according to X and a privacy budget.

[0038] In a possible implementation manner, if the at least two integers to be reported include 1 and 0, the determining unit is configured to perform the following operation:

[0039] P(1)=(1+(exp(ε)-1)*X) / (exp(ε)+1);

[0040] P(0)=(exp(ε)-(exp(ε)-1)*X) / (exp(ε)+1);

[0041] Among them, P(1) represents the probability of reporting 1, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0042] In a possible implementation manner, if the at least two integers to be reported include 0 to N, where N is an integer greater than or equal to 1, the determining unit is configured to perform the following operation:

[0043] P(i)=(1+(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)], i=1,2,…,N;

[0044] P(0)=(exp(ε)-(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)];

[0045] Among them, P(i) represents the probability of reporting i, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0046] In a fourth aspect, an embodiment of the present application provides a server, comprising: a receiving unit, configured to receive integers sent by multiple terminal devices, wherein the integers sent by each terminal device include integers corresponding to privacy data of a first data type; a determining unit, configured to determine the sum of the integers corresponding to the privacy data of the first data type; the determining unit, further configured to determine the mean of the integers corresponding to the privacy data of the first data type; and the determining unit, further configured to determine the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type.

[0047] In one possible implementation, the determination unit is used to determine the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameters, where the differential privacy configuration parameters include at least one of a privacy budget, a maximum value of the privacy data of the first data type, and a minimum value of the privacy data of the first data type.

[0048] In a possible implementation manner, if the integers sent by the multiple terminal devices include 1 and 0, the determination unit is configured to perform the following operation:

[0049] avg(t)=avg(X)*(max-min)+min;

[0050] avg(X)=(avg(y)*(exp(ε)+1)-1) / (exp(ε)-1);

[0051] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0052] In a possible implementation, if the integers sent by the multiple terminal devices include 0 to N, where N is an integer greater than or equal to 1, the determination unit is configured to perform the following operation:

[0053] avg(t)=avg(X)*(max-min)+min;

[0054] avg(X)=[(N+1) / 2-avg(y)*(N+(exp(ε))] / [(N-1)*(exp(ε)-avg(y))-(exp(ε)-1)(N+1) / 2];

[0055] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0056] In a fifth aspect, an embodiment of the present application further provides a device, which may be a terminal device or a chip. The device includes a processor for implementing any one of the privacy protection methods provided in the first aspect above. The device may also include a memory for storing program instructions and data, and the memory may be a memory integrated in the device, or an off-chip memory provided outside the device. The memory is coupled to the processor, and the processor can call and execute program instructions stored in the memory to implement any one of the privacy protection methods provided in the first aspect above. The device may also include a communication interface, which is used for the device to communicate with other devices (e.g., a server).

[0057] In a sixth aspect, an embodiment of the present application further provides a device, which may be a network device or a chip. The device includes a processor for implementing any one of the privacy protection methods provided in the second aspect above. The device may also include a memory for storing program instructions and data, and the memory may be a memory integrated in the device, or an off-chip memory provided outside the device. The memory is coupled to the processor, and the processor can call and execute program instructions stored in the memory to implement any one of the privacy protection methods provided in the second aspect above. The device may also include a communication interface, which is used for the device to communicate with other devices (e.g., terminal devices).

[0058] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, comprising instructions, which, when executed on a computer, enables the computer to execute the privacy protection method provided in the first or second aspect above.

[0059] In an eighth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the privacy protection method provided in the first aspect or the twenty-fourth aspect above.

[0060] In a ninth aspect, an embodiment of the present application provides a chip system, which includes a processor and may also include a memory, for implementing the privacy protection method provided in the first aspect or the second aspect. The chip system may be composed of a chip, or may include a chip and other discrete devices.

[0061] In the tenth aspect, an embodiment of the present application provides a privacy protection system, which includes the terminal device in the third aspect and the server in the fourth aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] Figure 1 A schematic diagram of a differential privacy noise adding method in the prior art;

[0063] Figure 2 This is a schematic diagram of performing differential privacy noise addition on parameter ω in the prior art;

[0064] Figure 3 A schematic diagram of an architecture suitable for a privacy protection method provided in an embodiment of the present application;

[0065] Figure 4 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;

[0066] Figure 5 A schematic diagram of a software module of a terminal device provided in an embodiment of the present application;

[0067] Figure 6A schematic diagram of the structure of a server provided in an embodiment of the present application;

[0068] Figure 7 A schematic diagram of a software module of a server provided in an embodiment of the present application;

[0069] Figure 8 A schematic diagram of a Laplace noise function distribution with different parameters b provided in an embodiment of the present application;

[0070] Fig. 9 A signal interaction diagram applicable to a privacy protection method provided in an embodiment of the present application;

[0071] Fig.10 A schematic diagram of the structure of another terminal device provided in an embodiment of the present application;

[0072] Fig.11 A schematic diagram of the structure of another server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0073] The technical scheme in the embodiment of the present application will be described below in conjunction with the drawings in the embodiment of the present application. Wherein, in the description of the present application, unless otherwise specified, "at least one" refers to one or more, and "a plurality of" refers to two or more than two. In addition, in order to facilitate the clear description of the technical scheme of the embodiment of the present application, in the embodiment of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with substantially the same functions and effects. Those skilled in the art will understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit necessarily different.

[0074] The present application embodiment provides a privacy protection method and device, which are applied to the scenario of protecting the privacy of user data. Figure 3 As shown, a schematic diagram of a system architecture suitable for a privacy protection method provided in an embodiment of the present application is provided. The system architecture may include a server 20 and one or more terminal devices connected to the server 20, such as user equipment (UE) 10, UE11 and UE12.

[0075] Embodiments of the present application Figure 3The terminal device or server in the embodiment may be implemented by a device or a functional module in a device, and the embodiments of the present application do not specifically limit this. It is understandable that the above functions can be network elements in hardware devices, software functions running on dedicated hardware, virtualization functions instantiated on a platform (e.g., a cloud platform), or chip systems. In the embodiments of the present application, the chip system may be composed of chips, or may include chips and other discrete devices.

[0076] For example, the device for implementing the functions of the terminal device provided in the embodiment of the present application can be Figure 4 It is implemented by the device 400 in . Figure 4 The hardware structure diagram of the device 400 provided in the embodiment of the present application is shown. The device 400 includes at least one processor 401, which is used to implement the functions of the terminal device provided in the embodiment of the present application. The device 400 may also include a communication bus 402 and at least one communication interface 404. The device 400 may also include a memory 403.

[0077] In the embodiments of the present application, the processor may be a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD). The processor may also be any other device having a processing function, such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components, software modules or any combination thereof.

[0078] The communication bus 402 may be used to transmit information between the above-mentioned components.

[0079] The communication interface 404 is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. The communication interface 404 can be an interface, circuit, transceiver or other device capable of communication, which is not limited in this application. The communication interface 404 can be coupled to the processor 401. The coupling in the embodiment of the present application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.

[0080] In the embodiment of the present application, the memory may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently or be coupled to the processor, for example, through a communication bus 402. The memory may also be integrated with the processor.

[0081] The memory 403 is used to store program instructions, and can be controlled by the processor 401 to execute, thereby implementing the privacy protection method provided in the following embodiments of the present application. The processor 401 is used to call and execute the instructions stored in the memory 403, thereby implementing the privacy protection method provided in the following embodiments of the present application.

[0082] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application code, which is not specifically limited in the embodiments of the present application.

[0083] Optionally, the memory 403 may be included in the processor 401 .

[0084] In a specific implementation, as an embodiment, the processor 401 may include one or more CPUs, such as Figure 4 CPU0 and CPU1 in.

[0085] In a specific implementation, as an embodiment, the apparatus 400 may include multiple processors, such as Figure 4 401 and processor 407 in the embodiment of the present invention. Each of these processors may be a single-CPU processor or a multi-CPU processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0086] In a specific implementation, as an embodiment, the apparatus 400 may further include an output device 405 and an input device 406. The output device 405 is coupled to the processor 401 and may display information in a variety of ways. For example, the output device 405 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 406 is coupled to the processor 401 and may receive user input in a variety of ways. For example, the input device 406 may be a touch screen device or a sensor device.

[0087] The terminal device described in this embodiment may be a mobile phone, a tablet computer, a desktop, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, and a personal digital assistant (PDA), a wearable device (such as a smart watch), an Internet of Things (IoT) device, an augmented reality (AR) / virtual reality (VR) device, a sensor, a vehicle containing a smart chip, etc. This embodiment does not impose any special restrictions on the specific form of the terminal device.

[0088] The memory of the above-mentioned terminal device can be used to store the software module involved in the privacy protection method provided in the embodiment of the present application, and the processor can implement the privacy protection method by running the software module. Figure 5 As shown, the software module may include a parameter configuration module 501, a model storage module 502, a differential privacy module 503 and a joint learning module 504.

[0089] The parameter configuration module 501 is used to set and manage differential privacy configuration parameters. The parameter configuration module 501 can initialize a differential instance according to the differential privacy configuration parameters (of the first data type), and call the differential instance to determine the integer corresponding to the privacy data (of the first data type).

[0090] The model storage module 502 is used to store the local AI model.

[0091] Differential privacy module 503: can obtain the local AI model from the model storage module, perform differential privacy noise on the AI ​​model parameters (i.e., private data) to be reported in the local AI model, and realize data anonymization. Differential privacy noise is the process of determining the integer corresponding to the AI ​​model parameter based on the AI ​​model parameter.

[0092] Joint learning module 504: Generates a differential privacy data report, which includes the noisy data (i.e., the integers corresponding to the AI ​​model parameters). Then, security aggregation (SA) technology can be further used to interfere with the noisy data to achieve more thorough privacy protection.

[0093] For example, the device for implementing the functions of the server provided in the embodiment of the present application can be Figure 6 The device 600 in FIG. Figure 6 The hardware structure diagram of the device 600 provided in the embodiment of the present application is shown. The device 600 includes at least one processor 601, which is used to implement the functions of the server provided in the embodiment of the present application. The device 600 may also include a communication bus 602 and at least one communication interface 604. The device 600 may also include a memory 603.

[0094] The communication bus 602 may be used to transmit information between the above-mentioned components.

[0095] The communication interface 604 is used to communicate with other devices or communication networks, such as Ethernet, RAN, WLAN, etc. The communication interface 604 can be an interface, a circuit, a transceiver or other device capable of achieving communication, which is not limited in this application. The communication interface 604 can be coupled to the processor 601.

[0096] The memory 603 is used to store program instructions, and can be controlled by the processor 601 to execute, so as to implement the privacy protection method provided in the following embodiments of the present application. For example, the processor 601 is used to call and execute the instructions stored in the memory 603, so as to implement the privacy protection method provided in the following embodiments of the present application.

[0097] Optionally, the memory 603 may be included in the processor 601 .

[0098] In a specific implementation, as an embodiment, the processor 601 may include one or more CPUs, such as Figure 6 CPU0 and CPU1 in.

[0099] In a specific implementation, as an embodiment, the apparatus 600 may include multiple processors, such as Figure 6 601 and processor 607 in the embodiment. Each of these processors may be a single-core processor or a multi-core processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0100] In a specific implementation, as an embodiment, the apparatus 600 may further include an output device 605 and an input device 606. The output device 605 is coupled to the processor 601 and may display information in a variety of ways. For example, the output device 605 may be an LCD, LED display device, CRT display device, or projector. The input device 606 is coupled to the processor 601 and may receive user input in a variety of ways. For example, the input device 606 may be a touch screen device or a sensor device.

[0101] The memory of the server can be used to store the software module involved in the privacy protection method provided in the embodiment of the present application, and the processor can implement the privacy protection method by running the software module. Figure 7 As shown, the software module may include a parameter configuration module 701 , a denoising processing module 702 , a differential data aggregation module 703 and a model storage module 704 .

[0102] Among them, the parameter configuration module 701 is used to implement the setting and management of differential privacy configuration parameters.

[0103] The differential data aggregation module 703 is used to sort and aggregate the integers received from multiple terminal devices according to the differential event ID or statistical period and other dimensions, and aggregate the integers belonging to the same differential event and the same data type (for example, the first data type) together. A differential event can correspond to one or more data types.

[0104] The denoising processing module 702 is used to determine the mean value of the privacy data (of the first data type) according to the mean value of the integers corresponding to the privacy data (of the first data type).

[0105] The model storage module 704 is used to store the global AI model. The parameters of the global AI model can be determined based on the mean of the privacy data (the mean of the parameters of the local AI models of multiple terminal devices).

[0106] In order to make the description of the following embodiments clear and concise, a brief introduction to the relevant concepts or technologies is first given:

[0107] Differential privacy: a privacy definition proposed for the privacy leakage problem. Under this definition, the calculation results of the database are insensitive to changes in a certain user's data. In other words, the presence or absence of a single user's data in the data set has little impact on the calculation results. In this way, the privacy leakage risk caused by the addition of a user's data to the data set is controlled within a very small and acceptable range, and the server side or attackers cannot obtain accurate data information of any user by observing the calculation results.

[0108] Existing methods based on differential privacy technology are mainly implemented by adding Laplace noise to user data. The calculation method of Laplace noise is shown in formula (1):

[0109] f(x|u,b)=1 / 2b*exp(-|xu| / b) Formula (1)

[0110] Where x is the randomly generated Laplace noise, u is the mean of the Laplace noise, usually set to 0, and exp is the exponential operation with the natural logarithm base e as the base. b = f / ε. ε is the privacy budget, and Δf is the global sensitivity, which represents the change in the output when any data record in the dataset is changed, for example, it can be 0.01.

[0111] The above differential privacy method by adding Laplace noise has the following problems:

[0112] First, in formula (1), Δf is not easy to determine. Since the change range of AI parameters uploaded by different users may be different, the corresponding sensitivity will also be different. Moreover, AI models themselves are often less interpretable, and it is impossible to determine the role of a certain parameter in the entire system, making it difficult to determine the sensitivity of the parameter.

[0113] Second, the amplitude of Laplace noise may be very large (theoretically it can reach positive infinity or negative infinity), and in practical applications the noise amplitude will be limited, which does not fully meet the definition of differential privacy. Figure 8As shown in the figure, it is a schematic diagram of the distribution of Laplace noise functions with different parameters b, which shows the changes in the distribution of Laplace noise functions under different b values. The function distribution diagram is symmetric about Laplace noise = 0. Among them, the horizontal axis represents the size of Laplace noise, and the vertical axis represents the differential privacy budget ε. The size of Laplace noise can theoretically reach positive infinity or negative infinity. In specific implementation, it can be (-5, 5), (-10, 10) or (-15, 15) according to different b values. This will limit the noise amplitude and cannot fully meet the definition of differential privacy.

[0114] Third, when the Laplace method is used to add Laplace noise to user data, floating point numbers need to be used to ensure the noise reduction accuracy of the data, which leads to large communication overhead.

[0115] In order to solve the above problems, the embodiment of the present application provides a privacy protection method, the terminal device obtains the differential privacy configuration parameters corresponding to the privacy data of the first data type, and the differential privacy configuration parameters include at least two integers to be reported; the terminal device determines the integer corresponding to the privacy data of the first data type, and the integer corresponding to the privacy data of the first data type is one of the at least two integers to be reported; the terminal device reports the integer corresponding to the privacy data of the first data type to the server. The server receives integers sent by multiple terminal devices, and the integers sent by each terminal device include integers corresponding to the privacy data of the first data type; the server determines the mean of the integers corresponding to the privacy data of the first data type; the server determines the mean of the privacy data of the first data type according to the mean of the integers corresponding to the privacy data of the first data type. Based on the method provided by the embodiment of the present application, the terminal device can report the integer (corresponding to the privacy data of the first data type) according to the privacy data (of the first data type), which is equivalent to adding random noise to the privacy data, thereby protecting the security of the privacy data. The server can determine the mean of the privacy data according to the mean of the integers, but the server cannot judge the real information of the user through a reported value of the user, thereby protecting the security of the privacy data and meeting the differential privacy requirements.

[0116] In the embodiment of the present application, since the reported value is an integer of limited size (such as 0 and 1), there is no situation of amplitude restriction. Moreover, since the reported value is an integer, the communication overhead can be saved compared with reporting a floating point number. In addition, when the terminal device reports the private data, it is not necessary to consider the sensitivity of each private data.

[0117] For ease of understanding, the privacy protection method provided in the embodiments of the present application is specifically introduced below with reference to the accompanying drawings.

[0118] like Fig. 9 As shown, the embodiment of the present application provides a privacy protection method, including:

[0119] 901. A terminal device obtains differential privacy configuration parameters corresponding to privacy data of a first data type, where the differential privacy configuration parameters include at least two integers to be reported.

[0120] Private data refers to user data to be counted, for example, private data can be the parameters of an AI model to be reported. Private data can be a multi-valued variable, for example, private data can be a Boolean variable, a string variable, or a string variable.

[0121] There can be multiple privacy data, and different privacy data can correspond to different data types. Privacy data of different data types can correspond to the same differential event (differential task) or different differential events. For example, privacy data of the first data type and privacy data of the second data type can correspond to the first differential event. Assuming that the first differential event is "reporting the intermediate parameters of the AI ​​model", the intermediate parameters of the AI ​​model include 2 parameters, the first parameter can be the privacy data of the first data type, and the second parameter can be the privacy data of the second data type. For another example, privacy data of the third data type, privacy data of the fourth data type, and privacy data of the fifth data type can correspond to the second differential event, the privacy data of the third data type can be the first parameter to be counted for the second differential event, the privacy data of the fourth data type can be the second parameter to be counted for the second differential event, and the privacy data of the fifth data type can be the third parameter to be counted for the second differential event. For ease of understanding, the embodiment of the present application is explained by taking the privacy data of the first data type as an example.

[0122] The differential privacy configuration parameters corresponding to the privacy data of the first data type may be sent by the server to the terminal device, or may be pre-stored in the terminal device, which is not limited in this application.

[0123] At least two integers to be reported in the differential privacy configuration parameters corresponding to the privacy data of the first data type may be multiple consecutive integers, such as 0 and 1 or 1-10 or 1-100; or, the at least two integers to be reported may be multiple discontinuous integers, such as 5, 8, 9, 10, etc., which is not limited in this application.

[0124] 902. The terminal device determines an integer corresponding to the privacy data of the first data type, where the integer corresponding to the privacy data of the first data type is one of at least two integers to be reported.

[0125] The terminal device determines the probability of reporting each of the at least two integers to be reported according to the differential privacy configuration parameters. The differential privacy configuration parameters corresponding to the privacy data of the first data type may also include a privacy budget (privacy protection budget), at least one of the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type. Among them, the privacy budget reflects the privacy protection level of the algorithm. The smaller ε is, the higher the privacy protection level is, and the lower the data availability is.

[0126] First, the terminal device may perform a linear operation on the privacy data of the first data type according to the maximum value and the minimum value of the privacy data of the first data type to obtain X, where X is greater than 0 and less than or equal to 1. For example, as shown in formula (2):

[0127] X=(t-min) / (max-min) Formula (2)

[0128] Wherein, t represents the privacy data of the first data type, min represents the minimum value of the privacy data of the first data type, and max represents the maximum value of the privacy data of the first data type.

[0129] Then, the terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget.

[0130] In a possible design, if at least two integers to be reported include 1 and 0, the probabilities of reporting 1 and 0 are respectively shown in equations (3) and (4):

[0131] P(1)=(1+(exp(ε)-1)*X) / (exp(ε)+1) Formula (3)

[0132] P(0)=(exp(ε)-(exp(ε)-1)*X) / (exp(ε)+1) Formula (4)

[0133] Among them, P(1) represents the probability of reporting 1, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0134] In another possible design, if the at least two integers to be reported include 0 to N, where N is an integer greater than or equal to 1, the probability of reporting each integer from 0 to N is respectively as shown in equations (5) and (6):

[0135] P(i)=(1+(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)], i=1,2,…,N Formula (5)

[0136] P(0)=(exp(ε)-(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)] Formula (6)

[0137] Among them, P(i) represents the probability of reporting i, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0138] In the embodiment of the present application, p(1)=...=p(N). For example, assuming N=5, the integers to be reported include 0, 1, 2, 3, 4, and 5, then p(1)=p(2)=p(3)=p(4)=p(5).

[0139] Then, the terminal device determines the integer corresponding to the privacy data of the first data type according to the probability of reporting each integer of at least two integers to be reported.

[0140] In one possible design, the terminal device may generate a random number, and determine an integer corresponding to the privacy data of the first data type based on the random number and a probability of reporting each of at least two integers to be reported.

[0141] For example, assuming that the integers to be reported include 0 and 1, P(0) = 0.7, P(1) = 0.3, P(0) represents the probability of reporting 0, and P(1) represents the probability of reporting 1. If the random number generated by the terminal device is between 0-0.3 (the value interval is determined based on P(1) = 0.3), for example 0.2, the terminal device determines that the integer corresponding to the privacy data of the first data type is 1; if the random number generated is between 0.3-1 (the value interval is determined based on P(0) = 0.7), for example 0.5, the terminal device determines that the integer corresponding to the privacy data of the first data type is 0. Alternatively, if the random number generated by the terminal device is between 0-0.7 (the value interval is determined based on P(0)=0.7), for example 0.3, the terminal device determines that the integer corresponding to the privacy data of the first data type is 0; if the generated random number is between 0.7-1 (the value interval is determined based on P(1)=0.3), for example 0.5, the terminal device determines that the integer corresponding to the privacy data of the first data type is 1.

[0142] For another example, assuming that the integers to be reported include 0, 1, and 2, P(0)=0.5, P(1)=0.25, P(2)=0.25, P(0) represents the probability of reporting 0, P(1) represents the probability of reporting 1, and P(2) represents the probability of reporting 2. If the random number generated by the terminal device is between 0-0.5 (the value interval is determined based on P(0)=0.5), for example, 0.2, the terminal device determines that the integer corresponding to the privacy data of the first data type is 0; if the random number generated is between 0.5-0.75 (the value interval is determined based on P(1)=0.25), for example, 0.6, the terminal device determines that the integer corresponding to the privacy data of the first data type is 1; if the random number generated is between 0.75-1 (the value interval is determined based on P(2)=0.25), for example, 0.9, the terminal device determines that the integer corresponding to the privacy data of the first data type is 2. Alternatively, if the random number generated by the terminal device is between 0-0.25 (the value interval is determined based on P(1)=0.25), for example 0.1, the terminal device determines that the integer corresponding to the privacy data of the first data type is 1; if the random number generated is between 0.25-0.5 (the value interval is determined based on P(2)=0.25), for example 0.6, the terminal device determines that the integer corresponding to the privacy data of the first data type is 2; if the random number generated is between 0.5-1 (the value interval is determined based on P(0)=0.5), for example 0.9, the terminal device determines that the integer corresponding to the privacy data of the first data type is 0.

[0143] In this way, the terminal device can report limited integers based on the privacy data without having to report floating-point numbers. For example, if the integers to be reported include 0 and 1, the terminal device can report 0 or 1, and the overhead of reporting an integer only requires 1 bit, which reduces the communication overhead. Alternatively, if the integers to be reported include 0-3, the terminal device can report any number from 0-3, and the overhead of reporting an integer only requires 2 bits, which reduces the communication overhead. Of course, the integers to be reported include 0 to N, which has more types of reported values ​​than the integers to be reported include 0 and 1, and has better protection capabilities for user privacy.

[0144] 903. The terminal device reports an integer corresponding to the privacy data of the first data type to the server.

[0145] The terminal device can send the integer corresponding to the privacy data of the first data type to the server through the joint learning module. The processing flow of the joint learning module is: 1) Initialize the differential instance and generate a differential privacy data report, which includes the integer corresponding to the privacy data of the first data type; 2) The terminal device encapsulates the differential privacy data report into a message and saves it to the local database, and then uploads it to the server through a secure connection and using the corresponding subtask to achieve privacy protection of user data.

[0146] 904. The server receives integers sent by multiple terminal devices, where the integer sent by each terminal device includes an integer corresponding to the privacy data of the first data type.

[0147] Each of the multiple terminal devices may execute the above steps 901-903.

[0148] It is understandable that each of the multiple terminal devices may send multiple integers. The server may sort the integers sent by the multiple terminal devices according to the differential event ID and / or data type, and aggregate the integers corresponding to the same differential event and the same data type.

[0149] For example, assuming that there are three terminal devices (e.g., UE1, UE2, and UE3) reporting integers to the server for the first differential event, the first differential event may be "reporting the intermediate parameters of the AI ​​model", assuming that the intermediate parameters of the AI ​​model include two parameters, the first parameter is the privacy data of the first data type, and the second parameter is the privacy data of the second data type. After each terminal device determines the integer corresponding to the privacy data of the first data type and the integer corresponding to the privacy data of the second data type, it can send the integer corresponding to the privacy data of the first data type and the integer corresponding to the privacy data of the second data type to the server according to a preset order (e.g., first send the integer corresponding to the privacy data of the first data type, and then send the integer corresponding to the privacy data of the second data type), and carry the differential event ID and the terminal device ID. The server receives integers sent by multiple terminal devices, and summarizes the integer corresponding to the privacy data of the first data type and the integer corresponding to the privacy data of the second data type respectively based on the differential event ID and the terminal device ID.

[0150] Alternatively, the server may sort the integers sent by multiple terminal devices according to the statistical period, and aggregate the integers corresponding to the same differential event and the same data type. For example, the server may determine that the integers sent by multiple terminal devices in a preset time period 1 (e.g., 18:00-19:00) correspond to the first differential event, and for different data types corresponding to the first differential event, a more fine-grained statistical period may be set (e.g., the integers sent in 18:00-18:10 correspond to the privacy data of the first data type of the first differential event) for statistics, which will not be elaborated here.

[0151] 905. The server determines the sum of integers corresponding to the privacy data of the first data type.

[0152] That is, the server determines the sum of integers corresponding to the privacy data of the first data type sent by multiple terminal devices.

[0153] 906. The server determines the average of the integers corresponding to the privacy data of the first data type.

[0154] The mean of the integers corresponding to the privacy data of the first data type is the quotient of the sum of the integers corresponding to the privacy data of the first data type and the number of terminal devices. For example, assuming that the number of terminal devices is 2, such as UE1 and UE2, and assuming that the integer corresponding to the privacy data of the first data type sent by UE1 is 0, and the integer corresponding to the privacy data of the first data type sent by UE2 is 1, then the sum of the integers corresponding to the privacy data of the first data type is 0+1=1, and the mean of the integers corresponding to the privacy data of the first data type is 1 / 2=0.5.

[0155] 907. The server determines a mean value of the privacy data of the first data type according to a mean value of integers corresponding to the privacy data of the first data type.

[0156] In one possible design, the server may determine the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameter. The differential privacy configuration parameter includes at least one of a privacy budget, a maximum value of the privacy data of the first data type, and a minimum value of the privacy data of the first data type.

[0157] Exemplarily, if the values ​​of the integers sent by multiple terminal devices include 1 and 0, as shown in equations (7) and (8), the server may determine the mean value of the privacy data of the first data type according to the mean value of the integers corresponding to the privacy data of the first data type, the privacy budget, the maximum value of the privacy data of the first data type, and the minimum value of the privacy data of the first data type:

[0158] avg(t)=avg(X)*(max-min)+min (7)

[0159] avg(X)=(avg(y)*(exp(ε)+1)-1) / (exp(ε)-1) (8)

[0160] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0161] If the values ​​of the integers sent by multiple terminal devices include 0 to N, where N is an integer greater than or equal to 1, as shown in equations (9) and (10), the server determines the mean value of the privacy data of the first data type according to the mean value of the integers corresponding to the privacy data of the first data type, the privacy budget, the maximum value of the privacy data of the first data type, and the minimum value of the privacy data of the first data type:

[0162] avg(t)=avg(X)*(max-min)+min (9)

[0163] avg(X)=[(N+1) / 2-avg(y)*(N+(exp(ε))] / [(N-1)*(exp(ε)-avg(y))-(exp(ε)-1)(N+1) / 2] (10)

[0164] Wherein, avg(t) represents the mean of the private data of the first data type, avg(y) represents the mean of the integers corresponding to the private data of the first data type, min represents the minimum value of the private data of the first data type, max represents the maximum value of the private data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

[0165] It is understandable that the server can derive the parameters of the global AI model based on the mean of the privacy data of multiple terminal devices (for example, the mean of the AI ​​model parameters of multiple terminal devices) so as to aggregate the AI ​​model on the server side.

[0166] Based on the method provided in the embodiment of the present application, the terminal device can report an integer based on the privacy data of the first data type, that is, add random noise to the privacy data of the first data type, thereby protecting the user's privacy information. Moreover, since the reported value is an integer, the communication overhead can be saved compared to reporting a floating point number. The server can determine the mean of the privacy data based on the mean of the integer, but the server cannot determine the user's true information through a reported value of the user, thereby protecting the user's privacy information and meeting the differential privacy requirements.

[0167] In the embodiments provided by the present application, the methods provided by the embodiments of the present application are introduced from the perspectives of the terminal device, the server, and the interaction between the terminal device and the server. In order to implement the functions in the methods provided by the embodiments of the present application, the terminal device and the server may include a hardware structure and / or a software module to implement the functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether a function in the functions is performed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.

[0168] In the case of dividing each functional module into corresponding functional modules, Fig.10 A possible structural diagram of the device 10 involved in the above embodiment is shown, and the device can be a terminal device, which includes: an acquisition unit 1001, a determination unit 1002 and a sending unit 1003. In the embodiment of the present application, the acquisition unit 1001 is used to obtain differential privacy configuration parameters, and the differential privacy configuration parameters include at least two integers to be reported; the determination unit 1002 is used to determine the probability of reporting each of the at least two integers to be reported according to the privacy data; the sending unit 1003 is used to report one of the integers to the server according to the probability of reporting each of the at least two integers to be reported.

[0169] exist Fig. 9 In the method embodiment shown, the acquisition unit 1001 is used to support the terminal device to execute Fig. 9 The determining unit 1002 is used to support the terminal device to execute Fig. 9 The sending unit 1003 is used to support the terminal device to execute Fig. 9 Process 903 in the above method embodiment. All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, which will not be repeated here.

[0170] In the case of dividing each functional module into corresponding functional modules, Fig.11 A possible structural diagram of the device 11 involved in the above embodiment is shown, and the device can be a server, and the server includes: a receiving unit 1101 and a determining unit 1102. In the embodiment of the present application, the receiving unit 1101 is used to receive integers sent by multiple terminal devices; the determining unit 1102 is used to determine the sum of integers corresponding to the privacy data of the first data type among the integers sent by the multiple terminal devices; the determining unit 1102 is also used to determine the mean of the integers corresponding to the privacy data of the first data type; the determining unit 1102 is also used to determine the mean of the privacy data of the first data type according to the mean of the integers corresponding to the privacy data of the first data type.

[0171] exist Fig. 9 In the method embodiment shown, the receiving unit 1101 is used to support the terminal device to execute Fig. 9 The determining unit 1102 is used to support the terminal device to execute Fig. 9 All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and will not be repeated here.

[0172] The division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules. For example, in the embodiments of the present application, the receiving unit and the sending unit may be integrated into the transceiver unit.

[0173] In the method provided in the embodiment of the present application, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state drive (SSD)).

[0174] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A privacy protection method, characterized in that: include: The terminal device obtains a differential privacy configuration parameter corresponding to the privacy data of the first data type, where the differential privacy configuration parameter includes a privacy budget, at least one of a maximum value of the privacy data of the first data type and a minimum value of the privacy data of the first data type, and at least two integers to be reported; The terminal device determines an integer corresponding to the privacy data of the first data type, where the integer corresponding to the privacy data of the first data type is one of the at least two integers to be reported; The terminal device reports an integer corresponding to the privacy data of the first data type to the server; The terminal device determines that the integer corresponding to the privacy data of the first data type includes: The terminal device determines, according to the differential privacy configuration parameter, a probability of reporting each of the at least two integers to be reported; The terminal device determines the integer corresponding to the privacy data of the first data type according to the probability of reporting each integer of the at least two integers to be reported.

2. The privacy protection method according to claim 1, characterized in that: The terminal device determines the probability of reporting each of the at least two integers to be reported according to the differential privacy configuration parameter, including: The terminal device performs a linear operation on the privacy data of the first data type according to the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type to obtain X, where X is greater than 0 and less than or equal to 1; The terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget.

3. The privacy protection method according to claim 2, characterized in that: If the at least two integers to be reported include 1 and 0, the terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget, including: P(1)=(1+(exp(ε)-1)*X) / (exp(ε)+1); P(0)=(exp(ε)-(exp(ε)-1)*X) / (exp(ε)+1); Wherein, P(1) represents the probability of reporting 1, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

4. The privacy protection method according to claim 2, characterized in that: If the at least two integers to be reported include 0 to N, where N is an integer greater than or equal to 1, the terminal device determines the probability of reporting each of the at least two integers to be reported according to X and the privacy budget, including: P(i)=(1+(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)], i=1,2,…,N; P(0)=(exp(ε)-(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)]; Wherein, P(i) represents the probability of reporting i, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

5. A privacy protection method, characterized in that: include: The server receives integers sent by multiple terminal devices, where the integers sent by each terminal device include integers corresponding to the privacy data of the first data type; The server determines a sum of integers corresponding to the privacy data of the first data type; The server determines a mean value of integers corresponding to the privacy data of the first data type; The server determines the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameters; wherein the differential privacy configuration parameters include a privacy budget, at least one of the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type, and at least two integers to be sent, and the integer corresponding to the privacy data of the first data type is determined by the terminal device according to the differential privacy configuration parameters, and the probability of each of the at least two integers to be sent being sent to the server, and is determined according to the probability of sending each of the at least two integers to be sent.

6. The privacy protection method according to claim 5, characterized in that: If the integers sent by the multiple terminal devices include 1 and 0, the server determines the mean of the privacy data of the first data type according to the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameter, including: avg(t)=avg(X)*(max-min)+min; avg(X)=(avg(y)*(exp(ε)+1)-1) / (exp(ε)-1); Among them, avg(t) represents the mean of the privacy data of the first data type, avg(y) represents the mean of the integers corresponding to the privacy data of the first data type, min represents the minimum value of the privacy data of the first data type, max represents the maximum value of the privacy data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

7. The privacy protection method according to claim 5, characterized in that: If the integers sent by the multiple terminal devices include 0 to N, where N is an integer greater than or equal to 1, the server determines the mean of the privacy data of the first data type according to the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameter, including: avg(t)=avg(X)*(max-min)+min; avg(X)=[(N+1) / 2-avg(y)*(N+(exp(ε))] / [(N-1)*(exp(ε)-avg(y))-(exp(ε)-1)(N+1) / 2]; Among them, avg(t) represents the mean of the privacy data of the first data type, avg(y) represents the mean of the integers corresponding to the privacy data of the first data type, min represents the minimum value of the privacy data of the first data type, max represents the maximum value of the privacy data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

8. A terminal device, characterized in that: include: an acquisition unit, configured to acquire differential privacy configuration parameters corresponding to the privacy data of the first data type, the differential privacy configuration parameters comprising a privacy budget, at least one of a maximum value of the privacy data of the first data type and a minimum value of the privacy data of the first data type, and at least two integers to be reported; a determining unit, configured to determine an integer corresponding to the privacy data of the first data type, wherein the integer corresponding to the privacy data of the first data type is one of the at least two integers to be reported; A sending unit, configured to report an integer corresponding to the privacy data of the first data type to a server; The determination unit is specifically used to: determine the probability of reporting each of the at least two integers to be reported according to the differential privacy configuration parameters; and determine the integer corresponding to the privacy data of the first data type according to the probability of reporting each of the at least two integers to be reported.

9. The terminal device according to claim 8, characterized in that: The determining unit is used for: Performing a linear operation on the privacy data of the first data type according to the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type to obtain X, where X is greater than 0 and less than or equal to 1; The probability of reporting each of the at least two integers to be reported is determined according to X and the privacy budget.

10. The terminal device according to claim 9, characterized in that: If the at least two integers to be reported include 1 and 0, the determining unit is configured to perform the following operation: P(1)=(1+(exp(ε)-1)*X) / (exp(ε)+1); P(0)=(exp(ε)-(exp(ε)-1)*X) / (exp(ε)+1); Wherein, P(1) represents the probability of reporting 1, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

11. The terminal device according to claim 9, characterized in that: If the at least two integers to be reported include 0 to N, where N is an integer greater than or equal to 1, the determining unit is configured to perform the following operation: P(i)=(1+(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)], i=1,2,…,N; P(0)=(exp(ε)-(exp(ε)-1)*X) / [((1-N)*X+N)+exp(ε)*((N-1)*X+1)]; Wherein, P(i) represents the probability of reporting i, P(0) represents the probability of reporting 0, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

12. A server, characterized in that: include: A receiving unit, configured to receive integers sent by a plurality of terminal devices, wherein the integers sent by each terminal device include integers corresponding to the privacy data of the first data type; a determining unit, configured to determine a sum of integers corresponding to the privacy data of the first data type; The determining unit is further configured to determine a mean value of integers corresponding to the privacy data of the first data type; The determination unit is further used to determine the mean of the privacy data of the first data type based on the mean of the integers corresponding to the privacy data of the first data type and the differential privacy configuration parameters; wherein the differential privacy configuration parameters include a privacy budget, at least one of the maximum value of the privacy data of the first data type and the minimum value of the privacy data of the first data type, and at least two integers to be sent, and the integer corresponding to the privacy data of the first data type is determined by the terminal device according to the differential privacy configuration parameters, and the probability of each of the at least two integers to be sent is determined to be sent to the server, and is determined according to the probability of sending each of the at least two integers to be sent.

13. The server according to claim 12, characterized in that: If the integers sent by the plurality of terminal devices include 1 and 0, the determining unit is configured to perform the following operation: avg(t)=avg(X)*(max-min)+min; avg(X)=(avg(y)*(exp(ε)+1)-1) / (exp(ε)-1); Among them, avg(t) represents the mean of the privacy data of the first data type, avg(y) represents the mean of the integers corresponding to the privacy data of the first data type, min represents the minimum value of the privacy data of the first data type, max represents the maximum value of the privacy data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

14. The server according to claim 12, characterized in that: If the integers sent by the plurality of terminal devices include 0 to N, where N is an integer greater than or equal to 1, the determining unit is configured to perform the following operation: avg(t)=avg(X)*(max-min)+min; avg(X)=[(N+1) / 2-avg(y)*(N+(exp(ε))] / [(N-1)*(exp(ε)-avg(y))-(exp(ε)-1)(N+1) / 2]; Among them, avg(t) represents the mean of the privacy data of the first data type, avg(y) represents the mean of the integers corresponding to the privacy data of the first data type, min represents the minimum value of the privacy data of the first data type, max represents the maximum value of the privacy data of the first data type, ε represents the privacy budget, and exp represents the exponential operation with the natural logarithm base e as the base.

15. A terminal device, characterized in that: The terminal device includes a processor and a memory; The memory is used to store computer-executable instructions. When the terminal device is running, the processor executes the computer-executable instructions stored in the memory, so that the terminal device executes the privacy protection method as described in any one of claims 1 to 4.

16. A server, characterized in that: The server includes a processor and a memory; The memory is used to store computer-executable instructions. When the server is running, the processor executes the computer-executable instructions stored in the memory, so that the server executes the privacy protection method as described in any one of claims 5-7.

17. A computer-readable storage medium, characterized in that: The method comprises instructions which, when executed on a computer, enable the computer to execute the privacy protection method according to any one of claims 1 to 4.

18. A computer-readable storage medium, characterized in that: The method comprises instructions which, when executed on a computer, enable the computer to execute the privacy protection method according to any one of claims 5 to 7.

19. A chip system, characterized in that: It comprises a processor and a memory, wherein the processor executes computer-executable instructions stored in the memory to implement the privacy protection method as described in any one of claims 1 to 4.

20. A chip system, characterized in that: It comprises a processor and a memory, wherein the processor executes computer-executable instructions stored in the memory to implement the privacy protection method as described in any one of claims 5-7.

21. A privacy protection system, characterized in that: The privacy protection system comprises a terminal device as described in any one of claims 8-11, and a server as described in any one of claims 12-14.

Citation Information

Patent Citations

  • Data publishing method and device, server and storage medium

    CN107689950A

  • Published data generating method, device and server

    CN109284620A