Next Article in Journal
A Respiratory Motion Estimation Method Based on Inertial Measurement Units for Gated Positron Emission Tomography
Previous Article in Journal
Camera-LiDAR Multi-Level Sensor Fusion for Target Detection at the Network Edge
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Privacy-Enhancing k-Nearest Neighbors Search over Mobile Social Networks †

1
School of Computer Science and Engineering, Northeastern University, Shenyang 110819, China
2
Software College, Northeastern University, Shenyang 110819, China
3
School of Cybergram, Hainan University, Haikou 570228, China
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in “Li, Y.; Zhou, F.; Xu, Z.; Ge, Y. PPFQ: Privacy-Preserving Friends Query over Online Social Networks. In Proceedings of the 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), Guangzhou, China, 29 December 2020–1 January 2021; pp. 1348–1353, doi:10.1109/TrustCom50675.2020.00181.”.
Current address: No.195, Chuangxin Road, Hunnan District, Shenyang 116024, China.
Sensors 2021, 21(12), 3994; https://doi.org/10.3390/s21123994
Submission received: 16 April 2021 / Revised: 26 May 2021 / Accepted: 4 June 2021 / Published: 9 June 2021
(This article belongs to the Section Sensor Networks)

Abstract

:
Focusing on the diversified demands of location privacy in mobile social networks (MSNs), we propose a privacy-enhancing k-nearest neighbors search scheme over MSNs. First, we construct a dual-server architecture that incorporates location privacy and fine-grained access control. Under the above architecture, we design a lightweight location encryption algorithm to achieve a minimal cost to the user. We also propose a location re-encryption protocol and an encrypted location search protocol based on secure multi-party computation and homomorphic encryption mechanism, which achieve accurate and secure k-nearest friends retrieval. Moreover, to satisfy fine-grained access control requirements, we propose a dynamic friends management mechanism based on public-key broadcast encryption. It enables users to grant/revoke others’ search right without updating their friends’ keys, realizing constant-time authentication. Security analysis shows that the proposed scheme satisfies adaptive L -semantic security and revocation security under a random oracle model. In terms of performance, compared with the related works with single server architecture, the proposed scheme reduces the leakage of the location information, search pattern and the user–server communication cost. Our results show that a decentralized and end-to-end encrypted k-nearest neighbors search over MSNs is not only possible in theory, but also feasible in real-world MSNs collaboration deployment with resource-constrained mobile devices and highly iterative location update demands.

1. Motivation

With the rapid development of 5G Wireless Communication, mobile social networks (MSNs), represented by instant messaging and location sharing, have become essential parts of people’s everyday lives. According to [1], the number of enrolled users in MSNs worldwide reaches 862 million in 2020, and it is estimated to exceed 900 million by the end of 2021. In particular, the utilization rate of location-based MSN services reaches 96.9% based on the positioning system (e.g., GPS, WiFi, Bluetooth, etc.) embedded in mobile devices, such as Facebook’s “Nearby friends”, Foursquare’s “Swarm”, and Joyrun’s “real-time running competition”, and so forth. In these services, users can broadcast their locations among friends and send location-based queries for nearby friends. Therefore, the location-based services provide a profoundly mobile interface for users’ real-life social networks.
Nevertheless, people are using the enormously popular MSNs services without realizing their privacy concerns: the MSNs services providers can observe and accumulate the geo-location that users transmit through the network. According to the Mobile APP Security Research [2], among the 50 MSN services surveyed, there are 35 services that leak users’ location data to advertisers or data analysis services on purpose without any permission. In recent years, a lot of research also uses data analysis and machine learning technology to extract a large number of their sensitive information from users’ location information over MSNs: by analyzing their search patterns, the matched friends and search similarities and so forth, it is easy to predict the location conversion patterns between users and their friends [3,4]. It is also turned out that Facebook’s historical spatiotemporal trajectory leaks the geographical distance between each user and the spot that he frequently queries, and then the service provider can learn the access probability—whether and when the user will check-in the next time [5].
To avoid illegal access to users’ locations and search patterns by unauthorized service providers and hackers, previous research aimed to encrypt the location information before uploading. However, traditional encryption methods limit the MSNs service provider’s ability to provide location-based services for users. To achieve privacy-preserving location-based query, the straightforward mathematical methods deploy private information retrieval [6], searchable encryption [7] and other crypto primitives to make the encrypted location data searchable. However, these methods come at the huge cost of computation and communication overhead. Moreover, in a privacy-preserving setting, users have their keys embedded in their mobile devices. If a user is allowed to share his/her location encryption key with friends, he/she needs to launch a search request to the platform multiple times when he wants to retrieve his/her friends’ locations. Moreover, when granting or revoking friends’ search rights, a user and his/her friends should update their keys with synchronous locally, which are not suitable for MSNs platforms with highly extensible requirements. To the best of our knowledge, it is fair to say that achieving fine-grained location access control while providing an efficient, secure location-based neighbors search service has become one of the challenging research topics in the field of privacy-enhancing MSNs and still remains open.
In this work, we translate the high-level vision of the above issues and location privacy demand in MSNs into technical requirements and design a privacy-enhancing k-nearest neighbors search scheme containing cryptographic protocols that meet them. The purpose of this work is to protect users’ location data and search patterns privacy, and make it available for users to query for their k-nearest neighbors based on current distances. In terms of technical contribution, our work presents an efficient construction so that the server can effectively compute and sort the encrypted distance between a user and his/her friends without any decryption operation, which is the first to tackle this problem through the lens of secure multi-party computation. It also achieves lightweight friend authentication and authority management by enabling users to grant/revoke their friends’ search rights without updating others’ keys. In terms of security, our scheme satisfies adaptive L -semantic secure and revocation secure under random oracle model. We also undertook an extensive experiment that validates our work, showing that the proposed scheme is possible in theory and feasible in practice.

2. Related Works

2.1. MSNs Privacy

In recent decades, researchers have proposed many privacy-preserving approaches for MSNs. Encryption is the most common method for achieving privacy. For example, Flybynight [8] is a Facebook application for encrypting and decrypting sensitive data using client-side JavaScript. However, it is easy to be attacked by an adversary because the server holds users’ keys and takes charge of key management. NOYB (short for none of your business) [9] offers privacy and preserves MSN services’ functionality based on a secret dictionary’s encryption. Besides, there have been many privacy-preserving matching solutions over MSNs proposed with different techniques. Some schemes are based on private set intersection protocols [10,11] to allow two users to compute the intersection of the two private profile sets privately, but leak no useful information of both parties. For example, Niu et al. designed a spatiotemporal matching scheme for privacy-aware users in MSNs based on the profile’s weight or level and the participant’s social strength [10]. Zhang et al. proposed the concept of a fine-grained privacy information matching protocol by giving preference to each profile and using a similarity function to measure the matching degree [11]. To reduce computation cost, some works [12,13] designed non-encryption-based privacy-preserving matching protocols. Fu et al. proposed a privacy-preserving common-friend matching scheme based on a bloom filter [12]. It transmitted the common profiles of two users into an intersection of bloom filters, which ensures the privacy of friend lists against unknown users. However, it will not be able to resist brute-force attacks, resulting in privacy information leakage. Sun et al. [13] proposed a privacy-preserving spatiotemporal profiles matching scheme to let each user periodically record his locations by a geographic cell index among a large set of predefined ones, which can ensure spatiotemporal privacy at the cost of possibly huge communication and computation overhead.

