A trajectory privacy protection method and device, electronic equipment and storage medium
By determining sensitive areas and sensitivity levels based on dwell time and number of visits, and combining JS divergence to calculate trajectory similarity, user partner trajectories are generated. This solves the problems of data sparsity and low availability in existing trajectory privacy protection methods, and achieves efficient trajectory privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2021-12-28
- Publication Date
- 2026-05-29
AI Technical Summary
Among existing trajectory privacy protection methods, the k-anonymity privacy protection model is not effective when attackers gain background knowledge, while the differential privacy protection model leads to data sparsity and reduces the privacy protection effect. How to generate trajectory data with high privacy protection rate and good data availability is an urgent problem to be solved.
By acquiring users' movement trajectory data, sensitive areas and sensitivity levels are determined based on dwell time and number of visits. Trajectory similarity is calculated using JS divergence to generate user companion trajectory information. Anonymity protection and query services are provided using trusted third parties.
It improves the availability of trajectory data, makes the generated user companion trajectories more similar to real trajectory behavior patterns, effectively protects user trajectory privacy, and reduces the probability of attackers identifying the user to 1/k.
Smart Images

Figure CN116415284B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of privacy protection technology, and in particular to a method, apparatus, electronic device, and storage medium for protecting trajectory privacy. Background Technology
[0002] Existing trajectory privacy protection methods mainly fall into two categories: one is based on k-anonymity privacy protection models, which determine the location of a mobile user and anonymize it along with the locations of k-1 other nearby users, making it so that the probability of an attacker identifying the current user's location is no more than 1 / k, thus deceiving the attacker and achieving the goal of trajectory privacy protection; the other uses differential privacy protection models, which perturb the real trajectory dataset by adding independent and uncorrelated Laplace or exponential noise, making it impossible for attackers to identify the real user data. k-anonymity privacy protection makes relatively conservative assumptions about the attacker's background knowledge. If the attacker extracts background knowledge from the user's daily behavior, some fake trajectories cannot simulate the user's real movement trajectory, thus allowing the attacker to identify the real trajectory. On the other hand, the sparse distribution of differential privacy protection trajectory data can also reduce its privacy protection effectiveness. Therefore, how to generate trajectory data with high privacy protection rate and good data usability is a problem that urgently needs to be considered at this stage. Summary of the Invention
[0003] To address the existing technical problems, embodiments of the present invention provide a trajectory privacy protection method, apparatus, electronic device, and storage medium.
[0004] To achieve the above objectives, the technical solution of this invention is implemented as follows:
[0005] This invention provides a method for protecting trajectory privacy, the method comprising:
[0006] Acquire the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations;
[0007] Based on the information from the multiple locations, the dwell time and number of visits of the first user at each location are determined. Based on the dwell time at each location, the sensitive area corresponding to each location is determined. Based on the dwell time and number of visits at the multiple locations, the first sensitive demand data is determined. The first sensitive demand data characterizes the sensitivity of the first user to each location.
[0008] Based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, the trajectory similarity between the first user and other users is determined;
[0009] The trajectory similarity corresponding to each location within each sensitive area is sorted, and the trajectory information of the first user's partner is obtained based on the locations of other users within each sensitive area that correspond to the same trajectory similarity sorting.
[0010] In the above scheme, determining the sensitive area corresponding to each location based on the dwell time at each location includes:
[0011] The sensitivity of the first user to each location is determined based on the dwell time at each location. The sensitivity level of each location is then used to determine the corresponding sensitivity level. Based on the sensitivity level, a sensitive area corresponding to each location is determined. The size of the sensitive area corresponds to the sensitivity level.
[0012] In the above scheme, determining the first sensitive demand data based on the dwell time and number of visits to the multiple locations includes:
[0013] The sensitive privacy weight parameter for each location is determined based on the number of times the first user accesses each location and the sensitivity level of each location;
[0014] The first sensitive requirement data of the first user is determined based on the sensitive privacy weight parameters and sensitivity level of each location.
[0015] In the above scheme, determining the first sensitive requirement data of the first user based on the sensitive privacy weight parameter and sensitivity level of each location includes:
[0016] Location-sensitive requirement data is determined based on the sensitive privacy weight parameters and sensitivity level of each location, and the location-sensitive requirement data is normalized to obtain the first sensitive requirement data.
[0017] In the above scheme, determining the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users within the sensitive area corresponding to each location includes:
[0018] JS divergence calculation is performed on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, and the trajectory similarity between the first user and other users is determined based on the calculation results.
[0019] In the above scheme, the step of sorting the trajectory similarity corresponding to each location within each sensitive area, and obtaining the first user's partner trajectory information based on the locations of other users within each sensitive area corresponding to the same trajectory similarity sort, includes:
[0020] The trajectory similarity corresponding to each location within each sensitive area is sorted, and the locations of the top k other users are selected to form the user partner set of the first user; k is a positive integer;
[0021] By connecting the locations of other users within each sensitive area in the set of user partners, and ranking them according to the same trajectory similarity, the trajectory information of the first user's partners can be obtained.
[0022] In the above scheme, if the total number of locations of other users within the sensitive area is less than k, the method further includes:
[0023] Create n locations associated with the location corresponding to the first user within each sensitive area; n is the difference between k and the total number of locations of other users within the sensitive area;
[0024] The first user's user partner set is formed based on the n locations and the locations of the k other users.
[0025] In the above scheme, the method further includes: obtaining the query request of the first user;
[0026] Accordingly, the method further includes: sending the first user's partner trajectory information and the first user's query request to the location service provider;
[0027] The query results corresponding to the query request are obtained from the location service provider, and the query results are sent to the first user.
[0028] This invention also provides a trajectory privacy protection device, the device comprising:
[0029] The acquisition module is used to acquire the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations;
[0030] The first determining module is used to determine the dwell time and number of visits of the first user at each location based on the information of the multiple locations, determine the sensitive area corresponding to each location based on the dwell time at each location, and determine the first sensitive demand data based on the dwell time and number of visits at the multiple locations, wherein the first sensitive demand data characterizes the sensitivity of the first user to each location.
[0031] The second determining module is used to determine the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location;
[0032] The sorting module is used to sort the trajectory similarity corresponding to each location within each sensitive area, and obtain the trajectory information of the first user's partner based on the locations of other users within each sensitive area that correspond to the same trajectory similarity.
[0033] In the above scheme, the first determining module is used to determine the first user's sensitivity to each location based on the dwell time at each location, determine the corresponding sensitivity level based on the sensitivity level of each location, and determine the sensitive area corresponding to each location based on the sensitivity level; the size of the sensitive area corresponds to the sensitivity level.
[0034] In the above scheme, the first determining module is used to determine the sensitive privacy weight parameter of each location based on the number of times the first user accesses each location and the sensitivity level of each location;
[0035] The first sensitive requirement data of the first user is determined based on the sensitive privacy weight parameters and sensitivity level of each location.
[0036] In the above scheme, the first determining module is used to determine location-sensitive requirement data based on the sensitive privacy weight parameters and sensitivity of each location, and to normalize the location-sensitive requirement data to obtain the first sensitive requirement data.
[0037] In the above scheme, the second determining module is used to perform JS divergence calculation on the first sensitive demand data of the first user and the sensitive demand data of other users in the sensitive area corresponding to each location, and determine the trajectory similarity between the first user and other users based on the calculation results.
[0038] In the above scheme, the sorting module includes: a first sorting submodule, used to sort the trajectory similarity corresponding to each position in each sensitive area, and select the positions of the top k other users to form the user partner set of the first user; k is a positive integer;
[0039] The connection module is used to connect the positions of other users in each sensitive area within the user partner set, corresponding to the same trajectory similarity ranking, to obtain the partner trajectory information of the first user.
[0040] In the above scheme, if the total number of locations of other users within the sensitive area is less than k, the sorting module further includes:
[0041] A creation module is used to create n locations associated with the location corresponding to the first user in each sensitive area; n is the difference between k and the total number of locations of other users in the sensitive area; a user partner set of the first user is formed based on the n locations and the locations of the k other users.
[0042] In the above scheme, the device further includes: a communication module, used to obtain the query request of the first user before the acquisition module obtains the movement trajectory data of the first user; and also used to send the trajectory information of the first user's companions and the query request of the first user to the location service provider; obtain the query result corresponding to the query request from the location service provider, and send the query result to the first user.
[0043] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the trajectory privacy protection method described in this invention.
[0044] This invention also provides an electronic device, including: a processor and a memory for storing a computer program capable of running on the processor, wherein, when the processor runs the computer program, it executes the steps of the trajectory privacy protection method described in this invention.
[0045] The technical solution of this invention determines the sensitive area corresponding to each location based on the duration of the user's stay at multiple locations in the user's movement trajectory. It then determines the user's sensitivity to each location based on the duration of the user's stay and the number of visits. Furthermore, it combines the sensitivity of each location with the sensitive area to obtain the trajectory similarity between the current user and other users, thereby obtaining user partner trajectory information. In other words, it determines the trajectory of user partners who are difficult to distinguish from the current user through trajectory similarity. By combining the time and environmental information of the user's movement trajectory, the usability of the trajectory data is improved, and the generated user partner trajectories are more similar to the user's actual trajectory behavior patterns, thus ensuring user trajectory privacy. Attached Figure Description
[0046] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0047] Figure 1 This is a schematic diagram of a trajectory privacy protection system according to an embodiment of the present invention;
[0048] Figure 2 This is a flowchart illustrating the trajectory privacy protection method according to an embodiment of the present invention;
[0049] Figure 3 This is a schematic diagram of the trajectory privacy protection device according to an embodiment of the present invention;
[0050] Figure 4 This is a schematic diagram of the hardware composition structure of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0051] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.
[0052] The trajectory privacy protection method of this invention can be applied to Figure 1 The illustrated trajectory privacy protection system comprises a mobile user terminal, a trusted third party, and a location service provider. The mobile user terminal, a fundamental unit in mobile social networks, is capable of accurately locating and collecting various types of data (such as sound, images, and geographic location). The mobile user terminal transmits its trajectory data and query requests via public networks (e.g., 4G / 5G mobile communication networks) or private networks to the trusted third party. The trusted third party anonymizes the user terminal's trajectory data and sends the anonymized data and request information to the location service provider. The location service provider obtains the query results based on the anonymized data and request and sends the results, along with the anonymized trajectory data, to the trusted third party. The trusted third party then processes the results based on the actual location. Finally, the trusted third party sends the final query result back to the mobile user terminal.
[0053] It should be noted that, Figure 1 The system structures shown are only some optional system structures for the trajectory privacy protection method in this embodiment of the invention. The systems used in this embodiment of the invention are not limited to those shown. Figure 1 As shown.
[0054] Figure 2 This is a flowchart illustrating the trajectory privacy protection method according to an embodiment of the present invention. Figure 1 ;like Figure 2 As shown, the method includes:
[0055] Step 101: Obtain the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations;
[0056] Step 102: Based on the information of the multiple locations, determine the dwell time and number of visits of the first user to each location, determine the sensitive area corresponding to each location based on the dwell time of each location, and determine the first sensitive demand data based on the dwell time and number of visits of the multiple locations. The first sensitive demand data characterizes the sensitivity of the first user to each location.
[0057] Step 103: Determine the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location;
[0058] Step 104: Sort the trajectory similarity corresponding to each location in each sensitive area, and obtain the trajectory information of the first user's partner based on the location of other users in each sensitive area that correspond to the same trajectory similarity sort.
[0059] The trajectory privacy protection method of this embodiment is applied to a trajectory privacy protection device, which can be installed in an electronic device with processing capabilities such as a personal computer, mobile terminal, or server, or implemented by a processor executing a computer program. For example, the electronic device is... Figure 1 The trusted third party shown.
[0060] In this embodiment, when providing location-based services to users, the location service provider first determines the geographical location of the mobile device or the user; secondly, it provides various location-related information services. As the user moves, they will pass through multiple locations, spending varying amounts of time at each location, and each location can be visited multiple times.
[0061] In this embodiment, the mobile user terminal (referred to as the first user) accurately locates and collects data (such as geographical location, number of visits to each location, duration of stay at each location, etc.) of each location it passes through or stays at, forming mobile trajectory data. When the first user needs to request information services from a location service provider, it first sends the mobile trajectory data and request information (such as a query request) to a trusted third party, which then obtains the first user's mobile trajectory data. It should be noted that the trusted third party includes a certificate storage module. When the first user accesses the trusted third party for the first time, the certificate storage module needs to complete the authorization of the user's network access certificate and the storage of pseudonym information (hidden username). After authorization, the first user's network access certificate and pseudonym information are stored in the certificate storage module. When the first user accesses the trusted third party again, it only needs to verify the legality of the network access certificate sent by the first user in the certificate storage module.
[0062] A trusted third party determines the duration and number of visits of the first user at each location based on information from multiple locations in the first user's movement trajectory data; then, based on the duration of the first user's stay at each location, it determines the sensitive areas corresponding to the first user at each location, and further determines the first user's sensitivity to each location based on the duration of the first user's stay at each location and the number of visits to each location.
[0063] In this embodiment, a trusted third party determines the trajectory similarity between the first user and other users based on the first user's sensitivity to each location and the sensitive needs data of other users within the sensitive area corresponding to each location; sorts the trajectory similarity corresponding to each location within each sensitive area, and connects the locations of other users with the same trajectory similarity sorting position within each sensitive area to obtain the first user's partner trajectory information.
[0064] The technical solution of this invention determines the sensitive area corresponding to each location based on the duration of the user's stay at multiple locations in the user's movement trajectory. It then determines the user's sensitivity to each location based on the duration of the user's stay and the number of visits. Furthermore, it combines the sensitivity of each location with the sensitive area to obtain the trajectory similarity between the current user and other users, thereby obtaining user partner trajectory information. In other words, it determines the trajectory of user partners who are difficult to distinguish from the current user through trajectory similarity. By combining the time and environmental information of the user's movement trajectory, the usability of the trajectory data is higher, and the generated user partner trajectories are more similar to the user's actual trajectory behavior patterns, thus ensuring user trajectory privacy.
[0065] In some optional embodiments of the present invention, determining the sensitive area corresponding to each location based on the dwell time at each location includes: determining the sensitivity of the first user to each location based on the dwell time at each location, determining the corresponding sensitivity level using the sensitivity of each location, and determining the sensitive area corresponding to each location based on the sensitivity level; the size of the sensitive area corresponds to the sensitivity level.
[0066] It should be noted that, in the embodiments of the present invention, the unit of duration can be seconds, minutes, or hours, etc., and can be set by the user according to the specific scenario, without limitation here. The shape of the sensitive area can be square, rectangle, or circle, or any other shape, such as the shape of the area where the first user's building is located, etc.; and the number of sensitivity levels can also be set by the user according to the specific scenario, without limitation here. For example, the higher the sensitivity level, the larger the area of the sensitive area.
[0067] In this embodiment, optionally, a trusted third party can use a Laplace mechanism to add random noise data to the first user's movement trajectory dataset, making the first user's movement trajectory data follow a Laplace distribution, thus obtaining the first user's movement trajectory distribution map. This distribution map is then analyzed and compared with a map, and inaccessible locations are removed. The user's sensitivity to each location is determined by the length of time the user spends at each location. The intervals corresponding to these sensitivity levels are then divided to determine the sensitivity level. Based on the sensitivity level, a sensitive area is determined for each location; the higher the sensitivity level, the larger the corresponding sensitive area.
[0068] For example, the sensitivity x of the first user u to location l is first determined by the daily stay duration t (in hours) of the first user u at location l. Where 24 represents the 24 hours in a day, a trusted third party categorizes the sensitivity level x based on the duration the mobile user terminal spends at each location. Sensitivity Level Each sensitivity level The corresponding radius is Sensitivity level The higher the radius of the sensitive area The larger the value, the higher the sensitivity level of x. and the corresponding radius Define privacy zones R corresponding to the sensitivity levels.
[0069] In some optional embodiments of the present invention, determining the first sensitive demand data based on the dwell time and number of visits to the plurality of locations includes: determining the sensitive privacy weight parameter of each location based on the number of visits and sensitivity level of the first user to each location; and determining the first sensitive demand data of the first user based on the sensitive privacy weight parameter and sensitivity level of each location.
[0070] In this embodiment, the sensitive privacy weight parameter of each location is first determined based on the number of times the first user accesses each location and the sensitivity level; then, the first sensitive requirement data of the first user is determined based on the sensitive privacy weight parameter and sensitivity level of each location.
[0071] For example, based on the number of times user u accesses location l (a) and the corresponding sensitivity level... To obtain the first user's sensitive privacy weight w for location l:
[0072]
[0073] in, The sensitivity level of the first user's position l. This is the sum of all sensitive privacy levels.
[0074] Then, the location-sensitive demand matrix is obtained by multiplying the sensitive privacy weight w and the sensitivity x of the first user u to each location. Then the position-sensitive demand matrix of all locations in the movement trajectory of the first user u can be represented as { ... This matrix represents the location-sensitive demand data (i.e., the first sensitive demand data) of the first user at various locations along the movement trajectory.
[0075] In some optional embodiments of the present invention, determining the first sensitive requirement data of the first user based on the sensitive privacy weight parameter and sensitivity level of each location includes: determining location sensitive requirement data based on the sensitive privacy weight parameter and sensitivity level of each location, and normalizing the location sensitive requirement data to obtain the first sensitive requirement data.
[0076] In this embodiment, since calculating sensitive privacy weights using access counts would result in excessively large score differences between locations, affecting the accuracy of the results, the sensitive demand matrix is normalized to obtain the location privacy distribution. .
[0077] For example, the location-sensitive demand matrix is obtained by multiplying the sensitive privacy weight w and the sensitivity x of the first user u to each location. Then the position-sensitive demand matrix of all locations in the movement trajectory of the first user u can be represented as { ... }, which refers to the location-sensitive requirement data.
[0078] For example, the obtained location-sensitive requirement data of the first user u can be normalized in the following manner to obtain the location privacy distribution of the first user u. (i.e., the most sensitive data):
[0079]
[0080] in, This is the minimum value in the sensitive demand matrix (i.e., location-sensitive demand data). It is the maximum value in the sensitive demand matrix (i.e., location-sensitive demand data).
[0081] The technical solution of this invention can reduce the problem of excessively large score differences between locations due to the calculation of sensitive privacy weights by the number of visits, which affects the accuracy of the results.
[0082] In some optional embodiments of the present invention, determining the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location includes: performing JS divergence calculation on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, and determining the trajectory similarity between the first user and other users based on the calculation results.
[0083] In this embodiment, for example, within a time interval T, when the first user u moves from position M to position N, equivalence class positions of other users are selected for each position of the first user u. First, JS divergence is calculated, and the trajectory similarity between the first user and other users is determined based on the calculation results. At this point, the location privacy distribution Pu (i.e., the first sensitive demand data) of the current user (i.e., the first user) is known. Then, the location privacy distributions (i.e., other sensitive demands) of other users in the sensitive region R at the same moment are calculated, and the JS divergence is used to determine the trajectory similarity between the other users and the current user (i.e., the first user). :
[0084]
[0085] in, Location privacy distribution of the current user (i.e., the first user) (i.e., the first sensitive data requirement). For the location privacy distribution of other users (i.e., other sensitive requirements), the above expression can be represented as: The trajectory similarity obtained in this way can help maintain a certain degree of objectivity in the results.
[0086] In some optional embodiments of the present invention, the step of sorting the trajectory similarity corresponding to each location within each sensitive area and obtaining the partner trajectory information of the first user based on the locations of other users within each sensitive area that correspond to the same trajectory similarity sorting includes: sorting the trajectory similarity corresponding to each location within each sensitive area, selecting the locations of the top k other users in the sorting to form the user partner set of the first user; k is a positive integer; and connecting the locations of other users within each sensitive area that correspond to the same trajectory similarity sorting in the user partner set to obtain the partner trajectory information of the first user.
[0087] It should be noted that in the embodiments of the present invention, the value of k is a positive integer, and the specific value can be set according to the specific application scenario, and is not limited here.
[0088] In this embodiment, for example, in a sensitive region R, when there are N other users' locations within the sensitive region and N is greater than or equal to k, the trajectory similarity between the first user and other users is calculated using JS divergence. The trajectory similarity corresponding to the locations of each other user within the sensitive region R is sorted, and the locations of the top k other users within the sensitive region R are selected as the user partner set of the first user. The trajectory similarity of other users within each sensitive region is sorted, and the locations of other users within each sensitive region corresponding to the same trajectory similarity sort are connected. For example, connecting the locations in each sensitive region that are ranked first in trajectory similarity sort yields one partner trajectory information. Similarly, connecting the locations that are ranked second in trajectory similarity sort yields a second partner trajectory information, and so on, to obtain k partner trajectory information of the first user formed based on the locations of other users.
[0089] By employing the technical solution of this invention, the trajectory similarity between users (e.g., between the first user and other users) is calculated using JS divergence. The obtained trajectory similarity is then sorted to obtain the degree of trajectory similarity between users. Connecting two location points forms the trajectory of a user partner, ensuring that the probability of an attacker identifying the real user trajectory data from the user trajectory data of the equivalence class is 1 / k, thereby achieving user trajectory privacy protection.
[0090] In some optional embodiments of the present invention, when the total number of locations of other users in the sensitive area is less than k, the method further includes: creating n locations associated with the location corresponding to the first user in each sensitive area; n being the difference between k and the total number of locations of other users in the sensitive area; and forming a user partner set for the first user based on the n locations and the locations of the k other users.
[0091] The above embodiments assume that N is greater than or equal to k, meaning the number of other users' locations within the sensitive area is greater than or equal to k. However, in this embodiment, since the total number of other users' locations within the sensitive area is less than k, it is impossible to select k other users' locations to form the first user's user partner set. Therefore, n locations need to be created.
[0092] For example, a Laplace mechanism can be used to add random noise data to the sensitive area, that is, to randomly add positions within the sensitive area, with the number of randomly added positions being greater than n. Then, the Euclidean distance between each added position and the position of the first user within the sensitive area can be calculated, and the n positions with the closest Euclidean distance can be selected. These n selected positions are then placed after the k selected positions to form the first user's user partner set.
[0093] Furthermore, the locations of other users within each sensitive area that correspond to the same trajectory similarity ranking are connected. For example, the locations within each sensitive area that are ranked first in trajectory similarity are connected to obtain a partner trajectory information. This process is repeated to obtain k partner trajectory information for the first user, formed based on the locations of other users.
[0094] Using the technical solution of this invention, k user partner trajectories are generated, so the probability of an attacker identifying a user from the set of user partner trajectories is at most 1 / k, thus protecting the user's trajectory privacy.
[0095] In some optional embodiments of the present invention, before obtaining the movement trajectory data of the first user, the method further includes: obtaining the query request of the first user;
[0096] Accordingly, the method further includes: sending the first user's partner trajectory information and the first user's query request to the location service provider; obtaining the query result corresponding to the query request from the location service provider, and sending the query result to the first user.
[0097] In this embodiment, the trusted third party obtains the first user's query request before acquiring the first user's movement trajectory data. The trusted third party obtains the real locations of a large number of users, that is, the trusted third party currently obtains the first user's real location (i.e., the first user's movement trajectory data). In order to protect the user's trajectory privacy, the trusted third party protects the first user's trajectory in the manner described in the above embodiment, and obtains the first user's partner trajectory information. Then, the trusted third party sends the first user's partner trajectory information and the first user's query request to the location service provider, which provides the query service and obtains the corresponding query results. After the location service provider sends the query results to the trusted third party, the trusted third party processes the query results according to the first user's real location. Finally, the trusted third party sends the final query results of the location service to the first user.
[0098] The trajectory privacy protection method of this invention will be described in detail below with reference to a specific example. The method includes:
[0099] Step 201: Obtain the query request and movement trajectory data of the first user; the movement trajectory data includes information on multiple locations.
[0100] In this step, the movement trajectory data includes information about multiple locations the first user passed through or stayed at, such as geographical location, number of visits to each location, and duration of stay at each location.
[0101] Step 202: Determine the duration of stay and number of visits of the first user at each location based on the information from the multiple locations.
[0102] Step 203: Determine the first user's sensitivity to each location based on the dwell time at each location, determine the corresponding sensitivity level based on the sensitivity level of each location, and determine the sensitive area corresponding to each location based on the sensitivity level; the size of the sensitive area corresponds to the sensitivity level.
[0103] For example, the sensitivity x of the first user u to location l is first determined by the daily stay duration t (in hours) of the first user u at location l. Where 24 represents the 24 hours in a day, a trusted third party categorizes the sensitivity level x based on the duration the mobile user terminal spends at each location. Sensitivity Level Each sensitivity level The corresponding radius is Sensitivity level The higher the radius of the sensitive area The larger the value, the higher the sensitivity level of x. and the corresponding radius Define privacy regions R corresponding to different sensitivity levels; the higher the sensitivity level, the larger the corresponding sensitive region.
[0104] Step 204: Determine the sensitive privacy weight parameter for each location based on the number of times the first user accesses each location and the sensitivity level of each location.
[0105] For example, based on the number of times user u accesses location l (a) and the corresponding sensitivity level... To obtain the first user's sensitive privacy weight w for location l:
[0106]
[0107] in, The sensitivity level of the first user's position l. This is the sum of all sensitive privacy levels.
[0108] Step 205: Determine location-sensitive requirement data based on the sensitive privacy weight parameters and sensitivity level of each location, and normalize the location-sensitive requirement data to obtain the first sensitive requirement data.
[0109] For example, the location-sensitive demand matrix is obtained by multiplying the sensitive privacy weight w and the sensitivity x of the first user u to each location. Then the position-sensitive demand matrix of all locations in the movement trajectory of the first user u can be represented as { ... This matrix set represents the location-sensitive demand data of the first user at various locations along their movement trajectory.
[0110] Then, the location-sensitive requirement data of the first user u is normalized in the following manner to obtain the location privacy distribution of the first user u. (i.e., the most sensitive data):
[0111]
[0112] in, This is the minimum value in the sensitive demand matrix (i.e., location-sensitive demand data). It is the maximum value in the sensitive demand matrix (i.e., location-sensitive demand data).
[0113] Step 206: Perform JS divergence calculation on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, and determine the trajectory similarity between the first user and other users based on the calculation results.
[0114] For example, within a time interval T, when the first user u moves from position M to position N, equivalence class positions of other users are selected for each position of the first user u. First, JS divergence is calculated. Based on the calculation results, the trajectory similarity between the first user and other users is determined. At this point, the location privacy distribution Pu (i.e., the first sensitive demand data) of the current user (i.e., the first user) is known. Then, the location privacy distributions (i.e., other sensitive demands) of other users in the sensitive region R at the same moment are calculated, and JS divergence is used to determine the trajectory similarity between the other users and the current user (i.e., the first user). :
[0115]
[0116] in, Location privacy distribution of the current user (i.e., the first user) (i.e., the first sensitive data requirement). For the location privacy distribution of other users (i.e., other sensitive data), the above expression can be represented as: .
[0117] Step 207: Sort the trajectory similarity corresponding to each location within each sensitive area, and select the top k locations of other users to form the user partner set of the first user; k is a positive integer.
[0118] For example, in a sensitive region R, when there are N other users' locations within the sensitive region and N is greater than or equal to k, the trajectory similarity between the first user and other users is calculated using JS divergence. The trajectory similarity corresponding to the locations of each other user in the sensitive region R is sorted, and the locations of the top k other users in the sensitive region R are selected as the first user's user partner set.
[0119] Step 208: When the total number of locations of other users in the sensitive area is less than k, create n locations associated with the location corresponding to the first user in each sensitive area; n is the difference between k and the total number of locations of other users in the sensitive area; form a user partner set for the first user based on the n locations and the locations of the k other users.
[0120] For example, a Laplace mechanism can be used to add random noise data to the sensitive area, that is, to randomly add positions within the sensitive area, with the number of randomly added positions being greater than n. Then, the Euclidean distance between each added position and the position of the first user within the sensitive area can be calculated, and the n positions with the closest Euclidean distance can be selected. These n selected positions are then placed after the k selected positions to form the first user's user partner set.
[0121] Step 209: In the user partner set, connect the positions of other users in each sensitive area that correspond to the same trajectory similarity ranking, and obtain the partner trajectory information of the first user.
[0122] In this step, the trajectory similarity of other users in each sensitive area is sorted, and the positions of other users in each sensitive area corresponding to the same trajectory similarity are connected. For example, the positions in each sensitive area that are ranked first in trajectory similarity are connected to obtain a partner trajectory information. Similarly, the positions that are ranked second in trajectory similarity are connected to obtain a second partner trajectory information. And so on, to obtain k partner trajectory information of the first user formed based on the positions of other users.
[0123] Step 210: Send the first user's partner trajectory information and the first user's query request to the location service provider; obtain the query result corresponding to the query request from the location service provider and send the query result to the first user. In this step, the trusted third party sends the first user's partner trajectory information and the first user's query request to the location service provider, which provides the query service and obtains the corresponding query result; after the location service provider sends the query result to the trusted third party, the trusted third party processes the query result according to the first user's real location; finally, the trusted third party sends the final query result of the location service to the first user.
[0124] Here, steps 201 to 210 can be referred to the detailed description in the foregoing embodiments, and will not be repeated here. Using the technical solution of this embodiment, sensitive areas corresponding to each location are determined based on the duration of the user's stay at multiple locations in their movement trajectory. The user's sensitivity to each location is determined based on the duration of their stay and the number of visits at each location. Furthermore, the similarity between the current user's trajectory and that of other users is obtained by combining the sensitivity of each location and the sensitive areas, thereby obtaining the trajectory information of the user's partner. That is, the trajectory of user partners who are difficult to distinguish from the current user is determined through trajectory similarity. By combining the time and environmental information of the locations on the user's movement trajectory, the usability of the trajectory data is higher, and the generated user partner trajectories are more similar to the user's real trajectory behavior patterns, thus ensuring user trajectory privacy.
[0125] Based on the foregoing embodiments, this invention also provides a trajectory privacy protection device. Figure 3 This is a schematic diagram of the trajectory privacy protection device according to an embodiment of the present invention, as shown below. Figure 3 As shown, the device includes:
[0126] The acquisition module 301 is used to acquire the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations;
[0127] The first determining module 302 is used to determine the dwell time and number of visits of the first user about each location based on the information of the multiple locations, determine the sensitive area corresponding to each location based on the dwell time of each location, and determine the first sensitive demand data based on the dwell time and number of visits of the multiple locations, wherein the first sensitive demand data characterizes the sensitivity of the first user about each location.
[0128] The second determining module 303 is used to determine the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location;
[0129] The sorting module 304 is used to sort the trajectory similarity corresponding to each location in each sensitive area, and obtain the partner trajectory information of the first user based on the location of other users in each sensitive area that correspond to the same trajectory similarity.
[0130] In some optional embodiments of the present invention, the first determining module 302 is used to determine the sensitivity of the first user to each location based on the dwell time at each location, determine the corresponding sensitivity level based on the sensitivity level of each location, and determine the sensitive area corresponding to each location based on the sensitivity level; the size of the sensitive area corresponds to the sensitivity level.
[0131] In some optional embodiments of the present invention, the first determining module 302 is used to determine the sensitive privacy weight parameter of each location based on the number of times the first user accesses each location and the sensitivity level; and to determine the first sensitive requirement data of the first user based on the sensitive privacy weight parameter and the sensitivity level of each location.
[0132] In some optional embodiments of the present invention, the first determining module 302 is used to determine location-sensitive requirement data based on the sensitive privacy weight parameter and sensitivity level of each location, and to perform normalization processing on the location-sensitive requirement data to obtain the first sensitive requirement data.
[0133] In some optional embodiments of the present invention, the second determining module 303 is used to perform JS divergence calculation on the first sensitive demand data of the first user and the sensitive demand data of other users in the sensitive area corresponding to each location, and determine the trajectory similarity between the first user and other users based on the calculation results.
[0134] In some optional embodiments of the present invention, the sorting module 304 includes: a first sorting submodule, used to sort the trajectory similarity corresponding to each position in each sensitive area, and select the positions of the first k other users to form the user partner set of the first user; k is a positive integer;
[0135] The connection module is used to connect the positions of other users in each sensitive area within the user partner set, corresponding to the same trajectory similarity ranking, to obtain the partner trajectory information of the first user.
[0136] In some optional embodiments of the present invention, when the total number of locations of other users within the sensitive area is less than k, the sorting module 304 further includes:
[0137] A creation module is used to create n locations associated with the location corresponding to the first user in each sensitive area; n is the difference between k and the total number of locations of other users in the sensitive area; a user partner set of the first user is formed based on the n locations and the locations of the k other users.
[0138] In some optional embodiments of the present invention, the apparatus further includes:
[0139] The communication module is used to obtain the query request of the first user before the acquisition module 301 acquires the movement trajectory data of the first user; it is also used to send the trajectory information of the first user's companions and the query request of the first user to the location service provider; obtain the query result corresponding to the query request from the location service provider, and send the query result to the first user.
[0140] In this embodiment of the invention, the device can be applied to an electronic device. The acquisition module 301, the first determination module 302, the second determination module 303, and the sorting module 304 in the device can all be implemented by a central processing unit (CPU), a digital signal processor (DSP), a microcontroller unit (MCU), or a field-programmable gate array (FPGA) in practical applications. The communication module in the device can be implemented by a communication module (including: basic communication kit, operating system, communication module, standardized interface and protocol, etc.) and a transceiver antenna in practical applications.
[0141] This invention also provides an electronic device. Figure 4 This is a schematic diagram of the hardware composition structure of an electronic device according to an embodiment of the present invention. For example... Figure 4 As shown, the electronic device 400 includes a processor 401 and a memory 402 for storing a computer program that can run on the processor 401, wherein the processor 401 executes the steps of the method described in the embodiments of the present invention when running the computer program.
[0142] Optionally, the electronic device 400 may also include at least one network interface 403. Various components in the electronic device 400 are coupled together via a bus system 404. It is understood that the bus system 404 is used to implement communication between these components. In addition to a data bus, the bus system 404 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 4 The general designated all buses as Bus System 404.
[0143] It is understood that memory 402 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 402 described in this embodiment of the invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0144] The memory 402 in this embodiment of the invention is used to store various types of data to support the operation of the electronic device 400.
[0145] The methods disclosed in the above embodiments of the present invention can be applied to processor 401, or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 401 or by instructions in the form of software. The processor 401 may be a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 401 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of the present invention can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 402. Processor 401 reads the information in memory 402 and combines its hardware to complete the steps of the aforementioned method.
[0146] In an exemplary embodiment, the electronic device 400 may be implemented by one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.
[0147] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the trajectory privacy protection method of this invention.
[0148] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0149] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0150] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0151] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0152] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0153] In addition, in the various embodiments of the present invention, each functional unit can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0154] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0155] Alternatively, if the integrated units of this invention are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0156] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for protecting trajectory privacy, characterized in that, The method includes: Acquire the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations; Based on the information from the multiple locations, the dwell time and number of visits of the first user at each location are determined. Based on the dwell time at each location, the sensitivity of the first user at each location is determined. The sensitivity level of each location is used to determine the corresponding sensitivity level. Based on the sensitivity level, the sensitive area corresponding to each location is determined. The size of the sensitive area corresponds to the sensitivity level. First sensitive demand data is determined based on the dwell time and number of visits to the multiple locations, and the first sensitive demand data represents the sensitivity of the first user to each location; Based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, the trajectory similarity between the first user and other users is determined; The trajectory similarity corresponding to each location within each sensitive area is sorted, and the trajectory information of the first user's partner is obtained based on the locations of other users within each sensitive area that correspond to the same trajectory similarity sorting.
2. The trajectory privacy protection method according to claim 1, characterized in that, The determination of the first sensitive demand data based on the dwell time and number of visits at the multiple locations includes: The sensitive privacy weight parameter for each location is determined based on the number of times the first user accesses each location and the sensitivity level of each location; The first sensitive requirement data of the first user is determined based on the sensitive privacy weight parameters and sensitivity level of each location.
3. The trajectory privacy protection method according to claim 2, characterized in that, The step of determining the first sensitive user's first sensitive requirement data based on the sensitive privacy weight parameter and sensitivity level of each location includes: Location-sensitive requirement data is determined based on the sensitive privacy weight parameters and sensitivity level of each location, and the location-sensitive requirement data is normalized to obtain the first sensitive requirement data.
4. The trajectory privacy protection method according to claim 1, characterized in that, The step of determining the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users within the sensitive area corresponding to each location includes: JS divergence calculation is performed on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, and the trajectory similarity between the first user and other users is determined based on the calculation results.
5. The trajectory privacy protection method according to claim 1, characterized in that, The step of sorting the trajectory similarity corresponding to each location within each sensitive area, and obtaining the trajectory information of the first user's partner based on the locations of other users within each sensitive area corresponding to the same trajectory similarity, includes: The trajectory similarity corresponding to each location within each sensitive area is sorted, and the locations of the top k other users are selected to form the user partner set of the first user; k is a positive integer; By connecting the locations of other users within each sensitive area in the set of user partners, and ranking them according to the same trajectory similarity, the trajectory information of the first user's partners can be obtained.
6. The trajectory privacy protection method according to claim 5, characterized in that, If the total number of locations of other users within the sensitive area is less than k, the method further includes: Create n locations associated with the location corresponding to the first user within each sensitive area; n is the difference between k and the total number of locations of other users within the sensitive area; The first user's user partner set is formed based on the n locations and the locations of the k other users.
7. The trajectory privacy protection method according to claim 1, characterized in that, Before acquiring the movement trajectory data of the first user, the method further includes: Obtain the query request from the first user; Accordingly, the method further includes: The first user's partner trajectory information and the first user's query request are sent to the location service provider; The query results corresponding to the query request are obtained from the location service provider, and the query results are sent to the first user.
8. A trajectory privacy protection device, characterized in that, The device includes: The acquisition module is used to acquire the movement trajectory data of the first user; the movement trajectory data includes information on multiple locations; The first determining module is used to determine the dwell time and number of visits of the first user at each location based on the information of the multiple locations, determine the sensitivity of the first user at each location based on the dwell time at each location, determine the corresponding sensitivity level based on the sensitivity level of each location, and determine the sensitive area corresponding to each location based on the sensitivity level; the size of the sensitive area corresponds to the sensitivity level. First sensitive demand data is determined based on the dwell time and number of visits to the multiple locations, and the first sensitive demand data represents the sensitivity of the first user to each location; The second determining module is used to determine the trajectory similarity between the first user and other users based on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location; The sorting module is used to sort the trajectory similarity corresponding to each location within each sensitive area, and obtain the partner trajectory information of the first user based on the location of other users within each sensitive area that correspond to the same trajectory similarity sort.
9. The trajectory privacy protection device according to claim 8, characterized in that, The first determining module is used to determine the sensitive privacy weight parameter of each location based on the number of times the first user accesses each location and the sensitivity level; and to determine the first sensitive requirement data of the first user based on the sensitive privacy weight parameter and the sensitivity level of each location.
10. The trajectory privacy protection device according to claim 9, characterized in that, The first determining module is used to determine location-sensitive requirement data based on the sensitive privacy weight parameter and sensitivity level of each location, and to normalize the location-sensitive requirement data to obtain the first sensitive requirement data.
11. The trajectory privacy protection device according to claim 8, characterized in that, The second determining module is used to perform JS divergence calculation on the first user's first sensitive demand data and the sensitive demand data of other users in the sensitive area corresponding to each location, and determine the trajectory similarity between the first user and other users based on the calculation results.
12. The trajectory privacy protection device according to claim 8, characterized in that, The sorting module includes: a first sorting submodule, used to sort the trajectory similarity corresponding to each location within each sensitive area, and select the positions of the top k other users to form the user partner set of the first user; k is a positive integer; The connection module is used to connect the positions of other users in each sensitive area within the user partner set, corresponding to the same trajectory similarity ranking, to obtain the partner trajectory information of the first user.
13. The trajectory privacy protection device according to claim 12, characterized in that, If the total number of locations of other users within the sensitive area is less than k, the sorting module further includes: A creation module is used to create n locations associated with the location corresponding to the first user in each sensitive area; n is the difference between k and the total number of locations of other users in the sensitive area; a user partner set of the first user is formed based on the n locations and the locations of the k other users.
14. The trajectory privacy protection device according to claim 8, characterized in that, The device further includes: The communication module is used to obtain the query request of the first user before the acquisition module obtains the movement trajectory data of the first user; it is also used to send the trajectory information of the first user's companions and the query request of the first user to the location service provider; obtain the query result corresponding to the query request from the location service provider, and send the query result to the first user.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 7.
16. An electronic device, characterized in that, include: A processor and a memory for storing a computer program capable of running on the processor, wherein the processor, when running the computer program, performs the steps of the method according to any one of claims 1 to 7.