A close object query method with mobile object trajectory data privacy protection capability

By encrypting the trajectory data of moving objects and constructing query trapdoors, the problem of querying closely related objects while protecting privacy is solved, and a secure and easy-to-implement query solution is achieved.

CN116208948BActive Publication Date: 2026-03-03NANJING UNIV OF POSTS & TELECOMM
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-07
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively query close contacts while protecting the privacy of mobile object trajectory data, especially given the risk of privacy leaks due to cloud servers' curiosity about the data.

Method used

By encrypting the trajectory data of moving objects, an encryption key SK is generated. The data is then encoded using projection and HMAC functions to form an encrypted trajectory dataset. Data users can construct query traps to perform privacy-protected close contact object queries.

Benefits of technology

It enables close object queries based on encrypted data, protecting the privacy of moving object trajectory data and ensuring the security and ease of implementation of the query.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116208948B_ABST
    Figure CN116208948B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of wireless communication and mobile computing technology, and discloses a close contact object query method with mobile object trajectory data privacy protection capability, which is mainly divided into two stages of data uploading and query processing.In the data uploading stage, the data owner encrypts the trajectory data of the mobile object by using a projection function and a keyed HMAC function, and then uploads the encrypted data to a cloud server.In the query processing stage, the data user constructs a close contact object query trapdoor by using a key shared with the data owner, and sends the trapdoor to the cloud server as a query instruction; the cloud server executes a privacy protection close contact object query on the encrypted data by using the query trapdoor, and returns the query result to the data user.The method can perform close contact object query operation on the encrypted mobile object data, determine the close contact object while ensuring the privacy of the trajectory data, and has simple scheme structure and is easy to implement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of wireless communication and mobile computing technology, specifically relating to a method for querying close objects with privacy protection capabilities for mobile object trajectory data. Background Technology

[0002] With the rapid development of wireless communication, mobile computing technologies, and global positioning and navigation systems, the sources for acquiring trajectory data of moving objects have become increasingly abundant and simple, and the scale of trajectory data is growing explosively. This trajectory data includes human activity trajectories, transportation vehicle trajectories, and hurricane and ocean current activity trajectories. The information contained in this trajectory data can help people solve problems they may encounter in various aspects. For example, in the field of infectious disease prevention and control, it is crucial to promptly identify and isolate close contacts, and one effective way to do this is through the trajectory data of moving objects. However, as people increasingly value the privacy protection of trajectory data, most people are unwilling to upload their plaintext trajectory data for detection. Summary of the Invention

[0003] This invention provides a close contact object query method with privacy protection capabilities for mobile object trajectory data. This method can perform close contact object query operations on encrypted mobile object data, determine close contact objects while ensuring the privacy of trajectory data, and the scheme has a simple structure and is easy to implement.

[0004] To achieve the above objectives, the present invention is implemented through the following technical solution:

[0005] This invention proposes a close contact object query method with privacy protection capabilities for mobile object trajectory data. Considering an application scenario involving a data owner, a cloud server, and a data user, the cloud server is considered "curious-but-honest." More specifically, the cloud server provides reliable data and query services, but is "curious" about its stored data and received query requests, while the data owner and data user are trusted. To protect the privacy of the plaintext trajectory data of mobile objects from being accessed by the cloud server, the data owner first encrypts the mobile object trajectory data before uploading it to the cloud server. When querying close contacts, the data user constructs a query trap based on the query instruction and sends it to the cloud server. The cloud server executes the query within the encrypted mobile object trajectory data based on the query trap and returns the close contact object query result.

[0006] The privacy-preserving close contact object query method proposed in this invention comprises two stages: data upload and query processing. In the data upload stage, the data user uploads a mobile object dataset T = {T1, T2, ..., T...}. n The encryption is T' = {T1', T2', ..., T}. n The query command Q is uploaded to a cloud server to protect privacy. During the query processing phase, the data user encrypts the query command Q, generating a query trapdoor Q' which is then sent to the cloud server. The cloud server then returns R to the data user based on the contact determination criteria. Finally, R represents the result of the contact query.

[0007] During the data upload phase, the data owner encrypts the trajectory data of the moving object and then outsources the encrypted data to the cloud server. The specific steps are as follows:

[0008] Step 1: The data owner generates an encryption key SK = (B, k), where B is a set of random two-dimensional unit vectors. k is a randomly generated random number, and SK is shared by the data owner and the data user.

