A user selection method supporting arbitrary geographic range queries
By using dual cloud model, polynomial function and random matrix multiplication in mobile group intelligence perception scenarios, users' geographic location information and query privacy protection problems in mobile group intelligence perception are solved, and users with high efficiency and security at any geographical range are achieved Location search.
Patent Information
- Application Number
- CN202111404538.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-24
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2041-11-24
AI Technical Summary
The existing technology is difficult to effectively protect the user's geographical location information and query privacy in mobile group intelligence perception scenarios, especially when supporting any geographical range query, there are large computing and communication overhead, high data leakage risk and high security risks. question.
Using dual cloud model, polynomial function and random matrix multiplication, a protection and conspiracy attack based on the dual cloud server model is constructed, encryption and re-encryption keys are generated through matrix decomposition technology, and user location information and query range are generated using polynomial fitting technology, and random Matrix multiplication performs user selection for arbitrary geo-range queries.
It realizes user location retrieval in any geographic range without disclosing user locations and querying privacy, which improves data privacy, search accuracy and model security, while reducing system overhead and data leakage risks.
Smart Images

Figure CN114139070B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a user selection method supporting arbitrary geographical range query, belonging to the technical field of mobile crowd intelligence perception privacy protection. Background Art
[0002] Applications in mobile crowd sensing, such as traffic monitoring, environmental perception, noise detection, etc., are usually closely related to location information.
[0003] In recent years, the "location privacy" issue in mobile crowdsensing has attracted widespread attention. In order to improve the quality of data collection and speed up data collection efficiency, data requesters hope to find perception users within a certain geographical range to complete data collection tasks. For example, Alice wants to stay at Beijing Friendship Hotel for one night, but she wants to know how the noise is inside the Friendship Hotel. In order to get accurate noise data as soon as possible, Alice prefers to find perception users who are inside the Friendship Hotel to complete the noise perception task. For another example, Bob wants to find a restaurant in a scenic spot to eat. Due to restrictions such as scenic spot tickets and geographical conditions, Bob prefers to find users who are inside the scenic spot to help him determine the specific location of the restaurant. However, users uploading their own location information or query range may leak their privacy. For example, Alice uploads query information about Beijing Friendship Hotel to the perception platform, and attackers will infer Alice's economic situation based on this, and then guess sensitive information such as Alice's identity, occupation, family status, and economic level.
[0004] Therefore, the privacy-preserving task allocation based on geographic scope requires strict protection of the user's location and query information. If the geographic location information is not effectively protected, users may be reluctant to send their data to the perception platform, which will greatly affect the healthy development of mobile crowd intelligence perception.
[0005] Currently, researchers have proposed a series of privacy protection technology solutions that take geographical scope into consideration. Among them, the most representative solution is the geographical scope retrieval mechanism based on public key searchable encryption. However, this method has large computational and communication overheads due to the use of time-consuming encryption algorithms (such as Paillier homomorphic encryption algorithm, bilinear mapping, etc.).
[0006] At the same time, in order to improve the efficiency of location retrieval, some researchers have proposed some solutions based on symmetric searchable encryption. Compared with the solutions based on public key searchable encryption, these solutions adopt the architecture of trusted data center, that is, these solutions use a trusted data center to encrypt the user's location information and distribute the search key to the search user (that is, the data requester). However, the solutions based on trusted data center have the following disadvantages:
[0007] (1) Data needs to be sent to a trusted data center, which then encrypts it and uploads it to the perception platform, significantly increasing system overhead and the risk of data leakage.
[0008] (2) Search users have the same search key. Once the search key is leaked, it will pose a serious threat to the user's data security.
[0009] Due to the limitations of geographical environment, building structure and other factors, how to achieve location retrieval in any geographical range is a major technical challenge facing the field of privacy-preserving task allocation based on geographical range. Currently, most solutions can only support range retrieval within a specific geometric range (such as a circle or rectangle). Location retrieval for a specific geometric range will return many useless results, which not only increases the system overhead but also reduces the user experience. In addition, most existing solutions are based on the premise that the perception platform cannot collude with users. However, in reality, the perception platform is usually composed of cloud servers. Cloud service providers may register as legitimate users, or collude with users to obtain user-related key information, and then try to obtain other users' private data or infer other users' private information, which poses a huge security risk. Summary of the invention
[0010] The purpose of the present invention is to solve the technical problems of user geographic location information security and privacy protection in mobile crowd intelligence perception scenarios, and creatively propose a user selection method that supports arbitrary geographic range query. This method supports user location retrieval in any geographic range with linear retrieval efficiency without revealing the user location and query privacy.
[0011] The innovation of this method is to use the dual-cloud model, polynomial function and random matrix multiplication to achieve user selection for arbitrary geographic range queries. Among them, the dual-cloud server model is constructed to protect against collusion attacks, encryption and re-encryption keys are generated based on matrix decomposition technology, user location information and query range are generated based on polynomial fitting technology, and user selection for arbitrary geographic range queries for retrieval operations is performed based on random matrix multiplication technology.
[0012] In order to achieve the above object, the present invention adopts the following technical solutions.
[0013] First, the relevant concepts are explained.
[0014] Definition 1: Trusted Authority (TA)
[0015] The trusted center is responsible for generating encryption keys and re-encryption keys for entities participating in task allocation. When the system is initialized, the trusted center is offline or dormant.
[0016] Definition 2: Data Requester (DR)
[0017] The data requester hopes to find users within the geographical scope it requires without revealing the privacy of its query scope. Therefore, the data requester generates relevant trapdoors and sends them to the perception platform.
[0018] Definition 3: Crowdsensing Platform (CP)
[0019] The perception platform is responsible for storing the location information of the perception users and providing task allocation services for data requesters. For example, two non-collusive cloud service providers SA and SB (such as Amazon Cloud and Microsoft Cloud) are used as perception platforms.
[0020] Definition 4: Sensing User (SU)
[0021] The sensing user is the data provider and accepts the data collection task by sending his / her location to the sensing platform. To protect the location privacy, the sensing user encrypts the location before sending the data to the sensing platform.
[0022] Definition 5: Passive Aggression
[0023] Although the adversary can observe the ciphertext, they do not know the plaintext information corresponding to the ciphertext. This attack is similar to the ciphertext-only attack, and may be launched when the adversary monitors a user's communication channel or the cloud server obtains the ciphertext submitted by the user.
[0024] Definition 6: Active Attack
[0025] In an active attack, the adversary may obtain more information besides the ciphertext information.
[0026] Specific active attack modes are given from the perspectives of attackers inside and outside the perception platform. An attacker outside the perception platform may learn the plaintext-ciphertext pair of the perception user by observing the user's location information and the ciphertext sent. This attack is similar to a known plaintext attack. From the perspective of attackers inside the perception platform, if a cloud server colludes with a perception user or a data requester, the cloud server can even choose some special plaintexts to obtain ciphertext information. This attack is similar to a chosen plaintext attack in cryptography.
[0027] In the present invention, it is assumed that the trusted center is completely trusted, and the communication channel between the trusted center and any other entity is secure. The perception user, data requester and perception platform are semi-trusted, that is, they will execute the protocol honestly, but will try to obtain private information from encrypted task information and trapdoors. The two cloud servers are not colluding, that is, one cloud server will not share its key information with another cloud server or cooperate with another cloud server to violate user privacy.
[0028] In practical applications, a cloud server may collude with some users to obtain relevant key information. However, it is reasonable to assume that colluding users cannot upload a large number of location or retrieval requests because: (1) a perceptual user is only allowed to upload one or limited location information in the system; (2) data requesters usually need to pay for query behavior. In fact, a cloud server is allowed to find users within a certain search range by submitting query requests, because this is the purpose of task allocation, and the other cloud server and the perceptual user returned by the query will be rewarded.
[0029] In addition, the present invention supports protecting the user's data privacy and security while allowing the cloud server to obtain some information. The information that the cloud server can obtain includes: (1) the number of encrypted data and search trapdoors; (2) the perceived user ID returned for a certain range query; (3) whether an encrypted data is queried by two different trapdoors.
[0030] A user selection method supporting arbitrary geographic range query includes the following steps:
[0031] Step 1: System initialization: The trusted center generates encryption keys and re-encryption keys for each entity participating in the system task allocation.
[0032] Specifically, given the highest power n of the polynomial function, the trusted center generates the key: {M1,M A ,M B}, where M1 represents master key 1, M2 represents master key 2, and M B Indicates master key 3.
[0033] Step 2: Key Generation: For each perceived user / data requester, the trusted center generates encryption keys and re-encryption keys.
[0034] Specifically, for each perceptual user u i , whose encryption key is A i , whose re-encryption key includes A′ i , R i 、M A ,in: R i =Ai ×I′ i .
[0035] Among them, A i is a random reversible matrix of (n+10)×(n+10) and serves as the sensing user u i One of the encryption keys of i represents a (n+10)×(n+10) lower triangular random matrix with main diagonal elements (0,0,1,…,1,1,1,1,1,0,0); Represents the perceived user u i The encryption key A i The inverse matrix of i It means that the main diagonal elements are (0,0,0,0,…,0,f i,1 ,f i,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction, f i,1 、f i,2 Represents a positive random number.
[0036] For each data requester u q , whose encryption key is (A q ,B q ), A q represents a random (n+10)×(n+10) reversible matrix and represents the data requester u q The encryption key 1, B q represents a random (n+10)×(n+10) reversible matrix and represents the data requester u q The encryption key is 2; its re-encryption key is in
[0037]
[0038]
[0039] R q,1 =A q ×S′ q
[0040] R q,2 =S′ q ×B q
[0041] Among them, A′ q Indicates the data requester u q Using encryption key A q The result after performing matrix calculation; R q,1 represents the perturbation matrix 1 of the data requester; R q,2represents the perturbation matrix 2 of the data requester; B q Indicates the data requester u q The encryption key of q Indicates the data requester u q The result after performing matrix calculations; Indicates the master key M B The inverse matrix of q I represents the main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) i A (n+10)×(n+10) lower triangular random matrix with similar construction; Indicates the data requester u q Encryption Key B q The inverse matrix of q Represents the main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction; S′ q It means that the main diagonal elements are (0,0,0,0,…,0,f q,1 ,f q,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction; represents the inverse matrix of the master key M1; f i,1 、f i,2 、f q,1 、f q,2 All are positive random numbers.
[0042] Step 3: Location encryption: After receiving the ciphertext information uploaded by the perception user, the perception platform performs the location encryption operation.
[0043] Specifically, given a perceptual user u i The position vector L i ,u i Generate a matrix P i , and P i Encrypted to C i , C i =A i ×P i , A i Represents the perceived user u i The encryption key.
[0044] Step 4: Location re-encryption: After receiving the ciphertext information uploaded by the perception user, the perception platform performs the location encryption operation.
[0045] Specifically, given a perceptual user u i The position ciphertext, SA Re-encrypt it to C′ i , C′ i =A′ i ×(C i +R i )×D i ×M A Among them, S A Denotes cloud server A, A′ i Represents the perceived user u i Using encryption key A i One of the re-encryption keys after performing the matrix calculation, C i Represents the perceived user u i Encrypted location information, R i Represents the perceived user u i The random perturbation matrix, D i Indicates that the main diagonal elements are (0,0,v i ,v i ,…,v i ,1,1,r i,1 ,r i,2 ,0,0) of the (n+10)×(n+10) lower triangular random matrix, M A Indicates master key 2, v i 、r i,1 、r i,2 All are positive random numbers.
[0046] Step 5: Trapdoor generation.
[0047] Specifically, given a data requester u q The query trap L a and L b ,u q First, generate two matrices Q a , Q b , and generate a trapdoor T a ,T b . Then, u q Trapdoor T a , T b , and u q The ID is sent to S A . Where: T a =Q a ×B q , T b =Q b ×B q , B q Indicates the data requester u q The encryption key.
[0048] Step 6: Trapdoor re-encryption.
[0049] Specifically, when S A Receive data request from u q After the trapdoor, first find M A and M B , and use D a and D b Matrix, re-encrypt the trapdoor to T′ a , T′ b . After that, S A T′ a , T′ b and Send to S B , S B represents cloud server B. Among them, r i,1 、r i,2 、r q,1 、r q,2 are all positive random numbers, and m represents the total number of perceived user locations.
[0050] Afterwards, S B Using data requester u q The re-encryption key T′ a ,T′ b Encrypted as T″ a , T″ b ,in:
[0051]
[0052]
[0053]
[0054]
[0055] Among them, D a Indicates that the main diagonal elements are (0,0,v a ,v a ,…,v a ,r a,1 ,r a,2 ,r q,1 ,r q,2 ,0,0) of the (n+10)×(n+10) lower triangular random matrix, T a represents the trapdoor 1 generated by the data requester, R q Indicates the data requester u q The random perturbation matrix, D b Indicates that the main diagonal elements are (0,0,v b ,v b ,…,v b ,rb,1 ,r b,2 ,r q,1 ,r q,2 ,0,0) of the (n+10)×(n+10) lower triangular random matrix, T b Indicates the data requester u q Generated trapdoor 2, Indicates the master key M B The inverse matrix, B′ q Indicates the data requester u q One of the re-encryption keys, v a 、v b 、r a,1 、r a,2 、r b,1 、r b,2 、r q,1 、r q,2 All are positive random numbers.
[0056] Step 7: User retrieval.
[0057] Specifically, when S B Receive C′ i , T′ a , T′ b After that, calculate and obtain Δ a , Δ b , Δ a represents the calculation result of the user search process of cloud server B1, Δ b It represents the calculation result 2 of the user search process performed by cloud server B.
[0058] in:
[0059] Δ a =tr(C′ i ×T″ a )-(r i,1 r q,1 +r i,2 r q,2 )
[0060] Δ b =tr(C′ i ×T″ b )-(r i,1 r q,1 +r i,2 r q,2 )
[0061] tr() represents the matrix trace operation.
[0062] If Δ a >0 and Δ b <0, then it is considered that the perceived user u iLocated at data requester u q Within the geographical scope of the query, S B Then u i Add the ID to the result list RS q Otherwise, it is considered that the perceived user u i Not in data requester u q Within the geographical scope of the query, S B Select another user's encrypted data and repeat step 7.
[0063] After retrieving all the encrypted data, S B Get a list of all users within the data requester's query geographic range RS q , Indicates that the data requester u is satisfied q Query the perceived user u in the geographic scope i The identification bit completes the user selection function for any geographic range query.
[0064] Beneficial Effects
[0065] Compared with existing technologies, this method has significant advantages in data privacy, retrieval accuracy, model security and degree of decentralization. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Figure 1 Schematic diagram of the method of the present invention. DETAILED DESCRIPTION
[0067] The present invention is further described in detail below with reference to the accompanying drawings.
[0068] like Figure 1 As shown, a user selection method supporting arbitrary geographic range query includes the following steps:
[0069] Step 1: System initialization.
[0070] The trusted center generates three master keys.
[0071] Specifically, given a polynomial fitting function with the highest power n, the trusted center generates three random (n+10)×(n+10) reversible matrices {M1,M A ,M B} as the master key. Among them, M1 represents master key 1, M2 represents master key 2, and M B Indicates master key 3.
[0072] Step 2: Key generation: The trusted center generates keys and re-encryption keys for each sensing user / data requester.
[0073] Specifically, given a perceptual user ui , the trusted center selects a random (n+10)×(n+10) reversible matrix A i Among them, u i is the perceived user, i is the perceived user u i Number, A i To perceive user u i The encryption key.
[0074] The trusted center selects a (n+10)×(n+10) lower triangular random matrix I with main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) i , the period structure is:
[0075]
[0076] And calculate For the convenience of description, the present invention uses * to indicate i The random number in. Among them, I i To perceive user u i The corresponding lower triangular random matrix, M1 is the master key 1, To perceive user u i Encryption Key A i The inverse matrix, A′ i To perceive user u i The result after performing matrix calculations.
[0077] For a data request this u q , the trusted center selects a random (n+10)×(n+10) reversible matrix B q Among them, u q is the data requester, q is the data requester u q Number, B q For data requester u q The encryption key.
[0078] The trusted center selects a network with main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix S with similar construction q , and calculate Among them, S q Represents the main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix of similar construction is is the inverse matrix of the master key M1, For data requester u q Encryption Key Bq The inverse matrix, B′ q For data requester u q The result after performing matrix calculations.
[0079] Then, the trusted center generates 4 positive random numbers f i,1 、f i,2 、f q,1 、f q,2 ;
[0080] The trusted center generates a perturbation matrix R for each sensing user i =A i ×I′ i , generate a perturbation matrix R for each data requester q =S′ q ×B q Among them, R i represents the perturbation matrix of the perceived user, R q represents the perturbation matrix of the data requester, I′ i It means that the main diagonal elements are (0,0,0,0,…,0,f i,1 ,f i,2 ,1,1,0,0) and I i A similarly constructed (n+10)×(n+10) lower triangular random matrix, S′ q It means that the main diagonal elements are (0,0,0,0,…,0,f q,1 ,f q,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction.
[0081] Finally, the trusted center sends the encryption key A to i Sent to the perceived user u i , the encryption key B q Sent to data requester u q , and the re-encryption key {M A ,M B ,A′ i ,R i ,R q}Send to Cloud S A , the re-encryption key Send to CloudS B Among them, M B Indicates the master key 3, S A Represents cloud server A, S B represents cloud server B, Indicates the master key M B The inverse matrix of .
[0082] Step 3: Location encryption: The sensing user obtains location information and encrypts the location information.
[0083] Specifically, first, perceive user u i Extract your location coordinates through GPS and other devices i =(x i ,y i ). Among them, x i Represents the perceived user u i Longitude information, y i Represents the perceived user u i Latitude information, p i Represents the perceived user u i location data information.
[0084] Afterwards, u i Perform the following 3 steps.
[0085] (1) First, perceive user u i The p i Expanded to (n+10)-dimensional position vector And generate a main diagonal element L i I i A lower triangular random matrix P with similar construction i Among them, x i Represents the perceived user u i Longitude information, Indicates longitude information x i nth power, L i Represents the perceived user u i The position vector generated using the position coordinates, P i To perceive user u i Constructed lower triangular random matrix.
[0086] (2) Then, u i Using encryption key A i Encrypt the location information into C i =A i ×P i Among them, A i To perceive user u i The encryption key, C i To perceive user u i Encrypted location information.
[0087] (3) Finally, u i Enter your ID and ciphertext C i Send to CloudS A. ID represents the identification of the perceiving user, S A Indicates cloud server A.
[0088] Step 4: Position re-encryption. A Using the received perception user u i The location information is used to i Re-encryption is performed using the re-encryption key.
[0089] Specifically, first, when S A Receive the perceived user u i After the ciphertext of S A Find the perceived user u i The re-encryption key M A ,A′ i ,R i Among them, R i Represents the perceived user u i The random perturbation matrix of .
[0090] S A Generate 3 random numbers greater than zero {v i ,r i,1 ,r i,2}, and use these three random numbers to generate a main diagonal element (0,0,v i ,v i ,…,v i ,1,1,r i,1 ,r i,2 ,0,0) of the (n+10)×(n+10) lower triangular random matrix D i . Where v i ,r i,1 ,r i,2 is a positive random number, D i For S A To perceive user u i Generates a lower triangular random matrix.
[0091] Then, C i Re-encrypted to
[0092] C′ i =A′ i ×(C i +R i )×D i ×M A
[0093] =A′ i ×A i ×(P i +I′ i )×D i ×M A
[0094] =M1×I i ×(P i +I′ i )×D i ×M A
[0095] Among them, C i For S A The received perceived user u i Encrypted location information, C′ i The ciphertext C i The result after re-encryption, I′ i It means that the main diagonal elements are (0,0,0,0,…,0,f i,1 ,f i,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction, M1 represents the master key 1.
[0096] Finally, S. A C′ i Send to cloud server S B , and store u i The random number (r i,1 ,r i,2 ). Where S B Indicates cloud server B.
[0097] Step 5: Trapdoor generation. The data requester generates a trapdoor based on the selected geographic query scope.
[0098] Specifically, first, given a geographical scope, the data requester u q Follow the 3 steps below.
[0099] First, u q Generate two curve equations based on polynomial fitting technology and To fit the geographical range. and The two curve equations generated by the polynomial fitting technique, (a0, a1, a2, …, a n ) and (b0,b1,b2,…,b n ) is the curve equation and Parameters, x is the curve equation and The variable, x n Represents the variable x raised to the power of n.
[0100] Afterwards, u qExtract the curve equation coefficients and generate vector q a =(a0,a1,a2,…,a n ),q b =(b0,b1,b2,…,b n ). Among them, q a and q b The table is represented by (a0, a1, a2, ..., a n ) and (b0,b1,b2,…,b n ) generated by .
[0101] Then, the data requester u q Q a Expanded to (n+10)-dimensional vector L a =(0,0,a0,a1,…,a n ,-1,0,0,0,0,0), and q b Expanded to (n+10)-dimensional vector L b =(0,0,b0,b1,…,b n ,-1,0,0,0,0,0). Among them, L a Indicates the use of q a The generated (n+10)-dimensional vector, L b Indicates the use of q b The resulting (n+10)-dimensional vector.
[0102] Data requester q Generate two main diagonal elements, L a and L b I i A (n+10)×(n+10) lower triangular random matrix Q with similar construction a ,Q b , and use encryption key B q Encrypt it to T a =Q a ×B q ,T b =Q b ×B q . Where Q a To utilize L a Generated with I i A similarly constructed (n+10)×(n+10) lower triangular random matrix, Q b To utilize L b Generated with I i A similarly constructed (n+10)×(n+10) lower triangular random matrix, T a and T b For data requester u q Generated trapdoor.
[0103] Finally, u q Trapdoor T a , T b and his ID to S A .
[0104] Step 6: Trapdoor re-encryption. A Received from data requester u q After receiving the trapdoor information, re-encryption operation is performed on the trapdoor data.
[0105] Specifically, first, when the data requester u q After receiving the trapdoor, S A Find the data requester u q The re-encryption key M A ,M B ,R q Among them, R q For data requester u q The perturbation matrix of .
[0106] Then, S A Generate 6 random numbers greater than zero {r a,1 ,r a,2 ,r b,1 ,r b,2 ,r q,1 ,r q,2}, and select 2 random (n+10)×(n+10) lower triangular matrices D a ,D b Among them, D a The main diagonal elements of are (0,0,v a ,v a ,…,v a ,r a,1 ,r a,2 ,r q,1 ,r q,2 ,0,0),D b The main diagonal elements of are (0,0,v b ,v b ,…,v b ,r b,1 ,r b,2 ,r q,1 ,r q,2 ,0,0),r a,1 、r a,2 、r b,1 、r b,2 、r q,1 、r q,2 All are positive random numbers.
[0107] Afterwards, SA Re-encrypt the trapdoor to
[0108]
[0109]
[0110] in, Master key M A The inverse matrix, S ′ q It means that the main diagonal elements are (0,0,0,0,…,0,f q,1 ,f q,2 ,1,1,0,0) and I i A similarly constructed (n+10)×(n+10) lower triangular random matrix, T′ a and T′ b T a and Trapdoor T b The result after re-encryption.
[0111] Then, S. A T′ a ,T′ b and Send to S B . Among them, m is the total number of position ciphertexts, r i,1 、r q,1 、r i,2 、r q,2 are all positive random numbers, and i is the position ciphertext number.
[0112] In S B Receive S A After sending the data information, S B Find the data requester u q The re-encryption key Perform re-encryption again:
[0113]
[0114]
[0115] in, Master key M B The inverse matrix, B′ q Indicates the data requester u in the key generation step q The result after performing matrix calculation, S q Represents the main diagonal elements (0,0,1,…,1,1,1,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix of similar construction is represents the inverse matrix of the master key M1.
[0116] Step 7: User retrieval. B The user selection function is executed according to the re-encrypted position ciphertext and the re-encrypted trapdoor information.
[0117] Specifically, given a re-encrypted location information C′ i and the trapdoor after re-encryption (T″ a ,T″ b ), S B Calculate C′ i ×T″ a ,C′ i ×T″ b And calculate:
[0118]
[0119]
[0120]
[0121] Where tr(·) represents the matrix trace operation, v i 、v a 、v b 、r b,1 、r b,2 、r a,1 、r a,2 、f q,1 、f q,2 、f i,1 、f i,2 are all positive random numbers, I′ i It means that the main diagonal elements are (0,0,0,0,…,0,f i,1 ,f i,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction.
[0122] In order to eliminate the random number r a,1 f q,1 f i,1 +r a,2 f q,2 f i,2 and r b,1 f q,1 f i,1 +r b,2 f q,2 f i,2 To avoid the influence of random numbers, we need to control the range of random numbers. Specifically, if and is greater than a very small positive real number A, the random number {r b,1 ,r b,2 ,r a,1 ,r a,2 ,f q,1 ,f q,2 ,f i,1 ,f i,2} is less than an integer B, then it should satisfy
[0123] If Δ a >0 and Δ b <0, we know that R iq =1, i.e., perceived user u i Located at data requester u q Within the geographical scope of the query, S B Then u i Add the ID to the result list RS q Otherwise, S B Select another user's encrypted data and repeat the above steps.
[0124] Finally, after all encrypted data has been retrieved, S B You can get a list of all users within the geographic range of the data requester's query. And complete the user selection function for any geographic range query.
Claims
1. A user selection method supporting arbitrary geographical range query, characterized in that: The following steps are involved: Step 1: System initialization: The trusted center generates encryption keys and re-encryption keys for each entity participating in the system task allocation; The trusted center is completely trustworthy, and the communication channel between the trusted center and any other entity is secure; Step 2: Key generation: For each perceived user and data requester, the trusted center generates encryption keys and re-encryption keys; Among them, the perception platform is responsible for storing the location information of perception users and providing task allocation services for data requesters; The sensing user is the data provider and accepts the data collection task by sending his / her location to the sensing platform. Before sending the data to the sensing platform, the sensing user encrypts the location. The data requester hopes to find users within the geographical scope he / she requires, while not revealing the privacy of his / her query scope. The data requester generates relevant trapdoors and sends them to the perception platform. The sensing users, data requesters, and sensing platforms are semi-trusted, i.e., they will execute the protocol honestly but will try to obtain private information from encrypted task information and trapdoors; Step 3: Location encryption. After receiving the ciphertext information uploaded by the perception user, the perception platform performs the location encryption operation. Step 4: Location re-encryption. After receiving the ciphertext information uploaded by the perception user, the perception platform performs the location encryption operation. Step 5: Trapdoor generation; Step 6: Trapdoor re-encryption; Step 7: Perform user search; In step 1, given the highest power n of the polynomial function, the trusted center generates the key: {M1, M A , M B }, where M1 represents master key 1, M2 represents master key 2, and M B Indicates master key 3; In step 2, for each perceived user u i , whose encryption key is A i , whose re-encryption key includes A′ i , R i 、M A ,in: R i =A i ×I′ i ; Among them, A i is a random reversible matrix of (n+10)×(n+10) and serves as the sensing user u i One of the encryption keys of i represents a (n+10)×(n+10) lower triangular random matrix with main diagonal elements (0, 0, 1, …, 1, 1, 1, 1, 1, 0, 0); Represents the perceived user u i The encryption key A i The inverse matrix of i It means that the main diagonal elements are (0, 0, 0, 0, ..., 0, f i,1 , f i,2 ,1,1,0,0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction, f i,1 、f i,2 represents a positive random number; For each data requester u q , whose encryption key is (A q , B q ), A q represents a random (n+10)×(n+10) reversible matrix and represents the data requester u q The encryption key 1, B q represents a random (n+10)×(n+10) reversible matrix and represents the data requester u q The encryption key is 2; its re-encryption key is in: R q,1 =A q ×S′ q R q,2 =S′ q ×B q Among them, A′ q Indicates the data requester u q Using encryption key A q The result after performing matrix calculation; R q,1 represents the perturbation matrix 1 of the data requester; R q,2 represents the perturbation matrix 2 of the data requester; B q Indicates the data requester u q The encryption key of q Indicates the data requester u q The result after performing matrix calculations; Indicates the master key M B The inverse matrix of q I represents the main diagonal elements (0, 0, 1, ..., 1, 1, 1, 1, 1, 0, 0) i A (n+10)×(n+10) lower triangular random matrix with similar construction; Indicates the data requester u q Encryption Key B q The inverse matrix of q Represents the main diagonal elements (0, 0, 1, ..., 1, 1, 1, 1, 1, 0, 0) and I i A (n+10)×(n+10) lower triangular random matrix with similar construction; S′ q It means that the main diagonal elements are (0, 0, 0, 0, ..., 0, f q,1 , f q,2 , 1, 1, 0, 0) is a (n+10) × (n+10) lower triangular random matrix with similar construction to Ii; represents the inverse matrix of the master key M1; f i,1 、f i,2 、f q,1 、f q,2 All are positive random numbers; In step 3, given a perceived user u i The position vector L i ,u i Generate a matrix P i , and P i Encrypted to C i , C i =A i ×P i , A i Represents the perceived user u i The encryption key; In step 4, given the perceived user u i The position ciphertext, S A Re-encrypt it to C′ i , C′ i =A′ i ×(C i +R i )×D i ×M A ; Among them, S A Denotes cloud server A, A′ i Represents the perceived user u i Using encryption key A i One of the re-encryption keys after performing the matrix calculation, C i Represents the perceived user u i Encrypted location information, R i Represents the perceived user u i The random perturbation matrix, D i Indicates that the main diagonal elements are (0, 0, V i , v i , …, v i ,1,1,r i,1 , r i,2 , 0,0) of the (n+10)×(n+10) lower triangular random matrix, M A Indicates master key 2, v i 、r i,1 、r i,2 All are positive random numbers; In step 5, given a data requester u q The query trap L a and L b ,u q First, generate two matrices Q a , Q b , and generate a trapdoor T a , T b ; Then, u q Trapdoor T a , T b , and u q The ID is sent to S A , S A Represents cloud server A; Among them, T a =Q a ×B q , T b =Q b ×B q , B q Indicates the data requester u q The encryption key; In step 6, when S A Receive data request from u q After the trapdoor, first find M A and M B , and use D a and D b Matrix, re-encrypt the trapdoor to T′ a , T′ b ; Afterwards, S A T′ a , T′ b and Send to S B , S B represents cloud server B, where r i,1 、r i,2 、r q,1 、r q,2 are all positive random numbers, and m represents the total number of perceived user locations; Cloud Server A and Cloud Server B will not share their key information, nor will they cooperate in violating user privacy. Afterwards, S B Using data requester u q The re-encryption key T′ a , T′ b Encrypted as T″ a , T″ b ,in: Among them, D a Indicates that the main diagonal elements are (0, 0, v a , v a , …, v a , r a,1 , r a,2 , r q,1 , r q,2 , 0, 0) of the (n+10)×(n+10) lower triangular random matrix, T a represents the trapdoor 1 generated by the data requester, R q Indicates the data requester u q The random perturbation matrix, D b Indicates that the main diagonal elements are (0, 0, v b , v b , …, v b , r b,1 , r b,2 , r q,1 , r q,2 , 0, 0) of the (n+10)×(n+10) lower triangular random matrix, T b Indicates the data requester u q Generated trapdoor 2, Indicates the master key M B The inverse matrix, B′ q Indicates the data requester u q One of the re-encryption keys, v a 、v b 、r a,1 、r a,2 、r b,1 、r b,2 、r q,1 、r q,2 All are positive random numbers; In step 7, when S B Receive C′ i , T′ a , T′ b After that, calculate and obtain Δ a , Δ b , Δ a represents the calculation result 1 of the user search process performed by cloud server B, and Δb represents the calculation result 2 of the user search process performed by cloud server B; in: Δ a =tr(C′ i ×T″ a )-(r i,1 r q,1 +r i,2 r q,2 ) Δ b =tr(C′ i ×T″ b )-(r i,1 r q,1 +r i,2 r q,2 ) tr() represents matrix trace operation; If Δ a >0 and Δ b <0, then it is considered that the perceived user u i Located at data requester u q Within the geographical scope of the query, S B Then u i Add the ID to the result list RS q Otherwise, it is considered that the perceived user u i Not in data requester u q Within the geographical scope of the query, S B Select another user's encrypted data and repeat step 7; After retrieving all the encrypted data, S B Get a list of all users within the data requester's query geographic range RS q , R iq Indicates that the data requester u is satisfied q Query the perceived user u in the geographic scope i The identification bit.
Citation Information
Patent Citations
Data ciphertext query method based on fine-grained sorting in multi-user environment
CN110222081A
Searchable encryption method for hiding search mode and access mode in e-commerce platform
CN112270006A