CN117521137A - Track data processing method and system based on convex polygon - Google Patents

Track data processing method and system based on convex polygon Download PDF

Info

Publication number
CN117521137A
CN117521137A CN202311498728.7A CN202311498728A CN117521137A CN 117521137 A CN117521137 A CN 117521137A CN 202311498728 A CN202311498728 A CN 202311498728A CN 117521137 A CN117521137 A CN 117521137A
Authority
CN
China
Prior art keywords
track
coordinate point
secret
coordinate
convex polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311498728.7A
Other languages
Chinese (zh)
Inventor
孟岳
兰军
万光勇
张欣
冯昶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoqi Zhitu Beijing Technology Co ltd
Original Assignee
Guoqi Zhitu Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guoqi Zhitu Beijing Technology Co ltd filed Critical Guoqi Zhitu Beijing Technology Co ltd
Priority to CN202311498728.7A priority Critical patent/CN117521137A/en
Publication of CN117521137A publication Critical patent/CN117521137A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The disclosure relates to the field of track data processing, and provides a track data processing method and system based on convex polygons, wherein the method comprises the following steps: the homomorphic encryption server generates a public and private key pair by utilizing a homomorphic encryption algorithm, and sends the public key to a map provider; the map provider determines the coordinates of each vertex of the target convex polygon on the map, encrypts each vertex coordinate by using a public key and sends the ciphertext coordinates and the request time period to the track data provider; the track data provider inquires a track coordinate point set in a request time period, carries out secret cross multiplication calculation on each track coordinate point and ciphertext coordinates of each vertex coordinate, and obtains a secret intermediate result and sends the secret intermediate result to the homomorphic encryption server; and the homomorphic encryption server decrypts the intermediate result of the secret state by using the private key, judges the spatial position relation between the track coordinate point and the target convex polygon according to each intermediate result of the plaintext, and obtains a final track processing result which is transmitted to the track data provider. The method and the device can enhance the security of data privacy and ensure the reliability of the final result.

Description

Track data processing method and system based on convex polygon
Technical Field
The disclosure relates to the technical field of track data processing, in particular to a track data processing method and system based on convex polygons.
Background
The spatial relation judgment of the geographic convex polygon on the track coordinates is to compare the spatial position relation between a convex polygon and a certain spatial coordinate point element in the map and return the corresponding spatial relation as a comparison result, wherein the result indicates whether the spatial coordinate point element is positioned in, out or on the boundary of the convex polygon of the map.
The spatial relationship between the convex polygon of the map and the coordinate points of the track is judged based on the longitude and latitude coordinates acquired by the global positioning system (Global Positioning System, GPS), and the method has wide practical application in the aspects of position service, map updating, track analysis and the like. For example, for a certain lane surface on the map, the coordinate of the track coordinate point collected by the GPS sensor carried by the vehicle or the mobile phone is used to determine the inclusion relationship, so as to calculate whether the current vehicle in which the GPS sensor is located is in the form of the lane surface. In the above application, the map convex polygon element and the track coordinate data are often from different organizations or devices, and the map convex polygon element provider needs to utilize the track coordinate data provided by different organizations or devices to perform subsequent analysis through spatial relationship calculation.
However, the GPS coordinates of the vehicle or the mobile phone belong to personal privacy information, and relate to the national geographic information security problem, and it is difficult to directly collect and use the original track coordinates to meet the increasingly strict compliance and privacy protection requirements. Although there are some mandatory regulations for the collection and use of these sensitive geographic coordinate data, the disclosure of the coordinate data is difficult to avoid from the technical level by the prior art means, and privacy disclosure risks are easily caused, and even national security is compromised.
In the prior art, the related data desensitization technology mainly comprises the steps that a track coordinate data provider carries out deflection transformation on actual coordinates, and then whether the deflected coordinates are in a given map convex polygon or not is judged by a conventional mathematical mode. However, the technology still has the problems of insufficient data privacy security protection and low accuracy of spatial relation calculation, and is specifically expressed as follows:
1. the existing data deflection conversion mode can restore deflected data through an inverse algorithm, and original coordinate data is restored to a certain extent, so that sensitive data is leaked, and data safety is compromised;
2. partial precision of the data obtained by deflection transformation can be lost, and if boundary relation judgment is carried out by utilizing convex polygon data with lost precision and coordinate data with lost precision, misjudgment can exist, so that judgment accuracy is reduced and even results are wrong.
Disclosure of Invention
The present disclosure aims to solve at least one of the problems in the prior art, and provides a trajectory data processing method and system based on convex polygons.
In one aspect of the present disclosure, there is provided a trajectory data processing method based on a convex polygon, the processing method including:
The homomorphic encryption server generates a pair of public and private key pairs by using a homomorphic encryption algorithm, and sends the public key to the map provider;
the map provider determines each vertex coordinate of a target convex polygon on a map, encrypts each vertex coordinate by using the public key, and sends ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider;
the track data provider inquires a track coordinate point set in the request time period, carries out secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate respectively to obtain corresponding secret intermediate results, and sends each secret intermediate result to the homomorphic encryption server;
and the homomorphic encryption server decrypts each secret state intermediate result by using the generated private key to obtain a corresponding plaintext intermediate result, judges the spatial position relation between the corresponding track coordinate point and the target convex polygon according to each plaintext intermediate result to obtain a final track processing result, and sends the final track processing result to the track data provider.
Optionally, the map provider determines each vertex coordinate of the target convex polygon on the map, encrypts each vertex coordinate by using the public key, and sends ciphertext coordinates corresponding to each vertex coordinate and the request time period to the track data provider, including:
The map provider encrypts longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate;
and the map provider determines the request time period according to the received inquiry time request and sends the ciphertext coordinates and the request time period to the track data provider.
Optionally, the track data provider queries a track coordinate point set in the request time period, performs a secret cross multiplication calculation on each track coordinate point and a ciphertext coordinate corresponding to each vertex coordinate to obtain a corresponding secret intermediate result, and sends each secret intermediate result to the homomorphic encryption server, including:
the track data provider performs dense state cross multiplication calculation on a first vector, in which each vertex arranged in the clockwise direction or the anticlockwise direction in the target convex polygon points to the adjacent next vertex, and a second vector, in which the starting point of the corresponding first vector points to each track coordinate point, respectively to obtain a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation of the corresponding first vector and the second vector based on ciphertext coordinates;
And the track data provider sends a plurality of secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as the secret state intermediate result corresponding to each track coordinate point.
Optionally, the homomorphic encryption server decrypts each of the secret intermediate results by using the generated private key to obtain a corresponding plaintext intermediate result, and determines a spatial position relationship between the corresponding track coordinate point and the target convex polygon according to each of the plaintext intermediate results to obtain a final track processing result, which includes:
the homomorphic encryption server decrypts the multiple secret cross multiplication results corresponding to the track coordinate points respectively by using the generated private key to obtain multiple plaintext intermediate results corresponding to the track coordinate points respectively; for each of the trajectory coordinate points: if the corresponding plurality of plaintext intermediate results are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; and if at least one corresponding plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is outside the space range of the target convex polygon.
Optionally, the processing method further includes:
and after receiving the corresponding final track processing results of each track coordinate point, the track data provider generates prompt information according to the driving requirement of the lane surface corresponding to the target convex polygon if the current track coordinate point of the track data provider is in the space range of the target convex polygon.
In another aspect of the disclosure, a track data processing system based on a convex polygon is provided, the processing system including a homomorphic encryption server, a map provider, and at least one track data provider;
the homomorphic encryption server is used for generating a pair of public and private key pairs by utilizing a homomorphic encryption algorithm and sending the public key to the map provider;
the map provider is used for determining each vertex coordinate of a target convex polygon on a map, encrypting each vertex coordinate by utilizing the public key, and sending ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider;
the track data provider is used for inquiring a track coordinate point set in the request time period, performing secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate respectively to obtain corresponding secret intermediate results, and sending each secret intermediate result to the homomorphic encryption server;
The homomorphic encryption server is further configured to decrypt each of the secret intermediate results by using the generated private key to obtain a corresponding plaintext intermediate result, determine a spatial position relationship between the corresponding track coordinate point and the target convex polygon according to each of the plaintext intermediate results, obtain a final track processing result, and send the final track processing result to the track data provider.
Optionally, the map provider is configured to determine each vertex coordinate of a target convex polygon on a map, encrypt each vertex coordinate with the public key, and send ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider, where the determining includes:
the map provider is used for encrypting the longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate;
the map provider is further configured to determine the request time period according to the received query time request, and send each ciphertext coordinate and the request time period to the track data provider.
Optionally, the track data provider is configured to query a track coordinate point set in the request time period, perform a secret cross multiplication calculation on each track coordinate point and a ciphertext coordinate corresponding to each vertex coordinate, obtain a corresponding secret intermediate result, and send each secret intermediate result to the homomorphic encryption server, where the method includes:
The track data provider is configured to:
performing dense state cross multiplication calculation on a first vector of each vertex which is arranged in the clockwise or anticlockwise direction in the target convex polygon and points to the next adjacent vertex and a second vector of each track coordinate point, which corresponds to the starting point of the first vector, respectively to obtain a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation of the corresponding first vector and the second vector based on ciphertext coordinates;
and sending a plurality of secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as the secret state intermediate result corresponding to each track coordinate point.
Optionally, the homomorphic encryption server is further configured to decrypt each of the secret intermediate results by using the generated private key to obtain a corresponding plaintext intermediate result, determine, according to each of the plaintext intermediate results, a spatial position relationship between the corresponding track coordinate point and the target convex polygon, and obtain a final track processing result, where the method includes:
the homomorphic encryption server is used for:
decrypting a plurality of secret cross products corresponding to the track coordinate points respectively by using the generated private key to obtain a plurality of plaintext intermediate results corresponding to the track coordinate points respectively;
For each of the trajectory coordinate points: if the corresponding plurality of plaintext intermediate results are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; and if at least one corresponding plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is outside the space range of the target convex polygon.
Optionally, the track data provider is further configured to generate, after receiving the final track processing result corresponding to each track coordinate point, a prompt message according to a driving requirement of a lane surface corresponding to the target convex polygon if the current track coordinate point of the track data provider is in a spatial range of the target convex polygon.
Compared with the prior art, the method and the device fully utilize the capability of carrying out four operations on full homomorphic encryption support data in a secret form, lead full homomorphic encryption technology into a track data processing process, calculate map data related to geographic information safety and track data related to user privacy in a completely safe and reliable privacy environment, enable track data processing business logic of a map provider not to be exposed, enable track data of the track data provider not to be revealed, enable the map provider and the track data provider to still obtain clear text processing results which are the same as those of carrying out track data processing on the actual clear text data and do not relate to any safety and privacy, not only enhance the privacy safety of the data, avoid result misjudgment or error caused by geographic coordinate deviation, ensure the reliability of final track processing results, but also effectively promote and improve driving experience of users depending on the map data and the track data of the users on the premise of guaranteeing the privacy and the data safety of the users.
Drawings
One or more embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which the figures do not depict a proportional limitation unless expressly stated otherwise.
FIG. 1 is a flowchart of a track data processing method based on convex polygons according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a track data processing system based on convex polygons according to another embodiment of the present disclosure;
FIG. 3 is a schematic illustration of the shape of a target convex polygon provided in accordance with another embodiment of the present disclosure;
fig. 4 is a schematic diagram of a positional relationship between a track surface and a track coordinate point according to another embodiment of the present disclosure.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present disclosure more apparent, the embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. However, those of ordinary skill in the art will understand that in various embodiments of the present disclosure, numerous technical details have been set forth in order to provide a better understanding of the present disclosure. However, the technical solutions claimed in the present disclosure can be implemented without these technical details and with various changes and modifications based on the following embodiments. The following divisions of the various embodiments are for convenience of description, and should not be construed as limiting the specific implementations of the disclosure, and the various embodiments may be mutually combined and referred to without contradiction.
As shown in fig. 1, one embodiment of the present disclosure provides a track data processing method S100 based on convex polygons, which relates to a map provider, a homomorphic encryption server, and at least one track data provider, and is mainly applied to a scenario where track data processing cannot be performed based on plaintext track data. As one example of a scene, the trajectory data processing method S100 based on convex polygons may be applied to the following scene: in the scene, the vehicle is taken as a track data provider to meet the privacy protection requirement of a user, a clear text track cannot be directly provided for the map provider, and the map provider does not wish to leak own map data, so that the risk of propagation and use caused by map data leakage is avoided.
The map provider may be a map provider or a map data user, such as various map servers or map vendors. Homomorphic encryption servers refer to servers capable of providing homomorphic encryption (Homomorphic Encryption) services. Homomorphic encryption is a form of encryption that allows one to perform algebraic operations on ciphertext in a particular form to obtain a result that is still encrypted, and to decrypt it to obtain the same result as performing the same operation on plaintext. In other words, homomorphic encryption techniques allow one to perform operations such as searching, comparing, etc. on the encrypted data to arrive at the correct result without decrypting the data throughout the process. The trajectory data provider refers to a provider of trajectory data, such as each vehicle terminal, mobile terminal, and the like.
The map provider, homomorphic encryption server, and at least one track data provider may comprise a network topology as shown in fig. 2. As shown in fig. 2, the homomorphic encryption server is electrically connected with the map provider as an independent trusted device to transmit data to the map provider, and is also electrically connected with N track data providers to transmit data to the track data provider 1 through the track data provider N. The map provider is electrically connected with the N track data providers in addition to the homomorphic encryption server, so as to transmit data to the track data provider 1 to the track data provider N, respectively.
As shown in fig. 1, the trajectory data processing method S100 based on the convex polygon includes:
in step S110, the homomorphic encryption server generates a pair of public and private key pairs by using the homomorphic encryption algorithm, and sends the public key to the map provider.
Specifically, the homomorphic encryption server may generate a pair of public-private key pairs (pub_key, priv_key) using any one of CKKS, paillier, BFV, BGV homomorphic encryption algorithms, where pub_key is a public key and priv_key is a private key, and send the public key pub_key to the map provider.
In step S120, the map provider determines each vertex coordinate of the target convex polygon on the map, encrypts each vertex coordinate with the public key, and sends the ciphertext coordinate corresponding to each vertex coordinate and the request time period to the track data provider.
Specifically, the map provider may directly select a convex polygon area from the map as the target convex polygon, or may select a convex polygon area corresponding to the target convex polygon request from the map as the target convex polygon according to the specification of the target convex polygon request. Of course, the map provider may determine the target convex polygon in other ways, which the present embodiment is not limited to.
As shown in fig. 3, each vertex of the target convex polygon may be respectively labeled as P1 (X1, Y1), P2 (X2, Y2), P3 (X3, Y3), P4 (X4, Y4), …, pn (Xn, yn) in clockwise order, wherein (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4), …, and (Xn, yn) are vertex coordinates corresponding to vertices P1, P2, P3, P4, …, pn, respectively. Of course, when marking the respective vertex coordinates of the target convex polygon, the marking may be performed in other orders, such as a counterclockwise order, which is not limited in this embodiment. The presently disclosed embodiments will be described with reference to the clockwise sequential labeling illustrated in fig. 3.
After determining each vertex coordinate (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4), …, (Xn, yn) of the target convex polygon, the map provider may encrypt each vertex coordinate by using the public key pub_key sent by the homomorphic encryption server, to obtain a corresponding ciphertext coordinate. For example, ciphertext coordinates corresponding to coordinates X1, Y1, X2, Y2, X3, Y3, X4, Y4, …, xn, yn may be represented as [ X1], [ Y1], [ X2], [ Y2], [ X3], [ Y3], [ X4], [ Y4], …, [ Xn ], [ Yn ], respectively.
The request period may be noted as < T1, T2>, where T1 is the start time of the request period and T2 is the end time of the request period. The map provider may randomly select one time period as the request time period, or may use a time period designated by the user as the request time period, and the embodiment is not limited.
Based on the above, in step S120, the map provider may send ciphertext coordinates [ X1], [ Y1], [ X2], [ Y2], [ X3], [ Y3], [ X4], [ Y4], …, [ Xn ], [ Yn ], and the request time period < T1, T2> of each vertex coordinate to the trajectory data provider.
When the track data provider has a plurality of track data providers 1 to N, the map provider may send the ciphertext coordinates and the request time periods corresponding to the vertex coordinates to all track data providers including the track data provider 1 to N, or may send the ciphertext coordinates and the request time periods corresponding to the vertex coordinates to any one or more of the track data provider 1 to N according to actual needs, which is not limited in this embodiment.
Illustratively, step S120 includes: and the map provider encrypts the longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate. And the map provider determines a request time period according to the received inquiry time request and sends the ciphertext coordinates and the request time period to the track data provider.
Specifically, when each vertex coordinate (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4), …, (Xn, yn) is a latitude and longitude coordinate, the map provider may encrypt the latitude and longitude value of each vertex coordinate by using the public key pub_key, and use the corresponding ciphertext latitude and longitude value as the ciphertext coordinate corresponding to each vertex coordinate.
In determining the request time period, the map provider may determine a specified time period < T1, T2> in the query time request as the request time period to satisfy the demand of the query time requester.
And step S130, the track data provider inquires a track coordinate point set in the request time period, respectively carries out secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate to obtain corresponding secret intermediate results, and sends each secret intermediate result to the homomorphic encryption server.
Specifically, in step S130, each track data provider that receives the ciphertext coordinates corresponding to each vertex coordinate and the track data provider in the request time period needs to query all track coordinate points in the request time period to obtain the coordinates of each track coordinate point, then, respectively performing the secret cross-multiplication calculation on the coordinates of each track coordinate point and the ciphertext coordinates corresponding to each vertex coordinate, taking the corresponding secret cross-multiplication result as the corresponding secret intermediate result, and sending each secret intermediate result to the homomorphic encryption server.
Illustratively, step S130 includes: the track data provider respectively carries out dense state cross multiplication calculation on a first vector of which each vertex is arranged in the clockwise direction or the anticlockwise direction in the target convex polygon and points to the adjacent next vertex and a second vector of which the starting point corresponding to the first vector points to each track coordinate point, and respectively obtains a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation based on ciphertext coordinates corresponding to the first vector and the second vector. And the track data provider sends a plurality of secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as secret state intermediate results corresponding to each track coordinate point.
For example, assuming that the locus coordinate points are denoted as P (X, Y), when the coordinates of each vertex of the target convex polygon are (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4), …, and (Xn, yn) in clockwise order as shown in fig. 3, the ciphertext coordinates corresponding to each coordinate are [ X1], [ Y1], [ X2], [ Y2], [ X3], [ Y3], [ X4], [ Y4], [ …, [ Xn ], [ Yn ], and [ Yn ] respectively, the result of performing the dense cross-product calculation of the first vector P1P2 in which the vertex P1 points to the vertex P2 and the second vector P1P in which the starting point P1 of the first vector P1P2 points to the locus coordinate point P may be expressed as [ R1], the result of performing the dense cross-product calculation of the first vector P2P3 in which the vertex P2 points to the starting point P2 points to the locus coordinate point P may be expressed as [ R2], the result of performing the dense cross multiplication of the first vector P3P4 having the vertex P3 directed to the vertex P4 and the second vector P3P having the start point P3 directed to the trajectory coordinate point P of the first vector P3P4 may be represented as [ R3], the result of performing the dense cross multiplication of the first vector P4P5 having the vertex P4 directed to the vertex P5 and the second vector P4P having the start point P4 directed to the trajectory coordinate point P of the first vector P4P5 may be represented as [ R4], and the result of performing the dense cross multiplication of the first vector Pn-1Pn having the vertex Pn-1 directed to the vertex Pn and the second vector Pn-1P having the start point Pn-1 directed to the trajectory coordinate point P of the first vector Pn-1 may be represented as [ Rn-1], and the plurality of dense cross multiplication results corresponding to the trajectory coordinate point P may be respectively represented as [ R1], [ R2] [ R3], [ R4], …, [ Rn-1], wherein [ R1], [ R2], [ R3], [ R4], …, [ Rn-1] are obtained by performing cross multiplication calculation according to the following formula (1) based on ciphertext coordinates of the corresponding first vector and second vector respectively:
The coordinates X, Y of the track coordinate point P are ciphertext coordinates respectively corresponding to the coordinates X and Y, and can be obtained by encrypting the coordinates X, Y of the track coordinate point P by using a public key pub_key sent to the track data provider by the homomorphic encryption server. The homomorphic encryption server may send the public key to each track data provider at the same time as sending the public key to the map provider, or may send the public key to each track data provider before the track data provider performs the secret cross multiplication calculation, which is not limited in this embodiment.
After obtaining a plurality of secret cross products [ R1], [ R2], [ R3], [ R4], … ] corresponding to each track coordinate point, the track data provider can send the plurality of secret cross products [ R1], [ R2], [ R3], [ R4], … ] and [ Rn-1] to the homomorphic encryption server as secret intermediate results corresponding to each track coordinate point.
And step S140, the homomorphic encryption server decrypts each secret state intermediate result by using the generated private key to obtain a corresponding plaintext intermediate result, judges the spatial position relation between the corresponding track coordinate point and the target convex polygon according to each plaintext intermediate result respectively to obtain a final track processing result, and sends the final track processing result to the track data provider.
Specifically, after receiving the secret intermediate results [ R1], [ R2], [ R3], [ R4], … ], and [ Rn-1] corresponding to each track coordinate point sent by the track data provider, the homomorphic encryption server may decrypt the private keys priv_key in the public-private key pair (pub_key, priv_key) by using the public-private key pair to obtain corresponding plaintext intermediate results R1, R2, R3, R4, …, and Rn-1, and determine whether the corresponding track coordinate point is within the spatial range of the target convex polygon, or is on the boundary space of the target convex polygon, or is outside the spatial range of the target convex polygon by using the size relationship between the plaintext intermediate results R1, R2, R3, R4, …, and Rn-1 and 0.
In step S140, the homomorphic encryption server decrypts each intermediate result of the secret by using the generated private key to obtain a corresponding intermediate result of the plaintext, and determines a spatial position relationship between the corresponding track coordinate point and the target convex polygon according to each intermediate result of the plaintext, so as to obtain a final track processing result, which includes:
the homomorphic encryption server decrypts a plurality of secret cross multiplication results corresponding to each track coordinate point by using the generated private key to obtain a plurality of plaintext intermediate results corresponding to each track coordinate point; for each track coordinate point: if the corresponding intermediate results of the plurality of plain texts are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; if the corresponding at least one plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is out of the space range of the target convex polygon.
Specifically, the homomorphic encryption server may decrypt a plurality of secret cross multiplication results [ R1], [ R2], [ R3], [ R4], …, [ Rn-1] corresponding to each track coordinate point by using a private key priv_key in a public-private key pair (pub_key, priv_key), to obtain a plurality of plaintext intermediate results R1, R2, R3, R4, …, rn-1 corresponding to each track coordinate point. For the track coordinate point P (X, Y), if the corresponding plurality of plaintext intermediate results R1, R2, R3, R4, … and Rn-1 are all smaller than 0, the homomorphic encryption server judges that the final track processing result corresponding to the track coordinate point P (X, Y) is that the track coordinate point P (X, Y) is in the target convex polygon; if at least one of the corresponding plurality of plaintext intermediate results R1, R2, R3, R4, …, rn-1 is equal to 0, i.e., any one or more of R1, R2, R3, R4, …, rn-1 is equal to 0, the homomorphic encryption server determines that the final track processing result corresponding to the track coordinate point P (X, Y) is that the track coordinate point P (X, Y) is located on the boundary space of the target convex polygon; if at least one of the corresponding plaintext intermediate results R1, R2, R3, R4, …, rn-1 is greater than 0, i.e., any one or more of R1, R2, R3, R4, …, rn-1 is greater than 0, the homomorphic encryption server determines that the final track processing result corresponding to P (X, Y) is that the track coordinate point P (X, Y) is outside the spatial range of the target convex polygon.
In step S130, the track data provider may send the generation time corresponding to each track coordinate point and the track data provider identifier to the homomorphic encryption server while sending each secret intermediate result corresponding to each track coordinate point to the homomorphic encryption server, so that in step S140, the homomorphic encryption server may send the generation time corresponding to each track coordinate point and the final track processing result to the corresponding track data provider, so that the track data provider may perform subsequent processing, such as generating corresponding driving prompt information, according to the generation time corresponding to each track coordinate point and the final track processing result provided by the track data provider.
Compared with the prior art, the track data processing method based on the convex polygon fully utilizes the capability of carrying out four operations on full homomorphic encryption support data in a secret form, introduces the full homomorphic encryption technology into the track data processing process, calculates map data related to geographic information safety and track data related to user privacy in a completely safe and reliable privacy environment, ensures that track data processing service logic of the map provider cannot be exposed, meanwhile, track data of the track data provider cannot be revealed, and on the premise that the map provider and the track data provider do not share actual plaintext data, both parties can still obtain the same plaintext processing result which does not relate to any safety and privacy and is identical to the track data processing of the actual plaintext data, so that the privacy safety of the data is enhanced, result misjudgment or error caused by geographic coordinate deviation is avoided, the reliability of a final track processing result is ensured, and the driving experience of the map data and the track data of the user can be effectively improved and improved on the premise that the user privacy and the data safety are ensured.
Exemplary, the trajectory data processing method based on the convex polygon further includes: and after receiving the corresponding final track processing results of each track coordinate point, the track data provider generates prompt information according to the driving requirement of the lane surface corresponding to the target convex polygon if the current track coordinate point of the track data provider is in the space range of the target convex polygon.
Specifically, as shown in fig. 4, the target convex polygon may be a convex polygon corresponding to any one of the map track surface 1, the map track surface 2 and the map track surface 3, where the map track surface 1, the map track surface 2 and the map track surface 3 respectively correspond to a turning lane, a straight lane and a right turning lane, and when the final track processing result corresponding to the current track coordinate point P (X, Y) of the track data provider is that the current track coordinate point P (X, Y) is in the convex polygon corresponding to the map track surface 2, the track data provider may generate corresponding straight-going prompt information to prompt the current driving lane of the current driver to only allow straight-going but not allow turning, right turning or left turning according to the straight-going prompt information. Similarly, if the final track processing result corresponding to the current track coordinate point P (X, Y) of the track data provider is that the current track coordinate point P (X, Y) is located in the convex polygon corresponding to the map track surface 1, the track data provider may generate corresponding turning-around prompt information, so as to remind the current driver of only allowing turning around but not allowing straight, right turn or left turn according to the straight-going prompt information. If the final track processing result corresponding to the current track coordinate point P (X, Y) of the track data provider is that the current track coordinate point P (X, Y) is located in the convex polygon corresponding to the map track surface 3, the track data provider can generate corresponding right turn prompt information so as to remind the current driving lane of the current driver to only allow right but not allow straight, turning around or left turn according to the straight turn prompt information.
Through generating prompt information according to the driving requirement of the lane surface corresponding to the target convex polygon, the current driver can be reminded to drive the vehicle on the current driving road according to the driving norm through the prompt information, and driving experience of the driver is further improved.
Another embodiment of the present disclosure relates to a convex polygon based trajectory data processing system, as shown in fig. 2, comprising a homomorphic encryption server, a map provider, and at least one trajectory data provider.
The homomorphic encryption server is used for generating a pair of public and private key pairs by utilizing a homomorphic encryption algorithm and sending the public keys to the map provider.
The map provider is used for determining each vertex coordinate of the target convex polygon on the map, encrypting each vertex coordinate by using the public key, and sending the ciphertext coordinate corresponding to each vertex coordinate and the request time period to the track data provider.
The track data provider is used for inquiring the track coordinate point set in the request time period, performing secret cross multiplication calculation on the ciphertext coordinates corresponding to each track coordinate point and each vertex coordinate respectively to obtain corresponding secret intermediate results, and sending each secret intermediate result to the homomorphic encryption server.
The homomorphic encryption server is further used for decrypting each secret state intermediate result by using the generated private key to obtain a corresponding plaintext intermediate result, judging the spatial position relation between the corresponding track coordinate point and the target convex polygon according to each plaintext intermediate result respectively to obtain a final track processing result, and sending the final track processing result to the track data provider.
Illustratively, the map provider is configured to determine each vertex coordinate of a target convex polygon on the map, encrypt each vertex coordinate with a public key, and send ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider, including:
the map provider is used for encrypting the longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate;
the map provider is also used for determining a request time period according to the received inquiry time request and sending all ciphertext coordinates and the request time period to the track data provider.
The track data provider is used for querying a track coordinate point set in a request time period, performing secret cross multiplication calculation on ciphertext coordinates corresponding to each vertex coordinate and each track coordinate point to obtain corresponding secret intermediate results, and sending each secret intermediate result to a homomorphic encryption server, and the method comprises the following steps:
The trajectory data provider is configured to:
respectively carrying out dense state cross multiplication calculation on a first vector of each vertex which is arranged in the clockwise or anticlockwise direction in the target convex polygon and points to the next adjacent vertex and a second vector of the starting point of the corresponding first vector, which points to each track coordinate point, so as to respectively obtain a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation of the corresponding first vector and the second vector based on the ciphertext coordinates;
and sending the multiple secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as secret state intermediate results corresponding to each track coordinate point.
The homomorphic encryption server is further configured to decrypt each intermediate result of the secret state by using the generated private key to obtain corresponding intermediate results of the plaintext, determine spatial position relationships between corresponding track coordinate points and target convex polygons according to each intermediate result of the plaintext, and obtain a final track processing result, and includes:
the homomorphic encryption server is used for:
decrypting a plurality of secret cross products corresponding to each track coordinate point by using the generated private key to obtain a plurality of plaintext intermediate results corresponding to each track coordinate point;
For each track coordinate point: if the corresponding intermediate results of the plurality of plain texts are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; if the corresponding at least one plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is out of the space range of the target convex polygon.
The track data provider is further configured to generate, after receiving the corresponding final track processing result of each track coordinate point, prompt information according to a driving requirement of a lane surface corresponding to the target convex polygon if the current track coordinate point of the track data provider is within a spatial range of the target convex polygon.
The specific implementation method of the track data processing system based on the convex polygon provided in the embodiment of the present disclosure may be described with reference to the track data processing method based on the convex polygon provided in the embodiment of the present disclosure, which is not described herein again.
Compared with the prior art, the track data processing system based on the convex polygon fully utilizes the capability of carrying out four operations on full homomorphic encryption support data in a secret form, introduces the full homomorphic encryption technology into the track data processing process, calculates map data related to geographic information safety and track data related to user privacy in a completely safe and reliable privacy environment, ensures that track data processing service logic of the map provider cannot be exposed, meanwhile, track data of the track data provider cannot be revealed, and on the premise that the map provider and the track data provider do not share actual plaintext data, both parties can still obtain the same plaintext processing result which does not relate to any safety and privacy and is identical to the track data processing of the actual plaintext data, so that the privacy safety of the data is enhanced, result misjudgment or error caused by geographic coordinate deviation is avoided, the reliability of a final track processing result is ensured, and the driving experience of the map data and the track data of the user can be effectively improved and improved on the premise that the user privacy and the data safety are ensured.
It will be understood by those of ordinary skill in the art that the foregoing embodiments are specific embodiments in which the disclosure is practiced and that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure.