[0009] Step 2: For each trajectory data T in T i ={(x i,1 y i,1 ,t1),(x i,2 y i,2 ,t2),...,(x i,m y i,m , t m The data owner uses the key SK to access T. i Encryption processing is performed to generate encrypted trajectory data T. i '={(C i,1 ,t1),(C i,2 ,t2),...,(C i,m , t m Specifically, for T i Each triple (x) i,j y i,j , t j Perform the following procedure:

[0010] 1) Using two-dimensional vectors Represents the position coordinates (x, y) in the triplet. i,j y i,j ),Right now Using group g

[0011] Shadow function

[0012] Calculation of two-dimensional position coordinates (x)i,j y i,j The corresponding g-group projection values d is the distance threshold for determining close contact. To and Orthogonal unit vectors.

[0013] 2) Using the HMAC function with a key H k right For each group of projection values, calculate the corresponding one-way hash code to generate a code set C containing g codes. i,j ={c1, c2, ..., c g},in To and Orthogonal unit vectors, || denotes the encoded concatenation operator, and k is the key in SK. At this point (C i,j , t j ) is plaintext triplet data (x i,j y i,j , t j The encrypted data obtained after encryption.

[0014] Step 3: After the processing in Step 2, the encrypted trajectory dataset T' = {T1', T2', ..., T} is finally formed. n The data owner sends T' to the cloud server for storage.

[0015] During the data processing phase, data users construct query traps and send them to the cloud server. The cloud server then performs privacy-protected secure queries and returns the results to the data user. The specific steps are as follows:

[0016] Step 1: Data users query the source object o q From the trajectory data, select the time range [t] u , t v Trajectory data within ] is used as query instruction Q = {(x q,u y q,u , t u ), (x q,u+1 y q,u+1 , t u+1 ), ..., (x q,v y q,v , t v Then, it is encrypted using the key SK shared with the data owner, thereby constructing a trapdoor Q' = {(C}. q,u , t u ), (C q,u+1 , t u+1 ), ..., (C q,v , t vThe specific process is as follows: Using the method in step two of the data upload phase, the projection function and the keyed HMAC function (such as HMAC-SHA1, HMAC-SHA256, etc.) are used to extract any element (x) from Q. q,v y q,v , t v Encrypt into (C) q,i , t i This ultimately forms a query trap Q'.

[0017] Step 2: The cloud server receives the query trap Q'={(C q,u , t u ), (C q,u+1 , t u+1 ), ..., (C q,v , t v After that, a close contact object query is performed on the encrypted dataset T' to obtain the query result R, and finally R is returned to the data user. The specific process is as follows:

[0018] 1) The initial query result R of the cloud server is empty.

[0019] 2) Examine each encrypted trajectory data T in T' i '={(C i,1 ,t1),(C i,2 ,t2),...,(C i,m , t m If there exists a time window consisting of several consecutive time points... If both of the following conditions are met, then T will be... i 'Corresponding object o i Add R.

[0020] Condition 1: |W p |=τ∧W p .begin≥t u ∧W p .end≤t v

[0021] Condition 2:

[0022] Where τ is the minimum sliding window threshold for determining close relationships (i.e., the lower bound of the number of consecutive sampling points included in the sliding window), W p .begin and W p .end represents the sliding window W. p The start and end times.

[0023] Step 3: The cloud server returns the query result R to the data user.

[0024] In condition 2 of step 2 of the query processing phase, it is not difficult to prove that when When object o is established q with o i In t j The Euclidean distance at any given time is not greater than the proximity threshold d. Therefore, this condition can be used to determine o. q with o i In t j Whether the close contact condition is met at any given time, and thus ultimately determine o. i Is it o? q Close contacts.

[0025] The beneficial effects of the present invention are: (1) The present invention can query close objects by combining encrypted close object query instructions when the trajectory data of the moving object is encrypted; (2) The entire query process is carried out on the basis of ciphertext. The cloud server will only access the encrypted moving object data, effectively protecting the privacy of the moving object trajectory data and ensuring high security; (3) The query scheme has a simple structure and is easy to implement and apply. Attached Figure Description

[0026] Figure 1 This is a model of the application scenarios of the present invention.

[0027] Figure 2 This is a schematic diagram of the close contact mode defined in this invention.

[0028] Figure 3 This is a flowchart of the close contact query method in this invention. Detailed Implementation

[0029] The embodiments of the present invention will be disclosed below with reference to the drawings. For clarity, many practical details will be described in the following description. However, it should be understood that these practical details are not intended to limit the invention. That is, in some embodiments of the invention, these practical details are not essential.

[0030] Figure 1 To illustrate the application scenario of the close contact object query method in this invention, consider an application scenario consisting of a data owner, a cloud server, and a data user, such as... Figure 1As shown, the cloud server is considered "Curious-but-Honest." More specifically, the cloud server provides reliable data and query services, but it is "curious" about the data it stores and the query requests it receives, while the data owner and data user are trustworthy. To protect the privacy of mobile objects from being accessed by the cloud server, the data owner first encrypts the mobile object data and then uploads it to the cloud server. When querying close contacts, the data user constructs a query trap according to the query instruction and sends it to the cloud server. The cloud server executes the query in the encrypted mobile object trajectory data based on the query trap and returns the close contact query results.

[0031] Figure 2 This is a schematic diagram of the close-contact mode defined in this invention. The first curve represents the trajectory data of the query trapdoor Q', and the second curve represents the data owner T. i The moving object trajectory data is ', where d is the distance threshold for determining close proximity, and the rectangular box represents the sliding time window W. p , where |W p |=τ, where τ is the minimum sliding window threshold for determining close proximity, i.e., the lower bound of the number of consecutive sampling points contained in the sliding window. After encryption, the original method of determining close proximity by checking if the Euclidean distance between two points at the same time within the entire sliding window is less than d, is transformed into determining the relationship between the encoded set of Q' at the same time and T. i The question is whether the encoding sets of ' have intersection. If every sampling point within the window satisfies the condition, then T i 'This refers to the close contact object that you want to query.'

[0032] This invention provides a method for querying closely connected objects with privacy protection capabilities for mobile object trajectory data, and gives the relevant symbols and definitions of closely connected modes:

[0033] The moving object dataset is T = {T1, T2, ..., T} n}, where T i ={(x i,1 y i,1 ,t1),(x i,2 y i,2 ,t2),...,(x i,m y i,m , t m )} represents object o i Trajectory data, triples (x i,j y i,j , t j ) represents object o i In t j Two-dimensional position coordinates at time; query command Q = {(x q,uy q,u , t u ), (x q,u+1 y q,u+1 , t u+1 ), ..., (x q,v y q,v , t v )}, triple (x q,v y q,v , t v ) indicates that the query object is in t v Two-dimensional position coordinates at time.

[0034] Definition 1 Close Object Query: Given any query source object o q The corresponding trajectory data is T. q Let the query time range be [t]. u , t v At this point, the corresponding close contact query instruction is Q = {(x q,u y q,u , t u ), (x q,u+1 y q,u+1 , t u+1 ), ..., (x q,v, y q,v , t v For the trajectory data T of any moving object in T. i In other words, object o is considered valid if and only if both of the following conditions are met simultaneously. i o q Close contacts.

[0035] Condition 1: |W p |=τ∧W p .begin≥t u ∧W p .end≤t v

[0036] Condition 2:

[0037] Among them, W p Let W be a time window consisting of several consecutive time points, where τ is the minimum sliding window threshold for determining close relationships (i.e., the lower bound of the number of consecutive sampling points included in the sliding window). p .begin and W p .end represents the sliding window W. p The start and end times, Dist(o q o i , t j ) represents t j Time object o q and oi The Euclidean distance is given by d, where d is the distance threshold for determining close relationships.

[0038] Clearly, the close contact determination in Definition 1 above is performed in plaintext, which fails to protect the privacy of moving object trajectory data. To achieve privacy protection for moving object trajectory data, the plaintext data needs to be encrypted, and it is also necessary to ensure that the encrypted data supports privacy-preserving close contact querying.

[0039] This invention proposes a close contact query method with privacy protection capabilities for mobile object trajectory data. It aims to provide close contact query services while protecting the privacy of mobile object trajectory data. The query method comprises two stages: data uploading and query processing. The method process is described below.

[0040] The data upload phase mainly consists of three steps:

[0041] Step 1: The data owner generates an encryption key SK = (B, k), where B is a set of random two-dimensional unit vectors. k is a randomly generated random number, and SK is shared by the data owner and data user. Then, for each trajectory data T in T... i ={(x i,1 y i,1 ,t1),(x i,2 y i,2 ,t2),...,(x i,m y i,m , t m The data owner uses the key SK to access T. i Encryption processing is performed to generate encrypted trajectory data T. i Specifically:

[0042] For T i Each triple (x) i,j y i,j , t j Using two-dimensional vectors Represents the position coordinates (x, y) in the triplet. i,j y i,j ),Right now Using g-group projection functions Calculation of two-dimensional position coordinates (x) i,j y i,j , t j The corresponding g-group projection values d is the distance threshold for determining close contact. To and Orthogonal unit vectors.

[0043] Step 2: Use the HMAC function with key H k right For each group of projected values, calculate its corresponding one-way hash code to generate a code set C containing g codes. i,j ={c1, c2, ..., c g},in To and Orthogonal unit vectors, || denotes the encoded concatenation operator, and k is the key in SK. At this point (C i,j , t j ) is plaintext triplet data (x i,j y i,j , t j The encrypted data obtained after encryption.

[0044] Step 3: After the processing in Step 2, the encrypted trajectory dataset T' = {T1', T2', ..., T} is finally formed. n The data owner sends T' to the cloud server for storage.

[0045] The query processing phase also involves three main steps:

[0046] Step 1: Data users query the source object o based on close contact information. q From the trajectory data, select the time range [t] u , t v Trajectory data within ] is used as query instruction Q = {(x q,u y q,u , t u ), (x q,u+1 y q,u+1 , t u+1 ), ..., (x q,v y q,v , t v Then, it is encrypted using the key SK shared with the data owner, thereby constructing a trapdoor Q' = {(C}. q,u , t u ), (C q,u+1 , t u+1 ), ..., (C q,v , t v The specific process is as follows: Using the encryption method employed during the data upload phase, the projection function and the keyed HMAC function (such as HMAC-SHA1, HMAC-SHA256, etc.) are used to transform any element (x) in Q. q,v y q,v , t v Encrypt into (C) q,i , t i This ultimately forms a query trap Q'.

[0047] Step 2: The cloud server receives the query trap Q'={(C q,u , t u ), (C q,u+1 , t u+1 ), ..., (C q,v , t v After that, a close contact object query is performed on the encrypted dataset T' to obtain the query result R, and finally R is returned to the data user. Specifically:

[0048] 1) The initial query result R of the cloud server is empty.

[0049] 2) Examine each encrypted trajectory data T in T' i '={(C i,1 ,t1),(C i,2 ,t2),...,(C i,m , t m If there exists a time window consisting of several consecutive time points... If both of the following conditions are met, then T will be... i 'Corresponding object o i Add R.

[0050] Condition 1: |W p |=τ∧W p .begin≥t u ∧W p .end≤t v

[0051] Condition 2:

[0052] Where τ is the minimum sliding window threshold for determining close relationships (i.e., the lower bound of the number of consecutive sampling points included in the sliding window), W p .begin and W p .end represents the sliding window W. p The start and end times.

[0053] Step 3: The cloud server returns the query result R to the data user.

[0054] The close contact object query method proposed in this invention can realize close contact object query while protecting the privacy of mobile object trajectory data; the solution has a simple structure and is easy to implement.

[0055] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A method for querying closely related objects with privacy protection capabilities for mobile object trajectory data, characterized in that: The close contact object query method considers an application scenario involving a data owner, a cloud server, and a data user. This method comprises two stages: data upload and query processing. In the data upload stage, the data user encrypts the mobile object trajectory data and then stores the encrypted data on the cloud server. In the query processing stage, the data user encrypts the query command Q, generates a query trapdoor Q', and sends it to the cloud server. The cloud server then returns R to the data user based on the close contact determination criteria. Finally, R is the result of the close contact object query. In the data upload stage, the mobile object trajectory dataset is T = {T1, T2, ... T...}. i …,T n }, where T i ={(x i,1 ,y i,1 ,t1),(x i,2 ,y i,2 ,t2),…,(x i,j ,y i,j ,t j ), ..., (x i,m ,y i,m ,t m )} represents the movement of object o i trajectory data, (x i,j ,y i,j ) represents the moved object o i In t j The two-dimensional location coordinates at any given time are used. During the data upload phase, the data user encrypts the trajectory data of the moving object and then stores the encrypted data on a cloud server. The specific steps include the following: Step 1-1: The data owner generates an encryption key SK = (B, k), where B is a set of random two-dimensional unit vectors. k is a randomly generated random number, and SK is shared by the data owner and the data user; Step 1-2: For each trajectory data T in the moving object trajectory dataset T i The data owner uses the encryption key SK generated in step 1 to access the trajectory data T. i Encryption processing is performed to generate encrypted trajectory data T. i '={(C i,1 ,t1),(C i,2 ,t2),…,(C i,j ,t j ), ..., (C i,m ,t m )}, where, (C i,j ,t j ) is plaintext triplet data (x i,j ,y i,j ,t j The encrypted data obtained after encryption; Steps 1-2 specifically refer to: For T i Each triple (x) i,j ,y i,j ,t j Perform the following procedure: Step 1-2-1: Using two-dimensional vectors Represents the position coordinates (x, y) in the triplet. i,j ,y i,j ),Right now Using g-group projection functions Calculation of two-dimensional position coordinates (x) i,j ,y i,j The corresponding g-group projection values d is the distance threshold for determining close contact. To and Orthogonal unit vectors; Step 1-2-2: Utilize the HMAC function with key H k right For each group of projection values, calculate the corresponding one-way hash code to generate a code set C containing g codes. i,j ={c1,c2,…,c h ,…,c g },in To and Orthogonal unit vectors, || denotes the encoded concatenation operator, and k is the key in SK. Steps 1-3: After processing in step 2, the encrypted trajectory dataset T' = {T1', T2', ..., T} is finally formed. i ',…,T n The data owner sends T' to the cloud server for storage.

2. The close contact query method with privacy protection capability for moving object trajectory data according to claim 1, characterized in that: During the query processing phase, the query instruction Q = {(x q,u ,y q,u ,t u ),(x q,u+1 ,y q,u+1 ,t u+1 ),…,(x q,v ,y q,v ,t v )},(x q,v ,y q,v ) indicates that the source object is in t v Two-dimensional position coordinates at time.

3. The close contact query method with privacy protection capability for moving object trajectory data according to claim 1, characterized in that: The query processing stage specifically includes the following steps: Step 2-1: Data users query the source object o based on the closely related object. q Trajectory data and query time range [t] u ,t v Construct a query command Q, then encrypt Q to generate a query trap Q', and send Q' to the cloud server; Step 2-2: After receiving the query trap Q', the cloud server performs a close contact object query on the encrypted dataset T', obtains the query result R, and finally returns R to the data user.

4. The close contact query method with privacy protection capability for moving object trajectory data according to claim 3, characterized in that: In step 2-1, the data user queries the source object o based on the close contact object. q and query time range [t] u ,t v The specific process of constructing and encrypting the query command Q is as follows: Step 2-1-1: Data users target the source object o in the query. q From the trajectory data, extract the query time range [t] u ,t v Trajectory data within the range of ] is used as the query instruction Q = {(x q,u ,y q,u ,t u ),(x q,u+1 ,y q,u+1 ,t u+1 ),…,(x q,v ,y q,v ,t v )}; Step 2-1-2: The data user uses the key SK shared with the data owner to query the command Q for the close contact object. Using the trajectory data encryption methods from steps 1-2-1 and 1-2-2, the user uses a projection function and a keyed HMAC function to encrypt any element (x) in Q. q,v ,y q,v ,t v Encrypt into (C) q,i ,t i This ultimately forms a query trap Q' = {(C q,u ,t u ),(C q,u+1 ,t u+1 ),…,(C q,i ,t i ),…,(C q,v ,t v )}.

5. A method for querying closely related objects with privacy protection capabilities for moving object trajectory data according to claim 4, characterized in that: In step 2-2, the cloud server uses the query trapdoor Q' to perform a close contact object query on the encrypted dataset T', generating and returning the query result R. The specific process includes the following steps: Step 2-2-1: The cloud server initializes the query result R to be empty; Step 2-2-2: Examine each encrypted trajectory data T in T' i If there exists a time window consisting of several consecutive time points. If both of the following conditions are met, then T will be... i 'Corresponding object o i Add R; Condition 1: |W p |=τ∧W p .begin≥t u ∧W p .end≤t v Condition 2: Where τ is the minimum sliding window threshold for determining close relationships, i.e., the lower bound of the number of consecutive sampling points included in the sliding window, and W p .begin and W p .end represents the sliding window W. p The start and end times; Step 2-2-3: The cloud server returns the query result R to the data user.

Citation Information

Patent Citations

  • Safety trajectory similarity query method and system under cloud platform

    CN113836447A