2.2. Location Privacy

With the rapid development and enormous popularity of location-based services, scholars have paid more and more attention to location data’s privacy and security. Many approaches focus on how to perform privacy-preserving location queries: Bamba et al. proposed a k-anonymity-based scheme that relies on a server to construct an anonymous set based on users’ original queries to make query indistinguishable on the server-side [14]. Bordenabe et al. [15] and Shi et al. [16] both integrated differential privacy to realize nearby friends’ queries. Differential privacy provides a rigorous privacy guarantee by adding noise (randomly to choose a set of fake locations ) to make their data and query deferentially private. Jorgensen et al. incorporated a clustering procedure that groups users according to the social network’s natural community structure and significantly reduced noise [17]. The above works [14,15,16,17] can achieve relatively high efficiency. However, the limitations of these works are that it is challenging to achieve provable security guarantees with formal security definitions, since they did not employ well-designed and provable encryption methods. Zhou et al. took advantage of private information retrieval (PIR) to realize nearby friends’ queries [18]. It provides strong cryptographic guarantees but needs complex operations, and it only protects query privacy but not location privacy. Li et al. designed a private location information matching protocol over MSNs based on inner product similarity (IPS) [19], putting users’ map locations into vectors and encrypting the vectors. The similarity function is used to measure the similarity degree of the encrypted vectors of different users. Schlegel et al. designed an encryption method of dynamic location grid index structure [20], achieving neighbor point search on the premise of not revealing location privacy to the third party. In the above encryption-based schemes, the computation efficiencies are not ideal, requiring multi-round interactions at the logarithmic level between user and server.
Many other works are based on higher security assumptions to achieve a trade-off between security and efficiency. For example, some works [21,22] assumed that the service provider is honest and that it has the authority to access the location plaintext without leaking any information to others. Some works [21,23,24] introduced a trusted third party (TTP) to achieve the trade-off between security and efficiency. Unfortunately, there may not exist such a TTP in real MSNs scenarios. Some non-TTP solutions [15,20] are based on approximate measurements (e.g., linear programming and dynamic grid) with no accurate result. Some works [18,25] need complex operations (e.g., sending fake queries or receiving redundant results) to achieve secure guarantees, which incur high communication and computation overhead at the user-side, making them unsuitable for resource-constrained mobile devices.

3. The Proposed Scheme

3.1. Overview

The privacy-enhancing k-nearest neighbors search scheme over MSNs can be viewed as a decentralized system of end-to-end encrypted social network databases, focusing on the diversified demands of location privacy in MSNs. Our design relies on various cryptographic building blocks, including pseudo-random function, homomorphic crypto mechanism, secure multi-party computation and broadcast encryption.
-
Aiming at the limited computation power of resource-constrained mobile devices, we design a lightweight end-to-end location encryption algorithm and a server-aid location re-encryption protocol based on Paillier homomorphic encryption to achieve further location sharing. The protocol allows the service provider to transfer friends’ location ciphertexts into the query user’s homomorphic ciphertexts without requiring them to be online to participate in the calculation.
-
We build a secure dual-server architecture and design a secure k-nearest neighbors search protocol by secure multi-party computation and a homomorphic encryption mechanism under this architecture. The server can effectively compute and sort the distance between users and their friends without any decryption operation. Compared with the cloud-center model, where a single server holds complete knowledge, the dual-server architecture minimizes the leakage to the servers and reduces the cost of communication between the mobile user and the server.
-
To achieve fine-grained access control, we design a dynamic friends management mechanism based on public-key broadcast encryption. It enables users to grant/revoke their friends’ search rights without updating others’ keys, achieving lightweight friend authentication and authority management. Moreover, this mechanism satisfies revocation secure that the adversary cannot obtain the user’s location information through collusion with the server and the revoked friends, thus further improving the scheme’s overall security.

3.2. Architecture and Syntax

Our scheme is designed to be executed among: U, S 1 , and S 2 . U is a set that contains n mobile users { U 1 , , U n } . Each user U i U can connect with others as his friends dynamically. S 1 is the primary server that provides a mobile social network service to all users in U. Each user U i U can send a search request to S 1 for k-nearest neighbors among friends based on current location. S 2 is a collaborated server to conduct secure computation with S 1 for k-nearest neighbors search.
The scheme’s architecture is shown in Figure 1. At a high level, users’ information and their relationships are modeled by a direct graph structure G . To initialize the system, the primary server S 1 executes Initial algorithm to output public parameter p a r a m s and an empty G . Any user U i should use public parameter p a r a m s to generate his symmetric key K i and public/secret keys ( P K i , S K i ) locally by executing KeyGen algorithm and interacts with the primary server S 1 for registration by Join protocol. Any enrolled user U i U can grant/revoke U j U ’s location search right by interacting with S 1 in Grant/Revoke protocols. U i holds a friends index F i that records his granted friends. According to the real-life MSNs’ location service architecture, we deploy trusted location infrastructure to provide tracing service by sending the current location l i of each user U i U to his local mobile device periodically. U i executes LocUpdate to encrypt his location data l i by his symmetric key K i at local and uploads the location ciphertext C i to S 1 . U i then can execute Search protocol with S 1 by sending k-nearest neighbors search request. S 1 performs encrypted search in G with the assistance of S 2 and returns the search result to U i , without relying on the presence of any other user. The proposed scheme’s syntax consists of seven polynomial-time algorithms and protocols, which is shown in Syntax below:
Sensors 21 03994 i001
Definition 1 
(Correctness). Correctness implies that, for all 1 k , all ( G , p a r a m s ) generated by Initial ( 1 k ) , all ( K i , P K i , S K i ) generated by KeyGen ( p a r a m s ) , all ( F i ; G ) generated by Join ( U i ( i d i , P K i ) ; S 1 ( G ) ) , all ( K i , P K i , S K i ) generated byKeyGen ( p a r a m s ) , and all sequences of LocUpdate, Grant and Revoke protocols, Search ( U i ( K i , F i ) ; S 1 ( G ) ; S 2 ( S K i ) ) will always output result R k that: R k satisfies D 1 < < D K ; and there does not exist U i R k such that U i F s and U i { F s R k } that D i < m a x U j R k { D j } .

3.3. Security Definition

3.3.1. Adaptive L -Semantic Secure

