Method for protecting location privacy based on user cooperation in distributed environment
By constructing a user set that satisfies (k, l) anonymous queries in a distributed environment, and selecting users on road segments as proxies for anonymous queries, the problem of location privacy leakage in LBS point of interest queries in a distributed environment is solved, and effective protection of user location is achieved.
Patent Information
- Application Number
- CN202211159398.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-22
- Publication Date
- 2026-03-03
- Estimated Expiration
- 2042-09-22
AI Technical Summary
In a distributed environment, users face location privacy risks when performing LBS point-of-interest (POI) queries, including single-segment attacks and attacks based on the homogeneity of query content. Existing technologies are unable to effectively defend against these risks.
By using user collaboration, a user set that satisfies (k, l) anonymous queries is constructed. Users on different road segments are selected as proxy users to perform anonymous queries. By using hop-by-hop broadcasting and road segment distance grouping, an anonymous user set is constructed and proxy users are selected to perform queries, preventing attackers from speculating on user location privacy.
It effectively resists single-segment attacks and queries with homogeneous content, improving the security and reliability of location privacy protection and preventing attackers from speculating on user location and query content.
Smart Images

Figure CN115567919B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to location privacy protection during LBS point of interest query process in mobile communication, specifically, to a location privacy protection method based on user collaboration in a distributed environment. Background Technology
[0002] The rapid development of the Internet has driven the development of location-based services (LBS). Among them, point-of-interest (POI) lookup has always been a widely used service.
[0003] However, while users enjoy the convenience of LBS (Location-Based Service) point-of-interest (POI) lookup services, they may also face the risk of location privacy leaks. In a distributed environment, on the one hand, the spatial distribution characteristics of a user's location on the anonymity set should be considered. A majority of users in the anonymity set distributed on the same road segment can lead to single-segment attacks. If this road segment contains only one POI, such as "school," it could expose the user's student or teacher identity, resulting in location privacy leaks. On the other hand, when a user requests a POI lookup, if the query is "First People's Hospital," the semantic information of the query is "hospital." It's difficult to avoid an extreme scenario where an attacker intercepts the query content from the anonymity set and, through POI analysis, discovers that all query content has the same semantic type, potentially leading to a homogeneity attack. In this case, the location privacy behind the user's query content cannot be guaranteed.
[0004] Therefore, there is an urgent need to provide a user-collaboration-based location privacy protection method in a distributed environment that can effectively resist single-segment attacks and homogeneous query content attacks to solve the above technical challenges. Summary of the Invention
[0005] The purpose of this invention is to provide a location privacy protection method based on user collaboration in a distributed environment. This method can effectively resist single-segment attacks and homogeneous query content attacks, with a high security factor and good protection effect.
[0006] To achieve the above objectives, the present invention provides a location privacy protection method based on user collaboration in a distributed environment, the method comprising:
[0007] Step A: The user requests a location-based point of interest query service;
[0008] Step B: The user checks if there is a result in the local cache that meets the user's query requirements. If the record exists, the query result is returned directly; otherwise, a collaboration request is broadcast.
[0009] Step C: Nearby mobile users receive the collaboration request information and send query response information to the users; when there are 2k users participating in anonymous collaboration, the users obtain the road segment distance based on the returned response information and group the candidate anonymous users, randomly select k-1 users to join the anonymous set, and construct a user set that satisfies the (k, l) anonymous query.
[0010] Step D: The user randomly sends the query request information to a collaborating user, who then acts as a proxy user to conduct the anonymous query.
[0011] Step E: The agent user sends a query request to the LBS server and returns the query results to the user;
[0012] Step F: The user receives and displays the query results, and at the same time, the query results are written to the local cache.
[0013] Preferably, in step B, the user query requirement PR is represented as: PR = {k, l}; where k is the number of anonymous users with user privacy requirements; and l is the number of semantic categories of the user privacy requirement interest point query service, so that the probability of an attacker inferring user information through the homogeneity of query content is less than 1 / l.
[0014] Preferably, in step B, the collaboration request information Qu initiated by the user is represented as: Qu = {id} u loc u Serve u PR,t c}; where id u A unique identifier representing the user's identity; loc u This indicates a query for a user's location information; specifically, it can be expressed as a query for the user's latitude and longitude. u This indicates the semantic category of a user's request for a Point of Interest (POI) query service; PR indicates the user's privacy requirements; t c t represents the time when the locally cached record expires. c The higher the value, the easier it is for attackers to combine background knowledge to obtain the user's real location information.
[0015] Preferably, in step C, the mobile user receives the collaboration request information and, as a collaborating user, sends a query response information Li, represented as: Li = {id} i loc i Serve i ,di,h}; where id i A unique identifier for collaborating users; loc i Location information for collaborating users; Serve iThe category of the most recent point of interest query initiated by the collaborating user. If the most recent query by the collaborating user is empty, a point of interest near the user's location will be randomly selected as the query content; di is the road segment distance between the collaborating user and the querying user; the road segment where the user is located is the initial road segment with a distance of 0; for road segments adjacent to the user, the distance is automatically increased by 1 for each outward topology; h is the current broadcast hop count of the collaborating user.
[0016] Preferably, in step C, the road segment grouping is represented as a set Group. set Among them, road segments are grouped according to the distance difference of 1. For example, if the distance interval of road segments is [0, 3], then it is divided into 4 groups, and the road segment distance group set is {0, 1, 2, 3}.
[0017] Preferably, in step C, a user set satisfying the (k, l) anonymous query is constructed. The (k, l) anonymous query consists of a user and k-1 collaborating users selected according to the user's privacy requirements. The anonymous user set contains at least k users so that the probability of leaking the user's location is no greater than 1 / k. The semantic category of the query content service of the users in the anonymous user set is no less than l so that the probability of an attacker inferring the user's privacy based on the query content is no greater than 1 / l.
[0018] Preferably, in step C, when 2k users participate in anonymous collaboration, the user obtains the road segment distance based on the returned response information and groups the candidate anonymous users, randomly selecting k-1 users to join the anonymous set, specifically including:
[0019] Step C1: Initialize the user segment group set Obtain the candidate anonymous user set CU and the anonymous user set AU;
[0020] Step C2: Group the road segment distances into {0, 1, 2, ... n} with a spacing of 1.
[0021] Step C3, Group set ={g1, g2, ..., g N The number of subsets in the group set is determined by the number of groups, and each subset corresponds to a distance subinterval. Let the number of groups be N.
[0022] Step C4: For each user in the candidate anonymous user set, if the user's path distance belongs to one of the distance sub-intervals, then assign the user to the corresponding user group subset, i.e., g. n ←g n ∪CU i After the partitioning is complete, if the anonymous user group subset is empty, that is... Then delete some empty subsets and update the number of groups;
[0023] Step C5: Determine the anonymity level k-1 and the number of subsets in the anonymous user group. set The size of N; if k-1≤Group set If the result is N, proceed to step C6; otherwise, proceed to step C7.
[0024] Step C6: Randomly select k-1 subsets, and randomly select one user from each subset to form an anonymous user set AU and return it;
[0025] Step C7: Enter the cyclic random selection. Randomly select one user from each subset to add to the anonymous user set AU, and remove this user from the original subset to avoid duplicate addition. Update the user group and the number of group subsets N. If the number of users in the anonymous set reaches k-1, exit the cyclic selection and return to the anonymous user set AU.
[0026] Preferably, the step C of constructing the user set that satisfies the (k, l) anonymous query includes:
[0027] Step C1': Obtain user interest point query collaboration request information Qu, and the user's maximum tolerable execution time T. max The system default road segment distance d = [0, n] (n = 1, 2, 3, ..., 9, 10), let the user be Uq and the cooperating user be Uc;
[0028] Step C2': Read the local cache record of Uq, denoted as R; if there is a record that meets the user's query requirements, i.e., Rk≥k and Rl≥l and R.tc≤tc, return directly; otherwise, execute step C3';
[0029] Step C3': Initialize the candidate anonymous user set Set of users who satisfy anonymous queries (k, l) Broadcast hop count h = 1;
[0030] Step C4': If the number of candidate anonymous users is less than 2k, increment the broadcast hop count by 1 and continue broadcasting the cooperation request information to surrounding users. If a nearby user receives the cooperation request information Qu repeatedly, ignore this information and do not process it. Otherwise, the user Uc participating in the cooperation sends the query response information Li to the user. Determine whether di in the query response information is within the system's default road segment distance d = [0, n] (n = 1, 2, 3, ..., 9, 10). If it is within this default road segment distance, i.e., Li.di ∈ d, add this user to the candidate anonymous user set, i.e., CU ← CU ∪ Uc. Repeat this operation until 2k users are found to participate in the collaborative anonymity.
[0031] Step C5': Based on the response information returned by 2k collaborating users, the user obtains the road segment distance and groups the candidate anonymous users, selecting k-1 users as the anonymous user set, i.e., executes steps C1 to C7.
[0032] Step C6': Add user Uq to the anonymous user set, i.e., AU←AU∪Uq;
[0033] Step C7': Determine whether the semantic diversity of the query content in the anonymous user set AU is less than the number of semantic types of user privacy requirements, i.e., |AU.Server T |<PR.l;If the number of semantic types is less than the number of privacy requirements, proceed to step C8'; otherwise, return the anonymous user set AU and proceed to step C9';
[0034] Step C8': Select users from the remaining candidate user set who meet the semantic diversity of the query content and add them to the AU until the semantic diversity of the query content is met;
[0035] Step C9': Determine whether the execution time of the entire step is greater than the user's maximum tolerable time T. max If it exceeds the user's maximum tolerable time T max If the condition is met, anonymization fails; otherwise, anonymization succeeds, and the set of anonymous users (AU) is returned.
[0036] Preferably, in step D, the query request information M u Represented as: M u ={{id u loc u Serve u},{id1,loc1,Serve1},...,{id n loc n Serve n}}; where M u Includes request data segment {id u loc u Serve u} and the request data segments {id1, loc1, Serve1}, ..., {id n loc n Serve n (n≥k-1 and n is a positive integer); when k-1 collaborating users have been found to construct an anonymous query (k, l), the user randomly selects a collaborating user as a proxy user and sends the query request information M u The data is then transferred to the agent user, who is responsible for sending M. u Get points of interest search service.
[0037] According to the above technical solution, this invention requests users to participate in collaborative anonymity via hop-by-hop broadcasting. Considering the spatial distribution characteristics of users, users are grouped according to road segment distances. Users on different road segments are selected to construct a user set that satisfies the (k, l) anonymous query. A collaborating user is randomly selected as a proxy user, who performs the anonymous query and returns the result set to the user. This method, by sending anonymous queries through proxy users in a distributed environment, prevents attackers from obtaining users' location privacy information while effectively resisting single-road segment attacks and attacks based on the homogeneity of query content. This achieves enhanced security and reliability by protecting users' location privacy when querying LBS points of interest.
[0038] Other features and advantages of the present invention will be described in detail in the following detailed description section. Attached Figure Description
[0039] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used together with the following detailed description to explain the invention, but do not constitute a limitation thereof. In the drawings:
[0040] Figure 1 This is a flowchart of the location privacy protection method based on user collaboration in a distributed environment provided by the present invention;
[0041] Figure 2 This is a system architecture diagram of the location privacy protection method based on user collaboration in a distributed environment provided by the present invention;
[0042] Figure 3 This is a schematic diagram of the overall scheme of the location privacy protection method based on user collaboration in a distributed environment provided by the present invention. Detailed Implementation
[0043] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.
[0044] join Figures 1 to 3 This invention provides a location privacy protection method based on user collaboration in a distributed environment, the method comprising:
[0045] Step A: The user requests a location-based point of interest query service;
[0046] Step B: The user checks if there is a result in the local cache that meets the user's query requirements. If the record exists, the query result is returned directly; otherwise, a collaboration request is broadcast.
[0047] In step B, the user query requirement PR is represented as: PR = {k, l}; where k is the number of anonymous users with user privacy requirements; and l is the number of semantic categories of the user privacy requirement interest point query service, so that the probability of an attacker inferring user information through the homogeneity of query content is less than 1 / l.
[0048] In step B, the collaboration request information Qu initiated by the user is represented as: Qu = {id} u loc u Serve u PR,t c}; where id u A unique identifier representing the user's identity; loc u This indicates a query for a user's location information, specifically, the user's latitude and longitude, i.e., loc. u =(31.283398,118.381338); Serve u This indicates the semantic category of the user's request for a Point of Interest (POI) query service; specifically, it could be "food," "hotels," etc.; PR indicates the user's privacy requirements; t c t represents the time when the locally cached record expires. c The higher the value, the easier it is for attackers to combine background knowledge to obtain the user's real location information.
[0049] Step C: Nearby mobile users receive the collaboration request information and send query response information to the users; when there are 2k users participating in anonymous collaboration, the users obtain the road segment distance based on the returned response information and group the candidate anonymous users, randomly select k-1 users to join the anonymous set, and construct a user set that satisfies the (k, l) anonymous query.
[0050] Specifically, in step C, the mobile user receives the collaboration request information and, as a collaborating user, sends a query response information Li, represented as: Li = {id} i loc i Serve i ,di,h}; where id i A unique identifier for collaborating users; loc i Location information for collaborating users; Serve i The category of the most recent point of interest query initiated by the collaborating user. If the most recent query by the collaborating user is empty, a point of interest near the user's location will be randomly selected as the query content; di is the road segment distance between the collaborating user and the querying user; the road segment where the user is located is the initial road segment with a distance of 0; for road segments adjacent to the user, the distance is automatically increased by 1 for each outward topology; h is the current broadcast hop count of the collaborating user.
[0051] In step C, the road segment grouping is represented as a set Group. set The road segment groups are based on distances differing by 1 unit. For example, if the distance range is [0, 3], the road segments are divided into 4 groups, resulting in a set of road segment distance groups: {0, 1, 2, 3}. Road segment grouping is used to better distribute collaborating users across different road segments, preventing attacks on a single road segment due to uneven distribution of collaborating users.
[0052] In step C, a user set satisfying the (k, l) anonymous query is constructed. The (k, l) anonymous query consists of the user and k-1 collaborating users selected based on the user's privacy requirements. The anonymous user set must contain at least k users to ensure that the probability of leaking a user's location is no greater than 1 / k. The semantic category of the query content served by the users in the anonymous user set must be no less than l to ensure that the probability of an attacker inferring user privacy based on the query content is no greater than 1 / l. For example, if the query content in the anonymous set includes internal medicine clinics, maternal and child health hospitals, and traditional Chinese medicine hospitals, all of which belong to the semantic category of "hospital," then l = 1.
[0053] In step C, when 2k users participate in anonymous collaboration, the user obtains the road segment distance based on the returned response information and groups the candidate anonymous users, randomly selecting k-1 users to join the anonymous set, specifically including:
[0054] Step C1: Initialize the user segment group set Obtain the candidate anonymous user set CU and the anonymous user set AU;
[0055] Step C2: Group the road segment distances into {0, 1, 2, ... n} with a spacing of 1.
[0056] Step C3, Group set ={g1, g2, ..., g N The number of subsets in the group set is determined by the number of groups, and each subset corresponds to a distance subinterval. Let the number of groups be N.
[0057] Step C4: For each user in the candidate anonymous user set, if the user's path distance belongs to one of the distance sub-intervals, then assign the user to the corresponding user group subset, i.e., g. n ←g n ∪CU i After the partitioning is complete, if the anonymous user group subset is empty, that is... Then delete some empty subsets and update the number of groups;
[0058] Step C5: Determine the anonymity level k-1 and the number of subsets in the anonymous user group. set The size of N; if k-1≤Group setIf the result is N, proceed to step C6; otherwise, proceed to step C7.
[0059] Step C6: Randomly select k-1 subsets, and randomly select one user from each subset to form an anonymous user set AU and return it;
[0060] Step C7: Enter the cyclic random selection. Randomly select one user from each subset to add to the anonymous user set AU, and remove this user from the original subset to avoid duplicate addition. Update the user group and the number of group subsets N. If the number of users in the anonymous set reaches k-1, exit the cyclic selection and return to the anonymous user set AU.
[0061] Step C involves constructing the user set that satisfies the anonymous query (k, l), which includes:
[0062] Step C1': Obtain user interest point query collaboration request information Qu, and the user's maximum tolerable execution time T. max The system default road segment distance d = [0, n] (n = 1, 2, 3, ..., 9, 10), let the user be Uq and the cooperating user be Uc;
[0063] Step C2': Read the local cache record of Uq, denoted as R; if there is a record that meets the user's query requirements, i.e., Rk≥k and Rl≥l and R.tc≤tc, return directly; otherwise, execute step C3';
[0064] Step C3': Initialize the candidate anonymous user set Set of users who satisfy anonymous queries (k, l) Broadcast hop count h = 1;
[0065] Step C4': If the number of candidate anonymous users is less than 2k, increment the broadcast hop count by 1 and continue broadcasting the cooperation request information to surrounding users. If a nearby user receives the cooperation request information Qu repeatedly, ignore this information and do not process it. Otherwise, the user Uc participating in the cooperation sends the query response information Li to the user. Determine whether di in the query response information is within the system's default road segment distance d = [0, n] (n = 1, 2, 3, ..., 9, 10). If it is within this default road segment distance, i.e., Li.di ∈ d, add this user to the candidate anonymous user set, i.e., CU ← CU ∪ Uc. Repeat this operation until 2k users are found to participate in the collaborative anonymity.
[0066] Step C5': Based on the response information returned by 2k collaborating users, the user obtains the road segment distance and groups the candidate anonymous users, selecting k-1 users as the anonymous user set, i.e., executes steps C1 to C7.
[0067] Step C6': Add user Uq to the anonymous user set, i.e., AU←AU∪Uq;
[0068] Step C7': Determine whether the semantic diversity of the query content in the anonymous user set AU is less than the number of semantic types of user privacy requirements, i.e., |AU.Server T |<PR.l;If the number of semantic types is less than the number of privacy requirements, proceed to step C8'; otherwise, return the anonymous user set AU and proceed to step C9';
[0069] Step C8': Select users from the remaining candidate user set who meet the semantic diversity of the query content and add them to the AU until the semantic diversity of the query content is met;
[0070] Step C9': Determine whether the execution time of the entire step is greater than the user's maximum tolerable time T. max If it exceeds the user's maximum tolerable time T max If the condition is met, anonymization fails; otherwise, anonymization succeeds, and the set of anonymous users (AU) is returned.
[0071] Step D: The user randomly sends the query request information to a collaborating user, who then acts as a proxy user to conduct the anonymous query.
[0072] In step D, query request information M u Represented as: M u ={{id u loc u Serve u},{id1,loc1,Serve1},...,{id n loc n Serve n}}; where M u Includes request data segment {id u loc u Serve u} and the request data segments {id1, loc1, Serve1}, ..., {id n loc n Serve n (n≥k-1 and n is a positive integer); when k-1 collaborating users have been found to construct an anonymous query (k, l), the user randomly selects a collaborating user as a proxy user and sends the query request information M u The data is then transferred to the agent user, who is responsible for sending M. u Get points of interest search service.
[0073] Step E: The agent user sends a query request to the LBS server and returns the query results to the user;
[0074] Step F: The user receives and displays the query results. At the same time, the query results are written to the local cache so that the query results can be quickly found in the next query.
[0075] Therefore, this invention proposes an anonymous user grouping and selection method. First, the road segment information of the collaborating users is obtained through the query response information returned by the collaborating users; then, the users are grouped according to the distribution of their road segments; finally, based on the relationship between subsets in the group and the degree of anonymity, collaborating users are randomly selected as anonymous users to be added to the anonymous set.
[0076] Meanwhile, this invention proposes a method for constructing a user set that satisfies (k, l) anonymous queries. First, it determines whether the local cache contains results that meet the user's query requirements. Second, it obtains responses from 2k users by broadcasting user collaboration request information and increasing the communication hop count. Then, based on the query response information, anonymous users are grouped, and k-1 users are randomly selected to join the anonymous set. Finally, it determines whether the semantic diversity l of the query content meets the user's privacy requirements. If not, users who meet the semantic diversity l of the query content are selected from the candidate anonymous user set and added to the anonymous set to resist homogeneity attacks on query content.
[0077] The following provides a specific embodiment of the present invention to further illustrate the invention in detail:
[0078] Step A: User Alice requests a location-based point of interest query service;
[0079] Step B: User Alice checks if there are any results in the local cache that meet her query requirements. Assuming Alice's query requirement is PR = {5, 4}, and there are no relevant records in the local cache that meet her query requirements, then a collaboration request message Qu = {id} is broadcast. A , (118.37226, 31.28413), restaurant, {5, 4}, 90};
[0080] Step C: Initialize the candidate anonymous user set Anonymous User Collection Broadcast hop count h = 1, maximum tolerable execution time T by the user maxThe system's default road segment distance d = [0, 4]. Assume nearby users B, C, and D receive a collaboration request and can participate in anonymous queries, returning query response information L1 to L3 to user Alice. For ease of explanation, table L records the query response information. Upon receiving the query response information, user Alice checks if the road segment distance is within the system's default road segment distance d. If it is within the interval d, the user is added to the candidate anonymous user set, i.e., CU = {B, C, D}.
[0081] Query response information for table L (h=1)
[0082]
[0083] Since the number of users in the candidate anonymous user set CU is 3, which does not satisfy |CU|≥2k (at this time, the user privacy requirement k=5), the broadcast hop count is incremented by 1, i.e., h=2, and the search for cooperating users continues. Assume that nearby users E, F, G, and H receive the cooperation request information and can participate in the anonymous query, returning query response information L4~L7 to user Alice. For ease of explanation, the query response information is updated using table L. User Alice, upon receiving the query response information, checks whether the road segment distance is within the system's default road segment distance d. If it is within the interval d, the user is added to the candidate anonymous user set, i.e., CU={B, C, D, E, F, G, H}.
[0084] Query response information for table L (h=2)
[0085]
[0086] Since the number of users in the candidate anonymous user set CU is 7, which does not satisfy |CU|≥2k, the broadcast hop count is incremented by 1, i.e., h=3, and the search for cooperating users continues. Assume that nearby users I, J, K, L, and M receive the cooperation request information and can participate in the anonymous query, returning query response information L8~L to user Alice. 12 Among them, L 11 ={id L (118.35291, 31.28473), gas station, 6, 3} and L 12 ={id L If the distance between the road segments in {(118.39257, 31.28136), gas station, 7, 3} exceeds the distance interval d, then this query response information is ignored. For ease of explanation, the query response information is updated using table L.
[0087] Query response information for Table L (h=3)
[0088]
[0089]
[0090] At this point, |CU| ≥ 2k, i.e., CU = {B, C, D, E, F, G, H, I, J, K}. Initialize the user segment grouping set. Obtain the candidate anonymous user set CU and the anonymous user set AU. Group the road segment distances with a spacing of 1: {0, 1, 2, 3, 4}, and update the road segment group set Group. set ={g1, g2, g3, g4, g5}, determine the number of subsets in the group set according to the number of groups, and correspond them one-to-one with the distance sub-intervals, let the number of groups be N=5. For each user in the candidate anonymous user set, if the user's road segment distance belongs to one of the distance sub-intervals, assign the user to the corresponding user group subset. That is: g1←g1∪B, g2←g2∪C, g2←g2∪D, g2←g2∪E, g2←g2∪F, g3←g3∪G, g3←g3∪H, g4←g4∪I, g4←g4∪J, g5←g5∪K. After the partitioning is completed, if the anonymous user group subset is empty, that is... Then delete some empty subsets and update the number of groups. At this time, Group set ={{B}, {C, D, E, F}, {G, H}, {I, J}, {K}}, N=5.
[0091] Determine the relationship between the anonymity level k-1 and the number of subsets in the anonymous user group. Since k-1 < N, randomly select k-1 subsets, i.e., randomly select 4 subsets. Assume we randomly select subsets g2, g3, g4, and g5, and randomly select one user from each subset to form the anonymous user set. For example, if user C is selected from subset g2, user H and user J are selected from subset g3, and user K is selected from subset g5, then the anonymous user set is AU = {C, H, J, K}.
[0092] Add the user to the anonymous user set AU, i.e., AU←AU∪A (user Alice is abbreviated as A). At this point, the anonymous user set AU = {C, H, J, K, A}, and the candidate user set CU = {B, D, E, F, G, I}. Determine whether the query content in the anonymous user set satisfies the user's privacy requirement l. Since the anonymous user's query content only includes three semantic types—restaurant, hotel, and school—it does not satisfy the user's privacy requirement l. Since user B and user D's query content is both "restaurant," while user E's query content is "bar," adding user E to the anonymous user set satisfies the user's privacy requirement l. Therefore, the anonymous user set AU = {C, H, J, K, A, E} is returned.
[0093] Step D: The user constructs query request information Mu based on the anonymous user set and randomly sends it to a collaborating user. Assuming it is randomly sent to user H, then user H acts as a proxy user to perform the anonymous query.
[0094] Step E: Agent user H sends a query request to the LBS server and returns the query results to user Alice;
[0095] Step F: User Alice receives and displays the query results. Simultaneously, the query results are written to a local cache so that they can be quickly retrieved for future queries.
[0096] Through the above technical solution, this invention broadcasts requests to nearby users to participate in anonymous queries. It fully considers the spatial distribution of users when constructing the anonymous set, groups users who can participate in collaboration, and selects users from different road segments to join the anonymous set, constructing a user set that satisfies (k, l) anonymous queries. The anonymous user set constructed by this invention, while satisfying K-anonymity, also satisfies the diversity of location semantics in the query content of users within the anonymous set. In a distributed environment, this method can effectively prevent attackers from inferring a user's location using the spatial distribution characteristics of the user's road segment, and it can also effectively prevent homogeneity attacks caused by users in the anonymous set having the same semantic type of query content, thus enhancing the protection of user location privacy in LBS point-of-interest query services.
[0097] The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the specific details of the above embodiments. Within the scope of the technical concept of the present invention, various simple modifications can be made to the technical solution of the present invention, and these simple modifications all fall within the protection scope of the present invention.
[0098] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present invention will not describe the various possible combinations separately.
[0099] Furthermore, various different embodiments of the present invention can be combined in any way, as long as they do not violate the spirit of the present invention, they should also be regarded as the content disclosed by the present invention.
Claims
1. A method for location privacy protection based on user cooperation in a distributed environment, characterized in that, The method comprises: Step A, a user requests a location-based interest point query service; Step B, a query user checks whether a local cache record exists, and if so, returns a query result directly; otherwise, broadcasts a cooperation request message; Step C, the mobile user in the vicinity receives the cooperation request information, sends the query response information to the query user; when there are several users participating in the anonymous cooperation, the query user obtains the road segment distance from the returned query response information and groups the candidate anonymous users, randomly selects one user to join the anonymous set, and constructs the user set satisfying the anonymous query . Step D, the query user sends the query request message to a cooperation user randomly, and the cooperation user acts as a proxy user to make an anonymous query; Step E, the proxy user sends the query request message to an LBS server and returns the query result to the user; Step F, the user receives and displays the query result, and writes the query result into a local cache; In step B, the user queries the demand is represented as: ; wherein, is the number of anonymous users of the user query demand; is the number of point-of-interest query service semantic categories of the user query demand, so that the probability that an attacker infers user information by querying the homogeneity of the content is less than ; In step C, the first i mobile user receives the collaboration request information and sends the query response information as the collaboration user is expressed as: ; wherein, is an identifier uniquely identifying the collaboration user; is the location information of the collaboration user; is the category of the point of interest that the collaboration user initiated the last time, and if the last query of the collaboration user is empty, a point of interest near the location of the collaboration user is randomly selected as the query content; is the road segment distance between the collaboration user and the query user; the road segment where the query user is located is the initial road segment, and the distance is 0; for the road segments adjacent to the user, the distance is automatically increased by 1 for each outward topology; is the current broadcast hop count of the collaboration user; In step C, the road segment groups are denoted as a set ; wherein the road segment groups are grouped by a difference of 1 in road segment distance.
2. The method of claim 1, wherein, In step B, the user-initiated collaboration request information is represented as: ; wherein, represents a unique identifier that the user is identified; represents the location information of the user, specifically, it can be represented as the longitude and latitude where the user is located; represents the semantic category of the point of interest query service requested by the user; represents the query requirement of the user; represents the time when the local cache record is invalidated, The greater the value, the easier it is for the attacker to obtain the real location information of the user combined with background knowledge.
3. The method of claim 1, wherein, The anonymous user set in the anonymous query satisfies an anonymous user set of the anonymous query, The anonymous query is composed of a query user and a collaborative user selected according to the user query demand; The anonymous user set contains at least users, so that the probability of leaking the user location is not greater than ; the query service semantic category of the user in the anonymous user set is not less than , so that the probability of an attacker inferring user privacy according to the query content is not greater than .
4. The method of claim 1, wherein, In step C, when there are candidate anonymous users participating in the anonymous collaboration, the query user acquires the road segment distances from the query response information returned by the candidate anonymous users and groups the candidate anonymous users, and randomly selects candidate anonymous users to join the anonymous user set, specifically including: Step C1, initializing a set of user link groupings , obtaining a candidate anonymous user set and an anonymous user set ; Step C2, grouping the road segment distances by interval 1 ; wherein n represents the maximum road segment distance between the candidate anonymous user and the query user by default setting of the system, the value range of n is [1, 2, 3, …, 9, 10]. Step C3、 wherein, denotes the subset of user group i with road segment distance to the querying user i≤n 1≤ Step C4, for each anonymous user of the candidate anonymous user set, divide the user into a corresponding user grouping subset according to road segment distance ; after the division is completed, if the anonymous user grouping subset is empty, delete the empty subset and update the grouping number; Step C5: Determine the level of anonymity Number of subsets in the anonymous user group Size; if If so, proceed to step C6; otherwise, proceed to step C7. Step C6, randomly select a subset of anonymous users, and randomly select one anonymous user in each subset of anonymous users to join the set of anonymous users and return; Step C7, enter loop randomly select, randomly select an anonymous user in each anonymous user subset to join the anonymous user set , and remove this anonymous user from the original anonymous user subset to avoid duplication, and update the anonymous user group and the number of group subsets ; if the number of users in the anonymous user set reaches , exit the loop selection and return the anonymous user set .
5. The method of claim 1, wherein, The construction in Step C satisfies The set of users of the anonymous query comprises: Step C1', obtaining user interest point query collaboration request information , maximum execution time tolerable by the user , system default road distance , wherein, , the user is , the collaboration user is ; Step C2', reading the local cache record noted as ; if there is a record that satisfies the user query requirement, it is returned directly; otherwise, step C3' is executed; Step C3', initializing a candidate set of anonymous users , satisfying a set of users of the anonymous query , broadcast hop count ; Step C4', if the number of candidate anonymous user set is not enough , then the broadcast hop count is added by 1, and the collaborative query information is continuously broadcasted to the surrounding users; if the collaborative query information is repeatedly received by the nearby users , then the information is ignored and no action is taken; otherwise, the user who agrees to participate in the collaboration sends a query response information to the querying user ; it is determined whether the in the query response information is in the system default road distance , wherein ; if it is in the default road distance, then the user is added to the candidate anonymous user set; the operation is repeated until users participate in the collaborative anonymous query; Step C5', the user according to query response information returned by the collaborative user , obtains the road segment distance therein and groups the candidate anonymous users, selects users to join the anonymous user set, and executes steps C1~C7; Step C6', adding the user to the anonymous user set; Step C7', determining whether semantic diversity of query content in the anonymous user set is less than the number of semantic types that satisfy user query requirements; if less than the number of semantic types that satisfy query requirements, executing step C8', otherwise returning the anonymous user set and executing step C9' Step C8', selecting from the remaining candidate user set a user that satisfies the query content semantic diversity until the semantic diversity of the query content is satisfied; Step C9', determine if the execution time of the entire step is greater than the maximum tolerable time for the user ; if greater than the maximum tolerable time for the user , then the anonymization fails; otherwise, the anonymization succeeds and the set of anonymous users is returned and written to the local cache.
6. The method of claim 1, wherein, Query request information in step D is denoted as: ; wherein, contains a request data segment of the query user and a request data segment of the cooperative user , ; when the n cooperative users have been found , an anonymous query is constructed , the query user randomly selects one of the cooperative users as a proxy user, and transfers the query request information to the proxy user, and the proxy user is responsible for sending to obtain the point-of-interest query service; wherein, is a unique identifier of the query user , is location information of the query user , is a semantic category of the point-of-interest query service of the query user ; are respectively denoted as a unique identifier, location information and a semantic category of the point-of-interest query service of the i-th cooperative user, wherein i=1, 2,.., n.
Citation Information
Patent Citations
K-nearest neighbor query method based on trust excitation and position privacy protection
CN109858279A
K-anonymity-based personalized position privacy protection method
CN110062324A