International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

CSEP: Circular Shifting Encryption Protocols for Location Protection

1 2 1 1 Chen Di , Zhao Binglin , Li Hao , Zhou Shilei

1 Luoyang Electronic Equipment Test Center of China, No.17 Zhou Shan Street Luoyang, 471003, China E-mail: [email protected], [email protected], [email protected] 2 State Key Laboratory of Mathematical Engineering and Advanced Computing, No.62 Science Avenue Zhengzhou, 450001, China E-mail: [email protected]

Abstract Location Based Service (LBS) is gaining popularity. As one fundamental LBS service, range search returns all Point of Interests (POIs) within a user-specified range. However, people leave their location privacy at risks when using range search. How to provide a high-quality range search service while protecting users’ location privacy is a challenging problem. Most existing approaches use space-filling curves and cloaked region method to provide privacy-preservation location services, but these methods cannot return the accurate results. In this paper, we propose a set of Circular Shifting Encryption Protocols (CSEP) based on homomorphism and circular shift for location privacy protection of range search. CSEP leverages homomorphism encryption to encrypt users’ locations, and LBS servers compute distances on cyphertext. In this way, LBS server can return POIs within the specified range, while learning nothing about the user’s real location. To accommodate the different query range and the private protection degree of users, we propose a circular shifting encryption method to reduce the redundancy and increase the degree of privacy protection. We implement a prototype of CSEP, and evaluate it with real POI set of a large-scale production LBS. Experimental results show that CSEP can provide reliable privacy protection and accurate range search, with reasonable compute overhead and communication overhead. Keywords: location based service; location privacy; range search; circular shifting encryption

1. Introduction Nearest neighbor search is one of the most basic services in LBS, and is the basis for other services such With the widespread use of mobile devices and GPS as route planning, proximate friends finding and so on. navigation, Location Based Services (LBS) are Range search is one of the most important modes of becoming indispensable in our daily life. Users can nearest neighbor search, which need to return very enjoy the convenience provided by LBS by submitting accurate results. The problem we are considering is to LBS queries. However, as the information about users provide a reliable location privacy preserving range accumulated on the untrusted LBS servers, user's search method that guarantees accurate results. location information is at risks. Once leaked, the location In recent years, many approaches have been data could reveal sensitive information of users, such as proposed. (1) Most existing approaches use spatial where they are at which time, what kind of queries they cloaking to hide the real location of a user 2-5. In these 1 submit, and what they are doing, etc. Thus, high approaches, an anonymization server transforms the attention should be paid to the location privacy issue. location of a user to a cloaked region, and sends this region to the LBS server. Then, the LBS server returns

Copyright © 2017, the Authors. Published by Atlantis Press. This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/). 123 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

all POIs within the proximity of the cloaked region. protection degree provided by CSEP. Section 6 However, as the LBS does not know the exact location evaluates CSEP with experiments and Section 7 of the user, it cannot return the exact POIs within say r concludes this paper. meters from the user. (2) Space transformation method converts the location information into another space 2. Preliminary representation6-7, which has a certain transformation relationship with the original one, such as Hilbert space This section first introduces a grid geospatial 6 7 filling curve and Moore curve . However, these space- representation used in CSEP. Then introduces Paillier filling curve methods cannot return the exact nearest homomorphic encryption for encryption distance neighbors and the result may generate serious deviation calculation and circular shifting. in some cases. (3) Cryptographic transformation6,8 methods provide privacy preserving by encryption, 2.1. Geospatial representation which can provide higher degree of location privacy In this paper, we adopt the traditional grid geospatial protection, but needs client to take part in the encrypted representation: Consider a two-dimensional geographic distance computing and cannot support multiple region, we split the region with 1 meter as a unit by neighbors query. latitude and longitude direction, respectively. We define In this paper, we propose Circular Shifting the square grid unit with latitude index Hi and longitude Encryption Protocols (CSEP) for location privacy index V as cell. preserving, which do not need a third-party server. j i j A POI can be represented by. Among them, POI is the index that can complements it with encryption method for improving INFO ID uniquely identify the POI. H is the latitude value, V is precision. There is no third party in CSEP and we do not the longitude value. POI is the type information of trust LBS server. To provide different privacy TYPE the POI (e.g. hotel, scenic site, petrol filling station, protection level, two protocols are designed in CSEP. shopping mall). POI is the associated POI Protocol 1 uses spatial cloaking method to hide user's INFO information This fine-grained partitioning method can exact location. Moreover, homomorphic encryption is identify POIs accurately, thus can complete the used during the interaction process in Protocol1 to avoid geospatial calculation with high precision. monitoring from adversaries. Protocol 2 is proposed based on Protocol 1 to provide higher degree of privacy 2.2. Paillier homomorphic encryption protection. Protocol 2 leverages circular shifting encryption for POIs in query results and corresponding Homomorphic Encryption (HE) allows direct addition POI information in LBS server. Thus Protocol 2 and multiplication on cyphertexts while preserving 9 decreases the redundancy of POI information during decrypt ability. We choose Paillier's system to provide transmission, and provides higher privacy protection homomorphic encryption of user's location which is degree as well. simple and efficient. Paillier’s cryptosystem is We make the following contributions in this paper: composed of three algorithms Key-Generate, Encrypt • We propose CSEP, a set of Circular Shifting and Decrypt. The Paillier's cryptosystem satisfies the Encryption Protocols to achieve reliable location following homomorphic properties: privacy preserving mechanism based on spatial ( ( ) ( ) ) = + cloaking and homomorphic encryption. ( ( ) ) =2 × • We implement a prototype of CSEP, and evaluate it 푟1 1 푟2 2 1 2 퐷 퐸 푚 ∙ 퐸 푚2푚 푚푚푚2 푛 푚 푚 using real POI dataset from the aspects of results For the퐷 sake퐸푟1 푚of1 simplicity,푚푚푚 푛 we use푚 1E(m)푚 2instead of accuracy, compute overhead and communication E(m,r) in the remaining paper. overhead etc. Before the implementation of CSEP, we generated

