Multi-user space-time security matching method and system based on privacy protection
Through the privacy set interception protocol and homomorphic password algorithm, multi-user time and space security matching is achieved, solving the problems of inefficiency and single functions of relying on auxiliary servers in the existing technology, providing efficient privacy protection and multi-dimensional matching capabilities, and improving User experience.
Patent Information
- Application Number
- CN202411302306.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2024-12-27
AI Technical Summary
The existing privacy protection matching solution relies on additional auxiliary servers, resulting in inefficiency and complex deployment. The multi-user matching function is single, which cannot meet the interactive matching needs between multiple users, especially in the sharing economy field, which is difficult to protect user privacy.
Using a multi-user space-time security matching method based on privacy set interception protocol and homomorphic password algorithm, the secret key negotiation and public-private key formation between users can be achieved anonymous matching of information between users, avoid relying on additional servers, and support multiple users. Match with multi-dimensionality.
It realizes secure anonymous matching of user information, improves service efficiency, effectively protects user privacy, supports multi-user and multi-dimensional matching, and enhances matching success rate and user experience.
Smart Images

Figure CN119202742A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of user spatiotemporal matching and privacy protection, and in particular to a multi-user spatiotemporal secure matching method and system based on privacy protection. Background Art
[0002] With the advancement of information technology and the improvement of personal privacy awareness, the demand for efficient and secure matching among multiple users is growing. For example, in the field of sharing economy, users often need to interact with other users or service providers to obtain specific services or resources. In this process, users usually need to provide sensitive data including location information, preference settings, schedules, etc. However, direct exposure of this information may lead to privacy leakage risks, including identity theft, phishing, user profile construction and tracking, etc. Therefore, it is particularly important to design a secure matching mechanism that can not only meet service needs but also effectively protect user privacy.
[0003] Most of the existing privacy-preserving matching schemes focus on the protection of specific information, and often rely on additional auxiliary servers to perform complex calculations, which not only increases system overhead but also increases the difficulty of implementation. For example, some schemes use the threshold private set intersection (tPSI) technology to protect the user's location information, and combine it with a time-based anonymity mechanism to protect the user's time information; other schemes use additive homomorphic encryption (AHE) and privacy-preserving matching algorithms to achieve anonymous matching, and also require auxiliary servers to perform encryption calculations; some schemes use road network embedding (RNE) and homomorphic encryption technology to securely calculate the distance between users, and rely on auxiliary servers for decryption operations; in addition, there are also schemes that use Garbled Circuits technology to achieve a matching process under privacy protection through non-colluded server collaboration, thereby preventing service providers from directly accessing users' sensitive data.
[0004] It can be seen that the use of third-party servers often leads to inefficiency. Some solutions rely on non-collusive third-party servers for key management and matching, which increases the complexity of deployment and management, and makes it difficult to ensure the security of the server. In addition, the current multi-user matching function is single and lacks time matching. Some solutions only consider location matching, not time matching, or even other preferences, which cannot meet actual needs; there is a lack of group matching. Some solutions only support matching between a single service requester and a service provider, and cannot support group matching of multiple service requesters. Summary of the invention
[0005] Based on the above content, the present invention provides a multi-user spatiotemporal secure matching method and system based on privacy protection, aiming to solve the problem of privacy protection in interactive matching between multiple users in the prior art.
[0006] A multi-user spatiotemporal secure matching method based on privacy protection, used to achieve matching of a first user terminal with a second user terminal, comprising:
[0007] Step A1, a plurality of first user terminals and a plurality of second user terminals respectively extract respective expected location data, where the expected location data includes a starting location and an end location;
[0008] Step A2, each of the first user terminal and the second user terminal forms a respective planned route set based on respective expected location data;
[0009] Step A3: Match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
[0010] Furthermore, in step A1, the first user terminal and the second user terminal also extract their respective service-related data, and one of the data items included in the service-related data is the service request time;
[0011] Step A3 and later also include:
[0012] Step A4, performing service-related data matching on the first user terminal and the second user terminal that successfully matched the first matching result based on a homomorphic cryptographic algorithm to obtain a second matching result;
[0013] Step A5: the first user terminal selects a final matching object according to the second matching result.
[0014] Furthermore, after step A2 and before step A3, the method further includes:
[0015] Step B1, the first user terminal and the second user terminal form a common key through a key negotiation algorithm;
[0016] Step A3 includes:
[0017] Step A31: each first user terminal uses a common key to calculate its own planned route set to obtain a first pseudo-random value set and sends it to the service platform; each second user terminal uses a common key to calculate its own planned route set to obtain a second pseudo-random value set and sends it to the service platform;
[0018] Step A32: the service platform matches the first pseudo-random value set and the second pseudo-random value set based on a privacy set intersection protocol to obtain a first matching result;
[0019] Step A33: the service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
[0020] Furthermore, after step A2 and before step A3, the method further includes:
[0021] Step B2: The first user terminal and the second user terminal form a public and private key according to a homomorphic cryptographic algorithm, wherein the first user terminal holds the public key and the first private key, and the second user terminal holds the public key and the second private key;
[0022] Step A4 includes:
[0023] Step A41: The first user terminal with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends it to the service platform; the second user terminal with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends it to the service platform;
[0024] Step A42: After inverting the first ciphertext data, the service platform performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data;
[0025] Step A43, the service platform sends the first part of the third ciphertext data to the corresponding first user terminal and the second user terminal respectively;
[0026] Step A44: the first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends it to the service platform; the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends it to the service platform;
[0027] Step A45: the service platform jointly calculates the first calculation result and the second calculation result to obtain a third calculation result, and decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data;
[0028] Step A46: The service platform obtains a second matching result based on the decrypted data.
[0029] Further, step A5 includes:
[0030] Step A51, the first user terminal with a successful second matching result calculates the matching degree of the second user terminal according to the second matching result;
[0031] In step A52, the first user terminal takes the second user terminal with the highest matching degree as the final matching object.
[0032] A multi-user spatiotemporal secure matching system based on privacy protection, used to implement the aforementioned multi-user spatiotemporal secure matching method based on privacy protection, comprising a plurality of first user terminals, a plurality of second user terminals and a service platform;
[0033] The first user terminal and the second user terminal are used to respectively extract respective expected location data and form respective planned route sets based on the expected location data, wherein the expected location data includes a starting location and an end location;
[0034] The service platform is used to match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
[0035] Furthermore, the first user terminal and the second user terminal also extract their respective service-related data, one of the data items included in the service-related data is the service request time;
[0036] The service platform is used to match the service-related data of the first user terminal and the second user terminal that successfully match the first matching result based on the homomorphic cryptographic algorithm to obtain a second matching result;
[0037] The first user terminal selects a final matching object according to the second matching result.
[0038] Furthermore, the first user terminal and the second user terminal are further configured to form a common key through a key negotiation algorithm after extracting the expected position data;
[0039] Each first user terminal uses a common secret key to calculate its own planned route set to obtain a first pseudo-random value set and sends it to the service platform;
[0040] Each second user terminal uses the common secret key to calculate its own planned route set to obtain a second pseudo-random value set and sends it to the service platform;
[0041] The service platform matches the first pseudo-random value set and the second pseudo-random value set based on the privacy set intersection protocol to obtain a first matching result;
[0042] The service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
[0043] Furthermore, after extracting the service-related data, the first user terminal and the second user terminal are further used to form a public-private key according to a homomorphic cryptographic algorithm, the first user terminal holds the public key and the first private key copy, and the second user terminal holds the public key and the second private key copy;
[0044] The first user end with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends it to the service platform;
[0045] The second user end with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends it to the service platform;
[0046] After inverting the first ciphertext data, the service platform performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data, and sends the first part of the third ciphertext data to the corresponding first user terminal and second user terminal respectively;
[0047] The first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends it to the service platform, and the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends it to the service platform;
[0048] The service platform jointly calculates the first calculation result and the second calculation result to obtain a third calculation result, decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data, and obtains a second matching result according to the decrypted data.
[0049] Furthermore, the first user terminal with a successful second matching result calculates the matching degree of the matched second user terminals according to the second matching result, and takes the second user terminal with the highest matching degree as the final matching object.
[0050] The beneficial technical effect of the present invention is that: the present invention proposes a multi-user secure matching method to achieve secure and anonymous matching of information between users without relying on additional auxiliary servers. While ensuring service efficiency, it effectively protects user privacy information and provides a new solution for secure matching services. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1-7 A flowchart of the steps of a multi-user spatiotemporal secure matching method based on privacy protection according to the present invention;
[0052] Figure 8 A diagram of a phased matching process of a multi-user spatiotemporal secure matching method based on privacy protection of the present invention;
[0053] Fig. 9 It is a process diagram of the initialization phase of a specific embodiment of a multi-user spatiotemporal secure matching method based on privacy protection of the present invention;
[0054] Fig.10 This is a process diagram of the matching and result return phases of a specific embodiment of a multi-user spatiotemporal secure matching method based on privacy protection of the present invention. DETAILED DESCRIPTION
[0055] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0056] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.
[0057] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments, but they are not intended to limit the present invention.
[0058] See also Figure 1 The present invention provides a multi-user spatiotemporal secure matching method based on privacy protection, which is used to achieve matching of a first user terminal with a second user terminal, comprising:
[0059] Step A1, a plurality of first user terminals and a plurality of second user terminals respectively extract respective expected location data, where the expected location data includes a starting location and an end location;
[0060] Step A2, each of the first user terminal and the second user terminal forms a respective planned route set based on respective expected location data;
[0061] Step A3: Match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
[0062] The present invention proposes a multi-user secure matching method, which aims to achieve secure anonymous matching of information between users without relying on additional auxiliary servers. While ensuring service efficiency, it effectively protects user privacy information and provides a new solution for secure matching services.
[0063] The present invention is applicable to service scenarios that require matching of specific requirements and service provider capabilities, and is mainly used in application scenarios that provide route services, because confidential data and mainly route-related data are required, that is, one of the confidential data required by the present invention is the route of the service requester and service provider. In the application scenario of providing route services, the user end can be, for example, the passenger end and the driver end (online car-hailing service scenario).
[0064] Specifically, as a preferred implementation, the first user terminal is a service provider (D), such as an online car-hailing driver, and the second user terminal is a service requester (R), such as an online car-hailing passenger.
[0065] See also Figure 8-10,The present invention divides the matching process into an initialization phase, a secure matching phase and a final result returning phase.
[0066] Step A1 is an initialization phase, which is a data extraction phase, and extracts the expected position data.
[0067] Step A2 also serves as an initialization phase, forming a set of planned routes based on the expected location data.
[0068] Step A3 is a safety matching stage, in which route safety matching is performed.
[0069] In step A2, each of the first user terminal and the second user terminal forms their own planned route set based on their respective expected location data and the map engine, that is, mainly formed with the help of the starting point and the end point. The planned route set is an ordered set of POI points (Points of Interest, representing landmarks or intersections on the route), which describes the user's movement path from the starting point to the end point. Specific points on the map (Points of Interest, POI) refer to places on the map with special meanings or functions, such as tourist attractions, restaurants, hotels, hospitals, etc. In geographic information systems (GIS) and navigation systems, POI points are often used to mark important locations that users may be interested in.
[0070] For example, the planned route set V(d) of the first user terminal is:
[0071] V(d)={(v1(d),v2(d)),(v2(d),v3(d)),…,(vn-1(d),vn(d))}.
[0072] For example, the planned route set V(r) of the second user terminal is:
[0073] V(r)={(v1(r),v2(r)),(v2(r),v3(r)),…,(vn-1(r),vn(r))}.
[0074] See also Figure 2 ,Further, in step A1, the first user terminal and the second user terminal also each extract their own service-related data, and one of the data items included in the service-related data is the service request time;
[0075] Step A3 and later also include:
[0076] Step A4, performing service-related data matching on the first user terminal and the second user terminal that successfully matched the first matching result based on a homomorphic cryptographic algorithm to obtain a second matching result;
[0077] Step A5: the first user terminal selects a final matching object according to the second matching result.
[0078] Step A1 is an initialization phase, a data extraction phase, and also extracts service-related data.
[0079] Step A4 is a security matching stage and a final result return stage, and performs service-related data matching.
[0080] Step A5 is the final result return stage, returning the final matching object.
[0081] See also Figure 3 and Figure 5 , further, after step A2 and before step A3, the method further includes:
[0082] Step B1, the first user terminal and the second user terminal form a common key through a key negotiation algorithm;
[0083] Step A3 includes:
[0084] Step A31: each first user terminal uses a common key to calculate its own planned route set to obtain a first pseudo-random value set and sends it to the service platform (SP); each second user terminal uses a common key to calculate its own planned route set to obtain a second pseudo-random value set and sends it to the service platform;
[0085] Step A32: the service platform matches the first pseudo-random value set and the second pseudo-random value set based on a privacy set intersection protocol to obtain a first matching result;
[0086] Step A33: the service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
[0087] Step B1 is an initialization phase. After extracting data in the initialization phase, a common key is formed through a key negotiation algorithm.
[0088] The first user terminal and the second user terminal calculate k through a key negotiation algorithm such as the DH algorithm. (dr) as their common key.
[0089] The first user and the second user use a common key k (dr) , the pseudo-random value sets of their respective routes are calculated through the Privacy Set Intersection Protocol (PSI), and the first pseudo-random value set is f(k (dr) ,V (d) ), the second pseudo-random value set is f(k (dr) ,V (d) ) and sent to the service platform (SP) respectively.
[0090] After receiving the pseudo-random value, the service platform (SP) compares the number of common points of interest L, and compares it with the route matching threshold Y, and obtains the first matching result according to the comparison result. The service platform (SP) feeds back the first matching result identifier to the first user terminal and the second user terminal respectively. If the route matching is successful, the first matching result identifier is 1, and if the route matching fails, the first matching result identifier is 0. For example, if L is not less than the route matching threshold Y, 1 is output to the first user terminal and the second user terminal, indicating that the route matching is successful, and the route matching degree Z = 1×70%, and enters the next stage, otherwise 0 is output, indicating that the matching fails.
[0091] See also Figure 4 and Figure 6 , further, after step A2 and before step A3, the method further includes:
[0092] Step B2: The first user terminal and the second user terminal form a public and private key according to a homomorphic cryptographic algorithm, wherein the first user terminal holds the public key and the first private key, and the second user terminal holds the public key and the second private key;
[0093] Step A4 includes:
[0094] Step A41: The first user terminal with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends it to the service platform; the second user terminal with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends it to the service platform;
[0095] Step A42: After inverting the first ciphertext data, the service platform performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data;
[0096] Step A43, the service platform sends the first part of the third ciphertext data to the corresponding first user terminal and the second user terminal respectively;
[0097] Step A44: the first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends it to the service platform; the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends it to the service platform;
[0098] Step A45: the service platform jointly calculates the first calculation result and the second calculation result to obtain a third calculation result, and decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data;
[0099] Step A46: The service platform obtains a second matching result based on the decrypted data.
[0100] Step B2 is an initialization phase. After extracting data in the initialization phase, public and private keys are formed according to the homomorphic cryptographic algorithm.
[0101] Specifically, in step B2, the first user terminal and the second user terminal generate public and private keys according to the Lifted ElGamal threshold homomorphic cryptographic algorithm, and the first user terminal holds the public key h and the first private key k. (d) The second client holds the public key h and the second private key k (r) .
[0102] The common key, the public key and the private key are all generated one-to-one between the first user terminal and the second user terminal.
[0103] If the first matching result identifier sent by the service platform (SP) and received by the first user terminal and the second user terminal is 0, indicating that there is no successful match, the subsequent service-related data matching will not be continued.
[0104] If the first user terminal and the second user terminal receive the first matching result identification sent by the service platform (SP) as 1, indicating that the match is successful, the subsequent service-related data matching will continue. That is, the first user terminal receives the first matching result identification sent by the service platform (SP) as 1, and then uses the public key to encrypt the service-related data extracted by itself to obtain the first ciphertext data and send it to the service platform. That is, the second user terminal receives the first matching result identification sent by the service platform (SP) as 1, and then uses the public key to encrypt the service-related data extracted by itself to obtain the second ciphertext data and send it to the service platform. The service-related data includes multiple data items, such as the service request time (i.e., the time when the service is requested to be performed), service cost expectations, service type preferences, etc.
[0105] For example, the first user terminal sends its service association data (service request time T (d) 、Expected service cost M (d) 、Service type preference C (d) ) uses the public key h to generate the first ciphertext data (E(T (d) ),E(M (d) ),E(C (d) )) and send it to the service platform SP.
[0106] For example, the second user terminal adds its service association data (service request time T (r) 、Expected service cost M (r) 、Service type preference C (r) ) uses the public key h to generate the second ciphertext data (E(T (r) ),E(M(r) ),E(C (r) )) and send it to the service platform SP.
[0107] After receiving the first ciphertext data and the second ciphertext data, the service platform SP first inverts the first ciphertext data to obtain (E(T (d) ) -1 ,E(M (d) ) -1 ,E(C (d) ) -1 ). Then, using the homomorphic addition property of the Lifted ElGamal threshold homomorphic cryptographic algorithm, we calculate (E(T (r) )E(T (d) ) -1 ,E(M (r) )E(M (d) ) -1 ,E(C (r) )E(C (d) ) -1 )), the third ciphertext data is a binary combination of the first part and the second part, such as E(T (r) )E(T (d) ) -1 ={C t 1,C t 2}, the first part of the third ciphertext data refers to the product of the inverse of the first ciphertext data and the first part of the second ciphertext data, which is mainly used to recover the factors required for decryption. The second part of the third ciphertext data is the encrypted form of the plaintext information after the homomorphic addition operation. For example, the above C t 1 refers to the first part of the third ciphertext data about the service request time part, C t 2 refers to the encrypted information of the plaintext information after the homomorphic addition operation of the service request time. Similarly, E(M (r) )E(M (d) ) -1 ={C m 1,C m 2}, C m 1 refers to the first part of the third ciphertext data about the expected part of the service fee, C m 2 refers to the encrypted information of the plaintext information of the expected service fee after homomorphic addition operation. (r) )E(C (d) ) -1 ))={C c 1,C c 2}, C c 1 refers to the first part of the third ciphertext data about the service type preference part, C c2 refers to the encrypted information of the plaintext information of the service type preference after the homomorphic addition operation.
[0108] Service platform SP will (C t 1,C m 1,C c 1) That is, the first part of the third ciphertext data is sent to the first user terminal and the second user terminal. The first user terminal receives (C t 1,C m 1,C c 1) After that, according to your own private key k (d) , calculate the first calculation result (t t (d) ,t m (d) ,t c (d) ) and sends it to the service platform SP. The second user terminal receives (C t 1,C m 1,C c 1) After that, according to your own private key k (r) , calculate the second calculation result (t t (r) ,t m (r) ,t c (r) ), and sends it to the service platform SP. The service platform SP performs joint decryption, and obtains (t t ,t m , t c ), reconstruct the private key to decrypt the second part of the third ciphertext data, that is, according to the Lifted ElGamal threshold homomorphic decryption algorithm, obtain the decrypted result (t, m, c). The plaintext of the second part of the third ciphertext data obtained by the combined calculation of the inversion and homomorphic addition characteristics is actually the subtraction of the values of two data items of the same type. If the values of the data items corresponding to the first user terminal and the second user terminal are the same, the plaintext result of the second part of the third ciphertext data is 0. For example, if the service request time of the first user terminal and the second user terminal is the same, then t is 0 in the end. Therefore, 0 indicates a match, and non-0 indicates a mismatch. If m is 0, it means that the service fee expectation matches, and non-0 indicates a mismatch. If c is 0, there is a match in the service type preference, and non-0 indicates a mismatch.
[0109] The service-related data of the present invention is also confidential data. The service-related data includes one or more data items. Different application scenarios can set different service-related data. For example, in the online car-hailing application scenario, the service-related data may include data items such as service request time, service fee expectations, and service type preferences. The service request time realizes the matching of time and space. For example, for passengers, the service request time is the time when the passenger expects the driver to pick up, the service fee expectation includes the acceptable fee for the passenger from the starting point and the arrival point, and the service type preference is such as the type of vehicle the passenger expects to ride, etc. For the driver, the service request time is the time when the driver can pick up and drop off. For example, if the ride-sharing driver gets off work at five o'clock, the request time may be 5 o'clock, 6 o'clock, etc. The service type preference can be the type of vehicle driven by the driver, and the service fee expectation can be the fee set by the driver.
[0110] Specifically, the service request time can be in units of hours or half hours. For example, if the service request time is 5 o'clock, then the service request time corresponding to the time between 5:00 and 5:59 is 5 o'clock. It is possible to set an option in units of hours or half hours in the setting interface of the user end. The service fee can be expected to be in units of 100 yuan, 50 yuan, etc.
[0111] Specifically, if at least one data item in the service-related data is matched successfully, it indicates a successful match, and the second matching result includes the matching result of each data item. For example, if the service request time between a first user terminal and a second user terminal is matched successfully, but the service cost expectation and service type preference are not matched successfully, the second matching result identifier fed back to the first user terminal and the second user terminal is [1,0,0], where 1 indicates a successful match and 0 indicates a failed match. The three elements in [1,0,0] represent the matching result identifiers of the service request time, the service cost expectation, and the service type preference, respectively.
[0112] See also Figure 7 , further, step A5 comprises:
[0113] Step A51, the first user terminal with a successful second matching result calculates the matching degree of the second user terminal according to the second matching result;
[0114] In step A52, the first user terminal takes the second user terminal with the highest matching degree as the final matching object.
[0115] Specifically, in step A51, when calculating the matching degree, weights are set in advance for each data item in the route and service-related data, and the matching degree is calculated by adding the weights of each data item in the route and service-related data.
[0116] Preferably, the route weight value is 70%, the service request time weight value is 15%, the service cost expectation weight value is 10%, and the service type preference weight value is 5%.
[0117] When there is a second matching result, the route is definitely matched, so the route matching degree is 1×70%, that is, the matching degree Z = 1×70%. If the service request time matches, Z will increase by 1×15%, otherwise it will not increase. If the service cost expectation matches, Z will increase by 1×10%, otherwise it will not increase. If the service type preference matches, Z will increase by 1×5%, otherwise it will not increase. The final weights are added to get the comprehensive matching degree Z.
[0118] The rule for successful matching of the service provider D and the service requester R is determined based on the highest matching degree Z, and the one with the highest matching degree is taken as the matching object.
[0119] The present invention also provides a multi-user spatiotemporal secure matching system based on privacy protection, which is used to implement the aforementioned multi-user spatiotemporal secure matching method based on privacy protection, including a plurality of first user terminals, a plurality of second user terminals and a service platform;
[0120] The first user terminal and the second user terminal are used to respectively extract respective expected location data and form respective planned route sets based on the expected location data, wherein the expected location data includes a starting location and an end location;
[0121] The service platform is used to match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
[0122] Specifically, as a preferred implementation, the first user end is a service provider (D) such as a driver, and the second user end is a service requester (R) such as a passenger. The present invention is applicable to service scenarios that require matching of specific requirements and service provider capabilities.
[0123] One of the confidential data required by the present invention is the route of the service requester and the service provider.
[0124] The first user terminal and the second user terminal form their own planned route sets based on their respective expected location data and the map engine, that is, they are mainly formed with the help of the starting point and the end point. The planned route set is an ordered set of POI points (Points of Interest, representing landmarks or intersections on the route), which describes the user's movement path from the starting point to the end point.
[0125] Furthermore, the first user terminal and the second user terminal also extract their respective service-related data, one of the data items included in the service-related data is the service request time;
[0126] The service platform is used to match the service-related data of the first user terminal and the second user terminal that successfully match the first matching result based on the homomorphic cryptographic algorithm to obtain a second matching result;
[0127] The first user terminal selects a final matching object according to the second matching result.
[0128] Furthermore, the first user terminal and the second user terminal are further configured to form a common key through a key negotiation algorithm after extracting the expected position data;
[0129] Each first user terminal uses a common secret key to calculate its own planned route set to obtain a first pseudo-random value set and sends it to the service platform;
[0130] Each second user terminal uses the common secret key to calculate its own planned route set to obtain a second pseudo-random value set and sends it to the service platform;
[0131] The service platform matches the first pseudo-random value set and the second pseudo-random value set based on the privacy set intersection protocol to obtain a first matching result;
[0132] The service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
[0133] The common key, public key and private key are generated one-to-one between the first user terminal and the second user terminal. If the first user terminal and the second user terminal receive the first matching result identifier sent by the service platform (SP) as 1, indicating that the matching is successful, the subsequent service-related data matching will continue.
[0134] The service-related data includes multiple data items, such as service request time (ie, the time when the service is requested to be performed), service cost expectations, service type preferences, and the like.
[0135] Furthermore, after extracting the service-related data, the first user terminal and the second user terminal are further used to form a public-private key according to a homomorphic cryptographic algorithm, the first user terminal holds the public key and the first private key copy, and the second user terminal holds the public key and the second private key copy;
[0136] The first user end with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends it to the service platform;
[0137] The second user end with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends it to the service platform;
[0138] After inverting the first ciphertext data, the service platform performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data, and sends the first part of the third ciphertext data to the corresponding first user terminal and second user terminal respectively;
[0139] The first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends it to the service platform, and the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends it to the service platform;
[0140] The service platform jointly calculates the first calculation result and the second calculation result to obtain a third calculation result, decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data, and obtains a second matching result according to the decrypted data.
[0141] Furthermore, the first user terminal with a successful second matching result calculates the matching degree of the matched second user terminals according to the second matching result, and takes the second user terminal with the highest matching degree as the final matching object.
[0142] When calculating the matching degree, the first user terminal sets a weight for each data item in the route and service-related data in advance, and the weight is added to calculate the matching degree for each data item in the route and service-related data.
[0143] Preferably, the route weight value is 70%, the service request time weight value is 15%, the service cost expectation weight value is 10%, and the service type preference weight value is 5%. Matching degree. When there is a second matching result, the route is definitely matched, so the route matching degree is 1×70%, that is, the matching degree Z = 1×70%. If the service request time matches, Z is increased by 1×15%, and if it does not match, it is not increased. If the service cost expectation matches Z, it is increased by 1×10%, and if it does not match, it is not increased. If the service type preference matches Z, it is increased by 1×5%, and if it does not match, it is not increased. The final weights are added to obtain the comprehensive matching degree Z. The one with the highest matching degree Z is selected as the matching object.
[0144] As a practical application scenario of the present invention, for example, in a scenario where passengers (A, B, C) and drivers (Zhang San, Li Si) use a carpooling software (service provider) to safely carpool, first, the passengers and drivers generate a set of planned routes based on the desired starting point and end point with the help of a mobile phone map engine, and then the passengers and drivers negotiate keys and collaborate one by one to complete key generation; then the passengers and drivers continue to match the routes, and if the match is successful, the subsequent time, cost and vehicle type matching is performed, otherwise the matching failure is directly returned; finally, the service provider determines whether the match is successful and the final matching object based on the calculated matching degree between the driver and the passenger.
[0145] The secure matching method and system proposed in the present invention can protect user privacy. Through the Privacy Set Intersection Protocol (PSI) and homomorphic encryption technology, there is no need to rely on additional auxiliary servers. While ensuring service efficiency, it can ensure that sensitive information such as user location and demand time is not leaked during the matching process, effectively preventing potential risks caused by information leakage, such as identity theft, malicious tracking, etc.; multi-dimensional matching can be performed, considering multiple dimensions such as available time, budget and demand type preference for matching, providing users with a more personalized and efficient service experience, and improving the matching success rate; it has good scalability and can be easily expanded to other dimensions, such as user reputation, service quality evaluation, etc., to further improve service quality and security; in a multi-user matching scenario, the present invention can effectively improve the matching success rate, reduce user waiting time, and enhance user experience.
[0146] The above are only preferred embodiments of the present invention, and are not intended to limit the implementation methods and protection scope of the present invention. Those skilled in the art should be aware that all solutions obtained by equivalent substitutions and obvious changes made using the description and illustrations of the present invention should be included in the protection scope of the present invention.
Claims
1. A multi-user spatiotemporal secure matching method based on privacy protection, used to achieve matching of a first user terminal with a second user terminal, characterized in that: include: Step A1, a plurality of first user terminals and a plurality of second user terminals respectively extract respective expected location data, wherein the expected location data includes a starting location and an end location; Step A2, each of the first user terminal and the second user terminal forms a respective planned route set based on the respective expected location data; Step A3: Match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
2. A privacy-preserving multi-user spatiotemporal secure matching method as claimed in claim 1, characterized in that: In the step A1, the first user terminal and the second user terminal further extract respective service-related data, wherein one of the data items included in the service-related data is the service request time; After step A3, the following steps are also included: Step A4, performing service-related data matching on the first user terminal and the second user terminal that successfully match the first matching result based on a homomorphic cryptographic algorithm to obtain a second matching result; Step A5: the first user terminal selects a final matching object according to the second matching result.
3. A privacy-preserving multi-user spatiotemporal secure matching method as claimed in claim 1, characterized in that: After step A2 and before step A3, the method further includes: Step B1: the first user terminal and the second user terminal form a common key through a key negotiation algorithm; The step A3 comprises: Step A31, each of the first user terminals uses the common key to calculate its own set of planned routes to obtain a first set of pseudo-random values and sends it to the service platform, and each of the second user terminals uses the common key to calculate its own set of planned routes to obtain a second set of pseudo-random values and sends it to the service platform; Step A32, the service platform matches the first pseudo-random value set and the second pseudo-random value set based on a privacy set intersection protocol to obtain a first matching result; Step A33: the service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
4. A privacy-preserving multi-user spatiotemporal secure matching method as claimed in claim 2, characterized in that: After step A2 and before step A3, the method further includes: Step B2: the first user terminal and the second user terminal form a public-private key according to a homomorphic cryptographic algorithm, wherein the first user terminal holds a public key and a first private key copy, and the second user terminal holds a public key and a second private key copy; The step A4 comprises: Step A41: the first user terminal that has successfully matched the first result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends the data to the service platform; the second user terminal that has successfully matched the first result encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends the data to the service platform; Step A42, the service platform inverts the first ciphertext data and then performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data; Step A43, the service platform sends the first part of the third ciphertext data to the corresponding first user terminal and second user terminal respectively; Step A44: the first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends the first calculation result to the service platform; the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends the second calculation result to the service platform; Step A45, the service platform performs a joint calculation on the first calculation result and the second calculation result to obtain a third calculation result, and decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data; Step A46: The service platform obtains the second matching result according to the decrypted data.
5. A privacy-preserving multi-user spatiotemporal secure matching method as claimed in claim 2, characterized in that: The step A5 comprises: Step A51, the first user terminal whose second matching result is successful calculates the matching degree of the second user terminal according to the second matching result; Step A52: The first user terminal takes the second user terminal with the highest matching degree as the final matching object.
6. A multi-user spatiotemporal secure matching system based on privacy protection, characterized in that: Used to implement a multi-user spatiotemporal secure matching method based on privacy protection as described in any one of claims 1 to 5, comprising a plurality of first user terminals, a plurality of second user terminals and a service platform; The first user terminal and the second user terminal are used to respectively extract respective expected location data and form respective planned route sets based on the expected location data, wherein the expected location data includes a starting location and an end location; The service platform is used to match the planned route set of the first user terminal and the planned route set of the second user terminal based on the privacy set intersection protocol to obtain a first matching result.
7. A privacy-preserving multi-user spatiotemporal secure matching system as claimed in claim 6, characterized in that: The first user terminal and the second user terminal further extract respective service-related data, wherein one of the data items included in the service-related data is the service request time; The service platform is used to perform service-related data matching on the first user terminal and the second user terminal that successfully match the first matching result based on a homomorphic cryptographic algorithm to obtain a second matching result; The first user terminal selects a final matching object according to the second matching result.
8. A privacy-preserving multi-user spatiotemporal secure matching system as claimed in claim 6, characterized in that: The first user terminal and the second user terminal are further configured to form a common key through a key agreement algorithm after extracting the expected location data; Each of the first user terminals uses the common secret key to calculate its own set of planned routes to obtain a first pseudo-random value set and sends it to the service platform; Each of the second user terminals uses the common secret key to calculate its own set of planned routes to obtain a second set of pseudo-random values and sends it to the service platform; The service platform matches the first pseudo-random value set and the second pseudo-random value set based on a privacy set intersection protocol to obtain a first matching result; The service platform feeds back corresponding first matching result identifiers to the first user terminal and the second user terminal respectively according to the first matching result.
9. A multi-user spatiotemporal secure matching system based on privacy protection as claimed in claim 7, characterized in that: After extracting the service-related data, the first user terminal and the second user terminal are further used to form a public-private key according to a homomorphic cryptographic algorithm, the first user terminal holds a public key and a first private key copy, and the second user terminal holds a public key and a second private key copy; The first user end with a successful first matching result encrypts the service-related data extracted by itself using the public key to obtain first ciphertext data and sends the first ciphertext data to the service platform; The second user end for which the first matching result is successful encrypts the service-related data extracted by itself using the public key to obtain second ciphertext data and sends the second ciphertext data to the service platform; The service platform inverts the first ciphertext data and performs homomorphic addition calculation on the second ciphertext data based on a homomorphic cryptographic algorithm to obtain third ciphertext data, and sends the first part of the third ciphertext data to the corresponding first user terminal and second user terminal respectively; The first user terminal uses the first private key to calculate the first part of the third ciphertext data to obtain a first calculation result and sends the first calculation result to the service platform, and the second user terminal uses the second private key to calculate the first part of the third ciphertext data to obtain a second calculation result and sends the second calculation result to the service platform; The service platform jointly calculates the first calculation result and the second calculation result to obtain a third calculation result, decrypts the second part of the third ciphertext data according to the third calculation result to obtain decrypted data, and obtains the second matching result according to the decrypted data.
10. A multi-user spatiotemporal secure matching system based on privacy protection as claimed in claim 7, characterized in that: The first user terminal with a successful second matching result calculates the matching degree of the second user terminal according to the second matching result, and takes the second user terminal with the highest matching degree as the final matching object.
Citation Information
Patent Citations
Passenger-and-driver co-travelling oriented privacy reserved path matching method
CN109544900A
Driver-passenger matching mechanism oriented to privacy protection
CN112752232A
Vehicle sharing method and server
WO2019192048A1
