Trajectory privacy protection method and system based on community division
Through a community-based trajectory privacy protection method, considering the semantic properties of trajectory data, filtering sensitive locations and reconstructing trajectory, the problem that the existing technology cannot resist background knowledge attacks is solved, and effective privacy protection and data availability of trajectory data are achieved.
Patent Information
- Application Number
- CN202411566773.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2044-11-05
AI Technical Summary
The existing trajectory privacy protection technology fails to consider the semantic attributes between trajectory data, cannot resist background knowledge attacks, and it is difficult to take into account the needs of service providers to analyze and provide services based on user trajectory data.
The trajectory privacy protection method based on community division is adopted, and the semantic attributes of position points are obtained through inverse geocoding, sensitive locations are filtered, local communities and alternative location alternative tables are constructed, and the replacement node reconstruction trajectory with the highest matching degree is selected, and the privacy protection level and data availability of the reconstruction trajectory are evaluated.
Effectively resist background knowledge attacks, protect sensitive privacy information of mobile objects, while maintaining the availability of trajectory data, and being able to balance privacy protection and service provider analysis needs.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of trajectory privacy protection, and in particular relates to a trajectory privacy protection method and system based on community division. Background Art
[0002] With the rapid development of communication and positioning technologies and the popularity of mobile devices, the number of mobile communication users is increasing day by day, which has promoted the development of location-based services. Service providers provide personalized services based on the trajectory, location, service request and other information submitted by users. However, the trajectory data also contains personal sensitive information such as user behavior habits, work and home addresses. If the user trajectory data is directly released without processing, once the data is stolen or sent to an untrusted service provider, personal privacy will be leaked.
[0003] Many protection technologies have emerged to address the security threats brought by trajectory privacy leakage, but most of them use methods that perturb the spatial position without considering complex situations such as the semantic attributes between positions. With the rapid development of machine learning in recent years, methods that only perturb the spatial position cannot resist data-driven background knowledge attacks, and it is difficult to take into account the actual needs of service providers to analyze and provide services based on user trajectory data.
[0004] Therefore, there is an urgent need for a trajectory privacy protection method that takes into account the semantic attributes between trajectory data to resist background knowledge attacks and protect the privacy data of mobile objects. Summary of the invention
[0005] In order to solve the problems that the existing trajectory privacy protection technology fails to consider the semantic attributes between trajectory data, is unable to resist background knowledge attacks, and cannot protect the privacy data of mobile objects, the present invention provides a trajectory privacy protection method and system based on community division.
[0006] A trajectory privacy protection method based on community division includes the following steps:
[0007] S1. Obtaining trajectory data of a mobile object and storing it in a trajectory database, wherein the trajectory data includes a number of location points and their time attributes and spatial attributes, reverse geocoding the spatial attributes of all location points in the trajectory database, obtaining semantic attributes of all location points, and constructing a location semantic classification tree;
[0008] S2. According to the time attributes, spatial attributes and semantic attributes of the location points in the trajectory database, sensitive locations are screened out from all the location points, and a semantic attribute table of sensitive locations is constructed;
[0009] S3, abstracting the position points in the trajectory database into nodes, wherein the sensitive positions are abstracted into sensitive nodes, adding the sensitive nodes to the local community C, calculating the modularity increment of the local community C after other nodes except the sensitive nodes are added to the local community C, and the semantic similarity between other nodes and the sensitive nodes, filtering out the neighbor nodes of the sensitive nodes according to the modularity increment and the semantic similarity, and constructing a replacement position candidate table;
[0010] S4, selecting the neighbor node with the highest matching degree from the replacement position candidate table as the replacement node of the sensitive node, reconstructing the trajectory of the moving object and judging the rationality of the reconstructed trajectory. If a reasonable trajectory cannot be reconstructed, reselecting a replacement node from the replacement position candidate table and reconstructing again;
[0011] S5. Calculate the average similarity of the trajectories before and after reconstruction, evaluate the privacy protection level of the reconstructed trajectory and the availability of trajectory data, and add the reconstructed trajectory to the trajectory database.
[0012] Furthermore, the reverse geocoding method described in S1 is to call the reverse address coding API based on the latitude and longitude coordinates in the spatial attributes of the location point, obtain the semantic attributes of the location point in the trajectory, and construct a location semantic classification tree.
[0013] Furthermore, the method for S2 to screen sensitive locations is:
[0014] Set the time threshold T thres and speed threshold S thres , calculate the average speed MS between any two position points i and j, the formula is:
[0015] MS=ρ / T diff
[0016] Where ρ represents the Euclidean distance between two locations i and j, T diff Represents the time difference between two locations i and j;
[0017] If between any two positions i and j, T diff ≥T thres , and MS≤S thres , the moving object is considered to stay between these two positions i and j. These two positions are sensitive positions. The average position ML of these two sensitive positions is calculated using the formula:
[0018]
[0019] Among them, N mid =j-i+1 represents the number of intermediate points between the two sensitive positions, x k ,y kIndicates the coordinates of the middle position point. Further, the method of constructing the semantic attribute table of the sensitive positions in S2 is to call the reverse geocoding API, obtain the semantic attributes and average position coordinates of the average position, and set the semantic attributes of the average position as the semantic attributes of the two sensitive positions.
[0020] Furthermore, the method for calculating the node modularity increment and semantic similarity in S3 is:
[0021] Calculate the modularity increment ΔM generated by other nodes other than sensitive nodes joining the local community C. The formula is:
[0022]
[0023] Among them, M and M′ represent the local modularity before and after other nodes join the community, C in and C′ in They represent the number of edges whose two endpoints are in community C before and after other nodes join the community, C out and C′ ut They represent the number of edges with one endpoint in community C and the other endpoint outside community C before and after other nodes join the community;
[0024] Dist(i,j) represents the path distance difference between the semantic attributes of two nodes in the position semantic classification tree, level(i,j) represents the level difference between the semantic attributes of two nodes in the position semantic classification tree, and the semantic similarity formula of the node Sim(i,j) is:
[0025]
[0026] Furthermore, the screening condition of the neighbor nodes in S3 is to set the similarity threshold Sim thres , if the modularity increment ΔM of a node joining community C is greater than 0, and the semantic similarity between the node and the sensitive node Sim(i,j) <Sim thres , then the node is added to the local community C and regarded as a neighbor node.
[0027] Furthermore, the method for constructing the replacement position candidate table in S3 is to sort all nodes in the local community C except the sensitive nodes according to their node matching degree NC, and the node matching degree is obtained by taking the weighted average of ΔM and Sim(i,j), and the formula is:
[0028] NC=αΔM+(1-α)Sim(i,j)
[0029] Among them, α∈[0,1] represents the weight.
[0030] Furthermore, the reasonable trajectory in S4 is judged based on the trajectory shape and trajectory speed change.
[0031] The average similarity MS of the trajectories before and after reconstruction in S4 is obtained by weighted average of the average distance MD and the average semantic similarity MSS, and the formula is:
[0032] MS(Tra(i),Tra′(i))=βMD+(1-β)MSS
[0033] Among them, β∈[0,1] represents the weight, Tra(i) represents the trajectory data in the trajectory database, and Tra′(i) represents the reconstructed trajectory data.
[0034] The present invention also discloses a trajectory privacy protection system based on community division, including a memory, a processor, and computer program instructions stored in the memory and capable of being executed by the processor. When the processor executes the computer program instructions, the steps of the aforementioned method can be implemented.
[0035] The present invention discloses a trajectory privacy protection method and system based on community division. The method protects the privacy data of mobile objects based on the trajectory data of mobile objects in a trajectory database. The method abstracts and summarizes the semantic attributes of all position points in the trajectory database, screens out sensitive positions, constructs local communities and replaces position alternative methods, reduces the workload of reconstructing trajectories, eliminates redundant information, can resist background knowledge attacks, and effectively protects the sensitive privacy information of mobile objects. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A flow chart of a trajectory privacy protection method based on community division according to the present invention;
[0037] Figure 2 is a location semantic classification tree in an embodiment of the present invention;
[0038] Figure 3 is a sensitive location semantic attribute table in an embodiment of the present invention;
[0039] Figure 4 is a schematic diagram of a local community in an embodiment of the present invention;
[0040] Figure 5 This is a table of candidate replacement positions in an embodiment of the present invention. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the application is further elaborated in detail below in conjunction with the accompanying drawings. The described embodiments are only a part of the embodiments involved in the present invention. All non-innovative embodiments of other researchers in the field on this embodiment belong to the protection scope of the present invention. At the same time, for the step numbering in the embodiment of the present invention, it is only set for the convenience of explanation, and the order between the steps is not limited in any way. The execution order of each step in the embodiment can be adaptively adjusted according to the understanding of those skilled in the art.
[0042] The present invention discloses a trajectory privacy protection method based on community division, such as Figure 1 As shown, the following steps are included:
[0043] S1. Acquire trajectory data of a mobile object and store it in a trajectory database. The trajectory data includes a number of location points and their time attributes and spatial attributes. Perform reverse geocoding on the spatial attributes of all location points in the trajectory database to obtain semantic attributes of all location points and construct a location semantic classification tree.
[0044] In this embodiment, the trajectory data in the original trajectory database is defined as:
[0045] Tra(i)={i,(x 1 ,y 1 ,t 1 ),(x 2 ,y 2 ,t 2 )…(x n ,y n ,t n )}.
[0046] where {(x i ,y i ,t i ), 1≤i≤n} means that the moving object is at t i The latitude and longitude coordinates at the time. The semantic attributes of all location points in the trajectory of the mobile object are obtained by calling the reverse address encoding API, and the location semantic classification tree of the mobile object is constructed according to the POI industry classification, such as Figure 2 As shown, there are three levels of industry classification, and the corresponding semantic classification also has three levels, and the semantic attributes of each level are subdivided level by level.
[0047] S2. According to the time attributes, spatial attributes and semantic attributes of the location points in the trajectory database, sensitive locations are screened out from all the location points, and a semantic attribute table of sensitive locations is constructed;
[0048] In this embodiment, S2 obtains the longitude and latitude coordinates of the position through the trajectory database of S1 and calculates the longitude and latitude coordinates of any two position points {(xi ,y i ,t i ),(x j ,y j ,t j ),1≤i,j≤n}, the average speed MS is as follows:
[0049] MS=ρ / T diff
[0050] Where ρ represents the Euclidean distance between two locations i and j, T diff Represents the time difference between two locations i and j.
[0051] Set the time threshold and speed threshold. If the time difference T between any two position points of the moving object is diff ≥ time threshold T thres And the average speed MS ≤ speed threshold S thres , then it can be determined that the moving object stays between these two positions. If between any two positions i and j, T diff ≥T thres , and MS≤S thres , the moving object is considered to stay between these two positions i and j. These two positions are sensitive positions. The average position ML of these two sensitive positions is calculated using the formula:
[0052]
[0053] Among them, N mid =j-i+1 represents the number of intermediate points between the two sensitive positions, x k ,y k Indicates the coordinates of the middle point.
[0054] The reverse geocoding API is called to obtain the semantic attributes and average position coordinates of the average position, and the semantic attributes of the average position are set as the semantic attributes of the two sensitive positions. The semantic attribute table of the sensitive position of the mobile object is constructed by the latitude and longitude coordinates and semantic attributes of the sensitive positions.
[0055] like Figure 3 As shown, in this embodiment, the bank and the hospital are the sensitive locations of the mobile object, the school is the average location of the bank and the hospital, the semantic attributes of the school are defined as the semantic attributes of the sensitive location, the address encoding API is called to obtain the longitude and latitude coordinates of the school location, and the relevant information of the school is added to the sensitive location semantic attribute table.
[0056] S3. The location points in the trajectory database are abstracted into nodes, wherein the sensitive locations are abstracted into sensitive nodes, and the sensitive nodes are added to the local community C. The modularity increment of the local community C after other nodes except the sensitive nodes are added to the local community C and the semantic similarity between other nodes and the sensitive nodes are calculated. The neighbor nodes of the sensitive nodes are screened out according to the modularity increment and the semantic similarity, and a replacement position candidate table is constructed.
[0057] Since each location point does not exist in isolation in the real environment, it often has strong connectivity with its surrounding POIs. These location points and their surrounding POIs together form several subgraphs, where each location point is abstracted as a node and the routes between location points are abstracted as edges.
[0058] The sensitive position of the mobile object is obtained through the sensitive position semantic attribute table obtained by S2. Starting from the sensitive node, the modularity increment ΔM generated by other nodes outside the sensitive node joining the local community C is calculated. The formula is:
[0059]
[0060] Among them, M and M′ represent the local modularity before and after other nodes join the community, C in and C′ n They represent the number of edges whose two endpoints are in community C before and after other nodes join the community, C out and C′ ut They represent the number of edges with one endpoint in community C and the other endpoint outside community C before and after other nodes join the community;
[0061]
[0062] Among them, dist(i,j) represents the path distance difference between the semantic attributes of two nodes in the position semantic classification tree, and level(i,j) represents the level difference between the semantic attributes of two nodes in the position semantic classification tree.
[0063] Set the similarity threshold and node number threshold. If the modularity increment ΔM of a node joining community C is greater than 0, and the semantic similarity Sim(i,j) between the two is less than the similarity threshold Sim thres , then the node is considered as a neighbor node and added to community C. When the number of nodes in community C reaches the node number threshold N thres When the community radius reaches half of the smaller value of the distance between the sensitive node and its front and back sensitive nodes, stop adding neighbor nodes and output the local community C.
[0064] Figure 4In this embodiment, the local community where the sensitive position s2 in the mobile object trajectory data is located has strong connectivity between the nodes within the community, so a suitable node can be selected from it as a replacement node. The nodes in the local community C except the sensitive node are weighted averaged according to the modularity increment ΔM and the semantic similarity Sim(i,j) to obtain the node matching degree NC and sort them, and a replacement node candidate table for the sensitive node is constructed. The formula is as follows:
[0065] NC=αΔM+(1-α)Sim(i,j)
[0066] Where α∈[0,1] represents the weight, Figure 5 is a candidate list of replacement nodes for a sensitive position in this embodiment. S3 is repeated until the local communities where all sensitive positions of the mobile object are located and the candidate list of replacement positions are obtained.
[0067] S4. Select the node with the highest matching degree from the replacement position candidate table as the replacement node, and try to reconstruct the trajectory. If a reasonable trajectory cannot be reconstructed, it is necessary to return and reselect the replacement node to reconstruct again.
[0068] According to the replacement position candidate table obtained in S3, the node with the highest matching degree is selected as the replacement node, and an attempt is made to reconstruct the trajectory of the moving object.
[0069] In order to avoid unreasonable changes in the trajectory, some insensitive nodes need to be replaced. In addition, spatiotemporal accessibility needs to be considered. If the speed of the moving object changes significantly, another suitable replacement node needs to be selected to rebuild the trajectory. Repeat S4 until a reasonable trajectory is reconstructed, which is recorded as
[0070] Tra′(i)={i,(x 1 ,y 1 ,t 1 ),(x 2 ,y 2 ,t 2 )…(x n ,y n ,t n )}.
[0071] S5. Calculate the average similarity of the trajectories before and after reconstruction, evaluate the privacy protection level and trajectory data availability of the reconstructed trajectory, and add it to the processed trajectory database.
[0072] According to the reconstructed trajectory obtained by S4, the average distance MD between the reconstructed trajectory and the original trajectory is calculated, and the formula is as follows:
[0073]
[0074] Where (x j ,yj ),(x′ j ,y′ j ) represents the latitude and longitude coordinates of the trajectory before and after reconstruction, N loc Indicates the total number of trajectory position points.
[0075] Calculate the average semantic similarity MSS between the reconstructed trajectory and the original trajectory. The formula is as follows:
[0076]
[0077] Where N sen Indicates the number of nodes corresponding to sensitive locations.
[0078] The average similarity MS of the trajectories before and after reconstruction is obtained by weighted averaging the average distance MD and the average semantic similarity MSS. The formula is as follows:
[0079] MS(Tra(i),Tra′(i))=βMD+(1-β)MSS
[0080] Among them, β∈[0,1] represents the weight.
[0081] The higher the average similarity MS, the less missing key data of the reconstructed trajectory and the higher the trajectory data availability. Conversely, it means that the reconstructed trajectory hides the key information of the mobile object and improves the level of trajectory privacy protection. Therefore, further setting a balance weight Φ between the two can improve the privacy protection level of the mobile object trajectory as much as possible while sacrificing less data availability, thereby resisting semantic reasoning attacks.
[0082] The present invention also discloses a trajectory privacy protection system based on community division, including a memory, a processor, and computer program instructions stored in the memory and capable of being executed by the processor. When the processor executes the computer program instructions, the steps of the aforementioned method can be implemented.
[0083] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A trajectory privacy protection method based on community division, characterized in that: The steps include: S1. Obtaining trajectory data of a mobile object and storing it in a trajectory database, wherein the trajectory data includes a number of location points and their time attributes and spatial attributes, reverse geocoding the spatial attributes of all location points in the trajectory database, obtaining semantic attributes of all location points, and constructing a location semantic classification tree; S2. According to the time attributes, spatial attributes and semantic attributes of the location points in the trajectory database, sensitive locations are screened out from all the location points, and a semantic attribute table of sensitive locations is constructed; S3, abstracting the position points in the trajectory database into nodes, wherein the sensitive positions are abstracted into sensitive nodes, adding the sensitive nodes to the local community C, calculating the modularity increment of the local community C after other nodes except the sensitive nodes are added to the local community C, and the semantic similarity between other nodes and the sensitive nodes, filtering out the neighbor nodes of the sensitive nodes according to the modularity increment and the semantic similarity, and constructing a replacement position candidate table; S4, selecting the neighbor node with the highest matching degree from the replacement position candidate table as the replacement node of the sensitive node, reconstructing the trajectory of the moving object and judging the rationality of the reconstructed trajectory. If a reasonable trajectory cannot be reconstructed, reselecting a replacement node from the replacement position candidate table and reconstructing again; S5. Calculate the average similarity of the trajectories before and after reconstruction, evaluate the privacy protection level of the reconstructed trajectory and the availability of trajectory data, and add the reconstructed trajectory to the trajectory database.
2. The trajectory privacy protection method according to claim 1, characterized in that: The reverse geocoding method described in S1 is to call the reverse address coding API based on the latitude and longitude coordinates in the spatial attributes of the location point, obtain the semantic attributes of the location point in the trajectory, and construct a location semantic classification tree.
3. The trajectory privacy protection method according to claim 2, characterized in that: The method of S2 to screen sensitive locations is: Set the time threshold T thres and speed threshold S thres , calculate the average speed MS between any two position points i and j, the formula is: MS=ρ / T diff Where ρ represents the Euclidean distance between two locations i and j, T diff Represents the time difference between two locations i and j; If between any two positions i and j, T diff ≥T thres , and MS≤S thres , the moving object is considered to stay between these two positions i and j. These two positions are sensitive positions. The average position ML of these two sensitive positions is calculated using the formula: Among them, N mid =j-i+1 represents the number of intermediate points between the two sensitive positions, x k ,y k Indicates the coordinates of the middle point.
4. The trajectory privacy protection method according to claim 3, characterized in that: S2 is a method for constructing a semantic attribute table of sensitive locations, which is to call a reverse geocoding API, obtain the semantic attributes and average location coordinates of the average location, and set the semantic attributes of the average location as the semantic attributes of the two sensitive locations.
5. The trajectory privacy protection method according to claim 4, characterized in that: The method for calculating the modularity increment and semantic similarity described in S3 is: Calculate the modularity increment ΔM generated by other nodes other than sensitive nodes joining the local community C. The formula is: Among them, M and M′ represent the local modularity before and after other nodes join the community, C in and C′ in They represent the number of edges whose two endpoints are in community C before and after other nodes join the community, C out and C′ out They represent the number of edges with one endpoint in community C and the other endpoint outside community C before and after other nodes join the community; Calculate the semantic similarity Sim(i,j) between two nodes i and j. The formula is: Among them, dist(i,j) represents the path distance difference between the semantic attributes of two nodes in the position semantic classification tree, and level(i,j) represents the level difference between the semantic attributes of two nodes in the position semantic classification tree.
6. The trajectory privacy protection method according to claim 5, characterized in that: The screening condition of the neighbor nodes in S3 is to set the similarity threshold Sim thres , if the modularity increment ΔM of a node joining community C is greater than 0, and the semantic similarity between the node and the sensitive node Sim(i,j) <Sim thres , then the node is added to the local community C and regarded as a neighbor node.
7. The trajectory privacy protection method according to claim 6, characterized in that: The method for constructing the replacement position candidate table in S3 is to sort all neighbor nodes in the local community C except the sensitive node according to their node matching degree NC. The node matching degree is obtained by taking the weighted average of ΔM and Sim(i,j), and the formula is: NC=αΔM+(1-α)Sim(i,j) Among them, α∈[0,1] represents the weight.
8. The trajectory privacy protection method according to claim 7, characterized in that: The reasonable trajectory described in S4 is judged based on the trajectory shape and trajectory speed change.
9. The trajectory privacy protection method according to claim 8, characterized in that: The average similarity MS of the trajectories before and after reconstruction in S4 is obtained by weighted average of the average distance MD and the average semantic similarity MSS, and the formula is: MS(Tra(i),Tra′(i))=βMD+(1-β)MSS Among them, β∈[0,1] represents the weight, Tra(i) represents the trajectory data in the trajectory database, and Tra′(i) represents the reconstructed trajectory data.
10. A trajectory privacy protection system based on community division, characterized in that: The method comprises a memory, a processor and computer program instructions stored in the memory and capable of being executed by the processor. When the processor executes the computer program instructions, the method steps as claimed in any one of claims 1 to 9 can be implemented.
Citation Information
Patent Citations
Privacy protection method for user moving track similarity comparison
CN107145504A
Track release privacy protection method based on sensitivity analysis
CN117540411A
Track privacy protection method and device based on semantic classification hierarchical tree
CN118070323A
Local community detection method and system in online social network
CN118628272A
Method and apparatus for discovering social ties based on cloaked trajectories
WO2016145595A1