The rest of the paper is organized as follows: encryption key EKu = (n, g) and decryption key

Section 2 introduces some technical background of this DKu = (λ, μ) for Paillier’s cryptosystem on the client paper. Section 3 introduces the main idea of CSEP and side. The corresponding public key EKs and private key related definitions. Section 4 presents the design of two DKs are generated and assigned to the server by a protocols in CSEP. Section 5 analyzes the privacy certain public key cipher system.

124 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

3. CSEP: Main Idea and Definitions H

In this section, we introduce the main idea of CSEP and H4 definitions. CSEP is a location preserving method using H2 R2 a circular shifting encryption method. There are two R1 HQ r protocols in CSEP. Protocol1 combines spatial cloaking Q and homomorphism encryption to provide reliable H1 location privacy protection. Protocol2, which provides higher degree of privacy protection, uses a circular H3 shifting encryption method to reduce the redundancy of V3 V1 V2 V4 V

POI information by offsetting the POIID of the POI set VQ and corresponding POIINFO on the server side. Fig. 1. Query range and Cloaked region

3.1. Main Idea of CSEP POI information of the user will be better protected on CSEP consists of the client side U and the server side S, the client side using a circular shifting method, and the assuming the following conditions: transfer redundancy will be reduced as well. • U is credible. It will not disclose user’s location, its decryption key and other relevant information 3.2. Definitions initiatively; U has general computing ability to Definition 1: Query range R1. The circular range R1 complete encryption, decryption and other tasks. with the query point Q as the center, and the user- • S is not completely trustworthy. S has a strong specified query distance r as the radius is defined as computing ability, to complete database retrieval, homomorphic encryption and other tasks. The POI- Query range R1, as shown in Fig.1. table, which stores POI information, is maintained Definition 2: Candidate rectangleR2. The rectangle R2 in S and contains 5 attributes: , the meaning of each attribute is (V3, H3)) containing the query range R1, is defined as described in Section 2.1. Candidate rectangle R2, as shown in Fig.1. • Both U and S will follow the protocols. The main idea of CSEP is based on spatial 4. CSEP: Detailed Design of Protocols cloaking method, as shown in Fig.1. Suppose that user U takes the query point Q (HQ, VQ) as the center, and In this section, we introduce the detailed design of two queries all the POIs of type t in the range of r meters. protocols of CSEP. The detailed steps are as follows: First, U specifies a set of parameters to generate cloaked region rectangle R2 randomly. Secondly, S selects all the 4.1. Protocol 1 POIs that satisfy the query requirements according to Protocol 1 is a baseline protocol as a building block for the cloaked region R , calculates distances between 2 Protocol 2. The client-server interaction flow of POIs in the candidate POI and query point Q using Protocol 1 is shown in Fig.2. The detailed steps are as homomorphism encryption (on cyphertext), and sends follows: the encrypted distances and corresponding POI ① U: Determines the boundary of cloaked region information to U. Finally, U decrypts the cyphertext and rectangle R , and encrypts the query position Q. filters the POIs that meet the requirement. 2 According to the privacy protection requirements and the

In order to control the overhead of CSEP better, query range r, the client U randomly determines H4-H3 and meet the different privacy protection requirements and V4-V3, that is to generate the length and width of of users, CSEP provides an enhanced protocol. In the cloaked region R2. Then U randomly generates the enhanced protocol, indexes of POI result set calculated vertexes coordinates (H4, H3, V4 and V3) of R2.The client in the client side and POI table maintained in the server side U calculates (1) , ( + ) , ( ) , side are shifted, and the server S can return all the POI ( ) 2 2 , (1) , , then sends R2 (H4, H푄3, V4,푄 V3) 푄 information of the POIs that meet the restriction, ( + ) , 퐸( ) ,퐸 퐻( ) 푉 퐸 퐻 푄 and user-specified without knowing the result POI set. Query location and query퐸 푉 2POI type2 t to the server S together. 퐸 퐸 퐻푄 푉푄 퐸 퐻푄 퐸 푉푄

125 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

②S: Determines the candidate POI and performs the 4.2. Protocol 2 encryption distance calculation. In Protocol 1, the POI set returned to U by S is After receiving the boundary value of the cloaked region POI , E dist , POI , (1 i m) R2 and the queried POI type t, the server S retrieves for 2 U sorts forID the resultsi accordingINFO to the user-specified all the POIs whose belonging grids within or intersect � i � � i� ≤ ≤ query range. However, if the POIINFO of the with candidate rectangle R2, and sorts the POI set that Candidate_POI is intercepted by a third-party attacker satisfies (POITYPE=t) as the Candidate POI set during transmission, user’s location and query privacy (Candidate_POI). Suppose there are m POIs in will expose to the attacker. Moreover, when the user Candidate_POI, and the structure of each POI is. According to the received cloaked region will increase, so as the number of POIs in cyphertext (1) , ( + ) , ( ) , ( ) , S Candidate_POI. If the server sends all the POIINFO of calculates the square of 2the distances2 ( ) of each POIs in Candidate_POI, a lot of redundant information 퐸 퐸 퐻푄 푉푄 퐸 퐻푄 퐸 푉푄 POIi in Candidate_POI to the query point Q on will be introduced during the transmission. 퐸 �푑푑푑푖 cyphertext: On the basis of Protocol 1, we give another = + × × ( ) alternative. Using a circular shift encryption method to 2 2 2 −2퐻푖 −2푉푖 푖 ×푄 (1)푄 푄 shift indexes of POI result set calculated in the client 퐸��푑푑푑 � 퐸�퐻 푉 2� 2퐸�퐻 � 퐸 푉 = E + 2 퐻푖 +2푉푖 + + side and POI table maintained in the server side, the 퐸 = E( H 2 H 2 + V V ) 2 2 server S can return all the POI information of the POIs �퐻푄 푉푄 − 퐻푄퐻푖 − 푉푄푉푖 퐻푖 푉푖 � S sends 2 , 2 , , (1 that meet the restriction, without knowing the result POI � Q − i� � Q − i� )back to U. 2 set. 퐼퐼푖 푖 퐼퐼퐼퐼푖 ③U: Performs�푃푃푃 decryption퐸��푑푑푑 to obtain� 푃푃푃 the results� of≤ �the≤ The client-server interaction flow of Protocol2 is range푚 search query. shown in Fig.3, the detailed steps are as follows: U decrypts There are 6 steps in Protocol 2, the first 3 steps are in , , , (1 essentially the same as the previous steps in the protocol ), gets2 : 2 1, except in step 2: after the server S performs encryption 푖 퐼퐼푖 푖 퐼퐼퐼퐼푖 퐸��푑푑푑 =� �2푃푃푃 퐸��=푑푑푑 ( � 푃푃푃 ) +�( ≤ )� ≤ distance calculation, only sends 푖 ( ) 푚 2 �푑푑푑 = | 2 | 2 2 , , (1 ) to the user U which Obviously,푖 푖 is푄 the 푖squared 푄value푖 of �푑푑푑 퐷 �퐸�2�푑푑푑 �� 퐻 − 퐻 푉 − 푉 gets , , (1 ) after decryption and distance between POIi Candidate_POI2 and the query 퐼퐼푖 푖 �푑푑푑푖 푄 − 푝푖 �filtering.푃푃푃 퐸Then,�푑푑푑 the� server≤ �and≤ 푚 the client interact again point Q. If , POIi is the POI that U expected �푃푃푃퐼퐼푖 �푑푑푑푖� ≤ � ≤ 푚 2 2 ∈ through the following steps to return the POIINFO that to acquire. 푖 Thus, U� can푑푑푑 get≤ the푟 result set: satisfies the condition. , (1 , ) The time complexity of Protocol 1 is O(n). 2 2 퐼퐼푖 퐼퐼퐼퐼� 푖 �푃푃푃 푃푃푃 � ≤ � ≤ 푚 �푑푑푑 ≤ 푟 Client Server ① Boundary of R2, Encrypted ③ query point information, Queried Client Server Perform ② Determine POI type decryption to Candidate_ POI obtain the ① Boundary of R2 , Encrypted according to R2, to ②{POI , E(dist 2)}, result of the IDi i perform secret query point information, Queried ∈ ② range search (POIi Candidate_POI) distance calculation POI type Determine query from Candidate_POI Candidate_POI ⑤ ③ Perform according to R , to Generate encrypted 2 ④ Determin offset matrix according to ④ Shifted POIID’and decryption to perform secret the offset and offset vector; perform 2 encrypted offset vector obtain the ②{POIIDi, E(disti ),POIINFOi}, distance calculation generate the circular shifting of POIINFO to offset vector. ’ result of the (POIi∈Candidate_POI) generate POIINFO ;Return range search ⑥ Decrypt to the corresponding encrypted POI according query from acquire the POIINFO ⑤{POI ’}(i∈POI ’) INFO INFOi ID ’ Candidate_POI corresponding to to the shifted POIID the POI result set.

Fig. 2. Interaction of Protocol 1 Fig. 3. Interaction of Protocol 2

126 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

④U: Determine the offset and generate the offset ⑥U: Decrypts to acquire the POIINFO corresponding vector. to the POI result set. a. U generates an offset s, an offset vector P[1×m]. The indexes that corresponding to the result POIs The sth element in P is 1, and the other elements are can be obtained by decrypting the set ( 0. ) on the client s ide. ′ 퐼퐼퐼퐼푖 b. U selects m random numbers { , , , , } to The time complexity of circular shifted�푃푃푃 encryption� � ∈ 푇 complete encryption of each 0element1 2 in푚 −offset1 algorithm in Protocol 2 is O(n). In order to better vector P to generate a 1×m encrypted푟 푟 푟 offset⋯ 푟 vector illustrate the interaction progress in Protocol 2, a simple E(P). example is given below: ( ) = [E (0) E (0) E (1) … E (0)] Example: S generates a candidate POI set c. According퐸 푃 to the result POI set (1 Candidate_POI according to the boundary of candidate r0 r1 ⋯ rs−1 rm−1 , ) , U generates a new set = rectangle R2, the encrypted query point location 퐼퐼푖 (1 , )�푃푃푃 � ≤ � =≤ 푖 , information and the query POI type. Then S sends the 푚 �푑푑푑 ≤ 푟 ′ 푇 + mod . candidate POIID and the encrypted distances to U. 퐼퐼푖 푖 퐼퐼� d. U� 푃푃푃sends ′�the ≤encrypted� ≤ 푚 � 푑푑푑offset≤ vector푟 E(P)푃푃푃 and the _ = [ ] 퐼퐼푖 indexes�푃푃푃 of POIs� �in T corresponding푚 with those in result U filters Candidate_POI to derive POI indexes of the 푃0 푃1 푃2 3 4 POI set. result set:퐶𝐶𝐶𝐶� 퐶 푃푃푃 푃 푃

⑤S: Circular shifted encryption of POIINFO Result POIID = {P1, P2,P3} After receiving the encrypted offset vector E(P) generates offset vector P (offset s = 3): and the set T, S first generates an m×m offset matrix M: P = [0, 0, 1, 0, 0] E (0) E (0) E (1) E (0) encrypts the offset vector: E (0) E (0) E (1) E (0) ( ) = [E (0) E (0) E (1) E (0) E (0)] M = r0 r1 ⋯ rs−1 ⋯ rm−1 The set of POI indexes of offset candidate POI set: rEm−(10) E r(00) ⋯E rs−1(1) ⋯ Erm−(20) r0 r1 r2 r3 r4 � � 퐸 푃 = [ ] ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ S treatsr1 the POIr2 INFO columnrs− 1in table Candidat_POIr0 ⋯ ⋯ The corresponding indexes3 4of result0 1 POI2 in the shifted T: as a m×1 vector: 푇 푃 푃 푃 푃 푃 Result POIID’= {P4, P0, P1} = [ ] S generates an offset matrix M according to the received The offset matrix M is used to make the휏 circular 푃푃푃퐼퐼퐼퐼 �0 �1 ⋯ �푠−푙 ⋯ �푚−푙 encrypted offset vector: shifted encryption for the vector POIINFO, the shifted E (0) E (0) E (1)E (0) E (0) vector is denoted as POIINFO’: Er0(0) Er1(0) Er2(0)Er3 (1) Er4(0) = M = ⎡E 4 (0) E 0 (0) E 1 (0)E (0) E 3(1)⎤ ′ E (0) × × E (1) × E (0) r r r r2 r 퐼퐼퐼퐼 퐼퐼퐼퐼 ⎢E (1) E (0) E (0)E (0) E (0)⎥ 푃푃푃 E (푀0퐼0)∗ 푃푃푃× × E (1)퐼푠−1 × E (0)퐼푚−1 ⎢ r3 r4 r0 r1 r2 ⎥ = r0 ⋯ rs−1 ⋯ rm−1 E (0) E (1) E (0)E (0) E (0) ⎡ 퐼0 퐼푠 퐼푚−1 ⎤ ⎢ r2 r3 r4 r0 r1 ⎥ rm−1 rs−1 rm−1 ⎢ ⎥ E (0) × ×⋯E (1) ×⋯ E (0) The server multipliesr1 r2 M with rthe3 storedr4 candidater0 POI ⎢ ⎥ ⎣ ⎦ The⎢ operator퐼0 “*” represents⋯ ⋯퐼푠+⋯푚 −2the Paillier matrix퐼푚−1⎥ set: r1 ⋯ rs−1 ⋯ rm−1 = multiplication.⎣ Since r is generated randomly, when ⎦ E′ (0) × E (0) × E (1) × E (0) × E (1) , ( ) ( ),( = 0 or = 1).Therefore, it is 퐼퐼퐼퐼 퐼퐼퐼퐼 푃푃푃 퐼0푀 ∗ 푃푃푃 퐼1 퐼2 퐼3 퐼4 푘 ≠ Er0(0) × Er1(0) × Er2(0) × Er3(1) × Er4 (0) very difficult푘 to푙 get the offset s. Moreover, POIID in set 푙 퐸 푎 ≠ 퐸 푎 푎 푎 ⎡ 퐼0 퐼1 퐼2 퐼3 퐼4⎤ T have been shifted, so S can not get the results = Er4(0) × Er0(0) × Er1(0) × Er2(0) × Er3 (1) ⎢ ⎥ calculated in U, and get the corresponding POI ’ in E (1)퐼0 × E (0)퐼1 × E (1)퐼2 × E (0)퐼3 × E (0)퐼4 INFO ⎢ r3 r4 r0 r1 r2 ⎥ 퐼0 퐼1 퐼2 퐼3 퐼4 the result POI set according to the shifted indexes in T. ⎢Er2(0) × Er3(1) × Er4(0) × Er0(0) × Er1 (0) ⎥ The ith element in vector POIINFO’ is denoted as ⎢ 퐼0 퐼1 퐼2 퐼3 퐼4⎥ r1 r2 r3 r4 r0 (1 i m).S sends the set ( ⎣ According to the shifted Result POIID from U, the ⎦ ) back′ to U. ′ number 0, 1 and 4 elements corresponding to POI’INFO 퐼퐼퐼퐼푖 퐼퐼퐼퐼푖 푃푃푃 ≤ ≤ �푃푃푃 � � ∈ are extracted and sent to U. U performs decryption 푇 according to the corresponding random number, and

127 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

finally obtains the corresponding POIINFO of the result user only sends a cloak region instead of query point, set {P1, P2,P3}. which can be an arbitrary point to the server. Assuming that the protocol is open, that is, the attacker knows the In practice, the two protocols can be combined into rules of the agreement and gets to know the cloaked an adaptive protocol, according to the data size of the region, can only guess the possible location of the query POI information to select different protocol branches, in point in the rectangular area shown in Fig.1. The area of order to achieve a balance in performance and the the grid is S0, the area of the candidate rectangle R2 is privacy protection degree. SR2. The successful probability of the attacker is: CSEP has the following major advantages over r(D, K) = ( ) = existing methods: 0 푟 푘 푆 1 • High precision of returned results. As the LBS 푃 퐷 = 푅2 푆( 2 ) × ( 2 ) server calculates the distances from candidate POIs Consequently, we can achieve custom settings for from user's location, the user can filter out POIs for 퐻4 − 퐻3 − 푟 푉4 − 푉3 − 푟 exact results, without distance calculation. user’s privacy requirements by controlling the size of • Location privacy protection. LBS operates on the cloaked rectangle, which varies as independent cyphertext of user's location when calculating variables in our experiment. distances, and indexes corresponding to POI have been shifted. Thus, CSEP is provable secure. 6. Evaluation

5. Privacy Analysis In this section, we evaluate CSEP with experimental results, based on real data from a large-scale production In this section, we analyze privacy metric of CSEP. LBS. The metrics we considered include result precision, Privacy protection degree of CSEP is controlled by response time and communication overhead. client side, and performs as a controllable variable in experiments. 6.1. Setup Location privacy metrics can be measured by In the experiment, we have two physical hosts, one as disclosure risks to the adversary. Disclosure risk the client and one as the server. The server is configured represents the probability that an attacker may know with Intel i7 CPU (3.40GHz) and 16GB DDR3 memory, about the user’s location and other sensitive information running Windows 8 64bit OS. The client is configured according to the public information and other with Intel i5 CPU (3.1GHz) and 4GB DDR3 memory, background knowledge. Typically, the more also running Windows 8 64bit OS. The length of background knowledge about the public information, Paillier’s public key is 128 bits; Our test data set was the greater the risk of disclosure. We use D to denote collected from a large scale production LBS (from May public information, Dk to denote disclosing D using to August 2015, containing 3,241,177 entries from more background knowledges K, so r(D, K) represents as than 2,529,445 users). r(D, K) = Pr(Dk). In CSEP, both protocols using homomorphic 6.2. Precision of results encryption can provide reliable privacy protection The standard to measure precision is whether the against ciphertext-only attack, since all information returned POI set contains all POIs within the query obtained by third-party attackers are ciphertext. Protocol range. Spatial cloaking method [2–5] uses cloaking region 2 provides higher degree of privacy protection, uses a as input to request LBS to get approximate nearest circular shifting encryption method. Attackers can neighbors (approximate NN for short), which cannot hardly acquire valid location information unless crack guarantee the accuracy of the results. The size of Parllier’s system, that is to crack homomorphic cloaking region influences the returned approximate encryption scheme and RSA scheme as well, which is nearest results to a large extent. In CSEP, candidate hard to achieve. POIs are generated only according to cloak region by Even the attacker cracks Parller’s system, or gets the the server, just similar with other approximate NN key by some special methods, his probability of getting method, so we regard candidate POI results as reference the exact location of the user is still small. Since the object for the final results.

128 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

than 10ms, which follows the similar positive correlation between query range and response time. Since more POIs need to be calculated and searched as the size of query range becomes larger.

The response time of different cloak regions R2 is shown in Fig. 6, where we fix the query range as 1000m, 2 2 and vary the area of R2 from 4 × 10 m to 1 × 10 m . Fig. 6(a) shows the comparison of response4 time on5 the (a) (b) server side between Protocol 1 and Protocol 2. As the 2 2 Fig. 4. Comparison between CSEP results and candidate area of R2 increases from 4 × 10 m to 1 × 10 m , the results.(a) Average distance to query location; (b) CDF of response time of Protocol 1 increases4 from 315ms5 to distance to query location 643ms and the response time of Protocol 2 increases from 365ms to 812ms. On the client side, as shown in We set query range as 500m and vary the area of Fig. 6(b), computational overhead of both protocols is 4 × 10 2 1 × 10 2 candidate rectangle R2from m to m , less than 10ms, which follows the same positive 4 5 analyze cumulated distribution and calculate the average correlation between query range and the response time of distance between user’s query point Q and each POI with the server side. Since when cloaked region in the results. As shown in Fig. 4, the average distances becomes larger, more POIs are appended into candidate between Q and each POI in CSEP results remain 316m as the area of R2 grows according to Fig. 4(a), all of results are within 500m query range according to Fig. 4(b). In Fig. 4(a), average distances between Q and each POI in candidate results increases from 357m to 562m 2 as the area of R2 increases from 4 × 10 m to 1 × 10 m2, and distributed broader as shown in Fig.4 4(b). The5 result generated according to cloak region always contains redundant POIs outside the query range, and the scope of results becomes broader as the cloak region grows. However, the change of cloak region cannot influence the results of CSEP, since the result set are selected as all POIs within query range in CSEP, which (a) (b) does not contain any omissions and outliers. Fig. 5. The server- and client-side response time, variable query range, S = 4 × 10 m2 (a) Server; (b) Client. 6.3. Response Time R2 4 We evaluate the response time of 2 protocols for CSEP in this subsection, and study the correlation between computational overhead and two adjustable variables, the size of candidate rectangle and query range. The response time for different query ranges is shown in Fig. 5, where we fix the area of rectangle R2 as 4 × 10 m2, and vary the query range from 100m to 1000m.4 Fig. 5(a) shows the comparison of response time on the server side between protocol 1 and protocol 2. As the radius of query range increases from 100m to 1000m, response time of protocol 1 increases from 242ms to 283ms and response time of protocol 2 increases from (a) (b) 268ms to 298ms. On the client side, as shown in Fig. 5(b), computational overhead of both protocols is less Fig. 6. The server- and client-side processing time, variable cloaking region, r = 1000. (a) Server; (b) Client.

129 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

POI set, and more distance calculation operations need overhead of the two protocols are in millisecond level to be handled consequently. As another encryption and on a commodity server, and their communication decryption operation is carried out in Protocol 2, the overhead are around 2 KB, for queried range 1000m and cost of computing of Protocol 2 is greater than Protocol cloaking size 6 × 10 m2. 1. (2) The overhead4 of both protocols increases for larger queried range and cloaking size, echoing a natural 6.4. Communication Overhead tradeoff between performance and privacy. In this subsection, we evaluate the communication (3) Since Protocol 2 performs the encryption and overhead incurred by our two protocols, in terms of decryption for 2 times when filtering the POI bytes transmitted per query. The mainly communication information in the result set, the computational cost of overhead in a query using Protocol 1 consists of Protocol 2 is slightly larger than that of Protocol 1. , , in candidate POI set. In However, Protocol 2 does not need to transmit Protocol 2, 2 , ( ) in candidate POI set and redundant POI information during interaction, thus the 퐼퐼푖 푖 퐼퐼퐼퐼푖 �the푃푃푃 result퐸� �set푑푑푑 � 푃푃푃 (� ) selected from the communication cost of Protocol 2 is less than that of �푃푃푃퐼퐼푖 퐸 �푑푑푑푖 � Protocol 2. Moreover, Protocol 2 can provide higher circular shifted matri′ x POIINFO’ compose the 퐼퐼퐼퐼푖 communication overhead�푃푃푃 � per� ∈ query.푇 First, we fix the degree of privacy protection. area of rectangle cloaking region as 6 × 10 m2, and vary the length of queried range. As shown in4 Fig.7(a), 7. Related Work that both protocols have a larger communication The widespread adoption of location-based services overhead when the length of queried range increases. (LBS) raises increasing concern about location privacy. Since Protocol 2 do not need to transmit redundant A lot of techniques are proposed to prevent personal candidate POI information, only need to return location data from being exposed and misused. encrypted POI information of the result set, the Existing approaches for user query anonymization in communication cost of Protocol 2 is less than that of LBS can be roughly grouped into the following five Protocol 1. Then, we fix the query range as 1000m, and classes: (1) Cloaking2–5, 11-13, (2) Obfuscation14, 15 (3) vary the area of cloaked region. Fig. 7(b) shows that False Locations4, 23 (4) Space Transformation6-7, and (5) both protocols have a larger communication overhead Dummies16-18. when the length of queried range increases, and still Protocol 2 has a smaller bandwidth. 7.1. Cloaking User’s query is regarded as the nearest-neighbor (NN) 6.5. Summary search problem. The cloaking approach was aimed to From the experimental results above, we conclude that: provide location k-anonymity19, a variant of classic k- (1) The results contain all POIs within query range, anonymity20. It requires that any query sent by a user without any outlier and omission. The computation can not be distinguishable from another (at least) k−1

users. Sadikin10 provides a pruning rules for searching the result of a NN query. Nearest neighbor relation can also be used for dimension reduction of data21. Cloaking has two different flavors, namely spatial cloaking and temporal cloaking. In spatial cloaking, when a user sends her location query, an anonymizaion server replaces the location by a cloaked region enclosing the user and another k−1 users; In temporal cloaking, the anonymization server deliberately delays a user’s query for a specific period so that at least k −1 users have 11 (a) (b) visited the cloaked region. Later, Casper and CliqueCloak22 were proposed, and they enabled users to Fig. 7. Communication overhead of baseline and enhanced personalize their requirements on location precision and protocol. (a) Communication overhead, variable query 2 query delay. range,. SR2= 6 × 10 m ; (b) Communication overhead, variable cloaking region4 size, r = 1000m.

130 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

A problem with cloaking is that users must trust a 7.4. Space Transformation centralized anonymizer. To address this issue, some In space transformation approaches, users transform the 12-13 P2P-based cloaking approaches are proposed. original space into another encoded one, and constructs However, just as the centralized cloaking approaches, queries in the encoded space. Then, the location server P2P-based cloaking still faces the following problem: evaluate k-Nearest Neighbours (KNN) in encoded space, most LBS Apps expect users to provide exact locations, and the user decodes to obtain the locations of KNN in while few of them (if any) accept inputs of “cloaked the original space. For example, Khoshgozaran and regions”. This would greatly prevent the adoption of Shahabi7 used Hilbert space filling as the one-way cloaking techniques on mobile devices. transform function. Ghinita et al.6 proposed another approach based on Private Information Retrieval (PIR). 7.2. Obfuscation PIR allows a user to retrieve a piece of information Ardagna et.al.15 proposed obfuscation operators to without revealing which one she has requested. The transform locations into circular areas, so that LBS authors applied PIR on top of Hilbert space fill for cannot identify the exact location of a user is. The approximate KNN, and Voronoi diagram space obfuscation operators include “Enlarge”/“Reduce” the representation for exact KNN. As noted above, space radius of the circle, and “Shift” the center of the circle. transformation approaches are power tools for location In contrast to the above obfuscation which are query anonymization, but are only limited in performed on the Cartesian plane, Duckham et.al.14 functionalities, as it only provides KNN querying studied the obfuscation of road networks, where services. locations are modeled as vertices, and proximity of location are modeled as edges. Just as the cloaking 7.5. Dummies approaches, obfuscation also assumes that LBS can Sending a true location query with indistinguishable process the input of areas or regions, which is not the dummies is a natural way to provide location privacy17. case for real LBS Apps. Lee et.al.16 proposed to use dummy locations to hide the real navigational queries. In their approach, a user 7.3. False Locations querying a route from s to t sends two sets S and T This approach sends false locations (in contrast to real satisfying s∈S and t∈T to the LBS. The LBS returns the location where the user is) to the LBS, and then tries to route for every pair of start s’∈S and destination t’∈ T. construct the right answer based on the results returned In SybilQuery18, each time a user sends a location-based by LBS4, 16. In SpaceTwist 4, users first sends a false query, k−1 dummy queries are sent as cover. These location (termed as “anchor”) and a value for distance. dummy queries are constructed in the following steps: LBS returns all POIs within the distance from the (1) the user specifies her start and destination before trip; anchor. Based on the results, the user then increases the (2) an endpoint generator consults a database recoding distance and requests the server again. The process the history of regional traffics, and generates k −1 continues until the exact result (the nearest POI) is synthetic endpoints; (3) an path generator consults obtained. Similarly, Cover Location23 also enables a publicly available navigational systems for a sequence user to retrieve all nearby POIs without revealing her of waypoints; (4) when the user needs to query the LBS, true location. The idea of Cover Location is that the user the query generator simulates the k−1 synthetic paths sends some fake locations near the real location to the and generates k−1 dummy locations for query. LBS, which returns all POIs within the circular areas This paper only discussed a small subset of these centered at these location. Then the user’s device techniques due to limited space. Interested readers can processes these POIs locally to construct the nearby refer to Wernke’s survey24 for a broader coverage. POIs corresponding to the real location. The above false location approaches can be made transparent to LBS, 8. Conclusions thereby integrated with existing LBS Apps. However, to construct the true results, users often need to In this paper, we propose Circular Shifting continuously interact with or send multiple queries to Encryption Protocol (CSEP) based on homomorphic location servers, thus resulting in a large latency. encryption and spatial cloaking for location privacy

131 International Journal of Networked and Distributed Computing, Vol. 5, No. 3 (July 2017) 123–132 ______

preserving, which can protect the privacy of users’ 10. Sadikin M F, Kyas M. Efficient Security and Privacy location in the query process under the premise of Protection for Emerging Smart RFID Communications[J]. International Journal of Networked ensuring the accuracy of results. CSEP can guarantee & Distributed Computing, 2014, 2(3):156. the accuracy of the results, provide strict privacy 11. Mokbel M F, Chow C Y, Aref W G. The new Casper: protection via encryption method, and also reduce the query processing for location services without transmission redundancy with a circular shifting compromising privacy[C]// International Conference on encryption method and improve the privacy protection Very Large Data Bases, Seoul, Korea, September. DBLP, degree at the same time. Experimental results show that 2006:763-774. 12. G. Ghinita, P. Kalnis, and S. Skiadopoulos, “Mobihide: a CSEP can provide both privacy protection and the mobilea peerto-peer system for anonymous location- accuracy of results under reasonable computational and based queries,” in Advances in Spatial and Temporal communication overheads. In the future, we will further Databases, 2007. improve the performance and scalability of CSEP to 13. Chow C Yet.al, “Spatial cloaking for anonymous support large-scale user queries. location-based services in mobile peer-to-peer environments,” GeoInformatica,vol. 15, no. 2, pp. 351– 380, 2011. References 14. Duckham M, Kulik L. A Formal Model of Obfuscation and Negotiation for Location Privacy[J]. Lecture Notes in 1. S.B.Wicker,“The loss of location privacy in the Computer Science, 2005, 3468:152-170. cellularage,”Commun.ACM, vol. 55, no. 8, pp. 60–68, 15. C. A. Ardagna, M. Cremonini, E. Damiani, S. D. C. Di Aug.2012.[Online].Available:http://doi.acm.org/10.1145/ Vimercati, and P. Samarati, “Location privacy protection 2240236.2240255 through obfuscation-based techniques,” in Data and 2. Niu B, Li Q, Zhu X, et al. Achieving k- in Applications Security XXI, 2007. privacy-aware location-based services[C]// IEEE 16. K. C. Lee, W.-C. Lee, H. V. Leong, and B. Zheng, INFOCOM 2014 - IEEE Conference on Computer “Navigational path privacy protection: navigational path Communications. IEEE, 2014:754-762. privacy protection,” in CIKM, 2009. 3. Zhangwei H, Mingjun X. A Distributed Spatial Cloaking 17. H. Kido, Y. Yanagisawa, and T. Satoh, “An anonymous Protocol for Location Privacy[C]// Second International communication technique using dummies for location- Conference on Networks Security based services,” in International Conference on Pervasive Communications and Trusted Computing. IEEE, Services, 2005. 2010:468-471. 18. P. Shankar et.al, “Privately querying location based 4. M. L. Yiu, C. S. Jensen, X. Huang, and H. Lu, services with sybilquery,” in International Conference on “Spacetwist: Managing the trade-offs among location , 2009. privacy, query performance, and query accuracy in 19. M. Gruteser and D. Grunwald, “Anonymous usage of mobile services,” in ICDE, 2008. location-based services through spatial and temporal 5. Bamba B, Liu L, Pesti P, et al. Supporting Anonymous cloaking,” in MobiSys, 2003. Location Queries in Mobile Environments with 20. L. Sweeney, “k-anonymity: A model for protecting PrivacyGrid[C]// International Conference on World privacy,” International Journal of Uncertainty, Fuzziness Wide Web. ACM, 2008:237-246. and Knowledge-Based Systems, vol. 10, no. 05, pp. 557– 6. G.Ghinita, P.Kalnis, A.Khoshgozaran, C.Shahabi, and 570, 2002. K.-L.Tan, “Private queries in location based services: 21. Ishii N, Torii I, Nakashima T, et al. Generation and anonymizers are not necessary.” In International Mapping of Multi-Reducts Based on Nearest Neighbor Comference on Management of Data, 2008 Relation[J].International Journal of Networked & 7. A. Khoshgozaran and C. Shahabi, “Blind evaluation of Distributed Computing, 2014, 2(1):1-10. nearest neighbor queries using space transformation to 22. B. Gedik and L. Liu, “Protecting location privacy with preserve location privacy,” in Advances in Spatial and personalized kanonymity: Architecture and algorithms,” Temporal Databases, 2007. IEEE Transactions on , vol. 7, no. 1, 8. Ghinita G. Private Queries and Trajectory pp. 1–18, 2008. Anonymization: a Dual Perspective on Location 23. S. T. Peddinti, et.al., “Cover locations: availing location- Privacy[J]. Transactions on Data Privacy, 2009, 2(1):3- based services without revealing the location,” in WPES, 19. 2011. 9. P. Paillier, “Public-key cryptosystems based on 24. M. Wernke, et.al., “A classification of location privacy composite degree residuosity classes,” in Advances in attacks and approaches,” Personal and Ubiquitous Cryptology EUROCRYPT 99, ser. Lecture Notes in Computing, vol. 18, no. 1, pp. 163–175, 2014. Computer Science, J. Stern, Ed. Springer Berlin Heidelberg, 1999, vol. 1592, pp.

132