The security definition of adaptive L -semantic secure is formalized by an ideal/real-world paradigm [7]. Roughly speaking, we require that the execution of the scheme in the real-world is indistinguishable from an ideal-world. In real-world Real ( 1 k ) , the protocols between the adversarial servers and the user execute just like in the real scheme. In ideal-world Ideal ( 1 k ) , there exist two simulators S i m 1 and S i m 2 that can obtain the leakage information from leakage functions and try to simulate the execution of A 1 and A 2 in Real ( 1 k ) .
Definition 2 
(Adaptive L -Semantic Secure). Given the syntax in Section 3.2 and considering the following probabilistic paradigms, where U= { U 1 , , U n } is the users’ set, A 1 and A 2 are two non-colluding adversaries with pseudo-random polynomial time (PPT) computation ability, S i m 1 and S i m 2 are two PPT simulators and L 1 to L 4 are leakage functions.
Sensors 21 03994 i002
The proposed scheme achieves adaptive L -semantic security if, for all polynomial time A 1 and A 2 , there exists polynomial time simulators S i m 1 and S i m 2 such that the following two distribution ensembles are computationally indistinguishable:
Output A 1 / 2 Real ( 1 k ) Output S i m 1 / 2 Ideal ( 1 k ) .

3.3.2. Revocation Security

Revocation security guarantees that the scheme satisfies that any user’s revoked friend cannot provide a valid search for his location, even if an adversary illegally steals the revoked friend’s key. We construct the experiment Exp A r e v Revoke ( 1 k ) to formalize the revocation security definition. Exp A r e v Revoke ( 1 k ) is interactively executed by a challenger C and an adversary A r e v who has the ability to add friends, perform a search and revoke friends in the real scheme. C deletes the user who has been added to the friends index by A r e v . A r e v continues to generate a search token using the revoked friend’s identity and makes a search request. After a polynomial number of queries, C revokes all users that are queried to the Grant oracle but are not subsequently queried to the Revoke oracle (i.e., all users for which A r e v holds their valid user keys).
The adversary A r e v must then produce a search token which, when used as an input to Search protocol, does not produce null, that is, A r e v must produce a valid search request even though it does not hold a non-revoked key. After several rounds of queries, if A r e v ’s probability of winning the revocation security experiment with PPT computation ability is negligible, then we can say that the proposed scheme satisfies revocation security.
Definition 3 
(Revocation Secure). Given the syntax in Section 3.2 and considering Exp A r e v Revoke ( 1 k ) , which is executed by a challenger C and an adversary A r e v :
Sensors 21 03994 i003
Specifically, C runs Initial to initialize G , generates key ( K i , P K i , S K i ) and state ciphertext c s t i by KeyGen and Join. C sends G and c s t i to A r e v . A r e v can access to the following oracles, where · denotes the parameters that are provided by A r e v himself:
-
O Grant ( · , G , i d j , P K i , F i ) : A r e v can send grant friend request to this oracle. If i d j F i , then the oracle O Grant runs Grant by the input provides by A r e v . If i d j F i , then the oracle O Revoke outputs .
-
O Revoke ( · , G , i d j , P K i , F i ) : A r e v can send revoke friend request to this oracle. If i d j F i , then the oracle O Revoke runs Revoke by the input provides by A r e v . If i d j F i , then the oracle O Revoke outputs .
-
O Search ( · , G , P K s , F s ) : A r e v can send a search request in G to this oracle. A r e v generates a search token and sends it to O Search . Then, the oracle O Search runs Search by the input provides by A r e v , and outputs the search result to A r e v .
After polynomial times rounds of queries, C revokes all the users that have access to O Grant ( · , G , i d j , P K i , F i ) but not O Revoke ( · , G , i d j , P K i , F i ) . A r e v generates a search token τ in Search protocol. If the output of Search is not , then returns 1, otherwise returns 0.
The proposed scheme achieves revocation security if, for all A r e v , all 1 k , the advantage of A r e v to win Exp A Revoke ( 1 k ) is negligible:
| Pr [ Exp A r e v Revoke ( 1 k ) = 1 ] | negl ( 1 k ) .

3.4. The Detailed Construction

Let BE = { BE . K e y G e n , BE . J o i n , BE . E n c , BE . D e c } be a broadcast encryption scheme that retains CPA secure against a coalition of revoked users [26], P = { P . K e y G e n , P .
E n c , P . D e c } be the Pallier encryption scheme [27], GM = { GM . K e y G e n , GM . E n c , GM . D e c } be the Goldwasser-Micali encryption scheme [28], and F : { 0 , 1 } k × { 0 , 1 } * { 0 , 1 } k be a pseudo-random function. The detailed construction is given as follows:

3.4.1. Initialization

On input of the security parameter 1 k , S 1 initializes the global social network graph structure G = ( V , E ) and public parameters p a r a m s . In graph G , the maximal number of vertexes in V is n, that is | V | = n , which represents the maximum amount of enrolled users. Each vertex v i V should be attached with the information for an enrolled user U i U that S 1 gathered. The existence of a non-zero edge e i j E between v i V and v j V represents the friends relationship of U i and U j . In other words, if U i and U j are strangers to each other, then e i j = 0 . G is empty at initialization.

3.4.2. Key Generation

If a user U i is willing to join in the system, he should generate his own keys at local. U i ’s keys consists of the following parts: the key for the pseudo-random function F to encrypt location data, the key pair for the broadcast encryption scheme BE , the key pairs for the Pallier encryption scheme P and the Goldwasser-Micali encryption scheme GM . U i first takes as input the binary representation of the public parameters p a r a m s , and randomly selects a k-bit string k i { 0 , 1 } k for his key of F . Then he generates ( b p k i , m s k i ) by BE . K e y G e n , ( p k i , s k i ) by P . K e y G e n and ( p k i , s k i ) by GM . K e y G e n . Afterwards, he forms his symmetric key K i as ( m s k i , k i ) , public key P K i as ( b p k i , p k i , p k i ) and secret key S K i as ( s k i , s k i ) . The lengths of the above keys are determined by the security parameter 1 k . Finally, U i publishes his public key P K i throughout the system.

3.4.3. Join

Before joining in, U i should generate his friends index F i with d entries, where d represents the maximum amount of U i ’s friends. F i is a key-value data structure, which is empty at first. The key part of F i will be attached with the granted friends’ identities, the corresponding value part will be attached with the granted friends’ session keys. More precisely, if U j is a friend of U i , then F i [ i d j ] stores the session key k j i that U j has shared with U i , where i d i represents U i ’s identity: F i [ i d j ] = k j i , where i d j represents U j ’s identity. To register, U i should also add the server S 1 in F i by generating S 1 ’s session key k S 1 i by BE . J o i n m s k i ( S 1 ) and setting F i [ S 1 ] = k S 1 i . Afterwards, U i randomly selects a k-bit string s t i as his current state value and encrypts s t i to c s t i by BE . E n c b p k i ( S 1 , s t i ) . Then U i sends S 1 a registration request R e i = ( i d i | | c s t i | | k S 1 i ) . S 1 selects an empty vertex v i V in G and attaches v i with R e i .

3.4.4. Location Update

An enrolled user U i U can interact with S 1 to update his location by LocUpdate protocol. First, U i obtains his current geo-location l i from the trusted location infrastructure that sends U i ’s geo-location to his local mobile device periodically. U i maps l i into an integer x i from Z k and computes its square x i 2 . To hide l i from S 1 , U i needs to encrypt x i and x i 2 at local: he chooses two random values r 1 and r 2 from Z k , uses his key k i to generate p 1 = F k i ( r 1 ) and p 2 = F i ( r 2 ) by pseudo-random function F , and hides x i and x i 2 into c x i = ( x i + p 1 , r 1 ) and c x i 2 = ( x i 2 + p 2 , r 2 ) by ( p 1 , p 2 ) and ( r 1 , r 2 ) . Finally he forms his current location ciphertext L i as L i = ( c x i , c x i 2 ) and sends L i to S 1 . S 1 updates the information embedded in vertex v i in G as v i v i | | { L i } .

3.4.5. Grant

When U i connects U j as his friend, he should grant U j ’s right to search his location by conducting Grant protocol with S 1 . First, U i adds U j ’s identity i d j as an entry in U i ’s friends index F i , generates U j ’s session key k j i by BE . J o i n m s k i ( i d j ) , sends k j i to U j in secure channel. U i then selects a k-bit string s t i as his updated state value, encrypts s t i to c s t i for the updated friends group in F i that contains U j by BE . E n c ( b p k i ) ( s t i , F i ) , and boardcasts c s t i to the system. After receiving his session key k i j from U j , he attaches F i [ i d j ] with k i j : F i [ i d j ] = k i j . Afterwards, he sends grant request ( c s t i | | i d j ) to S 1 . S 1 first checks whether there is a non-zero direct edge e i j in G . If not, it sets e i j = 1 and update v i in G with new c s t i : v i v i { c s t i } { c s t i } .

3.4.6. K-Nearest Neighbors Search

Each enrolled user U s U can send a search request to S 1 for retrieving his k-nearest neighbors sorted by distances, shown in Protocol 1. First of all, U s retrieves his friends’ identities { i d 1 , , i d d } from his friends index F i , downloads the state ciphertexts { c s t 1 , , c s t d } for all his friends { U 1 , , U d } from the system. For each c s t i { c s t 1 , , c s t d } , U s decrypts it to s t i by BE . D e c k s i ( s t i ) . Afterwards, U s consolidates the decryption results into search token τ = ( s t 1 , , s t d ) and sends τ to S 1 . After receiving τ , S 1 extracts { c s t 1 , , c s t d } from v j ’s all adjacents { v 1 , , v d } in G . For each c s t i { c s t 1 , , c s t d } , S 1 decrypts it to s t i by BE . D e c k S 1 i ( c s t i ) . It compares each s t i in { s t 1 , , s t d } with s t i in τ : if s t j is equal to s t i , then U s has been granted the right to search for U i ’s location. Afterwards, for each granted U i , S 1 retrieves the encrypted location L i attached in v i . Then, S 1 and S 2 conduct the following protocols:
Sensors 21 03994 i004
After conducting P 1 and P 2 for all U s ’s friends, S 1 forms a key-value set I = { ( i d 1 , [ D 1 ] ) , , ( i d d , [ D d ] ) } that contains all pairs of the encrypted distances between U s and his friends along with their identities. S 1 encrypts each i d i I to [ i d i ] by P . E n c p k s ( i d i ) , and generates R ˜ = { ( [ i d 1 ] , [ D 1 ] ) , , ( [ i d d ] , [ D d ] ) } . S 1 and S 2 perform a secure comparison protocol P 3 [29] for S 1 and S 2 to compare each pair ( [ i d x ] , [ D x ] ) and ( [ i d y ] , [ D y ] ) in R ˜ based on the distance D x and D y . We use P 3 as a black-box building block for Search protocol, and pick Batcher’s sorting [30] for performing efficient parallel multi-time comparisons.
Finally, S 1 obtains the sorted final result R = { ( [ i d 1 ] , [ D 1 ] ) , , ( [ i d d ] , [ D d ] ) } , and sends it back to U s . U s can decrypt each [ i d i ] to i d i by P . D e c s k s [ i d i ] , then obtain his k-nearest neighbors identities R k = ( i d 1 , , i d k ) that were sorted by distance.

3.4.7. Revoke

When U i wants to revoke U j ’s search right, he should conduct Revoke protocol with S 1 . U i first deletes F i [ i d j ] locally, selects a k-bit string s t i as his updated state value, encrypts s t i to c s t i by BE . E n c b p k i ( s t i , F i ) for the updated group in F i that excludes U j . Afterwards, he sends revoke request ( c s t i | | i d j ) to S 1 . S 1 first checks whether there is a non-zero direct edge e i j in G . If true, it set e i j = 0 and update v i in G with new c s t i : v i v i { c s t i } { c s t i } .
Sensors 21 03994 i005

4. Security Analysis

4.1. Adaptive L -Semantic Secure

Theorem 1. 
If F is a pseudo-random function, P , GM and BE are CPA secure, and the DGK protocol [31] is proved to be semantically secure in the random oracle model, then the proposed scheme satisfies adaptive L -semantic security, which is defined in Definition 2.
Proof. 
We construct two simulators S i m 1 , S i m 2 that can generate the simulated values in Ideal ( 1 k ) using the information given in the leakage functions L 1 to L 4 , and prove that Ideal ( 1 k ) is indistinguishable with Real ( 1 k ) by any PPT adversary.
Given the information leaked from L 1 , S i m 1 can learn | c s t i j | and { | c s t i 1 | , , | c s t i q | } . Afterwords, it can choose random value c s t ˜ i j with lengths | c s t i j | to simulate c s t i j . Due to the CPA secure of BE , c s t i j is indistinguishable from c s t ˜ i j by any PPT adversary. Therefore, S i m 1 cannot learn extra information from { | c s t i 1 | , , | c s t i q | } , which satisfies:
Output A 1 Real ( { c s t i 1 , , c s t i q } ) Output S i m 1 Ideal ( { c s t ˜ i 1 , , c s t ˜ i q } ) .
Given the information leaked from L 2 , S i m 1 can learn | c x i j | and | c x i 2 j | in L i j = ( c x i j , c x i 2 j ) . Afterwards, it can choose two random values in lengths | c x i j | and | c x i 2 j | to output the simulated L ˜ i j = ( c ˜ x i j , c ˜ x i 2 j ) . Since L i j is generated by F , L ˜ i j and L i j are indistinguishable by any PPT adversary due to the randomness of F . Therefore, S i m 1 cannot learn extra information from the update history { L i 1 , , L i q } , which satisfies:
Output A 1 Real ( { L i 1 , , L i q } ) Output S i m 1 Ideal ( { L ˜ i 1 , , L ˜ i q } ) .
Given the information leaked from L 3 , S i m 1 can obtain search tokens { τ 1 , , τ q } . Afterwards, it can choose random value τ ˜ i in size | τ i | to simulate each τ i . Moreover, since { s t 1 , , s t d ) is generated by BE . D e c by decrypting { c s t 1 , , c s t d } using keys { k s 1 , , k s d ) , and each k s i in { k s 1 , , k s d } is a k-bit random string, each s t j in τ i is indistinguishable from τ ˜ i by any PPT adversary. Therefore, S i m 1 cannot learn extra information from τ 1 , , τ q , which satisfies:
Output A 1 Real ( { τ 1 , , τ q } ) Output S i m 1 Ideal ( { τ ˜ 1 , , τ ˜ q } ) .
The sorting network between A 1 and A 2 contains ( log d ) 2 levels, and each level contains ( log d ) 2 times of P 3 protocols. Therefore, the simulation of the sorting network can be reduced to prove S i m 1 and S i m 2 can simulate the secure comparison protocol P 1 with leakage functions. Given the information leaked from L 4 , S i m 2 can learn the leaked information ( z i , [ λ i ] ) from each round of P 3 and the rounds number ( log d ) 2 . In each round, S i m 2 can learn ( [ D x ] , [ D y ] , l ) . S i m 1 and S i m 2 should simulate A 1 and A 2 with L 4 by all pairs with ( log d ) 2 times in sorting protocol to get the final simulation value. At every pairs i, A 1 ’s view can be denoted as v i e w A 1 = ( s k s , z , λ ) . Given ( s k s , z , [ λ ] ) , we can build S i m 1 in the following phases:
-
Randomly choose λ ˜ , compute | | λ ˜ | | as x x x y ;
-
Randomly choose z ˜ ( 0 , 2 λ + l ) Z ;
-
Encrypt z ˜ : [ z ˜ ] P . E n c p k s ( z ) ;
-
Output v i e w S i m 1 = ( s k s , l , [ z ˜ ] , | | λ ˜ | | ) .
Since z = x + r , where x is a l-bits integer and r is a l + λ -bits integer, the distribution of z ˜ is indistinguishable from z. We can get ( s k s , [ z ˜ ] ) ( s k s , [ z ] ) . Besides, since the distribution of z ˜ and z are independent of t, we can get ( s k s , l , [ z ˜ ] | | λ ˜ | | ) ( s k s , l , [ z ] , | | λ ˜ | | ) . In a similar way, at every pairs i, A 2 ’s view can be denoted as v i e w A 2 = ( ( [ D x ] i , [ D y ] i , l , p k s , r , λ , [ z l ] ) . We can build S i m 2 to simulate A 2 in the following phases:
-
Choose r ˜ ( 0 , 2 λ + l ) Z ;
-
Choose two random values λ ˜ , z ˜ l , computes | | λ ˜ | | , z ˜ ;
-
Output v i e w S i m 2 = ( [ D x ] , [ D y ] , l , p k s , r ˜ , [ z ˜ l ] ) .
In both v i e w A 2 and v i e w S i m 2 , r is extracted from uniform distribution ( 0 , 2 λ + l ) Z , [ z ˜ l ] is the ciphertext of P which is randomness, so ( [ D x ] , [ D y ] , l , p k s ) ( [ D x ] , [ D y ] , l , p k s , r ,
[ z ˜ l ] ) . We can obtain: v i e w A 2 and v i e w S i m 2 are computational indistinguishable. What is more, since | | λ ˜ | | [ D x ] [ D y ] , ( s k s , l , [ z ] , | | λ ˜ | | ) ( s k s , l , [ z ] , [ x x ] [ y y ] ) . Due to the semantic security of DGK, S i m 1 and S i m 2 can obtain d ciphertexts that are unsorted from the leakage function L 4 . Then, S i m 1 and S i m 2 can simulate Bathcer’s sorting protocols in ( log d ) 2 times.
Therefore, for all polynomial time A 1 and A 2 , there exists polynomial time simulators S i m 1 and S i m 2 such that:
We can demonstrate that the proposed scheme satisfies adaptive L -semantic security in the random oracle model, which is defined in Definition 2. Theorem 1 proved. □

4.2. Revocation Secure

Theorem 2. 
If BE is CPA secure, then the proposed scheme satisfies revocation secure, which is defined in Definition 3.
Proof. 
Assuming the advantage of A r e v to win Exp A r e v Revoke ( 1 k ) is negligible, we can construct an adversary A b e , who can break the CPA secure of BE with assist of A r e v . We will show that if A r e v has a non-negligible advantage in Exp A r e v Revoke ( 1 k ) , then we can construct an adversary A b e that uses A r e v as a subroutine to break the CPA secure of BE .
To make the output of Exp A r e v Revoke ( 1 k ) as 1, A r e v needs to provide a valid search token. To achieve that, A r e v must know s t i . A new value of s t i is randomly selected and encrypted by BE . E n c b p k i ( s t i , F i u j ) at each time a user is revoked from the system, where F i u j is the new friends index. A r e v then broadcast this encrypted value to all users. BE ’s security ensures that only a non-revoked friend of U i can decrypt this ciphertext to obtain s t i with overwhelming probability. Hence, the adversary can only create a valid search token if he is a valid friend of U i , or he will break the security of BE . That is, the probability that a random bit string is valid is 2 k . It means that the adversary will not be able to produce a valid token with non-negligible probability.
Let C be the challenger for the adversary A b e against BE , A b e will act as the challenger for A r e v :
  • C runs BE . K e y G e n ( 1 k ) to generate keys ( m s k b e , b p k i ) . A b e initializes F i , randomly chooses a k-bit string s t i , and sends ( s t i , F i ) to C . C runs BE . E nc b p k i ( s t i , F i ) to generate s t S 1 , and sends it to A b e . A b e runs KeyGen to generate K i , runs Join to generate k S 1 i , where K i does not include k b e .
  • A b e issues a query to C for the secret key of A r e v . C runs BE . J oin m s k i ( A r e v ) to generate k A r e v , sends k A r e v to A b e . To fully enroll A r e v as a valid friend, the state ciphertext also needs to be updated by A b e . A b e send F i and a newly generated s t i to C , C runs BE . E n c b p k i ( s t i , F i ) to generate new c s t i . A b e runs Grant to generate the key k A r e v i of A r e v .
  • A b e runs Initial to generate graph G , and sends k A r e v i and G to A r e v . A r e v can access to oracles O Grant and O Revoke .
  • A b e revokes A r e v by running Revoke , A b e runs Revoke a second time in order to produce two values s t i 0 { 0 , 1 } k and s t i 1 { 0 , 1 } k for s t i , and sends s t i 0 and s t i 1 to C as the challenge value for A b e , along with a set of no revoked friends F i of A r e v .
  • C selects a bit b { 0 , 1 } , uses BE . E n c b p k i ( s t i b , F i ) to encrypt s t i b and generates c s t i b , sends c s t i b to A b e as the challenge ciphertext for the CPA secure of BE . A b e sends c s t i b to A r e v as the challenge ciphertext of Exp A r e v Revoke ( 1 k ) .
  • A r e v generates token τ , and sends τ to A b e . Since the advantage for A r e v to win Exp A r e v Revoke ( 1 k ) is non-negligible, the probability of validity of τ is non-negligible.
  • If t 0 , then Search stops. According to the following situations, A b e outputs its guess for b:
    -
    If t 0 , this tells A b e that s t i 0 was used to generate the token, A b e outputs its guess for b as b = 0 ;
    -
    Of t 1 , this tells A b e that s t i 1 was used to generate the token, A b e outputs its guess for b as b = 1 .
From the above analysis, the advantage of A b e to break the CPA secure of BE can be computed as Adv A b e BE ( 1 k ) :
Adv A b e BE ( 1 k ) = | [ ( Pr [ ( t 0 t 1 ) ] · 1 1 2 ) + ( Pr [ ( ( t 0 t 1 ) ] · 1 2 1 2 ) | = | δ · 1 + ( 1 δ ) · 1 2 1 2 | = | ( δ + 1 ) 2 1 2 | = δ 2 .
Since the advantage δ of A r e v to win Exp A r e v Revoke ( 1 k ) is non-negligible, the advantage δ 2 of A b e to break the CPA security of BE is non-negligible, which contradicts the CPA security of BE . Therefore, there exists no A r e v , who can win Exp A r e v Revoke ( 1 k ) with non-negligible probability, and the proposed scheme satisfies revocation security as defined in Definition 3. Theorem 2 proved. □

5. Theoretical Analysis

The complexity analysis is shown in Table 1, where n is the maximum amount of enrolled users and d is the maximum amount of each user’s friends. We compare our scheme with the related privacy-preserving location-based query schemes [15,18,20] in Table 2. Due to the significant differences among the existing schemes in application scenarios, secure models, evaluation indicators and other factors, we focus on comparing characteristics and security.
For result accuracy, [15] achieves differential privacy for location information using linear programming techniques. It is specifically designed for simple computation that cannot provide accurate encrypted distance sorting. Ref. [20] uses a dynamic location grid structure to cluster users close to each other. However, the search results in [15,20] have a specific rate of false positives, which are suitable for similarity search. Our scheme and [18] use Euclidean distance to calculate the encrypted distance to achieve precise secure sorting. Ref. [18] focuses on searching the number of points of interest in a specific location area; our scheme sorts the distances based on the proven-secure comparison protocol. In terms of security, Ref. [18] protects location search privacy by way of private information retrieval (PIR). Although it adopts the anchor technology to improve search efficiency, it still has a certain communication overhead. Ref. [20] achieves sort privacy by assuming the server only performs the search, and the user performs the result sorting. As a result, the above methods each sort privacy but lead to high computation or communication costs.
Besides, compared with other schemes, our scheme also has a flexible access control mechanism. Moreover, our scheme achieves a constant-time computation cost and communication cost when updating friends and encrypting locations, and a user only needs to store key-related information locally. Therefore, we can demonstrate that our proposed scheme has both a very light user workload and a moderate server workload while being secure against the honest-but-curious adversary. In nowadays’s mobile social networking environment, the user-side lightweight device’s storage and computation cost should be minimized as much as possible. As a consequence, the proposed scheme is more suitable for the real-life thin clients MSNs deployment scenario.

6. Implementation

We implement and analyze the performance of our scheme. The experiments were run on several computers with Linux Ubuntu 18.04.2 64-Bit Version with Inter(R) Core(TM) I7-2600 quad-core processor (3.4 ghz) and 8 GB memory, which were installed on VMware Workstation in the LAN in C++ language. One of the computers acted as the server-end and the others acted as user-ends, respectively. We implemented a job allocation mechanism in the server-end that the computer acted as the master server and used threads to simulate the collaborated server that performed the assistant job. Each user-end stored the user’s keys locally and interacted with the server-end. To submit a search request, a user-end only communicated with the master server.
In the simulation experiments, the security parameter k was set to 256 bits. We chose SHA256 in the OpenSSL library [32] for the pseudo-randomness function, and used the Relic library [33] to implement Paillier and GM homomorphic encryption. To implement the scheme more securely, we improved the modulus n of the Paillier and GM to 1024 bits. Besides, we used BGW2 [26] to implement public-key broadcast encryption. The key length in the above public encryption methods was set to be 1024 bits.
We conducted data simulations based on real-world data sets, which came from the newest version of the Enron email dataset [34], where we randomly selected 1000 accounts as the total users set. We represented users’ friendships in the form of linked contacts. We selected a random integer in ( 10 , 50 ) to simulate the user’s location’ value, which was updated periodically. Moreover, we initialized the social network graph structure G with 1000 vertexes and 3831 edges that contained the above data and used a unique value to identify each vertex (user) in Z k . We did not record the network communication time during all the experiments since it depends on the user-end and the server-end’s network connection. Each data point in the experiments was obtained after being repeated 50 times to generate the average value.

6.1. Storage Analysis

We first analyzed the storage overhead of our scheme. Table 3 shows the comparison between the encrypted G and unencrypted G of the generation time and the server’s storage cost in the trend of the number of users increases. It can be seen that the server’s storage cost increased almost linearly with the increase of the number of users. Since we used symmetric encryption to encrypt location, compared with the Paillier homomorphism ciphertext, the inflation rate of the symmetric ciphertext of the location decreased significantly, which is consistent with the theoretical analysis. Therefore, the proposed scheme achieves the trade-off of users’ location confidentiality and search privacy with the acceptable additional storage cost.

6.2. Communication

In terms of communication, we mainly analyzed the amount of data transformed between (1) U i and S 1 and (2) S 1 and S 2 in Search protocol. Theoretically, when U i requests to search k-nearest neighbors among his d friends, U i ’s communication overhead increases almost linearly with k. When S 1 and S 2 interact with each other to compute the distance from the total of d friends’ location ciphertexts, the data size of the communication between them is O ( ( log d ) 2 ) .
Figure 2a,b shows the relationship between the two types of communication overhead in the experiment with the increasing trends of the friends’ number d and the search parameter k, respectively. In general, the amount of data transmission required by the user in Search protocol is positively related to k. When k increases to a particular value (greater than d), the data transmission volume tends to be stable. The communication overhead between S 1 and S 2 is mainly positively related to d, but independent of the increase of k. Moreover, the distance computation sub-procedure requires several rounds of interactions, so the amount of communication overhead between servers is relatively large, which is consistent with the theoretical analysis.

6.3. Search Time

We also analyzed the primary source of the search time overhead for Search protocol. First, we divided the Search protocol at the server-end into two sub-procedures of location search and distance sort. Figure 3 shows the relationship between search time and the number of friends d. In Figure 3, the total time overhead of Search protocol is shown in the blue curve, the time overhead to extract and re-encrypt location ciphertext is shown in the yellow curve, and the time overhead to compute and sort the encrypted distance is shown in the red curve.
From Figure 3, we can see that the time overhead of the two sub-procedures in the Search protocol generally increases with the increasing trend of d. Specifically, the location search time is far lower than the distance sort time, and with d increases to 4, the curve growth is slowing down. The distance sort time has a stable approximate linear relation with d. Therefore, it can be concluded that the computation and comparison of encrypted distances are two primary time-overhead sources of the Search protocol, which is consistent with the theoretical analysis.

6.4. Scalability

In terms of scalability, we first analyzed the impact of the search users’ number who submit search requests in parallel on the time overhead of the Search protocol. To be specific, we deploy one host to simulate one user to execute the Search protocol and record the total time overhead. Then we deploy six hosts to simulate six users to repeat the same experiment and compare the results. It is worth mentioning that, when recording the time of multi-user search, multiple user-ends simultaneously send the search requests to the server-end. We record the start and end time when the server-end receives the search request until it completes each user’s search. Figure 4 shows the relationship between the parallel search users’ number and Search protocol’s total time. It can be seen that one user’s search time is slightly lower than six parallel users’ search times. The former is approximately in a stable linear relation with d, and the latter slows down to a constant level with the increase of d. From the trend it can be concluded that, with the number of search users d increasing, its impact on search time overhead is weakened, and it further weakens the influence of the increasing number of friends on the search time. Therefore, the multi-user parallelism has a weak impact on search time overhead, which helps the scheme to achieve a certain level of scalability.
Besides, we analyzed the influence of the expandable number of remote servers on the search time overhead. First, we deployed three servers to execute the Search protocol for six users simultaneously and recorded the total time overhead. Then we deployed six servers to repeat the same experiment and compare the results. Figure 4 shows the relationship between the number of servers and the search time. It can be seen that the search time of 6-server deployment is significantly lower than the running time with 3-server deployment, and the former’s growth was slowed down to a constant level after d reaches 4, but the latter’s growth takes an approximately linear relationship with the number of friends steadily. Therefore, it can be concluded that deploying multiple servers to perform parallel searches can reduce the search time overhead and further weaken the influence of the increasing number of friends on the search time.
Remark 1. 
It is worth pointing out that the search process’s main computation cost is the homomorphic encryption/decryption operation and broadcast decryption operation. The computation efficiency is closely related to the selected parameters of the underlying algorithms. The server-end implementation can also be optimized to reduce the search time by using multiple threads for distance sorting and using approximate sorting algorithms, and so forth. In our experiment, we did not adopt any optimization method. The server was allowed to complete all the computation steps in a single thread in each phase to reflect the scheme’s original execution efficiency faithfully.

7. Conclusions

Aiming at the problem of location privacy disclosure in MSNs, we propose a privacy-enhancing k-nearest neighbors search scheme over MSNs. We deploy a dual-server collaborative architecture and design an encrypted location-oriented k-neighbor search protocol based on secure multi-party computation and homomorphic encryption. Our scheme achieves accurate nearby friends retrieval while protecting the geo-location and the distance order from revealing them to the servers. We propose a lightweight dynamic friends management mechanism based on public-key broadcast encryption to satisfy the fine-grained access control requirement. It enables users to grant/revoke a friend’s location search right without updating others’ keys and achieves constant-time identity authentication. The scheme satisfies adaptive L -semantic security and revocation security under the random oracle model. Compared with the works on single server architecture, the proposed scheme reduces the communication cost between users and the server and prevents location information leakage, which achieves a trade-off of the location availability and privacy.

Author Contributions

Conceptualization, Y.L. and F.Z.; Data curation, Y.L.; Formal analysis, Y.L.; Funding acquisition, F.Z.; Methodology, Y.L.; Project administration, F.Z.; Validation, Y.G. and Z.X.; Writing–original draft, Y.L.; Writing–review & editing, Y.L., Y.G. and Z.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Northeastern University Annual Basic Scientific Research Funding under Grant 02190022121006 and the Natural Science Foundation of China under Grant 61772127, Grant 61532007 and Grant 61472184.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Global Social Media Stats. Available online: https://datareportal.com/social-media-users (accessed on 10 April 2021).
  2. Weichbroth, P.; Łysik, Ł. Mobile Security: Threats and Best Practices. Mob. Inf. Syst. 2020. [Google Scholar] [CrossRef]
  3. Anastasios, N.; Salvatore, S.; Mascolo, C.; Pontil, M. An empirical study of geographic user activity patterns in foursquare. In Proceedings of the Fifth International AAAI Conference on Weblogs and Social Media, Barcelona, Spain, 17–21 July 2011. [Google Scholar]
  4. Cheng, Z.; Caverlee, J.; Lee, K.; Sui, D. Exploring millions of footprints in location sharing services. In Proceedings of the International Conference on Weblogs and Social Media, Barcelona, Spain, 17–21 July 2011; pp. 81–88. [Google Scholar]
  5. Preotiuc, P.D.; Cohn, T. Mining user behaviors: A study of check-in patterns in location based social network. In Proceedings of the Conference on ACM Web Science, Paris, France, 2–4 May 2013; pp. 306–315. [Google Scholar]
  6. Chor, B.; Goldreich, O.; Kushilevitz, E.; Sudan, M. Private information retrieval. In Proceedings of the IEEE 36th Annual Foundations of Computer Science, Milwaukee, Wisconsin, 23–25 October 1995; pp. 41–50. [Google Scholar]
  7. Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. J. Comput. Secur. 2016, 19, 895–934. [Google Scholar] [CrossRef] [Green Version]
  8. Lucas, M.M.; Nikita, B. Flybynight: Mitigating the privacy risks of social networking. In Proceedings of the 7th ACM Workshop on Privacy in the Electronic Society, Alexandria, VA, USA, 27 October 2008; pp. 1–8. [Google Scholar]
  9. Guha, S.; Kevin, T.; Paul, F. NOYB: Privacy in online social networks. In Proceedings of the First Workshop on Online Social Networks, Seattle, WA, USA, 18 August 2008; pp. 49–54. [Google Scholar]
  10. Niu, B.; Li, X.; Zhu, X.; Li, X.; Li, H. Are you really my friend? Exactly spatiotemporal matching scheme in Privacy-Preserving mobile social networks. In Proceedings of the International Conference on Security and Privacy in Communication Systems, Beijing, China, 24–26 September 2014; pp. 33–40. [Google Scholar]
  11. Zhang, R.; Zhang, Y.; Sun, J.; Yan, G. Fine-grained private matching for proximity-based mobile social networking. In Proceedings of the IEEE INFOCOM, Orlando, FL, USA, 25–30 March 2012; pp. 1969–1977. [Google Scholar]
  12. Fu, Y.; Wang, Y. BCE: A privacy-preserving common-friend estimation method for distributed online social networks without cryptography. In Proceedings of the 7th International Conference on Communications and Networking, Kunming, China, 8–10 August 2012; pp. 212–217. [Google Scholar]
  13. Sun, J.; Zhang, R.; Zhang, Y. Privacy-preserving spatiotemporal matching. In Proceedings of the IEEE INFOCOM, Turin, Italy, 14–19 April 2013; pp. 800–808. [Google Scholar]
  14. Bamba, B.; Liu, L.; Pesti, P.; Wang, T. Supporting anonymous location queries in mobile environments with PrivacyGrid. In Proceedings of the 17th international conference on World Wide Web, New York, NY, USA, 21–25 April 2008; pp. 237–246. [Google Scholar]
  15. Bordenabe, N.E.; Chatzikokolakis, K.; Palamidessi, C. Optimal Geo-Indistinguishable Mechanisms for Location Privacy. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security (CCS ’14), Scottsdale, AZ, USA, 3–7 November 2014; pp. 251–262. [Google Scholar]
  16. Elaine, S.; Richard, C.; Hubert, C. Privacy-preserving aggregation of time-series data. In Proceedings of the Network and Distributed System Security Symposium (NDSS 2011), San Diego, CA, USA, 6–9 February 2011; pp. 1–17. [Google Scholar]
  17. Jorgensen, Z.; Yu, T.; Cormode, G. Publishing attributed social graphs with formal privacy guarantees. In Proceedings of the 2016 International Conference on Management of Data, San Francisco, CA, USA, 26 June–1 July 2016; pp. 107–122. [Google Scholar]
  18. Zhou, C.L.; Chen, Y.H.; Tian, H.; Cai, S.B. Location Privacy and Query Privacy Preserving Method for K-nearest Neighbor Query in Road Networks. J. Softw. 2020, 31, 471–492. [Google Scholar] [CrossRef]
  19. Li, Z.; Wang, C.; Yang, S.; Jiang, C.; Li, X. Lass: Local-activity and social-similarity based data forwarding in mobile social networks. IEEE Trans. Parallel Distrib. Syst. 2014, 26, 174–184. [Google Scholar] [CrossRef] [Green Version]
  20. Schlegel, R.; Chow, C.; Huang, Q.; Wong, D. User-defined privacy grid system for continuous location-based services. IEEE Trans. Mob. Comput. 2015, 14, 2158–2172. [Google Scholar] [CrossRef]
  21. Han, M.; Li, L.; Xie, Y.; Wang, J.; Duan, Z.; Li, J.; Yan, M. Cognitive approach for location privacy protection. IEEE Access 2018, 6, 13466–13477. [Google Scholar] [CrossRef]
  22. Siddula, M.; Li, Y.; Cheng, X.; Tian, Z.; Cai, Z. Privacy-enhancing preferential lbs query for mobile social network users. Wirel. Commun. Mob. Comput. 2020. [Google Scholar] [CrossRef]
  23. Yang, X.; Yang, M.; Yang, P.; Leng, Q. A multi-authority attribute-based encryption access control for social network. In Proceedings of the 2017 3rd IEEE International Conference on Control Science and Systems Engineering (ICCSSE), Beijing, China, 17–19 August 2017; pp. 671–674. [Google Scholar]
  24. Luo, E.; Liu, Q.; Wang, G. Hierarchical multi-authority and attribute-based encryption friend discovery scheme in mobile social networks. IEEE Commun. Lett. 2016, 20, 1772–1775. [Google Scholar] [CrossRef]
  25. Alanwar, A.; Shoukry, Y.; Chakraborty, S.; Martin, P.; Tabuada, P.; Srivastava, M. PrOLoc: Resilient localization with private observers using partial homomorphic encryption. In Proceedings of the 2017 16th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), Pittsburgh, PA, USA, 18–21 April 2017; pp. 41–52. [Google Scholar]
  26. Boneh, D.; Craig, G.; Brent, W. Collusion resistant broadcast encryption with short ciphertexts and private keys. In Proceedings of the Advances in Cryptology—CRYPTO 2005, Santa Barbara, CA, USA, 14–18 August 2005; pp. 258–275. [Google Scholar]
  27. Paillier, P. Public-key cryptosystems based on composite degree residuosity classes. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; pp. 223–238. [Google Scholar]
  28. Goldwasser, S.; Micali, S. Probabilistic Encryption. J. Comput. Syst. Sci. 1984, 28, 270–299. [Google Scholar] [CrossRef] [Green Version]
  29. Li, Y.; Zhou, F.; Xu, Z. PPFQ: Privacy-Preserving Friends Query over Online Social Networks. In Proceedings of the 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), Guangzhou, China, 29 December–1 January 2021; pp. 1348–1353. [Google Scholar]
  30. Batcher, K.E. Sorting networks and their applications. In Proceedings of the spring joint computer conference, New York, NY, USA, 30 April–2 May 1968; pp. 307–314. [Google Scholar]
  31. Veugen, T. Improving the DGK comparison protocol. In Proceedings of the International Workshop on Information Forensics and Security, Tenerife, Spain, 2 December 2012; pp. 49–54. [Google Scholar]
  32. The OpenSSL Project. OpenSSL: The Open Source Toolkit for SSL/TLS. 2015. Available online: http://www.openssl.org/ (accessed on 26 May 2021).
  33. Relic-Toolkit. Available online: https://github.com/relic-toolkit (accessed on 26 May 2021).
  34. Cohen, W.W. Enron Email Dataset. 2015. Available online: https://www.cs.cmu.edu/~enron/ (accessed on 26 May 2021).
Figure 1. The architecture.
Figure 1. The architecture.
Sensors 21 03994 g001
Figure 2. Communication overhead.
Figure 2. Communication overhead.
Sensors 21 03994 g002
Figure 3. Search time overhead.
Figure 3. Search time overhead.
Sensors 21 03994 g003
Figure 4. Scalability.
Figure 4. Scalability.
Sensors 21 03994 g004
Table 1. Complexity analysis.
Table 1. Complexity analysis.
Stor u Stor S 1 Stor S 2 Comp u Comp S 1 Comp S 2 Comm u Comm S 1 Comm S 2
Register O (1) O (n) O (n) O (1) O (1) O (1) O (1)
Grant O (d) O ( n d ) O (d) O (d) O ( n d )
Revoke O (1) O (1) O (1) O (1)
LocUpdate O (n) O (1) O (1) O (n)
Search O (d) O ( d + (logd) 2 ) O ( d + (logd) 2 ) O (k) O ( ( log d ) 2 ) O ( ( log d ) 2 )
S t o r : storage complexity; C o m p : computation complexity; C o m m : communication complexity.
Table 2. Properties comparison.
Table 2. Properties comparison.
AccuracyEvaluation MethodDynamicCryptography toolSPLPACRank Model
[16]Euclidean distance/Anchor points×PIR/ P ×
[17]×Linear ProgrammingHMAC×
[21]×Dynamic Grid×HMAC××User
OursSquared Euclidean distance P / GM / BE 2 servers
SP: Search Privacy; LP: Location Privacy; AC: Access Control.
Table 3. Storage cost.
Table 3. Storage cost.
Unencrypted G Encrypted G
VertexStorage (kb)GenTime (s)Storage (kb)GenTime (s)Inflation Rate
20018.7520.42357.5062.359306.665%
40038.1010.477115.3022.941302.622%
60057.4600.514174.3793.316303.478%
80074.6770.538225.0393.770301.349%
100095.9880.575289.8644.113301.979%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Li, Y.; Zhou, F.; Ge, Y.; Xu, Z. Privacy-Enhancing k-Nearest Neighbors Search over Mobile Social Networks. Sensors 2021, 21, 3994. https://doi.org/10.3390/s21123994

AMA Style

Li Y, Zhou F, Ge Y, Xu Z. Privacy-Enhancing k-Nearest Neighbors Search over Mobile Social Networks. Sensors. 2021; 21(12):3994. https://doi.org/10.3390/s21123994

Chicago/Turabian Style

Li, Yuxi, Fucai Zhou, Yue Ge, and Zifeng Xu. 2021. "Privacy-Enhancing k-Nearest Neighbors Search over Mobile Social Networks" Sensors 21, no. 12: 3994. https://doi.org/10.3390/s21123994

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop