Auxiliary region-based query obfuscation location protection method and electronic device
By combining auxiliary regions and trilateration, a location protection method is developed that solves the problems of compromised query accuracy and leakage of query content caused by location privacy protection in existing technologies, thus achieving a balance between user location privacy protection and service quality.
Patent Information
- Application Number
- CN202211354165.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-01
- Publication Date
- 2026-05-15
- Estimated Expiration
- 2042-11-01
AI Technical Summary
Existing location privacy protection methods compromise the accuracy of location queries while protecting user location privacy, and user queries are easily speculative by attackers, impacting user experience.
An auxiliary region mechanism is used to convert the user's real location into three auxiliary locations, and the coordinates of the points of interest are calculated by combining the trilateration method. At the same time, a fuzzy query mechanism is used to generate obfuscated query content to prevent attackers from accurately predicting the user's location.
It effectively protects user location privacy, ensures the accuracy of location services, and prevents the leakage of query content, thus solving the trade-off between privacy and service quality.
Smart Images

Figure CN115633347B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of computer science and technology, and in particular to a query obfuscation location protection method and electronic device based on auxiliary regions. Background Technology
[0002] With the continuous development of wireless communication and positioning technologies, location-based services have experienced rapid growth and widespread application. According to the "2022 White Paper on the Development of China's Satellite Navigation and Location Services Industry," the total output value of my country's satellite navigation and location services industry reached 469 billion yuan in 2021, an increase of approximately 16.29% compared to 2020. Location-based services provide personalized services to users by collecting their location information, such as point-of-interest (POI) queries, entertainment social networks, and intelligent transportation. Location searching service (LSS), as a location-based service, is used to search for the precise distance between a user and a point of interest. LSS is widely used in mobile location search service applications such as Dianping, Yelp, and Expedia, and has become an important part of people's lives.
[0003] However, while providing convenience to users, LSS also raises serious privacy issues. Users need to report their current location to the LSS server to obtain services, but service providers may intentionally or unintentionally leak location information from LSS queries. Attackers can use data mining and other techniques to obtain users' sensitive personal information, such as interests, habits, and health, based on location information and the content of the user's submitted query, which seriously threatens the user's personal and property safety. To protect user location privacy, many location privacy protection mechanisms have been proposed, with current research mainly using fuzzy locations, such as k-anonymity and differential privacy. However, when protecting user location privacy, these methods make the location submitted to LSS fuzzy, thus compromising LSS accuracy. Shi et al. proposed an incentive mechanism based on contract theory that can improve location accuracy while protecting location privacy, but this mechanism uses fuzzy locations, which can result in results outside the query range appearing in the result set, greatly affecting the user experience. Wu et al. constructed a new request on the user's end and submitted it to the server after replacing the user's query range with a "masking range". This made it difficult for the server to infer the user's exact location. The client then filtered and calculated the returned result set to ensure the accuracy of the results. However, this solution lacks protection for the query content, which exposes the user's query results. If the user intends to go to a point of interest in the query results, when the number of query result sets is small, the user's next location is highly likely to be guessed by the attacker.
[0004] Therefore, there is an urgent need to invent a query obfuscation (QOAR) location protection method based on auxiliary regions to solve the above-mentioned technical problems. Summary of the Invention
[0005] This invention discloses a query obfuscation location protection method and electronic device based on auxiliary regions. By employing an auxiliary region mechanism, the user's real location is converted into three auxiliary locations to protect the user's location privacy. Combined with trilateration, it provides the user with accurate location services. At the same time, it proposes a fuzzy query mechanism to obfuscate the user's query content, preventing attackers from accurately predicting the user's location when the result set is small and protecting the user's query privacy. Thus, it can effectively solve the technical problems involved in the background art.
[0006] To achieve the above objectives, the technical solution of the present invention is as follows:
[0007] A query obfuscation location protection method based on auxiliary regions includes the following steps:
[0008] Step S1: Randomly generate three auxiliary locations based on the user's real location;
[0009] Step S2: Determine the user requirement parameter Δ and generate three corresponding auxiliary regions based on the three auxiliary positions;
[0010] Step S3: The user client obtains the obfuscated content library update from the surrounding LSS servers, and then randomly selects obfuscated query content that is different from the actual query content from the obtained obfuscated content;
[0011] Step S4: Generate a query message result set based on the auxiliary location, auxiliary region, actual query content, and obfuscated query content. Combine this with trilateration to calculate the coordinates of each point of interest in the intersection of the query result set. Finally, obtain the distance between the user's actual location and each point of interest.
[0012] As a preferred improvement of the present invention, in step S1, the random generation of three auxiliary locations based on the user's actual location includes:
[0013] Step S11: Based on the user's actual location l(x,y) and query radius r, three auxiliary locations al1', al2', and al3' are randomly pre-generated;
[0014] Step S12: Obtain the coordinates of the auxiliary positions al1'(x1,y1), al2'(x2,y2), and al3'(x3,y3);
[0015] Step S13: Calculate the slopes g of al1' and al2'. 12 ;
[0016] Step S14: Calculate the slopes g of al1' and al3'.13 ;
[0017] Step S15: Determine the slope g 12 and g 13 If they are not equal, the pre-generated auxiliary positions al1', al2', and al3' will be output as auxiliary positions al1, al2, and al3.
[0018] As a preferred improvement of the present invention, step S2, generating the corresponding three auxiliary regions, includes:
[0019] Step S21: Determine the user's location privacy requirements based on the area of the overlapping region, and determine the user's query quality requirements based on the ratio of the area of the effective query region to the area of the real query region;
[0020] Step S22: Calculate the area of the overlapping region and the area of the valid query region;
[0021] Step S23: Determine the parameter Δ value based on the user's location privacy requirements and query quality requirements;
[0022] Step S24: Generate three auxiliary regions with a radius of (1+Δ)r based on the auxiliary position and parameter Δ.
[0023] As a preferred improvement of the present invention, in step S22, calculating the area of the overlapping region includes:
[0024] Calculate the area of the overlapping region formed by two intersection points, the area of the overlapping region formed by three intersection points, and the area of the overlapping region formed by four intersection points.
[0025] As a preferred improvement of the present invention, the calculation of the area of the overlapping region formed by the two intersection points includes:
[0026] Step S2211: The overlapping region is the intersection of auxiliary regions Qa1 and Qa2. The radius of Qa1 is set to r1, the radius of Qa2 to r2, and the distance between the centers to d. 12 ;
[0027] Step S2212: Calculate the central angle Ca1 of the auxiliary region Qa1 and the central angle Ca2 of the auxiliary region Qa2 corresponding to the intersecting arcs;
[0028] Step S2213: Calculate the area S1 of the sector of auxiliary region Qa1 and the area S2 of auxiliary region Qa2;
[0029] Step S2214: Calculate the area S of the triangle formed by the centers of Qa1 and Qa2 and any one of their intersection points. tri ;
[0030] Step S2215: Calculate the overlapping area A based on the difference between the area of the sector and the area of the triangle.
[0031] As a preferred improvement of the present invention, the calculation of the area of the overlapping region formed by the three intersection points includes:
[0032] Step S2221: Set the radii of the auxiliary regions Qa1, Qa2, and Qa3 to r1, r2, and r3 respectively, and the distance between the centers of each circle to d. 12 d 13 d 23 ;
[0033] Step S2222: Calculate the coordinates of the relevant intersection points of Qa3 and Qa1;
[0034] Step S2223: Calculate the coordinates of the relevant intersection points of Qa3 and Qa2;
[0035] Step S2224: Calculate the chord lengths c1, c2, and c3 of the three parts of the region formed by the intersection point and the arc based on the coordinates of the intersection point;
[0036] Step S2225: Calculate the area A of the overlapping region.
[0037] As a preferred improvement of the present invention, the calculation of the area of the overlapping region formed by the four intersection points includes:
[0038] Step S2231: Calculate the area A of the quadrilateral with these four intersection points as vertices, based on the four intersection points (x0, y0), (x1, y1), (x2, y2), and (x3, y3). qa ;
[0039] Step S2232: Calculate the sum of the areas A of the remaining four parts according to the formula for the area of a circular segment. segs , ;
[0040] Step S2233: Calculate the area A of the overlapping region formed by the four intersection points. fs .
[0041] As a preferred improvement of the present invention, step S3, which involves randomly selecting obfuscated query content that differs from the actual query content from the acquired obfuscated content, includes:
[0042] Step S31: The user client obtains information from nearby LSS servers and updates the obfuscated content library.
[0043] Step S32: The user enters the actual query content C;
[0044] Step S33: From the obtained obfuscated content, randomly select k-1 obfuscated query contents C′ that are different from the actual query content;
[0045] Step S34: Output obfuscated query content C′1, ..., C′ k-1 .
[0046] As a preferred improvement of the present invention, step S4 specifically includes:
[0047] Step S41: Based on the auxiliary position al i The query message Amsg is generated from i∈{1,2,3}, auxiliary regions, the actual query content, and the obfuscated query content. i (al i ,(1+Δ)r,(C,C′1,...,C′ k-1 ));
[0048] Step S42: Filter out the result sets Qr1, Qr2 and Qr3 containing the actual query content and calculate their intersection Qrc;
[0049] Step S43: Calculate the coordinates of each point of interest in Qrc using the trilateration method;
[0050] Step S44: Calculate and obtain the distance between the user and each point of interest based on the user's real location.
[0051] An electronic device includes a memory and a processor, wherein the memory stores a computer program that is read by the processor and executed to perform the steps of the method.
[0052] The beneficial effects of this invention are as follows:
[0053] 1. By using an auxiliary area mechanism, attackers cannot obtain the user's exact location. At the same time, by combining trilateration to calculate the coordinates of points of interest locally, the accuracy of LSS service is guaranteed.
[0054] 2. By using a query obfuscation mechanism, k-1 obfuscated query results are randomly generated in the user's location area, making it impossible for attackers to accurately predict the user's next location through the query result set, thus protecting the user's query privacy;
[0055] 3. Privacy and availability are positively correlated under the QOAR scheme, thus effectively solving the trade-off between user privacy and service quality;
[0056] 4. The obfuscated content library solves the problem of multiple invalid content generated by obfuscated content, ensuring the authenticity of obfuscated content and improving the privacy protection of user query content. Attached Figure Description
[0057] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort, wherein:
[0058] Figure 1 (a)-(c) are diagrams showing the distribution of overlapping regions in this invention;
[0059] Figure 2 This is a simplified diagram of the present invention where the coordinate axis is moved to the center of Qa1;
[0060] Figure 3 This is a privacy expectation graph of an embodiment of the present invention under different query radii;
[0061] Figure 4 This is a privacy expectation diagram of an embodiment of the present invention under different parameters;
[0062] Figure 5 This is a query loss graph of an embodiment of the present invention under different query radii;
[0063] Figure 6 This is a query loss graph of an embodiment of the present invention under different parameters;
[0064] Figure 7 This is a cost graph of an embodiment of the present invention under different query radii;
[0065] Figure 8 This is an overhead diagram of an embodiment of the present invention under different parameters;
[0066] Figure 9 This is a diagram showing the actual query range under different query radii in an embodiment of the present invention;
[0067] Figure 10 This is a probability map of the predicted location in an embodiment of the present invention;
[0068] Figure 11 This is a diagram showing the average communication overhead of an embodiment of the present invention;
[0069] Figure 12 This is a structural framework diagram of the electronic device of the present invention. Detailed Implementation
[0070] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0071] It should be noted that all directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present invention are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indication will also change accordingly.
[0072] Furthermore, in this invention, descriptions involving "first," "second," etc., are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0073] In this invention, unless otherwise explicitly specified and limited, the terms "connection," "fixed," etc., should be interpreted broadly. For example, "fixed" can mean a fixed connection, a detachable connection, or an integral part; it can mean a mechanical connection or an electrical connection; it can mean a direct connection or an indirect connection through an intermediate medium; it can mean the internal communication of two components or the interaction between two components, unless otherwise explicitly limited. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0074] Furthermore, the technical solutions of the various embodiments of the present invention can be combined with each other, but only if they are feasible for those skilled in the art. If the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such combination of technical solutions does not exist and is not within the scope of protection claimed by the present invention.
[0075] Example 1
[0076] This invention provides a query obfuscation location protection method based on auxiliary regions, comprising the following steps:
[0077] Step S1: Randomly generate three auxiliary locations based on the user's actual location. The generation of these auxiliary locations includes the following steps:
[0078] Step S11: Based on the user's actual location l(x,y) and query radius r, three auxiliary locations al1', al2', and al3' are randomly pre-generated;
[0079] Step S12: Obtain the coordinates of the auxiliary positions al1'(x1,y1), al2'(x2,y2), and al3'(x3,y3);
[0080] Step S13: Calculate the slopes g of al1' and al2'.12 , as expressed by equation (1);
[0081]
[0082] Step S14: Calculate the slopes g of al1' and al3'. 13 , as expressed by equation (2);
[0083]
[0084] Step S15: Determine the slope g 12 and g 13 If they are not equal, the pre-generated auxiliary positions al1', al2', and al3' will be output as auxiliary positions al1, al2, and al3.
[0085] Step S2: Generate three corresponding auxiliary regions based on the three generated auxiliary positions. The steps for generating the auxiliary regions are as follows:
[0086] Step S21: Determine the user's location privacy requirements based on the area of the overlapping region, and determine the user's query quality requirements based on the ratio of the area of the effective query region to the area of the real query region;
[0087] Step S22: Calculate the area of the overlapping region and the area of the valid query region. The overlapping region is represented by equation (3), and the valid query region is represented by equation (4);
[0088] o=Qa1∩Qa2∩Qa3 (3)
[0089] Ao=Qa∩Qa1∩Qa2∩Qa3 (4)
[0090] Where o represents the overlapping region, Ao represents the valid query region, and Qa represents the real query region with the real position l as the center and the query radius r;
[0091] Step S23: Determine the parameter Δ value based on the user's location privacy requirements and query quality requirements;
[0092] Step S24: Generate three auxiliary regions with a radius of (1+Δ)r based on the auxiliary position and parameter Δ.
[0093] It should be further explained that there are three types of overlapping areas in step S22: (1) overlapping areas formed by two intersection points, such as... Figure 1 As shown in (a), the steps for calculating the area of the overlapping region are as follows:
[0094] Step S2211: Assume the desired overlapping region is the intersection of auxiliary regions Qa1 and Qa2. Set the radius of Qa1 to r1, the radius of Qa2 to r2, and the distance between the centers to d. 12 ;
[0095] Step S2212: Calculate the central angle Ca1 of the auxiliary region Qa1 and the central angle Ca2 of the auxiliary region Qa2 corresponding to the intersecting arcs, which are expressed by equations (5) and (6) respectively;
[0096]
[0097]
[0098] Step S2213: Calculate the sector area S1 of auxiliary region Qa1 and the sector area S2 of auxiliary region Qa2, which are represented by equations (7) and (8) respectively;
[0099] S1=r1 2 Ca1 (7)
[0100] S2=r2 2 Ca2 (8)
[0101] Step S2214: Calculate the area S of the triangle formed by the centers of Qa1 and Qa2 and any one of their intersection points. tri , as expressed by equation (9);
[0102]
[0103] Step S2215: Calculate the overlapping area A based on the difference between the area of the sector and the area of the triangle, as expressed by equation (10);
[0104]
[0105] (2) The overlapping region formed by the three intersection points, such as Figure 1 As shown in (b). Figure 2 As shown, to simplify the calculation process, the coordinate axis is moved to the center of Qa1. The calculation steps for the area of the overlapping region are as follows:
[0106] Step S2221: Set the radii of the auxiliary regions Qa1, Qa2, and Qa3 to r1, r2, and r3 respectively, and the distance between the centers of each circle to d. 12 d 13 d 23 ;
[0107] Step S2222: Calculate the coordinates (x′) of the relevant intersection points of Qa3 and Qa1. 13 ,y′ 13 ) and (x 13 ,y13 ), expressed by equations (11) and (12);
[0108]
[0109] x 13 =x′ 13 cosθ′-y′ 13 sinθ′ y 13 =x′ 13 sinθ′+y′ 13 cosθ′ (12)
[0110] Step S2223: Calculate the coordinates (x″) of the relevant intersection points of Qa3 and Qa2. 23 ,y″ 23 ) and (x 23 ,y 23 ), represented by equations (13) and (14);
[0111]
[0112] x 23 =x″ 23 cosθ″-y″ 23 sinθ″+d 12 y 23 =x″ 23 sinθ″+y″ 23 cosθ″ (14)
[0113] Step S2224: Calculate the chord lengths c1, c2, and c3 of the three parts of the region formed by the intersection point and the arc based on the coordinates of the intersection point, and express them by equation (15);
[0114]
[0115] Step S2225: Calculate the area A of the overlapping region, expressed by equation (16);
[0116]
[0117] (3) The overlapping region formed by the four intersection points. This situation only occurs in the valid query region, such as... Figure 1 As shown in (c). The area calculation steps are as follows:
[0118] Step S2231: Calculate the area A of the quadrilateral with these four intersection points as vertices, based on the four intersection points (x0, y0), (x1, y1), (x2, y2), and (x3, y3). qa , as expressed by equation (17);
[0119]
[0120] Step S2232: Calculate the sum of the areas A of the remaining four parts according to the formula for the area of a circular segment. segs , as expressed by equation (18);
[0121]
[0122] Among them, A seg d represents the area of one of the remaining four parts. i (i∈0,1,2,3) represents the arc distance between any two adjacent intersection points of circle i;
[0123] Step S2233: Calculate the area A of the overlapping region formed by the four intersection points. fs , as expressed by equation (19);
[0124] A fs =A qa +A segs (19)
[0125] After calculating the area of the user overlap region and the area of the effective query region based on the above three scenarios, the user's privacy requirements are determined by the area of the privacy protection region, and the user's query quality requirements are determined by the ratio of the effective query region area to the actual query region area. Finally, the parameter Δ value is determined based on these two requirements, and three auxiliary regions with a radius of (1+Δ)r are generated in combination with the auxiliary position.
[0126] Step S3: Generate obfuscated query content. The specific steps are as follows:
[0127] Step S31: The user client obtains information from nearby LSS servers and updates the obfuscated content library.
[0128] Step S32: The user enters the actual query content C;
[0129] Step S33: From the obtained obfuscated content, randomly select k-1 obfuscated query contents C′ that are different from the actual query content;
[0130] Step S34: Output obfuscated query content C′1, ..., C′ k-1 .
[0131] When the query result set is too small and the user is about to choose a destination, if there is no query obfuscation mechanism, the attacker has a high probability of predicting the user's next location. When a query obfuscation mechanism is used, the attacker first needs to find the real query content before he can further predict the location the user is about to go, which makes it difficult for him to accurately predict the user's next location.
[0132] Step S4: Generate a query message result set based on the auxiliary location, auxiliary region, actual query content, and obfuscated query content. Then, use trilateration to calculate the coordinates of each point of interest in the query results, finally obtaining the distance between the user's actual location and each point of interest. The specific steps are as follows:
[0133] Step S41: According to the auxiliary position al i The query message Amsg is generated from i∈{1,2,3}, auxiliary regions, the actual query content, and the obfuscated query content. i (al i ,(1+Δ)r,(C,C′1,...,C′ k-1 ));
[0134] Step S42: Filter out the result sets Qr1, Qr2 and Qr3 of the actual query content and calculate their intersection Qrc, which is represented by equation (20);
[0135] Qrc=Qr1∩Qr2∩Qr3 (20)
[0136] Step S43: Calculate the coordinates of each point of interest in Qrc using the trilateration method;
[0137] Step S44: Calculate and obtain the distance between the user and each point of interest based on the user's real location.
[0138] Combined Figure 12 As shown, the present invention also provides an electronic device 100, including a memory 101 and a processor 102. The memory 101 stores computer program instructions, which are read and executed by the processor 102 to perform the steps in the method described. Specifically, the memory 101 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc. The memory 101 is used to store programs, and the processor 102 executes the programs after receiving execution instructions.
[0139] The processor 102 can be an integrated circuit chip with signal processing capabilities. The processor 102 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods and steps disclosed in the embodiments of this invention. It is understood that... Figure 12 The structure shown is for illustrative purposes only; the electronic device 100 may also include components that are more advanced than those shown. Figure 12 The more or fewer components shown, or having the same Figure 12 The different configurations shown. Figure 12 The components shown can be implemented using hardware, software, or a combination thereof.
[0140] Example 2
[0141] Theoretical Analysis
[0142] 1) Privacy
[0143] Definition 1. Location privacy refers to the overlapping area formed by three auxiliary areas. Area(o) = Area(Qa1∩Qa2∩Qa3), where Qa1, Qa2, and Qa3 are auxiliary areas. According to the definition of privacy, the larger the overlapping area, the better the user's location privacy is protected.
[0144] Lemma 1. Let o = Qa1 ∩ Qa2 ∩ Qa3. If a user initiates a query using three auxiliary positions al1, al2, al3, then the user must be located within the overlapping region o of the regions generated by the auxiliary positions.
[0145] Proof: The client randomly generates three auxiliary positions al1, al2, and al3 within the query area based on the real position l. The query radius of each auxiliary position is greater than r, and the distances between the real position l and al1, al2, and al3 are all less than or equal to r. Since the radius of the auxiliary query range Qa1 generated by al1 is always greater than the distance between l and al1, l is within Qa1. Similarly, l is within the query ranges of Qa2 and Qa3, that is, l is within the overlapping area of Qa1, Qa2, and Qa3.
[0146] According to Lemma 1, a user must be located within the overlapping area of the auxiliary region. If the user's location contains a sensitive region Sa, the user's location privacy can be expressed as: LPrivacy=(o-Sa)+βSa, where 1-o / sa≤β<1, and β represents the sensitivity of the sensitive region Sa. The smaller the value of β, the higher the sensitivity. It can be seen that privacy is related not only to the overlapping region but also to the sensitive region, and generally, the larger the overlapping region o, the better the location privacy protection.
[0147] Definition 2. The number of query contents in a query privacy message. QPrivacy = k, where k > 0. The query message is sent to the LSS server, which can collect the user's query contents C, C′1, ..., C′. k-1 However, it cannot distinguish between the real query content and k-1 obfuscated query content, so the probability of LSS obtaining the real query content is 1 / k. According to Lemma 1, the user is always located within the overlapping region, so the attacker can only infer the overlapping region where the user is located, but cannot obtain their exact location.
[0148] 2) Accuracy
[0149] Definition 3. Accuracy: The difference between the distance between the user's actual location and the point of interest (POI) and the distance between the perturbed location and the POI. Where l' represents the distance of the perturbation location, d(l, POI) represents the distance between the user's real location and the point of interest, and d(l', POI) represents the distance between the perturbation location and the point of interest. When the user directly accesses the LSS server using their real location, l = l', and according to Definition 3, Accuracy = 1. Taking Accuracy = 1 as the reference standard, it is considered that the distance between the user and the point of interest obtained in this case is accurate.
[0150] When accessing the LSS server using a perturbed location, l≠l', therefore |d(l, POI)-d(l', POI)|>0, and Accuracy<1. As defined in Definition 3, a perturbed location reduces service accuracy. This invention uses an auxiliary region and a fuzzy query mechanism to access the LSS server, and the client's calculation precision is the same as the LSS. When querying using an auxiliary location, the auxiliary location is not perturbed, so the accuracy of the distance from the auxiliary location to each point of interest is 1, as defined in Definition 3. Furthermore, the coordinates of each point of interest are calculated using trilateration based on the coordinates of each auxiliary location. Then, based on the user's actual location, the distance between the point of interest and the user is calculated. The user's location used in this calculation process is also not perturbed, so the accuracy of the distance between the point of interest and the user is 1. This proves that this method does not affect the accuracy of the query results.
[0151] 3) Inquire about losses
[0152] When using this method for querying, since Ao ≤ Qa, there may be cases where the results that meet the requirements are in the user's actual query area Qa but not in the valid query area Ao. This paper defines this situation as query loss, expressed as: QL = Qa - Ao. As can be seen from this expression, query loss can be eliminated when the user's actual query area Qa is equal to the valid query area Ao. This paper combines the data provided by the LSS server with the trilateration method to ensure that the accuracy of LSS is not affected while providing privacy protection.
[0153] 4) User-side overhead
[0154] The time overhead of query generation mainly depends on the network conditions of the region where the query content database is updated during the first query in a certain region, and the random selection process consumes very little resources. Therefore, when considering the user-side overhead, this paper mainly discusses the algorithmic overhead caused by auxiliary region generation: AOH = Qa1 + Qa2 + Qa3 - Qa. From this expression, the overhead calculation formula can be obtained: AOH = 3π(1 + Δ) 2 r 2 -πr 2 .
[0155] 5) Probability of location being predicted
[0156] Assuming the attacker is powerful enough to obtain all information on the LSS server but not on the user's end, the attacker can deduce that the true location *l* must lie within the overlapping area of three auxiliary regions Qa1, Qa2, and Qa3. If the user intends to go to a location within the query result set, the attacker can deduce from the auxiliary regions that the user's next location must be within the overlapping area. The attacker then needs to find the true query result among *k* queries and deduce the user's next location based on the result set of the true query. Therefore, the probability of the user's next location being predicted is: Where ||Qr|| represents the number of results returned in the result set for the actual query. Combined with Definition 2, attackers cannot distinguish between the actual query and the obfuscated query, making it difficult for them to accurately predict the user's next location based on the result set.
[0157] Example 3
[0158] Experimental Results Analysis
[0159] This experiment was implemented using Java programming language on a Windows 10 operating system. The hardware environment was a 2.6GHz Intel(R) Core(TM) i7-6700HQ CPU and 16GB of RAM. Based on the platform's hardware and development environment, 200,000 tests were conducted on the location data. It was assumed that the sensitive area increases with the overlap area, while always accounting for 10%. The experiment tested the privacy expectation, query loss, and client-side overhead of the location data under different query radii *r* and different Δ parameters, and compared the results with those of Shi and Wu.
[0160] (1) Privacy Expectations
[0161] like Figure 3 and Figure 4 As shown, the change in privacy expectations increases exponentially with the increase of the query radius r or the parameter Δ, indicating that adjusting these two parameters can quickly meet the user's privacy needs. When assuming the user sets the required parameters Δ = 0.8 and r = 2.5km, the probability that an attacker can accurately predict the user's location is less than 0.1%, proving that it is extremely difficult for an attacker to predict the user's location.
[0162] (2) Query loss
[0163] Query loss is a key factor affecting service quality in the QOAR methodology; a high query loss may cause users to miss opportunities to obtain the points of interest that best match their needs. For example... Figure 5 As shown, adjusting the query radius *r* does not change the query loss, which also indicates that the query radius does not affect the query loss in the QOAR method. When adjusting the parameter Δ, as... Figure 6 As shown, the query loss decreases rapidly with the parameter Δ, and can be completely eliminated when Δ = 1. In the experiments on privacy expectations, it can be seen that privacy is continuously enhanced as Δ increases. Therefore, this invention can effectively solve the trade-off between user privacy and service quality by adjusting the parameter Δ.
[0164] (3) User-side overhead
[0165] like Figure 7 and Figure 8 As the query radius *r* and the parameter *Δ* increase, the client-side overhead increases slowly. The QOAR method incurs some performance loss compared to direct access to the LSS server while providing privacy protection for users. Therefore, when client-side performance is limited, a trade-off between overhead and the strength of location privacy protection is necessary; when client-side performance is sufficient, the QOAR method can provide service quality comparable to direct access to the LSS while protecting location privacy.
[0166] (4) Actual query scope
[0167] Shi's solution employs fuzzy location based on a geographic indistinguishability mechanism, which can perturb the user's actual location. Furthermore, this mechanism can result in parts of the queried area falling outside the user's query range. Therefore, this invention compares the overlapping area between the perturbed location's query range and the user's query range as the actual query range with the actual query range of the QOAR method. The actual query range affects the quality of query results, and consequently, service quality; therefore, the ratio of the actual query range to the user's query range can serve as a standard for measuring service quality. Figure 9 As shown, the privacy budget epsilon value of Shi is set to 0.2 and 0.8, and the Δ value of this invention is set to 0.8 and 1.0. When Δ is large, the difference between the query range and the actual query range in this invention is very small, and when Δ = 1, it completely covers the user's actual query range. The method in the Shi scheme makes its actual query range increasingly closer to the user's query range as the query radius increases. Overall, the actual query coverage of this invention and Shi is not significantly different. When Δ is large, this invention is slightly better than Shi's method based on geographic indistinguishability. However, because Shi uses fuzzy location on LSS, the accuracy of the Shi scheme is <1. Furthermore, fuzzy location can result in parts of the actual query area being outside the user's query range, leading to results outside the user's query range. Therefore, the method provided by this invention does not affect service accuracy while providing privacy protection, and the overlapping area of this method always belongs to or completely covers the user's query area, thus the query result set does not contain results outside the user's query range. In summary, compared to Shi's scheme, this invention can achieve a slightly better actual query range when Δ is large, without affecting accuracy, and also ensures that the query results are within the user's query range.
[0168] (5) Probability of location being predicted
[0169] Wu protects user location privacy by using query area coverage, but lacks a query obfuscation mechanism. This solution compares Wu's approach with Wu's in terms of the probability of location prediction and communication overhead to verify the effectiveness of the query obfuscation mechanism. Figure 10 and Figure 11 As shown, when the result set of a user's query is small, Wu's direct use of real query content makes it highly likely that the user's next location can be predicted by an attacker, leading to location privacy leakage. Our method, however, maintains a very low probability of prediction even under these conditions; therefore, the query obfuscation mechanism prevents accurate prediction of the user's location. Compared to Wu's method, this invention achieves better location privacy protection without significantly increasing communication overhead, and the risk of user location prediction further decreases as the number of query contents (k) increases.
[0170] The beneficial effects of this invention are as follows:
[0171] 1. By using an auxiliary area mechanism, attackers cannot obtain the user's exact location. At the same time, by combining trilateration to calculate the coordinates of points of interest locally, the accuracy of LSS service is guaranteed.
[0172] 2. By using a query obfuscation mechanism, k-1 obfuscated query results are randomly generated in the user's location area, making it impossible for attackers to accurately predict the user's next location through the query result set, thus protecting the user's query privacy;
[0173] 3. Privacy and availability are positively correlated under the QOAR scheme, thus effectively solving the trade-off between user privacy and service quality;
[0174] 4. The obfuscated content library solves the problem of multiple invalid content generated by obfuscated content, ensuring the authenticity of obfuscated content and improving the privacy protection of user query content.
[0175] Although embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the specification and embodiments. They can be applied to various fields suitable for the present invention. Other modifications can be easily made by those skilled in the art. Therefore, without departing from the general concept defined by the claims and their equivalents, the present invention is not limited to the specific details and the illustrations shown and described herein.
Claims
1. A query obfuscation location protection method based on auxiliary regions, characterized in that, Includes the following steps: Step S1: Randomly generate three auxiliary locations based on the user's real location; Step S2: Determine user requirement parameters The parameter Δ is an input parameter directly determined based on the user's location privacy requirements and query quality requirements, and three corresponding auxiliary regions with a radius of (1+Δ)r are generated based on the parameter Δ and the three auxiliary locations. Step S3: The user client obtains the obfuscated content library update from the surrounding LSS servers, and then randomly selects obfuscated query content that is different from the actual query content from the obtained obfuscated content; Step S4: Generate a query message result set based on the auxiliary location, auxiliary region, actual query content, and obfuscated query content. Combine this with trilateration to calculate the coordinates of each point of interest in the intersection of the actual query result set. Finally, obtain the distance between the user's actual location and each point of interest.
2. The method according to claim 1, characterized in that: In step S1, the random generation of three auxiliary locations based on the user's real location includes: Step S11: Based on the user's actual location l(x,y) and query radius r, three auxiliary locations al1', al2', and al3' are randomly pre-generated; Step S12: Obtain the coordinates of the auxiliary positions al1'(x1,y1), al2'(x2,y2), and al3'(x3,y3); Step S13: Calculate the slopes g of al1' and al2'. 12 ; Step S14: Calculate the slopes g of al1' and al3'. 13 ; Step S15: Determine the slope g 12 and g 13 If they are not equal, the pre-generated auxiliary positions al1', al2', and al3' will be output as auxiliary positions al1, al2, and al3.
3. The method according to claim 2, characterized in that: In step S2, three auxiliary regions with a radius of (1+Δ)r are generated, including: Step S21: Define the overlapping region and the effective query region. The overlapping region is the area where the three auxiliary regions intersect, and the effective query region is the area where the real query region intersects with the overlapping region. Here, Qa represents the real query region with the user's real location as the center and the query radius as r. Step S22: Calculate the area of the overlapping region and the area of the valid query region; Step S23: Determine the user's location privacy requirements based on the calculated overlapping area, and determine the user's query quality requirements based on the ratio of the effective query area to the actual query area. Step S24: Determine the value of parameter Δ based on the user's location privacy requirements and query quality requirements; Step S25: Generate three corresponding auxiliary regions with a radius of (1+Δ)r based on the three auxiliary positions and the parameter Δ.
4. The method according to claim 3, characterized in that: In step S22, calculating the area of the overlapping region includes: Calculate the area of the overlapping region formed by the two intersection points of two auxiliary regions, the area of the overlapping region formed by the three intersection points of three auxiliary regions, and the area of the overlapping region formed by the four intersection points in the valid query region.
5. The method according to claim 4, characterized in that: The calculation of the area of the overlapping region formed by the two intersection points includes: Step S2211: The overlapping region is an auxiliary region. , The intersecting part is set The radius is , The radius is The distance between the centers is ; Step S2212: Calculate the auxiliary region corresponding to the intersecting arcs central angle and auxiliary areas central angle ; Step S2213: Calculate the auxiliary region The area of the sector S1 and the auxiliary area The area S2; Step S2214: Calculate and The area S of the triangle formed by the center of the circle and any one of its intersection points tri ; Step S2215: Calculate the overlapping area A based on the difference between the area of the sector and the area of the triangle.
6. The method according to claim 4, characterized in that: Calculate the area of the overlapping region formed by the three intersection points of the three auxiliary regions, including: Step S2221: Set the auxiliary area , , The radii are respectively , , The distance between the centers of each circle is , , ; Step S2222: Calculate and The coordinates of the relevant intersection points; Step S2223: Calculate and The coordinates of the relevant intersection points; Step S2224: Calculate the lengths of the three chords of the region formed by the intersection point and the arc based on the coordinates of the intersection point. , , ; Step S2225: Calculate the three auxiliary regions , , The area A of the overlapping region formed by the intersection.
7. The method according to claim 4, characterized in that: Calculate the area of the overlapping region formed by the four intersection points in the valid query region, including: Step S2230: Obtain the four intersection points formed by the pairwise intersection of the three auxiliary regions. , , , ; Step S2231: Calculate the area of the quadrilateral with the four intersection points as vertices. ; Step S2232: Calculate the sum of the areas of the four segmented regions with the four sides of the quadrilateral as chords, using the formula for the area of a circular segment. ; Step S2233: Calculate the area of the overlapping region formed by the four intersection points. , .
8. The method according to claim 1, characterized in that: In step S3, randomly selecting obfuscated query content that differs from the actual query content from the acquired obfuscated content includes: Step S31: The user client obtains information from nearby LSS servers and updates the obfuscated content library. Step S32: The user enters the actual query content C; Step S33: From the obtained obfuscated content, randomly select k-1 obfuscated query contents that are different from the actual query content. ; Step S34: Output obfuscated query content , ..., .
9. The method according to claim 1, characterized in that: Step S4 specifically includes: Step S41: Based on the auxiliary position , Generate query messages from auxiliary areas, actual query content, and obfuscated query content. ; Step S42: Filter out the result set containing the actual query content. , and And calculate their intersection. ; Step S43: Calculate using the trilateration method The coordinates of each point of interest in the data; Step S44: Calculate and obtain the distance between the user and each point of interest based on the user's real location.
10. An electronic device, characterized in that, The method includes a memory and a processor, wherein the memory stores a computer program that is read by the processor and executed to perform the steps of the method as described in any one of claims 1-9.