User privacy protection system and method for calling third-party services
By building a user privacy protection system and using obfuscated networks and inadvertent transmission algorithms, the problem of opacity and lack of universality of user privacy protection in third-party services is solved, and the secure interaction and privacy protection of user data is realized. It is suitable for third-party services such as cloud computing, edge computing and machine learning.
Patent Information
- Application Number
- CN202310025474.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-09
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2043-01-09
AI Technical Summary
The existing technology has opaque user privacy protection mechanism in third-party service scenarios, and the existing privacy protection research is insufficient, resulting in the risk of leakage of user data privacy and affecting the promotion of MLaaS, cloud computing and edge computing.
Build a user privacy protection system, including user groups, proxy servers and third-party services. By obfuscating the network and inadvertent transmission algorithms, we ensure the indistinguishability of data interaction, third-party service security and user security, and use bilinear mapping and hash functions to generate system parameters to realize user identity authentication and data encryption, and isolate the direct interaction between users and third-party services.
It realizes two-way security when calling third-party services, protects user privacy, and prevents data leakage. It is suitable for a variety of third-party service scenarios and is universal.
Smart Images

Figure CN116132151B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data security technology, and in particular to a user privacy protection system and method for calling third-party services. Background Art
[0002] The achievements of machine learning in fields such as image classification and natural language processing have driven the rapid growth of machine learning as a service (MLaaS) deployed in third-party services. MLaaS is a typical centralized learning scenario for machine learning, in which third-party services collect training data containing sensitive information and user test data to train models, improve model accuracy, or provide model inference services. However, research has shown that user data privacy faces risks such as direct exposure to honest and curious third parties and indirect inference by malicious users. Beyond MLaaS scenarios, cloud computing and edge computing services, as third-party services, also pose privacy risks, primarily through data leakage, data theft, and coordinated attacks.
[0003] However, users often have conflicting expectations. On the one hand, they hope to share and upload data to third-party services in exchange for the computing resources, storage resources, and machine learning capabilities they need. On the other hand, for privacy and security reasons, they do not want their sensitive data to be leaked and are reluctant to share it externally. This leads to "data silos" and prevents the full realization of data value. Furthermore, if service users are reluctant to upload data to third-party services, it will hinder the promotion and application of MLaaS, cloud computing services, and edge computing services.
[0004] In machine learning scenarios, Tian et al. decomposed the various network layers in machine learning and designed the Sphinx model to protect user data security during training and prediction. Brenner et al. utilized homomorphic encryption to ensure that cloud computing platforms can only design data and functions in ciphertext form.
[0005] However, in third-party service scenarios, service providers shield their data processing mechanisms from the outside world based on commercial value considerations. Therefore, these methods are not applicable to protecting user privacy when invoking third-party services in real life. Furthermore, such research often explores specific scenarios, and no research has theoretically demonstrated the security of multiple third-party services. Therefore, this patent treats third-party services as black boxes, protecting user data privacy and enhancing the universality of the protocol. Summary of the Invention
[0006] In response to the shortcomings of existing algorithms, the present invention solves the problem of protecting the privacy security of users when calling third-party services under the premise that the existing third-party service data processing mechanism is opaque, and the problem of weak universality of existing privacy protection research.
[0007] The technical solution adopted by the present invention is: a user privacy protection system that calls third-party services, including: a user group, a proxy server and a third-party service; the user group is the group that calls the third-party service; the proxy server is used to connect the data interaction between the user group and the third-party service, and isolate the user group from direct interaction with the third-party service; the third-party service provides computing resources for the user group; the third-party service includes cloud computing, edge computing and machine learning.
[0008] Furthermore, the user privacy protection system satisfies the threat model, which is the user, proxy server and third-party service participating in attack behaviors or facing adversary behaviors.
[0009] Furthermore, the data interaction between the proxy server and the obfuscation network must meet the obfuscation indistinguishability, ensuring that the proxy server cannot recover the association between the user and the obfuscated data from the interaction information.
[0010] Furthermore, data interaction between third-party services and user groups must meet the security requirements of third-party services to ensure that a user cannot obtain other users' data structures from the proxy server.
[0011] Furthermore, data interaction between the proxy server and the user group must meet user security requirements to ensure that the proxy server cannot understand the specific data accessed by the user.
[0012] Furthermore, calling the user privacy protection method of the third-party service includes the following steps:
[0013] Step 1: Generate system parameters and build a user group and RA authentication interaction mechanism;
[0014] Further, specifically including:
[0015] Step 11. RA generates a bilinear map e: G1×G1→G2, selects a generator P from G1, and selects a hash function H1: {0, 1} * →G1,H2:G2→{0,1} l , get the system public parameter tuple Params = {G1, G2e, P, H1, H2}; RA generates a random value
[0016] Step 12: Each obfuscated node M j Generate two random values m j and x j , calculate the public key
[0017] Among them, G1 is the Gap Diffie-Hellman group, G2 is the multiplication group, P is the generator, H1 and H2 are hash functions, is the indicator, P is the generator;
[0018] Step 13: User S i Generate a random number u (i) , user S i For data R i Blindly obtain the message msg=H1(R i )+u (i) P;S i Send the identity information ID (S) to RA through a secret verifiable channel i ) and msg, in order to verify its own legal identity; RA according to ID (S i ) Verify S i Is it eligible to send code requests to the proxy server? If verified, the RA will sign the msg Send σ1 to S i ; RA calculation For subsequent verification of the user's identity, RA will replace the commitment value set U = {μ i |i=1,…,n} are placed on the bulletin board;
[0019] Step 2: The user group interacts with the proxy server through the obfuscated network;
[0020] Further, specifically including:
[0021] Step 21: User S i Known Calculate RA's signature on the message generate and calculate the symmetric encryption key j=1,…,N;S i Encrypt p according to the key of the obfuscated node on the forwarding path, and get S i Random selection satisfy Will Will Send to M1 to get the ciphertext list
[0022] Step 22: Each obfuscation node receives data from each user S. i take over M j According to the key Decrypt the received ciphertext And the list Replace it and forward it to the next node. Finally, the proxy server receives
[0023] Step 23: The proxy server receives the ciphertext of all users Calculate the key Conclusion RA based on Verify whether the message p comes from a legitimate user; at the same time, check the commitment value μ i Is it on the bulletin board; among them, If μ is found i , then the user has a legitimate identity, and the code request obfuscation result is
[0024] Step 3: The third-party service interacts with the user group through the oblivious transfer algorithm.
[0025] Further, specifically including:
[0026] Step 31: Generate the user's key pair (PK, SK). Given Params and private key SK, the user generates a random number r and calculates the public key PK: y = g r v β , r∈ R Z q ;
[0027] Step 32: The proxy server encrypts the code prompt result received from the third-party service according to the following formula:
[0028]
[0029] calculate Encrypted list2 = {P i |P i =(a i , b i ), i=1,…,n}, send list2 to the user, which contains the code prompt C i information;
[0030] Step 33: User S i Decrypt the code prompt C you need from the received list2 β =b / a r .
[0031] Beneficial effects of the present invention:
[0032] 1. A privacy protection framework for calling third-party services was constructed and three properties were defined. Obfuscation indistinguishability breaks the mapping relationship between data and users; third-party service security ensures that a user cannot obtain other users' data from the proxy server; and user security ensures that the proxy server cannot understand the specific data accessed by the user, thus ensuring the two-way security between users and third-party services.
[0033] 2. Provide a privacy protection framework for calling third-party services, and provide specific implementation steps based on this. As long as the protocol meets the three properties of the privacy protection framework, it is considered safe;
[0034] 3. Since the third-party service regards the underlying data processing process as a black box, this patent has universal applicability in usage scenarios when users call third-party services that are not open source. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 This is a block diagram of the user privacy protection system that calls third-party services in the present invention
[0036] Figure 2 This is a block diagram of the user privacy protection system that calls the GitHub Copilot service of the present invention;
[0037] Figure 3 It is the obfuscated network data flow diagram of the present invention;
[0038] Figure 4 It is an interaction diagram of the oblivious transfer data of the present invention. DETAILED DESCRIPTION
[0039] The present invention will be further described below in conjunction with the accompanying drawings and embodiments. This figure is a simplified schematic diagram, which only illustrates the basic structure of the present invention in a schematic manner, and therefore only shows the components related to the present invention.
[0040] like Figure 1 As shown, a user privacy protection system for calling a third-party service includes: a user group, a proxy server, and a third-party service;
[0041] The user group refers to the group that calls third-party services; the proxy server acts as a bridge to connect the interaction between the user group and the third-party service, isolating the path for users to directly interact with the third-party service; the third-party service provides computing resources for the user group; the third-party service includes cloud computing, edge computing, machine learning and other data processing centers.
[0042] Construct a parameter generation module, an obfuscated network module, and an oblivious transfer module (1-out-of-N). User group data is scrambled through the obfuscated network and forwarded to the proxy server, which then transfers it to a third-party service.
[0043] The underlying service of the third-party service provides multiple data processing results and sends the processing results to the proxy server. The user group obtains the processing results through the oblivious transfer algorithm.
[0044] The user privacy protection system that calls third-party services needs to meet the threat model, which describes the behavior of each participant or the behavior of the adversary that may be faced. Users, proxy servers, and third-party services all have access to raw data or data processing results, and are therefore considered semi-honest. These three parties can honestly abide by the execution process of the protocol, but are curious about some key information. These participants have different bad behaviors. For example, proxy servers and third-party services will trace the source of the data set, while some users in the user group will try to obtain the data results of other users.
[0045] First, the data interaction between the proxy server and the obfuscation network must meet the obfuscation indistinguishability requirement, ensuring that the proxy server cannot recover the association between the user and the obfuscated data from the interaction information;
[0046] The probabilistic polynomial attacker A breaks through the proxy server and defines the indistinguishability of the obfuscation through the game between the challenger C and the attacker A;
[0047] Among them, the challenger C is constructed by the protocol, which consists of the Kg algorithm (Key generation), the Mix algorithm (Mix network) and the OT algorithm (Oblivious Transfer);
[0048] Initialization: Challenger C generates system parameters λ;
[0049] Stage: Attacker A asks challenger C. Attacker A has a data set list1 = {R i , i=1,…,n}, send list1 to challenger C multiple times, and challenger C obtains each obfuscated sequence after obfuscation Send back to attacker A;
[0050] Challenge: Attacker A has a data set M = {R0, R1} and sends the set M to challenger C. Challenger C uses the Mix algorithm (Mix(Params, S) → S * ) After processing, the output confusion sequence
[0051] Guess: Attacker A outputs the obfuscated sequence M in order. If M * If it is the same as M, then attacker A wins;
[0052] Definition: The advantage of attacker A in breaking the obfuscation indistinguishability is defined as If Adv A (λ) is negligible, then the confusion indistinguishability is satisfied.
[0053] Secondly, data interaction between third-party services and user groups must meet the security requirements of third-party services to ensure that a user cannot obtain other users' data structures from the proxy server;
[0054] Attacker A of the probabilistic polynomial breaks through the user group. The security of the third-party service is defined through the game between challenger C and attacker A.
[0055] Initialization: Challenger C generates system parameters;
[0056] Stage: Attacker A sends a query to Challenger C. Attacker A sends an arbitrary index β to Challenger C. Challenger C calculates the data processing result P through the OT algorithm. β , returns the output to attacker A;
[0057] Challenge: Attacker A gives index β0, β1; Challenger C selects index β from them i , i∈{0,1}, use the OT algorithm to encrypt the data and give the data processing result P i , returns the output to attacker A;
[0058] Guess: Attacker A outputs β k , k∈{0,1}, if β i =β k , then attacker A wins;
[0059] Definition: The advantage that attacker A has in breaking the sender's security is defined as If Adv A (λ) is negligible, then the sender's security is satisfied.
[0060] Finally, data interaction between the proxy server and the user group must meet user security requirements to ensure that the proxy server cannot understand the specific data accessed by the user;
[0061] The probabilistic polynomial attacker A breaks through the proxy server, and the security of the recipient is defined by the game between the challenger C and the attacker A;
[0062] Initialization: Challenger C generates system parameters;
[0063] Stage: Attacker A sends a query to Challenger C. Attacker A sends index β to Challenger C. Challenger C returns the corresponding ciphertext C according to the OT algorithm. β , attacker A asks challenger C multiple times;
[0064] Challenge: Attacker A gives challenger C indexes β0 and β1, and challenger C selects index β i , i∈{0,1}, returns the corresponding ciphertext C according to OT β Send to attacker A;
[0065] Guess: Attacker A outputs β k , k∈{0,1}, if β i =β k , then attacker A wins;
[0066] Definition: The advantage an attacker has in compromising the recipient's security is defined as If Adv A (λ) is negligible, then the receiver's security is satisfied.
[0067] like Figure 2 , taking n users as an example to constitute a user group calling the GitHub Copilot third-party service;
[0068] A new entity authentication authority (RA) is introduced to register the legal identities of users and obfuscation nodes and distribute the required key information; the obfuscator is constructed mainly based on the obfuscation network to achieve anonymity in the transaction processing process; the main idea of the obfuscation network mechanism is: to perform obfuscation operations on multiple inputs to conceal the correspondence between inputs and outputs; the obfuscation network is composed of multiple obfuscation nodes; the proxy server is located in a obfuscation node of the obfuscation network, and user data is forwarded to the proxy server. The obfuscated transmission algorithm is to help users obtain the required code from the proxy server.
[0069] like Figure 3 and 4 , calling the user privacy protection method of the third-party service, including:
[0070] Step 1: Generate system parameters and build a user group and RA authentication interaction mechanism;
[0071] Specifically include: Algorithm Kg(λ)→Params:
[0072] First, the RA entity authentication agency is responsible for generating system parameters. RA generates a bilinear map e: G1×G1→G2, selects a generator P from G1, and selects a hash function H1: {0, 1} * →G1,H2:G2→{0,1} l , get the system public parameter tuple Params = {G1, G2, e, P, H1, H2}; RA generates a random value
[0073] Among them, G1 is the Gap Diffie-Hellman group, G2 is the multiplication group, P is the generator, H1 and H2 are hash functions, is an indicator;
[0074] Secondly, each confusion node M j Generate two random values m j and x j , confusing node M j Including proxy server M N , calculate the public key
[0075] in, P is the generator;
[0076] Finally, user S i Generate a random number u (i) , and satisfies The i-th user S i For data R i Blindly obtain the message msg=H1(R i )+u (i) P;S i Send the identity information ID (S) to RA through a secret verifiable channel i ) and msg, in order to verify its own legal identity; RA according to ID (S i ) Verify S i Is it eligible to send code requests to the proxy server? If verified, the RA will sign the msg Will σ 1 sent to S i ; RA calculation For subsequent verification of the user's identity, RA will replace the commitment value set U = {μ i |i=1,…,n} are placed on the bulletin board;
[0077] Where list1 = {R i |i=1,…,n} is the user's original ordered data set, is the obfuscated data set, R i is the data request of the i-th user, μ i is the committed value, is a random value, σ1 is the msg signature, u (i) is a random number.
[0078] Step 2: The user group interacts with the proxy server through the obfuscated network;
[0079] Specifically including: algorithm process;
[0080] First, Si Known Calculate RA's signature on the message generate and calculate the symmetric encryption key j=1,…,N;S i Encrypt p according to the key of the obfuscated node on the forwarding path, and get S i Random selection satisfy Will Will Send to M1 to get the ciphertext list
[0081] in, is the public key, The ciphertext i forwarded by the i-th user of the first obfuscation node is the user's serial number;
[0082] Secondly, each confusion node receives data from each user S i take over in:
[0083]
[0084]
[0085] in, and is an intermediate variable, is a random value;
[0086] From the above formula we can see M j According to the key Decrypt the received ciphertext And the list Replace it and forward it to the next node. Finally, the proxy server receives
[0087] Finally, the proxy server receives the ciphertext of all users Calculate the key Conclusion RA based on Verify whether the message p comes from a legitimate user; at the same time, check the commitment value μ i Is it on the bulletin board; among them, If μ is found i , then the user has a legitimate identity, and the code request obfuscation result is
[0088] Step 3: The third-party service interacts with the user group through the oblivious transfer algorithm.
[0089] Specifically including: algorithm process;
[0090] First, the user's key pair (PK, SK) is generated. Given Params and the private key SK, which is the user's choice β, the user generates a random number r and calculates the public key PK: y = g r v β , r∈ R Z q ;
[0091] Second, the proxy server encrypts the code hint results received from GitHub Copilot according to the following formula:
[0092]
[0093] calculate Encrypted list2 = {P i |P i =(a i , b i ), i=1,…,n}, send list2 to the user, which contains the code prompt C i information;
[0094] Finally, user S i Decrypt the code prompt C you need from the received list2 β =b / a r .
[0095] With the above-described preferred embodiments of the present invention as a guide, and with reference to the above description, relevant personnel are fully capable of making various changes and modifications without departing from the technical scope of this invention. The technical scope of this invention is not limited to the contents of the specification and must be determined according to the scope of the claims.
Claims
1. A method for protecting user privacy when calling a third-party service, characterized in that: The following steps are involved: Step 1: Generate system parameters and build an authentication interaction mechanism between the user group and the entity authentication authority RA; Step 11: RA generates a bilinear map ,from Select the generator , choose a hash function , , get the system public parameter tuple ; RA generates a random value ; Step 12: Each obfuscated node Generate two random values and , calculate the public key ; in, is the Gap Diffie-Hellman group, is the multiplication group, is the generator, , is a hash function, is the indicator, ; Step 13. User Generate random numbers ,user Data Blindly get the message ; Send identity information to RA through a secret and verifiable channel as well as , in order to verify their legal identity; RA verify Whether it is eligible to send code requests to the proxy server; If the verification is successful, RA will sign ,Will Send to ; RA calculation For subsequent verification of the user's identity, RA will replace the commitment value set Place on a notice board; Step 2: The user group interacts with the proxy server through the obfuscated network; Step 21. User Known Calculate RA's signature on the message ,generate , and calculate the symmetric encryption key ; Encrypted according to the key of the obfuscated node on the forwarding path ,get ; Random selection 、 , when satisfied 、 When Send to , get the ciphertext list ; Step 22: Each obfuscation node receives take over , According to the key , decrypt the received ciphertext , and for the list { Replace it and forward it to the next node. Finally, the proxy server receives ; Step 23: The proxy server receives the ciphertext of all users , calculate the key , we can conclude , RA according to Verification Message Whether it comes from a legitimate user; at the same time, verify the commitment value Is it on the bulletin board; If you find , then the user has a legitimate identity, and the code request obfuscation result is ; Step 3: The proxy server interacts with the user group through the oblivious transfer algorithm; Step 31: Generate the user's key pair , given and private key , the user generates a random number And calculate the public key ; Step 32: The proxy server encrypts the code prompt result received from the third-party service according to the following formula: ; calculate ,Will Sent to the user, including code hints information; Step 33, User From the received Decrypt the required code hint .
2. A system using the user privacy protection method for calling a third-party service according to claim 1, characterized in that: include: User groups, proxy servers, and third-party services; The user group is the group that calls third-party services; The proxy server is used to connect the data interaction between the user group and the third-party service, isolating the user group from direct interaction with the third-party service; Third-party services provide computing resources to the user base.
3. The system for protecting user privacy using a third-party service according to claim 2, wherein: The user privacy protection system satisfies the threat model, which is the behavior of users, proxy servers and third-party services participating in attacks or facing adversaries.
4. The system for protecting user privacy by calling a third-party service according to claim 2, characterized in that: The data interaction between the proxy server and the obfuscation network must meet the obfuscation indistinguishability, ensuring that the proxy server cannot recover the association between the user and the obfuscated data from the interaction information.
5. The system for protecting user privacy by calling a third-party service according to claim 2, characterized in that: Data interaction between third-party services and user groups must meet the security requirements of third-party services to ensure that a user cannot obtain other users' data from the proxy server.
6. The system for protecting user privacy by calling a third-party service according to claim 2, characterized in that: The data interaction between the proxy server and the user group must meet the user security requirements to ensure that the proxy server cannot understand the specific data accessed by the user.
Citation Information
Patent Citations
Method and system for implementing trusted anonymous access in distributed network
CN108259461A
Method suitable for two communication parties of smart Internet of Things system to transmit messages
CN111835825A