Claims (10)

1. A method for processing trajectory data based on convex polygons, the method comprising:
the homomorphic encryption server generates a pair of public and private key pairs by using a homomorphic encryption algorithm, and sends the public key to the map provider;
the map provider determines each vertex coordinate of a target convex polygon on a map, encrypts each vertex coordinate by using the public key, and sends ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider;
the track data provider inquires a track coordinate point set in the request time period, carries out secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate respectively to obtain corresponding secret intermediate results, and sends each secret intermediate result to the homomorphic encryption server;
and the homomorphic encryption server decrypts each secret state intermediate result by using the generated private key to obtain a corresponding plaintext intermediate result, judges the spatial position relation between the corresponding track coordinate point and the target convex polygon according to each plaintext intermediate result to obtain a final track processing result, and sends the final track processing result to the track data provider.
2. The processing method according to claim 1, wherein the map provider determining each vertex coordinate of the target convex polygon on the map, encrypting each vertex coordinate with the public key, and transmitting ciphertext coordinates corresponding to each vertex coordinate and the requested time period to the trajectory data provider, comprises:
the map provider encrypts longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate;
and the map provider determines the request time period according to the received inquiry time request and sends the ciphertext coordinates and the request time period to the track data provider.
3. The processing method according to claim 1, wherein the track data provider queries a track coordinate point set in the request time period, performs a secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate, obtains corresponding secret intermediate results, and sends each secret intermediate result to the homomorphic encryption server, and the method includes:
the track data provider performs dense state cross multiplication calculation on a first vector, in which each vertex arranged in the clockwise direction or the anticlockwise direction in the target convex polygon points to the adjacent next vertex, and a second vector, in which the starting point of the corresponding first vector points to each track coordinate point, respectively to obtain a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation of the corresponding first vector and the second vector based on ciphertext coordinates;
And the track data provider sends a plurality of secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as the secret state intermediate result corresponding to each track coordinate point.
4. The processing method according to claim 3, wherein the homomorphic encryption server decrypts each of the intermediate secret results using the generated private key to obtain a corresponding intermediate plaintext result, determines a spatial positional relationship between the corresponding track coordinate point and the target convex polygon according to each intermediate plaintext result, respectively, and obtains a final track processing result, comprising:
the homomorphic encryption server decrypts the multiple secret cross multiplication results corresponding to the track coordinate points respectively by using the generated private key to obtain multiple plaintext intermediate results corresponding to the track coordinate points respectively; for each of the trajectory coordinate points: if the corresponding plurality of plaintext intermediate results are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; and if at least one corresponding plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is outside the space range of the target convex polygon.
5. The method of processing according to claim 4, further comprising:
and after receiving the corresponding final track processing results of each track coordinate point, the track data provider generates prompt information according to the driving requirement of the lane surface corresponding to the target convex polygon if the current track coordinate point of the track data provider is in the space range of the target convex polygon.
6. A track data processing system based on a convex polygon, which is characterized in that the processing system comprises a homomorphic encryption server, a map provider and at least one track data provider;
the homomorphic encryption server is used for generating a pair of public and private key pairs by utilizing a homomorphic encryption algorithm and sending the public key to the map provider;
the map provider is used for determining each vertex coordinate of a target convex polygon on a map, encrypting each vertex coordinate by utilizing the public key, and sending ciphertext coordinates corresponding to each vertex coordinate and a request time period to the track data provider;
the track data provider is used for inquiring a track coordinate point set in the request time period, performing secret cross multiplication calculation on each track coordinate point and ciphertext coordinates corresponding to each vertex coordinate respectively to obtain corresponding secret intermediate results, and sending each secret intermediate result to the homomorphic encryption server;
The homomorphic encryption server is further configured to decrypt each of the secret intermediate results by using the generated private key to obtain a corresponding plaintext intermediate result, determine a spatial position relationship between the corresponding track coordinate point and the target convex polygon according to each of the plaintext intermediate results, obtain a final track processing result, and send the final track processing result to the track data provider.
7. The processing system of claim 6, wherein the map provider for determining each vertex coordinate of a target convex polygon on a map, encrypting each vertex coordinate with the public key, and transmitting ciphertext coordinates corresponding to each vertex coordinate and a request time period to the trajectory data provider, comprises:
the map provider is used for encrypting the longitude and latitude values of each vertex coordinate by using the public key to obtain ciphertext coordinates corresponding to each vertex coordinate;
the map provider is further configured to determine the request time period according to the received query time request, and send each ciphertext coordinate and the request time period to the track data provider.
8. The processing system of claim 6, wherein the track data provider is configured to query a set of track coordinate points in the request time period, perform a secret cross multiplication calculation on ciphertext coordinates corresponding to each vertex coordinate for each track coordinate point, obtain corresponding secret intermediate results, and send each secret intermediate result to the homomorphic encryption server, and the method comprises:
the track data provider is configured to:
performing dense state cross multiplication calculation on a first vector of each vertex which is arranged in the clockwise or anticlockwise direction in the target convex polygon and points to the next adjacent vertex and a second vector of each track coordinate point, which corresponds to the starting point of the first vector, respectively to obtain a plurality of dense state cross multiplication results corresponding to each track coordinate point; the secret state cross multiplication result is a result of cross multiplication calculation of the corresponding first vector and the second vector based on ciphertext coordinates;
and sending a plurality of secret state cross multiplication results corresponding to each track coordinate point to the homomorphic encryption server as the secret state intermediate result corresponding to each track coordinate point.
9. The processing system of claim 6, wherein the homomorphic encryption server is further configured to decrypt each of the intermediate secret results using the generated private key to obtain a corresponding intermediate plaintext result, and determine a spatial position relationship between the corresponding track coordinate point and the target convex polygon according to each of the intermediate plaintext results, respectively, to obtain a final track processing result, and the method comprises:
the homomorphic encryption server is used for:
decrypting a plurality of secret cross products corresponding to the track coordinate points respectively by using the generated private key to obtain a plurality of plaintext intermediate results corresponding to the track coordinate points respectively;
for each of the trajectory coordinate points: if the corresponding plurality of plaintext intermediate results are smaller than 0, the corresponding final track processing result is that the track coordinate point is in the space range of the target convex polygon; if at least one corresponding plaintext intermediate result is equal to 0, the corresponding final track processing result is that the track coordinate point is positioned on the boundary space of the target convex polygon; and if at least one corresponding plaintext intermediate result is greater than 0, the corresponding final track processing result is that the track coordinate point is outside the space range of the target convex polygon.
10. The processing system according to claim 9, wherein the track data provider is further configured to, after receiving the final track processing result corresponding to each track coordinate point, generate a prompt message according to a driving requirement of a lane surface corresponding to the target convex polygon if a current track coordinate point of the track data provider is within a spatial range of the target convex polygon.
CN202311498728.7A 2023-11-10 2023-11-10 Track data processing method and system based on convex polygon Pending CN117521137A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311498728.7A CN117521137A (en) 2023-11-10 2023-11-10 Track data processing method and system based on convex polygon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311498728.7A CN117521137A (en) 2023-11-10 2023-11-10 Track data processing method and system based on convex polygon

Publications (1)

Publication Number Publication Date
CN117521137A true CN117521137A (en) 2024-02-06

Family

ID=89748903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311498728.7A Pending CN117521137A (en) 2023-11-10 2023-11-10 Track data processing method and system based on convex polygon

Country Status (1)

Country Link
CN (1) CN117521137A (en)

Similar Documents

Publication Publication Date Title
Schlegel et al. User-defined privacy grid system for continuous location-based services
CN110971415A (en) Space-ground integrated space information network anonymous access authentication method and system
JP5469238B2 (en) Wireless communication apparatus and authentication processing method
CN103037306B (en) Privacy protection method based on location service in scene of Internet of Things (IOT)
EP3338398B1 (en) Server and method for transmitting a geo-encrypted message
Liu et al. Privacy-preserving task assignment in spatial crowdsourcing
CN111083631A (en) Efficient query processing method for protecting location privacy and query privacy
CN105933357A (en) Grid cell identifier matching based location-based service method
US8800027B1 (en) Authentication using privacy protected personally identifiable information
CN114339632A (en) SM4 packet encryption algorithm-based Beidou short message encryption and decryption method
Karimi et al. Enhancing security and confidentiality on mobile devices by location-based data encryption
Yu et al. pSafety: Privacy-preserving safety monitoring in online ride hailing services
CN108920973B (en) Method and apparatus for querying information in location-based service
Xu et al. An efficient and privacy-preserving route matching scheme for carpooling services
CN109743728B (en) Privacy-protecting mobile social network routing method
Ashouri-Talouki et al. Homomorphic encryption to preserve location privacy
Ma et al. Edge computing enhanced privacy preserving for location based services
CN117521137A (en) Track data processing method and system based on convex polygon
Liao et al. A location-dependent data encryption approach for enhancing mobile information system security
Mohaisen et al. Privacy in location based services: Primitives toward the solution
Li et al. A Dynamic Location Privacy Protection Scheme Based on Cloud Storage.
Borse et al. Geo-Encryption: A location based encryption technique for data security
Wang et al. pdRide: Privacy-Preserving Distributed Online Ride-Hailing Matching Scheme
Xin et al. Privacy-preserving spectrum query with location proofs in database-driven CRNs
Hernandez et al. Proximity-based positioning scheme with multi-layer privacy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination