Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2016 Nov 25;16(12):1993. doi: 10.3390/s16121993

Privacy-Preserving Location-Based Service Scheme for Mobile Sensing Data

Qingqing Xie 1,‡,§, Liangmin Wang 2,*,§
Editor: Leonhard M Reindl
PMCID: PMC5190974  PMID: 27897984

Abstract

With the wide use of mobile sensing application, more and more location-embedded data are collected and stored in mobile clouds, such as iCloud, Samsung cloud, etc. Using these data, the cloud service provider (CSP) can provide location-based service (LBS) for users. However, the mobile cloud is untrustworthy. The privacy concerns force the sensitive locations to be stored on the mobile cloud in an encrypted form. However, this brings a great challenge to utilize these data to provide efficient LBS. To solve this problem, we propose a privacy-preserving LBS scheme for mobile sensing data, based on the RSA (for Rivest, Shamir and Adleman) algorithm and ciphertext policy attribute-based encryption (CP-ABE) scheme. The mobile cloud can perform location distance computing and comparison efficiently for authorized users, without location privacy leakage. In the end, theoretical security analysis and experimental evaluation demonstrate that our scheme is secure against the chosen plaintext attack (CPA) and efficient enough for practical applications in terms of user side computation overhead.

Keywords: mobile sensing, mobile cloud, location-based service, privacy preservation

1. Introduction

Recently, mobile sensing devices have been widely used in data sensing [1,2], including location data [3,4]. For example, when a person takes photos by a smart phone, the equipped location sensor (GPS modules) can always acquire the locations where the photos are taken [5]. Additionally, the locations are embedded into the photos for remembrance. Then, these location-embedded data will be published in the mobile cloud automatically [1,2,6], such as iCloud, Samsung cloud, etc. These location-embedded data bring great convenience for cloud service providers (CSP) to provide location-based services (LBS) for users [3,7].

However, the mobile cloud is untrustworthy. Additionally, the location itself contains much personal information [8,9,10]. CSP is curious to infer and analyze location data to harvest additional information to gain illegal profits. Thus, the publisher (i.e., data owner) requires a solution that can protect location privacy from unauthorized users and CSP. As shown in Figure 1, Alice takes some food photos by iPhone, and the photos are embedded with location information. She stores them in iCloud and shares them with her friends. Since the location where the photos are taken is her home, she hopes that the embedded location is visible only to her friends, while invisible to strangers.

Figure 1.

Figure 1

An example in which Alice shares location-embedded data with her friends.

A naive solution is to store the location data on the mobile cloud in an encrypted format. To achieve secure sharing on encrypted data, some researchers have studied the attribute-based encryption (ABE) scheme [4,11,12,13,14]. In this scheme, the publisher encrypts the confidential location information using a symmetric encryption scheme (AES or DES) and defines the access policies, then uploads the encrypted location and access polices into the cloud for storage. Only authorized queriers (whose attributes satisfy the access policies) can read the location data. During the whole procedure, the cloud undertakes only storage overhead. However, in LBS, the queriers also require the CSP to provide the services of location distance compute and compare. By applying ABE directly, the authorized queriers cannot process the location until downloading and decrypting the encrypted location data. It takes the queriers too much local storage and computation cost, which is unacceptable considering the weak power of smart phones.

To support functional processing over encrypted data, homomorphic encryption (HE) [15,16,17,18] was proposed. Xie and Wang [4] applied the RSA (for Rivest, Shamir and Adleman) algorithm to achieve computational functions on encrypted location data. In addition, Paillier’s cryptosystem [19,20,21,22,23] is widely used as HE, due to its high efficiency and simplicity. It involves only one multiplication for each homomorphic addition and one exponentiation for each homomorphic multiplication. Li and Jung [5] combined the ciphertext-policy attribute-based encryption (CP-ABE) with Paillier’s cryptosystem to exert fine-grained access control over LBS. One cannot gain any information from the query if his/her identity attributes do not satisfy the access policy defined by the data publisher. In addition, the location distance computed over encrypted location is supported. However, the publisher must stay online to interact with queriers once requested. This is not practical, considering the limited power of smart phone.

To overcome the above problems, we propose a privacy-preserving LBS scheme for mobile sensing data. Here, a new encryption method on the basis of the RSA algorithm (The RSA algorithm is a commonly adopted public key cryptography algorithm. It is named after the three mathematicians who developed it: Rivest, Shamir and Adleman. The security of this encryption algorithm is based on the hardness of the factoring problem. We will present this algorithm in Section 3.2.) and CP-ABE scheme is designed. Our proposed scheme has two advantages as follows:

  • Secure sharing over location information with certain queriers. Our scheme achieves that location information is visible to specific queriers, while kept secret from others.

  • Efficient and privacy-preserving location distance compute and compare. The location distance compute and compare are two of the most common functions in LBQ, i.e., what is the distance between the publisher’s and querier’s locations, or whether the distance is less than 100 m. Compared with the privacy-preserving location query protocol (PLQP) scheme [5], we make better use of the powerful energy in the mobile cloud, by the mobile cloud undertaking most of the computing overhead, such that the computation cost at the querier is very low.

The main contributions of our paper are outlined as follows:

  1. A novel mobile sensing service system is constructed for privacy-preserving LBS.

  2. This paper designs a novel encryption method on the basis of the RSA algorithm and CP-ABE scheme, so that the mobile cloud can process LBS over encrypted location information and only authorized queriers can get the query results.

The rest of this paper is organized as follows. Section 2 discusses the related work. Section 3 presents some preliminaries. Section 4 describes our system models. Section 5 gives the detailed design of our privacy-preserving LBS scheme for mobile sensing data. Section 6 analyzes the security of our proposed scheme. Section 7 shows the performance evaluation by experiments. Finally, Section 8 concludes this paper.

2. Related Work

Our paper designs a privacy-preserving LBS scheme for mobile sensing data. The related work mainly includes two aspects, i.e., privacy-preserving LBS and the access control technique.

2.1. Privacy-Preserving LBS

The k-anonymity technique has been widely used to achieve user location privacy in LBS. The basic idea is to remove some features, such that each item is not distinguishable among other k1 items. It can ensure that a user can be identified with a probability of at most 1/k.

Kido et al. [24] proposed an anonymous communication technique for LBS to protect location privacy using dummies. Duckham and Kulik [25] presented a privacy-preserving location query algorithm by using the obfuscation method and vague location information of the user. Chow et al. [26] proposed a distributed k-anonymity model and a peer-to-peer spatial cloaking algorithm for the anonymous location-based services. Mokbel [27] proposed a location-obfuscation method that allows the server to record the real identifier of the user, but decreases the precision of the location information to protect the location privacy. Bamba et al. [28] proposed fast and effective location cloaking algorithms for location k-anonymity and location l-diversity in a mobile environment. Gedik and Liu [29] applied the personalized k-anonymity model to protect the location privacy of the user. Shankar et al. [30] proposed a fully-decentralized and autonomous k-anonymity-based system for location-based queries. Xue et al. [31] introduced the concept of location diversity, which improves spatial k-anonymity by ensuring that each query can be associated with at least l different semantic locations.

All of the above solutions can be applied to LBS. However, their techniques do not allow the cloud to search encrypted data. Therefore, they cannot be used for outsourced LBS where LBS data in the cloud are encrypted.

Li and Jung [5] designed a suite of fine-grained privacy-preserving location query protocols (PLQP) by applying Paillier’s cryptosystem [32,33]. It can solve the privacy issues in existing LBS applications. However, once there is an LBS request, the PLQP needs very frequent interaction between the publisher and the querier and much computation cost. In mobile sensing service systems, most queriers access the social networks via smart phones. The smart phones have weak power. Hence, it is unacceptable for the publishers to stay online always.

Shao, Lu and Lin [8] proposed a FINEframework based on the CP-ABE scheme. In this framework, LBS data are outsourced to a cloud server after encryption. Although the framework can ensure the confidentiality of LBS data, their search patterns will lead to the leakage of user location privacy, because their trapdoors generated from the locations are steady, which means trapdoors are always the same for the same location. It is easy for an attacker to count the frequency of a specific trapdoor and identify the known locations. In addition, this method is not efficient due to the low efficiency of the public encryption.

2.2. Access Control

Recently, the ABE scheme has been widely used to exert access control for LBS in the mobile cloud. Li and Jung [5] introduced CP-ABE to exert fine-grained access control over the location queries. One cannot gain any information from the query if his/her identity attributes do not satisfy the access policy defined by the data publisher. Shao, Lu and Lin [8] also employed CP-ABE in designing their FINE framework to achieve fine-grained access control over location-based service data.

The ABE scheme enables fine-grained access control over encrypted data using access policies and associates attributes with private keys and ciphertexts [34,35,36,37]. It was first proposed by Sahai and Waters [38], later extended to the key-policy ABE (KP-ABE) by Goyal et al. [39] and the CP-ABE by Bethencourt et al. [40]. In KP-ABE, the ciphertext is associated with an attribute set, and the user secret key is associated with an access policy over attributes. The user can decrypt the ciphertext if and only if the attribute set of the ciphertext satisfies the access policy specified in his/her secret key. The encryptor exerts no control over who has access to the data that he/she encrypts. In CP-ABE, the ciphertext is associated with an access policy over attributes, and the user secret key is associated with an attribute set. The user can decrypt the ciphertext if and only if the attribute set of his/her secret key satisfies the access policy specified in the ciphertext. The encryptor is able to decide who should or should not have access to the data that he/she encrypts. In our system model, CP-ABE is more suitable than KP-ABE because it enables the data publishers to determine an access policy over the outsourced location data, as studied by Li and Jung in [5].

3. Preliminaries

This section briefly describes some preliminaries used in our work, including the bilinear map, the RSA algorithm, CP-ABE and the access tree.

3.1. Bilinear Map

Let G0 be a multiplicative cyclic group of prime order p and g0 be its generator. The bilinear map e is defined as: e:G0×G0GT, where GT is the codomain of e. The bilinear map e has the following properties:

  • Bilinearity: u,vG0 and a,bZp, eua,vb=eu,vab

  • Symmetry: u,vG0, eu,v=ev,u.

  • Non-degeneracy: eg0,g01.

Definition 1

(discrete logarithm assumption). The discrete logarithm assumption in group G0 of prime order p with generator g0 is defined as follows: for any probabilistic polynomial-time (PPT) algorithm A, the probability that PrAg0,g0a=a is negligible, where g0,g0aG0, and aZp.

Definition 2

(decisional Diffie–Hellman (DDH) problem). The decisional Diffie–Hellman (DDH) problem in group G0 of prime order p with generator g0 is defined as follows: on input g0,g0a,g0b,g0c=g0abG0, where a,b,cZp, decide whether c=ab or c is a random element.

Definition 3

(decisional bilinear Diffie–Hellman (DBDH) problem). The decisional bilinear Diffie–Hellman (DBDH) problem in group G0 of prime order p with generator g0 is defined as follows: on input g0,g0a,g0b,g0c=g0abG0 and eg0,g0z=eg0,g0abcGT, where a,b,cZp, decide whether z=abc or z is a random element.

The security of many ABE schemes relies on the discrete logarithm assumption. The research also assumes that no PPT algorithm can solve the DDH and DBDH problems with non-negligible advantage. This assumption is reasonable since in a large number field, it is widely recognized that discrete logarithm problems (DLP) are as hard as described in Definition 1. Therefore, a is not deducible from g0a, even if g0 is publicly known.

3.2. RSA: Public Key Cryptography Algorithm

RSA is a commonly-adopted public key cryptography algorithm [41]. It is the first and still most widely-used asymmetric algorithm. RSA is named after the three mathematicians who developed it, Rivest, Shamir and Adleman. The public/private key pair of RSA is computed in Algorithm 1, where GenModulus1N is a function used to output a composite modulus n along with its two N-bit prime factors; ϕ is Euler’s totient function; gcd is a function used to compute the greatest common divisor for two numbers.

The RSA encryption scheme includes three algorithms as follows:

  1. KeyGen1Npk,sk: takes security parameter 1N as input and outputs a public/private key pair, denoted as pk=n,e and sk=p,q,d, respectively, by executing Algorithm 1.

  2. Encm,pkc: on input, a public key pk=n,e and a message mZn* compute the ciphertext as c=memodn.

  3. Decc,skm: on input, a private key sk=p,q,d and a ciphertext cZn* compute the message as m=cdmodn.

The security of the RSA encryption scheme relies on the hardness of the factoring problem. If an adversary can factorize n, then he/she can compute ϕn=p1q1 and obtain the secret key d by utilizing the Euclidean algorithm. However, factoring a large number is still a hard problem. The proper choice of the modulus n=pq can guarantee the security of RSA encryption scheme.

Algorithm 1 KeyGen.
Input:
1N: security parameter;
Output:
pk,sk: a public/private key pair;
1: n,p,qGenModulus1N;
2: ϕn=p1q1;
3: Find e, such that gcde,ϕn=1, where 1<e<ϕn;
4: Compute d=e1modϕn
return pk=n,e, sk=p,q,d.

3.3. CP-ABE

In the CP-ABE, the private key is distributed to users by the trusted authority (TA) only once. The keys are identified with a set of descriptive attributes, and the encryptor specifies an encryption policy using an access tree, so that those with private keys the satisfy it can decrypt the ciphertext.

3.4. Access Tree TP

In CP-ABE, the encryption policy is described with a tree called access tree Tp. Each non-leaf node of the tree is a threshold gate, and each leaf node is described by an attribute. An example is shown in Figure 2.

Figure 2.

Figure 2

An example of the access tree.

In this paper, a publisher’s location information is set visible to certain kinds of users. For example, in Figure 1, Alice’s location information is only accessible to her friends. If a user’s attributes satisfy TP, he/she is granted with the access privilege. Simultaneously, he/she also can obtain the results of LBS provided by the mobile cloud. By doing so, we can control the visibility of the publisher’s location information.

Given a node u in the TP, |Children(u)| is the number of the node u’s children nodes, and ku is its threshold value 0<ku|Children(u)|. The node u is assigned a true value if at least ku child nodes have been assigned a true value. Specially, the node becomes an ORgate when ku=1 or an ANDgate when ku=|Children(u)|.

The access tree is described by a set of polynomials, as shown in Algorithm 2. In the access tree TP, the node value of the gate is recovered if and only if the values of at least ku child nodes are recovered, which is performed in a recursive manner. The notations for the access tree is explained in Table 1.

Table 1.

The notations for access tree TP.

Notation Description
u a node in TP
leaf(Tp) the set of leaf nodes in TP
Children(u) the set of all the child nodes of u
|Children(u)| the number of the node u’s child nodes
ku the threshold value of node u
qux=i=0ku1auixi the polynomial equation of node u, where auiZp,i=1,2,...,ku1 are the coefficients
parant(u) u’s parent node
index(u) the index of node u
Algorithm 2 Access Tree Description.
Input:
  TP: an access tree;
Output:
  {s,qlf(0)|lfisaleafnodeofTP}: sZp is a randomly-picked secret integer;
 1: for all u in TP do
 2:   define a polynomial qux=i=0ku1auixi, where the coefficients aui are undetermined;
 3: end for
 4: Pick a random integer s
 5: Set aR0=qR(0)=s, where R is the root node of TP;
 6: Set other coefficients of qR(x), i.e., aRi,i=1,2,,kR1, by randomly-picked secret integers;
 7: From top to bottom, set all of the coefficients of other nodes (except for the root node) that satisfy the following equation;
qu0=qparentuindexu.
  return {s,qlf(0)|lfisaleafnodeofTp}.

4. System Model, Threat Model, Location Assumption and Problem Formulation

4.1. System Model

Our mobile sensing service system mainly consists of four entities, as shown in Figure 3: mobile cloud, a publisher, many queriers and TA.

Figure 3.

Figure 3

The mobile sensing service system.

The mobile cloud provides LBS via mobile applications or social network applications based on the collected location data. Its main work is to store and process ciphertext.

A publisher contributes his/her location data to the mobile cloud, via smart phone, iPad, etc. Before uploading the data, the publisher first obtains the public key from the TA and determines the access tree. Then, he/she uses the public key and access tree to encrypt his/her location information. Afterwards, the encrypted location information is uploaded to the mobile cloud for storage and sharing. In addition, we assume the origin of a packet is successfully hidden, which is out of this paper’s scope, and can be trivially prevented by employing anonymized network protocols [42].

Many queriers submit LBS query requests to the mobile cloud over the collected cloud data. However, only authorized queriers can obtain plain query results.

TA is assumed to have powerful computation abilities. At the setup phase, the TA computes its own master key and the system-wide public parameter. The master key is used to generate the private key for the queriers, and the public key is used to process system-wide operations.

4.2. Threat Model

We assume that the mobile cloud is “honest but curious”. Specifically, it acts in an “honest” fashion and correctly follows the designated protocol specification. However, it is “curious” to infer and analyze the stored data and queriers’ query requests to harvest additional information to gain illegal profits.

The queriers are curious about the confidential information, which is outside of their privileges. They may also collude with the mobile cloud.

4.3. Location Assumption

As described in [5], the ground surface can be assumed to be a plane, and every user’s location is mapped to an Euclidean space with integer coordinates (with meters as the unit). The Euclidean distance between two locations X=(x1,x2,x3) and Y=(y1,y2,y3) is computed as:

dist(X,Y)=|XY|=i=13xiyi2.

As for a real location on the surface of the Earth, we know that the relationship between the surface distance SD(X,Y) and the Euclidean distance dist(X,Y) is as follows:

SDX,Y=2arcsindistX,Y2R·R,

where the Earth is assume to be a sphere with radius R meters. Hence, it is easy to compute SD(X,Y) from dist(X,Y). To check if the surface distance satisfies certain conditions, we can convert it to check if the Euclidean distance is satisfying the corresponding conditions. For example, dist(X,Y)τ is equivalent as:

SD(X,Y)2Rarcsin(τ/2R).

For brevity, in this paper, we will focus on the Euclidean distance instead of the surface distance.

4.4. Problem Formulation

Assume that the querier Q’s location information is X=x1,x2,x3, and the publisher P’s location information Y=y1,y2,y3 is embedded in the published data. According to Q’s attributes set SQ, the publisher P determines whether the querier Q can enjoy the LBS related to P’s location. Afterwards, the authorized querier will obtain the corresponding LBS results provided by the mobile cloud.

In this paper, we design a privacy-preserving LBS scheme for mobile sensing data, where the location publisher can determine who can decrypt the ciphered LBS results provided by the mobile cloud. Moreover, no confidential location information is leaked to the mobile cloud and unauthorized users during the LBS processing. Here, the LBS mainly includes two basic types: location distance compute and compare. The proposed scheme includes five main algorithms, as follows:

  • Setup(1N)MK,PK

    This algorithm takes a security parameter 1N as input. The TA executes this algorithm to compute its own master key MK and a system-wide public parameter PK.

  • EncryptPK,Y,TP,KYYe

    This algorithm takes as input the public parameter PK, the publisher’s location information Y=y1,y2,y3, an access tree TP determined by the publisher and an encryption key KY. It will encrypt the location Y, so that a querier can enjoy the LBS over location Y if and only if his/her attributes satisfy the access tree TP.

  • KeyGenerateMK,PK,SQSKQ

    This algorithm takes as input the TA’s master key MK, the public parameter PK and a querier’s attribute set SQ. It enables the querier to interact with the TA and to obtain a secret key SKQ.

  • VerifyPK,SKQ,SQ,YeWs or ⊥

    This algorithm enables an authorized querier to obtain a critical secret parameter Ws, which is the key to decrypt the ciphered query results provided by the mobile cloud.

  • Operate(Ye,Ws,X)answer

    In this protocol, firstly, a querier encrypts his/her location X as Xe using Ws, then the mobile cloud operates over the encrypted locations Ye and Xe to compute a ciphered query result. In the end, the querier uses Ws to decrypt the ciphered result as answer.

5. Our Proposed Scheme

In this section, we will present the scheme design in detail.

A. Setup(1N)MK,PK

This algorithm takes a security parameter 1N as the input, and gives the TA’s master key MK and a system-wide public parameter PK as the output, as shown in Algorithm 3.

By Algorithm 3, the TA chooses and publishes a bilinear group G0 of prime order p with generator g0, then randomly and secretly picks v0Zp. Finally, the TA computes the master key MK and the public key PK.

B. EncryptPK,Y,TP,KYYe

Before uploading the location data, the publisher executes this algorithm to encrypt the sensitive location information Y=y1,y2,y3. In addition, she/he determines the access tree TP to exert access control on the location information. The ciphertext Ye includes two parts: YeI and YeII. The encryption procedure consists of three main steps.

  1. Pick a symmetric encryption key KY=x,m, where 0<x,m<n, n is generated by GenModulus1N, as shown in Section 3.2.

  2. Compute:
    yei=yi·mgxmodϕn1modn,i=1,2,3. (1)
    Here, g is co-prime with n; ϕn is Euler’s totient function of n. We will omit “modϕn” in the following expressions with an assumption that the exponent of the above formula is computed in modular ϕn.
  3. Execute Algorithm 2, and obtain {s,qlf(0)|lfisaleafnodeofTp}. Then, YeI and YeII are computed by Equations (2) and (3). In YeII, Cu and Cu represent the attribute values in the specified access tree.
    YeI={ye1,ye2,ye3,x+Ws,m·Ws}, (2)
    YeII=Tp,Cu=g0qu0,Cu=Hattuqu0uleaf(TP),C=g0s. (3)

Finally, the publisher stores Ye=YeI,YeII in the mobile cloud for sharing them with some queriers. In this system, Ye can be downloaded by every querier. However, only authorized queriers can obtain the plain location information Y, and the query results of location distance compute and compare.

Algorithm 3 Setup.
Input:
  1N: security parameter;
Output:
  MK: TA’s master key;
  PK: public parameter;
 1: Choose a bilinear group G0 of prime order p with generator g0;
 2: Pick v0Zp randomly and secretly;
 3: Compute the master key MK=g0v0;
 4: Compute W=eg0,g0v0;
 5: Set PK=G0,g0,W;
  return MK,PK.

C. KeyGenerateMK,PK,SQSKQ

When a new querier Q, with attribute set SQ, requests to join the system, TA executes this algorithm to generate Q’s secret key. This algorithm is composed of two steps, as follows:

  1. Attribute key generate: TA randomly picks d0Zp and computes:
    D=MK·g0d0. (4)
    For any attribute iSQ, TA randomly picks riZp and computes the partial private key as:
    Di=Hiri·g0d0, (5)
    Di=g0ri. (6)
    where H(i) is the hash value of attribute i.
  2. Key aggregate: The secret key is generated by aggregating D, Di, and Di as:
    SKQ=D,iSQ:Di,Di. (7)
    The above procedures are described in Algorithm 4.
Algorithm 4 KeyGenerate.
Input:
  MK: TA’s master key;
  PK: the public parameter;
  SQ: a querier’s attribute set;
Output:
  SKQ: a secret key;
 1: Compute D=MK·g0d0, where d0Zp;
 2: for all iSQ do
 3:   Compute Di=Hiri·g0d0, Di=g0ri, where riZp;
 4: end for
  return SKQ=D,iSQ:Di,Di.

D. VerifyPK,SKQ,SQ,YeWs or ⊥

By executing this algorithm, only authorized querier can obtain the secret parameter Ws, which will be used to decrypt the ciphered query results. Otherwise, it will output ⊥. Figure 4 shows the main overview of this algorithm.

Figure 4.

Figure 4

The overview of verification process.

Firstly, a recursive algorithm DecryptNodeYeII,SKQ,SQ,u is defined as Algorithm 5, where u stands for a node in the access tree TP.

Then, the querier recursively calls DecryptNodeYeII,SKQ,SQ,R from the root node R, and obtains parR=eg0,g0s·d0. At last, he/she can get the secret output Ws by computing Equation (8).

eC,DparR=Ws (8)

E. Operate(Ye,Ws,X)answer

In this protocol, firstly, the authorized querier uses Ws to encrypt his/her location X as Xe, then the mobile cloud operates over Ye and Xe to compute a ciphered location distance or to test whether the distance between these two locations is far or not. If necessary, the querier will use Ws to decrypt the ciphered result as answer.

In our scheme, we consider these two types of operations: location distance compute and location distance compare, i.e., what the distance between these two locations is or whether the distance is far or not. They are two basic LBS.

Algorithm 5 DecryptNode.
Input:
  YeII: defined in Equation (3)
  SKQ: the querier Q’s secret key;
  SQ: the querier Q’s attribute set;
  u: a node in the access tree TP;
Output:
  paru: a secret parameter;  
  or ⊥
 1: if u is a leaf node then
 2:   Set i=att(u);
 3:   if iSQ then
 4:     Compute
paru=eDi,CueDi,Cu=eg,gqu0dk;
 5:   else return paru=;
 6:   end if
 7: else
 8:   Define Fu=null;
 9:   for all zChildren(u) do
 10:     Compute parz=DecryptNodeYeII,SKQ,SQ,z;
 11:     if parz then
 12:       Update Fu=Fu{parz};
 13:     end if
 14:   end for
 15:   if |Fu|<ku then return paru=;
 16:   else
 17:     Compute paru=eg0,g0qu0d0 using Fu by polynomial interpolation method;
 18:   end if
 19: end if
  return paru.

Here, the locations of the publisher and the querier are X=x1,x2,x3 and Y=y1,y2,y3, respectively. Additionally, the publisher’s location data Y=y1,y2,y3 have been encrypted as Ye=YeI,YeII by Equations (2) and (3) and stored in the mobile cloud. The querier encrypts his/her location X using Equation (9).

Xe=xe1,xe2,xe3=x1,x2,x3·Ws·gWs=x1·Ws·gWs,x2·Ws·gWs,x3·Ws·gWs (9)

Next, we will present how to perform these two operations.

1. Location distance compute:

We know that the distance between the publisher and the querier can be computed as:

dis=i=13xiyi2. (10)

The querier encrypts his/her location X=x1,x2,x3 as Xe by Equation (9) and sends Xe to the mobile cloud. Then, the mobile cloud executes Algorithm 6 to compute the ciphered location distance between Xe and Ye. For simplicity and convenience of presentation, we will denote Ws·gWs as Δ in the following.

Algorithm 6 DistanceCompute.
Input:
  Xe: the ciphertext of a querier’s location X;
  Ye: the ciphertext of a publisher’s location Y;
Output:
  dise: the ciphertext of the distance between X and Y;
 1: Obtain m=m·Ws and x=x+Ws from the YeI ;
 2: Compute KY=m·gxmodn;
 3: Compute dise=i=13xeiyei·KY2;
    return dise;

From Algorithm 6 and Equation (1), we know that for i=1,2,3,

xeiyei·KY=xi·Δyi·mgx1·KY=(xiyi)·Δ

Thus,

dise=i=13xeiyei·KY2=i=13(xiyi)2·Δ=dis·Δ (11)

After executing Algorithm 6, the mobile cloud sends dise to the querier. Finally, the querier can get the plain distance dis by computing Equation (12).

dis=dise·Δ1. (12)

During the execution, all that the mobile cloud processes is the ciphertext.

2. Location distance compare:

The querier wants to know whether the location distance is within a threshold value τ. He/she encrypts the τ as τe, using Equation (13):

τe=τ·Δ. (13)

Then, the querier sends Xe and τe to the mobile cloud. The mobile cloud executes Algorithm 7 to compute whether the distance between X and Y is less than τ.

From Equation (11), we know that dise=dis·Δ. Since Δ is always positive, it will not change the compare result between dis and τ. Thus, the mobile cloud can give out the comparison results through Algorithm 7 directly.

Algorithm 7 DistanceCompare.
Input:
  Xe: the ciphertext of a querier’s location X;
  Ye: the ciphertext of a publisher’s location Y;
  τe: the ciphered compare parameter τ;
Output:
  true or false;
 1: Execute dise=DistanceComputeXe,Ye;
 2: if diseτe0 then return true;
 3: end if
  return false;

6. Security Analysis

In our system, the publisher can authorize the queriers that he/she knows or not, such as his/her friends or someone who has similar interests. Hence, the queries may include attackers. If so, it is easy for the attacker to get a certain plaintext/ciphertext pair. Thus, our scheme has to be secure against the chosen plaintext attack. Next, we will prove it.

Theorem 1.

Our scheme is secure against CPA.

Proof of Theorem 1.

Assume an attacker obtains Y={y1,y2,y3} and its ciphertext Ye. From Equation (1), we get that:

mgx=yiyei,i=1,2,3. (14)

Assume that B=mgx. It is easy to compute B. However, it is difficult to get the proper x,m from B. If m is the power of g, it comes down obviously to the discrete logarithm problem. If m is not the power of g, i.e., m=mgx, where m is co-prime with g and x0, then B=mgx+x. Even though the attacker can solve this equation, there are multiple solutions x,x for x+x. Let alone, it is even hard to solve m,x+x from B, which is as intractable as the discrete logarithm problem. As a consequence, the attacker cannot deduce the encryption key, as well as the secret parameter Ws from YeI. As described in Section 5, we know that secret parameter Ws is the key to decrypt the query result. Thus, the attacker cannot decrypt extra confidential information apart from the already known Y={y1,y2,y3}. In conclusion, our scheme is secure against CPA.  ☐

7. Experiment

As described in Section 2.1, the PLQP [5] is a suit of protocols supporting privacy-preserving LBS in mobile application. It has high efficiency and achieves fine-grained control by exerting the CP-ABE scheme, which is similar to our work. Thus, in this section, we will compare our scheme with the PLQP scheme [5] for evaluating the performance of our proposed scheme. The algorithms are implemented using the BigInteger library on a Windows 8.1 system with Intel CORE i7-4500U CPU@2.40 GHz and 8.00 G RAM. We have 10 tests in this experiment. Additionally, in each test, we use 1000 pairs of random locations for the publisher and the querier, respectively. We present the average results for each test in the following figures.

7.1. The Time Cost in Our Scheme

Figure 5 shows the detailed time cost for once location distance compute and location distance compare, respectively. It is obvious that the time cost at the publisher is always zero, which meets the Operatealgorithm in Section 5. The query processing work can be done with no need for the publisher’s help.

Figure 5.

Figure 5

The time cost in our scheme.

7.2. The Comparison of The Time Cost between Our Scheme and the PLQP Scheme

In Figure 6, we show the comparison results of the total time cost for the aforementioned two operations, respectively. It can be seen that our scheme is much more efficient than PLQP. Figure 7 shows the comparison results of the detailed time cost for the aforementioned two operations at the publisher, querier and mobile cloud, respectively. To be more clear, we also present the comparison results in Figure 8 and Figure 9. From these figures, we get three points:

  • At the querier, the time cost in our scheme is much less that that in PLQP.

  • At the publisher, the time cost in our scheme is zero.

  • At the mobile cloud, the time cost in PLQP is zero.

Figure 6.

Figure 6

The comparison of the total time cost between our scheme and PLQP.

Figure 7.

Figure 7

The comparison of each entity’s time cost between our scheme and PLQP.

Figure 8.

Figure 8

The time comparison of performing location distance compute between our scheme and PLQP.

Figure 9.

Figure 9

The time comparison of performing location distance compare between our scheme and PLQP.

In sum, our scheme takes better advantage of the mobile cloud than PLQP and outperforms the PLQP scheme in terms of query efficiency. Numerical information about the computation cost is also shown in Table 2.

Table 2.

The computation cost comparison.

Queries Average Computation
Time at the Querier (ms)
Average Computation
Time at the Publisher (ms)
Average Computation
Time at the Mobile Cloud (ms)
Ours PLQP Ours PLQP Ours PLQP
Distance Compute 0.59850795 2.52919789 0 0.68694300 0.51267655 0
Distance Compare 0.65277693 1.98040717 0 0.62046427 0.51697024 0

8. Conclusions

In this paper, we propose a privacy-preserving LBS scheme for mobile sensing data, by exerting the RSA algorithm and CP-ABE scheme. Our proposed scheme can support the mobile cloud to perform efficient and privacy-preserving queries of location distance compute and compare on encrypted locations. Moreover, due to the application of CP-ABE, our scheme achieves fine-grained control over the sensitive location data, where only authorized queriers, whose attributes satisfy the corresponding access tree, can decrypt the ciphered query results provided by the mobile cloud. As a consequence, both the publisher’s and querier’s location information are kept secret from the mobile cloud and unauthorized users. Finally, the security analysis proves that it is secure against CPA, and the performance evaluation demonstrates its efficiency with experiments compared with the efficient PLQP.

Acknowledgments

The work is supported by the National Natural Science Foundation of China under Grant No. 61472001 and No. U1405255, the project of Academic Leaders Funding of Anhui University and the Key Research and Development Project of Jiangsu Province under Grant No. BE2015136.

Abbreviations

The following abbreviations are used in this manuscript:

GPS Global Positioning System
LBS Location-based service
HE Homomorphic encryption
ABE Attribute-based encryption
CP-ABE Ciphertext-policy attribute-based encryption
KP-ABE Key-policy attribute-based encryption
AES Advanced encryption standard
DES Data encryption standard
PLQP Privacy-preserving location query protocol
DLP Discrete logarithm problem
PPT Probabilistic polynomial-time
DDH Decisional Diffie–Hellman
DBDH Decisional Bilinear Diffie–Hellman
CPA Chosen plaintext attack
TA Trusted authority

Author Contributions

Qingqing Xie proposed the idea of the research, conceived of, designed and performed the experiments. Liangmin Wang designed the structure and instructed Qingqing Xie to write the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  • 1.Kos A., Tomažič S., Umek A. Evaluation of Smartphone Inertial Sensor Performance for Cross-Platform Mobile Applications. Sensors. 2016;16:477. doi: 10.3390/s16040477. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 2.Liu Z., Niu X., Lin X., Huang T., Wu Y., Li H. A Task-Centric Cooperative Sensing Scheme for Mobile Crowdsourcing Systems. Sensors. 2016;16:746. doi: 10.3390/s16050746. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 3.Dinh T., Kim Y. A Novel Location-Centric IoT-Cloud Based on-Street Car Parking Violation Management System in Smart Cities. Sensors. 2016;16:810. doi: 10.3390/s16060810. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 4.Xie Q., Wang L. Efficient privacy-preserving processing scheme for location-based queries in mobile cloud; Proceedings of the IEEE International Conference on Data Science in Cyberspace; Changsha, China. 13–16 June 2016. [Google Scholar]
  • 5.Li X.Y., Jung T. Search me if you can: Privacy-preserving location query service; Proceedings of the IEEE INFOCOM; Turin, Italy. 14–19 April 2013; pp. 2760–2768. [Google Scholar]
  • 6.Ahn J., Han R. MyBlackBox: Blackbox Mobile Cloud Systems for Personalized Unusual Event Detection. Sensors. 2016;16:753. doi: 10.3390/s16050753. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Zou H., Jiang H., Luo Y., Zhu J., Lu X., Xie L. BlueDetect: An iBeacon-Enabled Scheme for Accurate and Energy-Efficient Indoor-Outdoor Detection and Seamless Location-Based Service. Sensors. 2016;16:268. doi: 10.3390/s16020268. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Shao J., Lu R., Lin X. FINE: A fine-grained privacy-preserving location-based service framework for mobile devices; Proceedings of the IEEE INFOCOM; Toronto, ON, Canada. 27 April–2 May 2014; pp. 244–252. [Google Scholar]
  • 9.Zhang B., Liu C.H., Lu J., Song Z., Ren Z., Ma J., Wang W. Privacy-Preserving QoI-Aware Participant Coordination for Mobile Crowdsourcing. Comput. Netw. 2016;101:29–41. doi: 10.1016/j.comnet.2015.12.022. [DOI] [Google Scholar]
  • 10.Shao J., Lu R., Lin X. Fine-grained data sharing in cloud computing for mobile devices; Proceedings of the IEEE INFOCOM; Hong Kong, China. 26–30 April 2015; pp. 2677–2685. [Google Scholar]
  • 11.Gorbunov S., Vaikuntanathan V., Wee H. Attribute-based encryption for circuits. J. ACM (JACM) 2015;62:45. doi: 10.1145/2824233. [DOI] [Google Scholar]
  • 12.Zhang K., Gong J., Tang S., Chen J., Li X., Qian H., Cao Z. Practical and Efficient Attribute-Based Encryption with Constant-Size Ciphertexts in Outsourced Verifiable Computation; Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security; Xi’an, China. 30 May–3 June 2016; pp. 269–279. [Google Scholar]
  • 13.Jung T., Li X.Y., Wan Z., Wan M. Rebuttal to “Comments on ’Control Cloud Data Access Privilege and Anonymity With Fully Anonymous Attribute-Based Encryption’”. IEEE Trans. Inf. Forensics Secur. 2016;11:868. doi: 10.1109/TIFS.2015.2509946. [DOI] [Google Scholar]
  • 14.Kitagawa T., Kojima H., Attrapadung N., Imai H. Information Security. Springer; New York, NY, USA: 2015. Efficient and Fully Secure Forward Secure Ciphertext-Policy Attribute-Based Encryption; pp. 87–99. [Google Scholar]
  • 15.Doröz Y., Sunar B. Flattening NTRU for Evaluation Key Free Homomorphic Encryption. Cryptology ePrint Archive; Worcester, MA, USA: May 31, 2016. Technical Report, Report 2016/315. [Google Scholar]
  • 16.Gentry C., Groth J., Ishai Y., Peikert C., Sahai A., Smith A. Using fully homomorphic hybrid encryption to minimize non-interative zero-knowledge proofs. J. Cryptol. 2015;28:820–843. doi: 10.1007/s00145-014-9184-y. [DOI] [Google Scholar]
  • 17.Ducas L., Micciancio D. Advances in Cryptology–EUROCRYPT 2015. Springer; New York, NY, USA: 2015. FHEW: Bootstrapping homomorphic encryption in less than a second; pp. 617–640. [Google Scholar]
  • 18.Wang W., Hu Y., Chen L., Huang X., Sunar B. Exploring the feasibility of fully homomorphic encryption. IEEE Trans. Comput. 2015;64:698–706. doi: 10.1109/TC.2013.154. [DOI] [Google Scholar]
  • 19.Paillier P. Advances in Cryptology-EUROCRYPT’99. Springer; New York, NY, USA: 1999. Public-key cryptosystems based on composite degree residuosity classes; pp. 223–238. [Google Scholar]
  • 20.Nishide T., Sakurai K. Information Security Applications. Springer; New York, NY, USA: 2010. Distributed paillier cryptosystem without trusted dealer; pp. 44–60. [Google Scholar]
  • 21.Pan M., Sun J., Fang Y. Purging the back-room dealing: Secure spectrum auction leveraging paillier cryptosystem. IEEE J. Sel. Areas Commun. 2011;29:866–876. [Google Scholar]
  • 22.Xu D., Wang R., Shi Y.Q. Data hiding in encrypted H. 264/AVC video streams by codeword substitution. IEEE Trans. Inf. Forensics Sec. 2014;9:596–606. doi: 10.1109/TIFS.2014.2302899. [DOI] [Google Scholar]
  • 23.Dou Y., Zeng K.C., Yang Y. Poster: Privacy-Preserving Server-Driven Dynamic Spectrum Access System; Proceedings of the 21st Annual International Conference on Mobile Computing and Networking; Paris, France. 7–11 September 2015; pp. 218–220. [Google Scholar]
  • 24.Kido H., Yanagisawa Y., Satoh T. Protection of location privacy using dummies for location-based services; Proceedings of the 21st International Conference on Data Engineering Workshops; Tokyo, Japan. 5–8 April 2005; p. 1248. [Google Scholar]
  • 25.Duckham M., Kulik L. Pervasive Computing. Springer; New York, NY, USA: 2005. A formal model of obfuscation and negotiation for location privacy; pp. 152–170. [Google Scholar]
  • 26.Chow C.Y., Mokbel M.F., Liu X. A peer-to-peer spatial cloaking algorithm for anonymous location-based service; Proceedings of the 14th annual ACM International Symposium on Advances in Geographic Information Systems; Arlington, VA, USA. 5–11 November 2006; pp. 171–178. [Google Scholar]
  • 27.Mokbel M.F. Towards privacy-aware location-based database servers; Proceedings of the 22nd International Conference on Data Engineering Workshops; Atlanta, GA, USA. 3–7 April 2006; p. 93. [Google Scholar]
  • 28.Bamba B., Liu L., Pesti P., Wang T. Supporting anonymous location queries in mobile environments with privacygrid; Proceedings of the 17th International Conference on World Wide Web; Beijing, China. 21–25 April 2008; pp. 237–246. [Google Scholar]
  • 29.Gedik B., Liu L. Protecting location privacy with personalized k-anonymity: Architecture and algorithms. IEEE Trans. Mob. Comput. 2008;7:1–18. doi: 10.1109/TMC.2007.1062. [DOI] [Google Scholar]
  • 30.Shankar P., Ganapathy V., Iftode L. Privately querying location-based services with SybilQuery; Proceedings of the 11th International Conference on Ubiquitous Computing; Orlando, FL, USA. 30 September–3 October 2009; pp. 31–40. [Google Scholar]
  • 31.Xue M., Kalnis P., Pung H.K. Location and Context Awareness. Springer; New York, NY, USA: 2009. Location diversity: Enhanced privacy protection in location based services; pp. 70–87. [Google Scholar]
  • 32.Catalano D., Gennaro R., Howgrave-Graham N., Nguyen P.Q. Paillier’s cryptosystem revisited; Proceedings of the 8th ACM Conference on Computer and Communications Security; Philadelphia, PA, USA. 5–8 November 2001; pp. 206–214. [Google Scholar]
  • 33.San I., At N., Yakut I., Polat H. Efficient paillier cryptoprocessor for privacy-preserving data mining. Secur. Commun. Netw. 2016;9:1535–1546. doi: 10.1002/sec.1442. [DOI] [Google Scholar]
  • 34.Jung T., Li X.Y., Wan Z., Wan M. Control Cloud Data Access Privilege and Anonymity With Fully Anonymous Attribute-Based Encryption. IEEE Trans. Inf. Forensics Secur. 2015;10:190–199. doi: 10.1109/TIFS.2014.2368352. [DOI] [Google Scholar]
  • 35.Han J., Susilo W., Mu Y., Zhou J., Au M.H.A. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption. IEEE Trans. Inf. Forensics Secur. 2015;10:665–678. [Google Scholar]
  • 36.Qin B., Deng R.H., Liu S., Ma S. Attribute-Based Encryption with Efficient Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Secur. 2015;10:1384–1393. [Google Scholar]
  • 37.Xu J., Wen Q., Li W., Jin Z. Circuit Ciphertext-Policy Attribute-Based Hybrid Encryption with Verifiable Delegation in Cloud Computing. IEEE Trans. Parallel Distrib. Syst. 2016;27:119–129. doi: 10.1109/TPDS.2015.2392752. [DOI] [Google Scholar]
  • 38.Sahai A., Waters B. Advances in Cryptology–EUROCRYPT 2005. Volume 3494. Springer; Berlin/Heidelberg, Germany: 2005. Fuzzy identity-based encryption; pp. 457–473. [Google Scholar]
  • 39.Goyal V., Pandey O., Sahai A., Waters B. Attribute-based encryption for fine-grained access control of encrypted data; Proceedings of the 13th ACM Conference Computer and Communications Security; Alexandria, VA, USA. 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  • 40.Bethencourt J., Sahai A., Waters B. Ciphertext-policy attribute-based encryption; Proceedings of the IEEE Symposium on Security and Privacy; Oakland, CA, USA. 20–23 May 2007; pp. 321–334. [Google Scholar]
  • 41.Rivest R.L., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM. 1978;21:120–126. doi: 10.1145/359340.359342. [DOI] [Google Scholar]
  • 42.Liu Y., Han J., Wang J. Rumor riding: Anonymizing unstructured peer-to-peer systems. IEEE Trans. Parall. Distrib. Syst. 2011;22:464–475. doi: 10.1109/TPDS.2010.98. [DOI] [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES