Next Article in Journal
Injury Patterns and Frequency in Swimming: A Systematic Review
Previous Article in Journal
Master Production Schedule in the Consumer Product Goods Industry: Benefits of APS Applications
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

ROLQ-TEE: Revocable and Privacy-Preserving Optimal Location Query Based on Trusted Execution Environment

1
Software College, Northeastern University, Shenyang 110169, China
2
State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China
3
School of Computer Science and Engineering, Shenyang Jianzhu University, Shenyang 110168, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(3), 1641; https://doi.org/10.3390/app15031641
Submission received: 20 December 2024 / Revised: 4 February 2025 / Accepted: 4 February 2025 / Published: 6 February 2025
(This article belongs to the Special Issue Cybersecurity: Advances in Security and Privacy Enhancing Technology)

Abstract

:
With the advent of cloud computing, outsourced computing has emerged as an increasingly popular strategy to reduce the burden of local computation. Optimal location query (OLQ) is a computationally intensive task in the domain of big data outsourcing, which is designed to determine the optimal placement of a new facility from a set of candidate locations. However, location data are sensitive and cannot be shared with other enterprises, so privacy-preserving optimal location query becomes particularly important. Although some privacy-preserving works have been proposed, they still suffer from other challenges, such as irrevocable query permissions and high communication overhead. To overcome these challenges, we propose a revocable and privacy-preserving optimal location query scheme based on TEE (Trusted Execution Environment). We employ a basic hash structure within the TEE to compute the intersection data of both parties. We use the concept of reverse nearest neighbor (RNN) to assess the impact of candidates, and then select the optimal facility location. In addition, to implement the revocation of query permissions, we introduce a key refresh strategy that adopts identity and timestamp. We evaluate the performance of the proposed scheme using real datasets, and the experimental results indicate strong practicality.

1. Introduction

The integration of cloud computing and smart mobile devices has led to the widespread generation of location data, thereby driving the widespread use of location-based services (LBSs) [1]. Location-based services enable governments and businesses to make informed decisions, such as when optimizing urban planning, determining new facility placements, allocating resources, and achieving various other strategic objectives. Optimal location query (OLQ) [1] is a branch of location-based service applications that aims to identify the best location for a new facility that maximizes its influence, taking into account a set of existing facilities and customers. However, these businesses (or governments) are unable to perform an optimal location query as the location of customers is invariably unknown to them. This requires businesses to obtain these location data from telecommunication operators. Since location data usually involves behavioral information, any leakage of location data may pose threats to personal security and result in losses of economic property. Therefore, telecommunication operators are unwilling to share these location data with other businesses directly. Additionally, to reduce the computational burden, telecommunication operators typically opt to outsource encrypted location data and location-based services to cloud service providers. The primary reason for this is that cloud service providers enable the cost-efficient storage and processing of large datasets, providing the computational capacity for complex location-based services.
Therefore, when cloud service providers offer an optimal location query service to businesses, telecommunication operators must ensure the privacy of individual customers and their location information, as well as the confidentiality of query results. Simultaneously, the customer information of businesses should remain confidential and protected from the cloud service provider.
For consistency, this paper regards the telecommunication operator as the data owner, the businesses as the data users, and the identity and location of the customer as private data. Moreover, in practical applications, optimal location query services are typically time-limited rather than permanent. When a subscription expires, the data owner must revoke the query permissions of data users by refreshing their query keys. For clarity, we visualize this architecture below in Figure 1. The scenario involves a data owner maintaining a customer location database, a TEE-enabled cloud service provider, and multiple data users (i.e., businesses, abstracted as Alice, Bob, and Adam), who have their own customer lists. These authorized data users perform optimal location queries for a new branch in a specified candidate set during the subscription.
To address privacy issues, various privacy-preserving schemes for optimal location queries have been proposed. According to the usage method, they can be generally divided into the following two categories: non-cryptographic privacy-preserving location selection schemes [2,3,4,5,6,7] and cryptographic privacy-preserving location selection schemes [8,9,10,11,12,13,14,15]. Nevertheless, both of the above privacy-preserving schemes have obvious shortcomings, such as insufficient data privacy protection, inaccurate query results, and irrevocable user query permissions for non-cryptographic schemes, and high computational overhead, low query efficiency, and irrevocable user query permissions for cryptographic schemes.
Our contributions: To overcome these shortcomings simultaneously, we propose ROLQ-TEE: a revocable and privacy-preserving optimal location query scheme based on TEE. The ROLQ-TEE scheme can securely and efficiently identify the optimal location within the candidate facility set based on the customer’s location data and also support the revocation of the query permission. Our primary contributions are summarized as follows:
  • First, we design a query architecture for sensitive location data based on the TEE, ensuring that no information of either customer, apart from the intersection, is disclosed, and that the intersection results are not exposed to the cloud service provider. Meanwhile, the TEE leverages its features to guarantee the confidentiality and integrity of both data and code within its enclave.
  • Second, we propose a revocable and privacy-preserving optimal location query scheme based on the above architecture (ROLQ-TEE), which not only enables the data users to obtain an optimal location of the new facility securely but also realizes the revocability of the query permission of the data users.
  • Third, we introduce a practical scenario where the data users (i.e., banks) are required to perform any of the three optimal location query operations (namely RNN Query (RNNQ), Average Distance Query (AVGQ), and Maximum Distance Query (MAXQ)) we designed on the cloud server (i.e., cloud service provider) according to their own needs within a specified time; otherwise, the data user’s query permission will be revoked once the specified time has passed.
  • Finally, we conduct a security analysis and performance evaluation of the optimal location query protocols. Subsequently, we demonstrate the security of the ROLQ-TEE scheme, illustrating that ROLQ-TEE scheme effectively preserves the privacy of both the location data owner and the requesting user. Finally, we theoretically analyze the performance and provide the experimental results.
The remainder of this paper is structured as follows: Section 2 discusses related works on optimal location query and privacy-preserving location-based query. Section 3 provides a brief background on bilinear pairings, discrete logarithm problems, collision-resistant hash function, nearest neighbor (NN) and RNN queries, and TEE. Section 4 details the system architecture, the threat model, and the construction of our proposed ROLQ-TEE scheme. Section 5 presents the security analysis of the ROLQ-TEE scheme. Section 6 evaluates the performance of ROLQ-TEE in terms of complexity analysis, memory usage, and efficiency. Finally, we conclude the paper in Section 7.

2. Related Work

In this section, we review previous works related to optimal location query and privacy-preserving location-based query.

2.1. Optimal Location Query

Optimal location query [1] seeks to identify the optimal location for a new facility among candidate sites, considering a set of existing facilities and a group of customers. However, an optimal location needs to be determined mathematically from a set of given points, which requires the introduction of the concept of reverse nearest neighbor (RNN) [16,17,18]. For example, for a data point p, its nearest neighbor (NN) [8] distance can be concretized as the distance from p to its nearest point in the dataset D. After that, it is easy to check whether p is an RNN that queries q by checking whether q falls in a circle centered at p and with a radius equal to p’s NN distance. The RNN queries exist as one of the following two main variants: the monochromatic version and the bichromatic version. In the monochromatic version, all points belong to a single category. In the bichromatic version, the points are divided into two distinct categories. Previous studies on the facility location problem generally assume that the customer’s location is known. However, in the given scenario of Figure 1, the business does not know the location of the customer, and the business needs to submit a query request to use location data stored by cloud service providers for data analysis. In other words, assuming that every customer prefers the nearest business, the bichromatic RNN query (RNNQ) is transformed into a business with an optimal location that can attract more potential customers. In addition to RNNQ, there are two other types of optimal location queries: the average distance query (AVGQ) [19], which minimizes the average distance between a customer and the nearest facility, and the maximum distance query (MAXQ) [20], which aims to maximize the maximum distance to the nearest facility for a customer.

2.2. Privacy-Preserving Location-Based Query

Although location-based services enhance daily convenience, they introduce significant challenges related to customer privacy and the protection of location data. Consequently, researchers have proposed many privacy-preserving location query schemes [2,3,4,5,6,7,8,9,10,11,12,13,14,15] in industry and academia. These schemes can be roughly categorized into the following two categories: non-cryptographic schemes and cryptographic schemes.
Some schemes [2,3,4,5,6,7] utilize non-cryptographic methods to protect the privacy of location data. Lin et al. [2] employed anonymization techniques to protect the privacy of the location of the mobile user. Zhang et al. [3] proposed location privacy protection for smartphones (LPPS), which is a privacy-preserving top-k query. LPPS operates without relying on a trusted third party (TTP) and does not necessitate changes to the business model of location-based service (LBS) servers. Hu et al. [4] proposed a strategy that combines a caching mechanism with K-anonymity, which not only meets users’ demands for accessing required services at the lowest cost but also safeguards users’ location privacy. Liu et al. [5] filtered out potential bogus data based on three criteria: time accessibility, direction similarity, and in-degree/out-degree. As a result, the remaining data helps to protect the privacy of the actual location information. However, these schemes suffer from lower privacy and returned results are not accurate enough. Islam et al. [6] proposed a novel query for spatial databases, known as the RNH query, which identifies neighborhoods where a specified query facility is the nearest facility among others in the dataset. In summary, most of these schemes rely on anonymization techniques or pseudo data to provide only a weak level of privacy protection.
Other schemes [8,9,10,11,12,13,14,15] aim to use various cryptographic methods to protect the privacy of location data, such as homomorphic encryption (HE), differential privacy (DP), and order-preserving encryption (OPE). Li et al. [8] proposed a novel privacy-preserving reverse nearest neighbor (PPRNN) scheme in a static setting based on structured encryption (SE) and the proposed reference-locked order-preserving encryption (RL-OPE), referred to as sPPRNN. Yilmaz et al. [9] proposed a privacy-preserving scheme that enables data owners to respond to location-based queries without sharing their data with other businesses and without accessing sensitive information, such as the customer lists of the businesses submitting the queries. Han et al. [10] proposed a privacy-preserving optimal location query scheme (PPOLQ) that supports multiple condition filters and queries across multiple data providers in outsourced environments. Huang et al. [11] proposed a privacy-preserving spatiotemporal keyword search framework for encrypted location-based service (LBS) data, utilizing attribute-based encryption, linear encryption, and Rivest–Shamir–Adleman (RSA) encryption. This framework enables mobile users to submit LBS queries that incorporate spatial ranges, time intervals, and Boolean keyword expressions, providing accurate and authorized search results by matching these query conditions, along with the corresponding access policies. Guan et al. [12] proposed a novel oblivious location-based k-nearest neighbor (KNN) query scheme, ensuring that the cloud cannot link two queries, even if they are initiated by query users from the same location. Zhu et al. [13] proposed a privacy-preserving framework, which supports multi-location queries with fine-grained access control and allows searching based on location attributes. Nieminen et al. [14] proposed a privacy-preserving indoor localization scheme that utilizes received signal strength measurements, employing Paillier encryption and garbled circuits to ensure data privacy. Shao et al. [15] proposed a fine-grained privacy-preserving location-based service (LBS) framework called FINE. This framework employs a ciphertext-policy anonymous attribute-based encryption technique to ensure fine-grained access control, location privacy, and the confidentiality of both the LBS data and its access policy, while providing accurate LBS query results without involving any trusted third party. In comparison to non-cryptographic schemes, these approaches offer significantly stronger privacy protections and consistently produce exact query results that match those obtained from queries over plaintext location data. Nevertheless, employing these cryptographic methods imposes significant computational and communication overhead on telecommunication operators and businesses.
However, the above two types of location query-based schemes are based on traditional cloud computing scenarios, and the hardware security protection level is relatively low compared to the TEE-based schemes. Moreover, due to the existence of TEE, the latter has a huge advantage in client computing and communication overhead. In terms of efficiency, although the overall computing overhead of the server will increase in the TEE-based scheme, the computing efficiency inside the TEE is significantly higher than other privacy protection schemes. Therefore, in the TEE-based scenario, the way in which to achieve the optimal location query in terms of security and performance is the focus of our research.

3. Preliminaries

3.1. Bilinear Pairings

Let G and G T be two cyclic multiplicative groups with the same order q, and let g be a generator of G . Meanwhile, let e : G × G G T be a bilinear map [21] which meets the following properties:
  • Bilinearity: Q , R G and a , b Z p , e ( Q a , R b ) = e ( Q , R ) a b .
  • Non-degeneracy: e ( g , g ) 1 G T , where 1 is an unit of G T .
  • Computability: Q , R G , there exists an efficient algorithm to compute e ( Q , R ) .

3.2. Discrete Logarithm Problem

This problem was proposed by [22]; that is, given g , h G , it is difficult to identify an x G such that g x = h .

3.3. Collision-Resistant Hash Function

A collision-resistant hash function was provided by [23] and meets the following conditions:
  • The input X can be of arbitrary length, while the output H ( X ) has a fixed length of n bits (with n 128 ).
  • The hash function must be one-way, meaning that, given a Y in the range of H, it is hard to find a message X such that H ( X ) = Y . Furthermore, given X and H ( X ) , it should be challenging to find another message X X such that H ( X ) H ( X ) .
  • The hash function must be collision-resistant, meaning that it is difficult to find two distinct messages that produce the same hash result.

3.4. NN and RNN Query

Before introducing nearest neighbor (NN) and reverse nearest neighbors (RNN), it is essential to first understand Euclidean distance. Euclidean distance [24] is a metric that can be used to calculate nodes of different dimensions in order to measure the length between nodes. Based on [25], the Euclidean distance d i s t ( a , b ) , with the two-dimensional points a = ( x 1 , y 1 ) and b = ( x 2 , y 2 ) , could be determined as follows:
d i s t ( a , b ) = ( x 1 y 1 ) 2 + ( x 2 y 2 ) 2
Generally speaking, nearest neighbor (NN) [8,26] query has garnered widespread attention in the spatial database research community. For example, when point A is closer to point B than other points, we say that point A is the nearest neighbor of point B. Conversely, we also refer to point B as one of the reverse nearest neighbors (RNN) of point A. In other words, an RNN query identifies a set of points for which the query point serves as their nearest neighbor, i.e., it calculates the Euclidean distance between the query point and other points. The RNN query was first proposed in [16]. There are two variants of RNN queries [9]: a monochromatic version and a bichromatic version. Given a facility F , that is, a location of the F , the bichromatic RNN query finds the set of objects that has F as the nearest neighbor. Please note that we typically assume, in optimal location query scenarios, that each object prefers the nearest facility.
Definition 1
(RNN query). Given a set of facility locations F = { f 1 , f 2 , , f s } , the purpose of the RNN query is to find RNNQ( F )= { n u m j = | { l i | l i is RNN of f j } | , 1 j s , where l i represents the location of customer x i and | · | denotes the cardinality of a set. In other words, it aims to determine the cardinality of the reverse nearest neighbors (RNNs) for each facility f j .
For a RNN query, the query result Q = R N N Q ( F ) is an s-vector (ordered set) of RNN cardinalities, where the largest element in the vector of size s corresponds to the facility that is the optimal facility location; in other words, the facility that attracts the maximum number of customers.
However, when the vector of two facilities share the same cardinality (e.g., n u m j 1 = n u m j 2 , 1 j 1 j 2 s ), the tie has to be broken. Generally, the customers prefer the facility closer to them because they can utilize it more easily. Thus, we employ the accumulated distance from all customers l i to the locations f j in its facility set F , denoted as D j = l i n d ( l i , f j ) , as the tie breaker. The n is the number of customers. The smaller the D j is, the better the f j ’s optimality is.
Definition 2
(AVG query). Given a set of facility locations F = { f 1 , f 2 , , f s } , the AVGQ query intends to find the following:
A V G Q ( F ) = l i n d ( l i , f j ) n
where f i is the NN of l i , and d ( l i , f i ) means the Euclidean distance between l i and f i . In other words, it aims to compute the average distance between all customers and their nearest facilities.
Definition 3
(MAX query). Given a set of facility locations F = { f 1 , f 2 , , f s } , the MAXQ query aims to identify MAXQ ( F ) = m a x ( d ( l i , f i ) ) , where f i is the NN of l i . In other words, it aims to find the maximum distance between a customer and their nearest facilities.

3.5. Trusted Execution Environment

A trusted execution environment (TEE) is a secure computing environment designed to protect the security and privacy of sensitive data and codes. Typically composed of both hardware and software, a TEE provides a secure execution environment on standard operating systems, ensuring that malicious software cannot access or tamper with the data and code within the TEE. Examples of TEEs include Intel Software Guard Extensions, (Intel SGX), ARM TrustZone, and so on.
Intel SGX [27,28,29,30,31,32] is a set of new instructions and modifications to the memory access architecture of Intel CPUs. As shown in Figure 2, we mainly focus on the following two features of the Intel SGX: remote attestation and memory isolation.
  • Remote attestation: Remote attestation offers cryptographic verification to ensure that the enclave operates securely on the cloud server. When the enclave is created, a remote attestation signature is generated with the assistance of the SGX component, which is known as quote enclave (QE), to ensure the security of the enclave. Additionally, a secure channel is established for secret sharing between the enclave and the client using Elliptic-curve Diffie–Hellman (ECDH) [33].
  • Memory isolation: When a project runs on an SGX platform, the project is divided into an untrusted (or semi-trusted) storage area and a trusted isolation area, called an enclave. The enclave is an independent physical RAM block where the code and data contained within it are protected and inaccessible to privileged software, operating systems, hypervisors, and system firmware. When the SGX program is suspended or closed, the encrypted sensitive data separated from the enclave are stored in an untrusted area. When the SGX program is running, these data can only be accessed within the enclave through a dedicated interface designed for decryption and integrity checking.

4. ROLQ-TEE Scheme

In this section, we present our system architecture in Section 4.1. The threat model is given in Section 4.2. We describe the construction of the ROLQ-TEE scheme in detail in Section 4.3.

4.1. System Architecture

As shown in Figure 3, we consider a multi-parties scenario. The ROLQ-TEE scheme consists of three entities, namely a data owner ( DO ), data users ( DU ), and a cloud service provider ( CSP ) that supports TEE, where DU = { DU 1 , , DU n } . DO has a private customer set U DO = { ( x 1 , l 1 ) , , ( x n DO , l n DO ) } , where x i is the ith unique customer identity of the DO and l i is the location information of x i , 1 i n DO . In fact, l i can be an expression of a point in any coordinate system, for example, l i = ( u i , v i ) in the Cartesian coordinate system or l i = ( l n g i , l a t i ) in the geographic coordinate system. Each DU μ has a private customer list U μ = { y μ , 1 , , y μ , n μ } , where y μ , j is the jth unique customer identity of the DU μ , 1 μ n , and 1 j n μ . Additionally, each DU μ has a candidate list of facilities F μ = { f 1 , , f s } , where f ξ also represents the expression of a point in any coordinate system, 1 ξ s . Their respective tasks and system flows are described as follows:
  • Data owner ( DO ): The data owner is mainly responsible for system setup, data encryption and ciphertext uploading. In addition, the DO establishes the secure channel through remote attestation with the TEE of the CSP and generates the session key to transfer the secret key and data.
  • Cloud service provider ( CSP ): This is mainly divided into two areas: one is the TEE area, and the other is the storage area. The TEE is mainly responsible for query key generation, map table construction, optimal location query, and query key refresh. The storage area is mainly responsible for storing encrypted data.
  • Data users ( DU ): The DU μ is mainly responsible for providing a candidate set F μ = { f ξ } 1 s and generating query requests Q for the candidate set. Additionally, the DU μ is also responsible for decrypting the optimal location query results.
As shown in Figure 3, the DO establishes a secure channel with the TEE of the CSP through remote attestation in advance and generates the session key K s . Next, the DO executes the system setup to generate master secret key m s k and master public parameters m p k in step 1. In step 2, the DO uploads encrypted data to the CSP . After that, the TEE generates the storage key s k DO and the query keys s k μ for the DO and all DU μ in step 3. In step 4, the TEE performs query key distribution for all DU μ . In step 5, the TEE constructs the map table and re-encrypts the location data. In step 6, the DU μ generates optimal location query requests and sends them to the TEE. In step 7, the TEE executes the optimal location query algorithm to obtain a query result r e s . The TEE sends the encrypted query results C r e s to the DU μ in step 8. In step 9, the DU μ performs the Dec algorithm to obtain the query result r e s . The TEE performs a query key refresh operation to revoke the query permissions of the user in the revocation list, and updates user list U L , revocation list R L , time list T L , and the query keys of the unrevoked users in step 10.

4.2. Threat Model

We construct the ROLQ-TEE scheme based on the following assumptions regarding its threat model. We assume that attackers are computationally bounded and unable to break standard cryptographic assumptions, meaning they cannot compromise the hardware security of the TEE. This ensures that the TEE protects the predefined code and data contained within it. In addition, DO , RU , and TEE are trusted, and CSP without TEE is honest and curious. This implies that the cloud service provider honestly executes all algorithm instructions. Meanwhile, the CSP  may exhibit curiosity about the sensitive information contained in the stored encrypted data and might attempt to learn additional sensitive information through RNN queries. To prevent the leakage of sensitive information, the DO store only ciphertexts of their location data on the CSP , while the DU submit encrypted forms of their RNN queries (i.e., query tokens) to the CSP . Additionally, the CSP may exhibit curiosity about the query results of the DU , making it essential to assume the absence of collusion between the DO and the CSP . In summary, our ROLQ-TEE scheme is considered to be secure, meaning that the following security requirements should be met simultaneously.
  • Data privacy: Data privacy means that the outsourced location data, query tokens, customer lists, and query results cannot be broken by the adversary.
  • Revocation security: The data users whose access has been revoked are unable to initiate new optimal location queries and are also prevented from decrypting any ciphertext data associated with subsequent queries.
  • Data anonymity: The data users cannot utilize the obtained information to infer the locations stored in the database of the data owner, other than the intersection location data.

4.3. Detailed Construction

Our ROLQ-TEE scheme includes the following eight algorithms: S e t u p , K e y G e n , E n c , B u i l d , G e n T o k e n , O p t L o c Q u e , D e c , and K e y F r e s h . We first summarize important notations used in ROLQ-TEE, as shown in Table 1. Next, we present our construction as follows:
  • S e t u p ( 1 λ ) ( m s k , m p k ) . The S e t u p algorithm is run by the DO . It takes as input a security parameter λ . It outputs the master secret key m s k and system master public key m p k .
    • The DO chooses a bilinear map e : G × G G T , where G and G T are two cyclic groups with order q. Then, the DO randomly chooses a generator g of G and a generator g t of G T , respectively. After that, the DO chooses two different collision-resistant hash functions, H 1 : { 0 , 1 } * G and H 2 : { 0 , 1 } * G , randomly. Additionally, the DO chooses an pseudo-random function F.
    • The DO chooses some random values α , α μ Z q * , and computes h = g α and h μ = g α μ , 1 ≤ μ n.
    • The DO executes remote attestation with the TEE of the CSP  to generate the session key K s . Meanwhile, both parties establish a secure channel.
    • Finally, the DO publishes m p k = ( G , G T , e , g , q , h μ , h , H 1 , H 2 ) as the system parameters, and sends the encrypted m s k = { α , α μ } to the TEE through the secure channel.
  • E n c ( U DO , m s k , i v , a d d , K s ) ( C , C m s k , t a g , t a g m s k ) . The E n c algorithm is run by the DO . It takes as input the data U DO = { M i = x i | | l i } , the master system key m s k , the initial vector i v = { i v 0 , i v 1 , , i v n DO } , the additional authentication data a d d = { a d d 0 , a d d 1 , , a d d n DO } , and the session key K s . It outputs the ciphertexts C = { C i } and C m s k , and the encrypted tags t a g = { t a g i } and t a g m s k , where 1 i n DO .
  • K e y G e n ( C m s k , K s , m p k ) ( s k μ , s k DO , T L , R L , U L ) . The KeyGen algorithm is run by the TEE. It takes as input the encrypted master secret key C m s k and the master public key m p k . It outputs the query key s k μ , a storage key s k DO , a data user list U L = { r i d μ } , 1 μ n , an empty revocation list R L = { } , and an timestamp list T L = { } .
    • First, the TEE decrypts C m s k to m s k and randomly generates a unique identifier r i d μ for each registered data user DU μ . Meanwhile, the TEE also generates a unique identifier r i d DO for the DO .
    • Second, the TEE creates a timestamp T t and sets a counter t = 1 , where T L = { T 1 } . After that, the TEE computes the corresponding query key s k μ = { s k μ , t , 0 , s k μ , t , 1 } , where s k μ , t , 0 = H 1 ( r i d μ ) α μ · H 2 ( T t ) r μ , t , s k μ , t , 1 = g r μ , t , and r μ , t Z q * .
    • Next, the TEE computes the storage key s k DO = H 1 ( r i d DO ) α for the DO and uses it for data encryption.
    • Finally, the TEE distributes { s k DO , r i d DO } to the DO through a secure channel, and distributes { s k μ , r i d μ , T t } to the corresponding DU μ through the secure sockets layer (SSL) protocol.
  • B u i l d ( K s , C , s k DO ) ( M T , c i ) . The B u i l d algorithm is run by the TEE. It takes as input the session key K s , the ciphertext C = { C i } , and the secret key s k DO . It outputs the map table M T and encrypted location data. The detailed process is as follows:
    • First, the TEE decrypts the ciphertext C i to plaintext M i = x i | | l i and splits the M i to obtain the customer identity x i and corresponding location information l i , 1 i n DO .
    • Second, the TEE computes F ( s k μ , x i ) , and calls the E n c algorithm to generate the encrypted location data ciphertext c i ; that is, c i = E n c ( l i , s k DO , i v i , a d d i ) .
    • Finally, the TEE constructs a map table M T [ F ( s k μ , x i ) ] = c i and stores the ciphertext c i to the store area of the CSP .
  • G e n T o k e n ( F μ , s k μ , U μ ) ( CF μ , CL μ ) . The G e n T o k e n algorithm is run by the DU μ . It takes as input a list of candidate facility locations F μ = { f 1 , , f s } , the query key s k μ , and the private customer set of the data user U μ . It outputs an encrypted candidate set CF μ and an encrypted customer list set CL μ . The detailed steps are as in Algorithm 1:
    • The DU μ chooses a random value r μ Z q * and computes the encrypted candidate set CF μ = { CF μ , 0 , CF μ , 1 , CF μ , 2 } , where CF μ , 0 = g r μ , CF μ , 1 = M F μ · e ( H 1 ( r i d μ ) r μ , h μ ) , CF μ , 2 = H 2 ( T t ) r μ , and M F μ = f 1 | | f 2 | | | | f s .
    • Next, the DU μ computes the encrypted customer list CL μ = { CL μ , 0 , CL μ , 1 , CL μ , 2 } , where CL μ , 0 = g r μ , CL μ , 1 = L · e ( H 1 ( r i d μ ) r μ , h μ ) , CL μ , 2 = H 2 ( T t ) r μ , r μ Z q * , and L = F ( s k μ , y μ , 1 ) | | | | F ( s k μ , y μ , n μ ) .
    • Finally, the DU μ sends the encrypted query token Q μ = { CF μ , CL μ } to the CSP .
  • O p t L o c Q u e ( c i , Q μ , s k μ , s k DO , M T , m p k ) C r e s . The O p t L o c Q u e algorithm is run by the TEE. It takes as input the encrypted location data set c i , the encrypted query token Q μ , the query key s k μ , the secret key s k DO , the map table M T , and public system parameters m p k . It outputs an encrypted optimal location query result C r e s . The detailed steps are as in Algorithm 2:
    • The TEE decrypts the CF μ to the M F μ using Equation (3), as shown below, and obtains a list of the candidate facility locations F μ = { f 1 , f s } .
      M F μ = CF μ , 1 · e ( s k μ , t , 1 , CF μ , 2 ) e ( s k μ , t , 0 , CF μ , 0 ) = M F · e ( H 1 ( r i d μ ) r μ , h μ ) · e ( g r μ , t , H 2 ( T t ) r μ ) e ( H 1 ( r i d μ ) α μ · H 2 ( T t ) r μ , t , g r μ ) = M F · e ( H 1 ( r i d μ ) r μ , h μ ) · e ( g r μ , t , H 2 ( T t ) r μ ) e ( H 1 ( r i d μ ) α μ , g r μ ) · e ( H 2 ( T t ) r μ , t , g r μ ) = M F μ
    • According to the decryption method in Step 1, TEE decrypts the encrypted customer list CL μ to L = { F ( s k μ , y μ , 1 ) , , F ( s k μ , y μ , n μ ) } .
    • Meanwhile, the TEE compares whether L . F ( s k μ , y μ , j ) and M T . F ( s k μ , ( x i ) ) are equal using Equation (4), as shown below. If equal, the TEE loads c i , corresponding to M T . F ( s k μ , ( x i ) ) , and decrypts it to obtain the location data l i . Otherwise, TEE continues to match the next token.
      L . F ( s k μ , y μ , j ) = ? M T . F ( s k μ , ( x i ) )
    • Subsequently, the TEE loads the encrypted location data c i of M T . F ( s k μ , ( x i ) ) and decrypts the c i to the l i . Next, the TEE obtains U I = { l i } , corresponding to the intersection of the customers of the DO and the DU μ .
    • The TEE uses the U I and the F μ to compute the ranking result r e s of the optimal location query (RNNQ/AVGQ/MAXQ) according to the Euclidean distance (Section 3.1) and Definition 1 (or Definition 2 or Definition 3).
    • The TEE encrypts the optimal location query results r e s to C r e s = { C r e s , 0 , C r e s , 1 , C r e s , 2 } using s k μ , and sends the C r e s to the DU μ .
  • Dec( C r e s , s k μ )→ r e s . The D e c algorithm is run by the DU μ . It takes as input the query results C r e s and the query key s k μ . It outputs the ranking results r e s , as follows:
    r e s = C r e s , 1 · e ( s k μ , t , 1 , C r e s , 2 ) e ( s k μ , t , 0 , C r e s , 0 ) = r e s · e ( H 1 ( r i d μ ) r R , h μ ) · e ( g r μ , t , H 2 ( T t ) r R ) e ( H 1 ( r i d μ ) α μ · H 2 ( T t ) r μ , t , g r R ) = r e s · e ( H 1 ( r i d μ ) r R , h μ ) · e ( g r μ , t , H 2 ( T t ) r R ) e ( H 1 ( r i d μ ) α μ , g r R ) · e ( H 2 ( T t ) r μ , t , g r R ) = r e s
  • K e y F r e s h ( { r i d k } , m s k , m p k ) ( s k μ , R L , T L , U L ) . The K e y F r e s h algorithm is run by the TEE. It takes as input a set of revoked identities { r i d k } , the master secret key m s k , and the system master public key m p k . It outputs the updated query keys s k μ , an updated revocation list R L , an updated data user list U L , and an updated timestamp list T L .
    • Upon the expiration of the subscription period, the TEE first identifies the user identities { r i d k } to be revoked in the data user list, and obtains an updated revocation list R L = R L { r i d k } and an updated request user list U L = U L / { r i d k } , where k [ 1 , n ] .
    • Then, the TEE recreates the timestamp T t + 1 onto the original list T L , and obtains a new timestamp list T L = { T t , T t + 1 } .
    • TEE randomly chooses a r μ , t + 1 Z q * for the corresponding unrevoked user set U L = U L - R L , and recomputes s k μ , t + 1 , 0 = H 1 ( r i d μ ) α μ · H 2 ( T t + 1 ) r μ , t + 1 and s k μ , t + 1 , 1 = g r μ , t + 1 , μ [ 1 , n ] / { k } .
    • Finally, the TEE sends the s k μ = { s k μ , t + 1 , 0 , s k μ , t + 1 , 1 } to the corresponding unrevoked data user U L .
Algorithm 1: GenToken Algorithm
Input: The candidate facility list F μ , the query key s k μ , and the customer set U μ
Output: The encrypted candidate set CF μ and the encrypted customer list set CL μ
  1: Select a random value r μ Z q * ;
  2: Construct the facility candidate set M F μ = f 1 | | f 2 | | , , | | f s ;
  3: Compute the encrypted candidate set CF μ = { CF μ , 0 , CF μ , 1 , CF μ , 2 } , where CF μ , 0 = g r μ ,
     CF μ , 1 = M F μ · e ( H 1 ( r i d μ ) r μ , h μ ) , and CF μ , 2 = H 2 ( T t ) r μ ;
  4: Select a random value r μ Z q * ;
  5: Construct the customer list L = F ( s k μ , y μ , 1 ) | | F ( s k μ , y μ , 2 ) | | | | F ( s k μ , y μ , n μ ) ;
  6: Compute the encrypted customer list set CL μ = { CL μ , 0 , CL μ , 1 , CL μ , 2 } , where CL μ , 0 = g r μ ,
     CL μ , 1 = L · e ( H 1 ( r i d μ ) r μ , h μ ) , and CL μ , 2 = H 2 ( T t ) r μ ;
  7: Generate the query token Q μ = { CF μ , CL μ } and send Q μ to the CSP .
Algorithm 2: OptLocQue Algorithm
Input: The encrypted location data set c i , the encrypted query token Q μ , the query key s k μ , the secret key
       s k DO , the map table M T , and the public system parameters m p k
Output: The encrypted optimal query result C r e s
  1: Load the encrypted query token Q μ = { CF μ , CL μ } ;
  2: Decrypt CF μ to M F μ = CF μ , 1 · e ( s k μ , t , 1 , CF μ , 2 ) e ( s k μ , t , 0 , CF μ , 0 ) ;
  3: Decrypt CL μ to L = CL μ , 1 · e ( s k μ , t , 1 , CL μ , 2 ) e ( s k μ , t , 0 , CL μ , 0 ) ;
  4: for  1 i n MO  do
  5:   for  1 j n μ  do
  6:      if  L . H 1 ( y μ , j ) = M T . H 1 ( x i )
  7:        Load the c i of M T . H 1 ( x i ) and decrypt c i to l i ;
  8: Obtain the location intersection set U I = { l i } ;
  9: for  1 ξ s  do
10:   foreach  l i  in  U I  do
11:      Compute the euclidean distance d ( l i , f ξ ) between f ξ and l i ;
12:      Compute accumulated value = d ( l i , f ξ ) ;
13: Select the query type, namely RNNQ, AVGQ, or MAXQ;
14: Obtain the optimal query result r e s ;
15: Select a random value r R Z q * ;
16: Compute encrypted optimal query result C r e s = { C r e s , 0 = g r R , C r e s , 1 = r e s · e ( H 1 ( r i d μ ) r R , h μ ) ,
    C r e s , 2 = H 2 ( T t ) r R } ;
17: Send the C r e s to the DU μ .

5. Security Analysis

We now analyze the security of the ROLQ-TEE scheme. The goal of the adversary is to be able to decrypt ciphertext with the key of a revoked user.
Theorem 1.
The ROLQ-TEE scheme maintains data privacy if the discrete logarithm problem and the collision resistance of hash functions are hard.
Proof. 
The query token, customer list, and query result are encrypted with public keys using random numbers, unique identifiers, and timestamps. Under the premise that the adversary A does not know the private key, the adversary A needs to solve computational problems such as discrete logarithms and the anti-collision of hash functions in probabilistic polynomial time. This contrasts with the issues explored in Section 3.2 and Section 3.3. Since the adversary A cannot crack the ciphertext of the query token, customer list, and query result, the ROLQ-TEE scheme maintains data privacy. □
Theorem 2.
The ROLQ-TEE scheme maintains revocable security if the discrete logarithm problem and the collision resistance of hash functions are hard.
Proof. 
The optimal location query process of the ROLQ-TEE scheme is carried out in the TEE (Intel SGX), and its correctness relies on the guarantee of hardware security. For a more detailed proof process, please refer to references [29,33]. Therefore, our scheme only needs to ensure that the ciphertext data in other stages cannot be decrypted by the adversary or revoked by users. We will meet this design goal in Stage 1, Stage 2, and Stage 3.
Stage 1: In the ciphertext upload stage, the following processes occur: (1) DO generates the master secret key m s k locally and transmits it to TEE through a secure channel generated by TEE remote attestation. The security of the transmission depends on the ECDH protocol [33]. Since DO and TEE are trusted and the transmission process is secure, it is impossible for an adversary A to obtain the master secret key through monitoring or tampering. (2) These keys used for data encrypted by the DU μ are derived keys, which are derived by TEE through m s k and securely distributed by TEE. The adversary A cannot forge the s k μ and s k DO in probabilistic polynomial time without knowing m s k , because the adversary A cannot solve the discrete logarithm problem and the collision resistance of the hash function. In summary, the ROLQ-TEE scheme is secure during the ciphertext upload phase.
Stage 2: During the token upload phase, each DU μ generates a query token Q using a unique identity r i d μ and the public parameters m p k . If the adversary A can decrypt the encrypted token in polynomial time, then the adversary A must solve the discrete logarithm problem and the collision resistance of the hash function in polynomial time in order to forge the analysis key s k μ . This contradicts the difficulty of solving discrete logarithms and the anti-collision property of the H 1 and H 2 hash functions. Therefore, it is computationally infeasible for the adversary A to break the token with a non-negligible advantage.
Stage 3: During the key refresh phase, the TEE recalculates the parameters s k μ , t + 1 , 0 and s k μ , t + 1 , 1 for each non-revoked request user, utilizing the updated timestamp T t + 1 and updated random number r μ , t + 1 to generate the refreshed query key s k μ . Thus, when DU μ initiates a query again using the new query key s k μ , the messages F μ and U μ are randomized with r μ and r μ , j , respectively, instead of with r μ and r μ , j . Thus, the adversary A cannot decrypt the encrypted tokens CF μ and C μ , j . However, the adversary A can try to recover the query key s k μ . Since the query key s k μ is randomized by a random number r μ , t + 1 , and the discrete logarithm problem (DLP) and the collision resistance of the hash function, it is computationally infeasible for the adversary A . Thus, the adversary A can not break the query key s k μ of the DU μ within probabilistic polynomial time. □
Theorem 3.
The ROLQ-TEE scheme maintains data anonymity if the pseudo-random function and the advanced encryption standard galois/counter mode (AES-GCM) algorithm are secure.
Proof. 
During the query phase, the DU μ sends a query token Q μ to the cloud server, which contains the encrypted set CF μ of candidate facilities and the encrypted customer list CL μ .
In the optimal location analysis phase, assuming that the TEE created by the DO operates securely and correctly on the CSP , the location analysis process is executed within the TEE. The critical step involves comparing the customer identity of the mapping table M T with the customer list L to determine the corresponding encrypted location data. Subsequently, the TEE calculates the Euclidean distance between the intersected customer locations and the candidate facility locations to produce a ranking of the candidate facilities. Notably, the customer identity in the mapping table and the customer list are encrypted using a pseudo-random function F.
During the decryption phase, the DU μ only obtains the ranking results C r e s of the candidate facility locations. Even if the DU μ attempts to reverse-engineer the ranking results C r e s through extensive computation and combinatorial analysis, they can infer only the intersection data permitted by the scheme, but cannot deduce any additional location data stored by the DO other than the intersection. Furthermore, due to the security of the pseudorandom function and the DU μ ’s inability to access the M T , the DU μ cannot obtain the identities of customers other than the intersection, nor can they access the corresponding location data. Additionally, the location data are encrypted using the AES-GCM algorithm. Without knowledge of the storage key s k DO , the DU μ is unable to infer any additional location data from the ciphertext. The security of the pseudorandom function and the AES-GCM encryption algorithm has been proven in [34,35], respectively, and will not be further elaborated on here. □

6. Performance Evaluation

In this section, we analyze the computational complexity, communication overhead, query efficiency, and memory usage of the ROLQ-TEE scheme.

6.1. Complexity Analysis

In this section, the performance and functions of these schemes are summarized in Table 2. Table 2 shows the computational cost of the optimal location query, the storage cost of all entities, and some functional characteristics. Yilmaz [9] implements a server-based query processing protocol and a client-based query processing protocol, respectively. Each protocol implements the following three most effective location analysis methods: cardinality query (RNNQ), average distance query (AVGQ), and maximum distance query (MAXQ). Similarly, our scheme also implements the above three query methods. However, the overall complexity of the three query methods of the ROLQ-TEE scheme on the server side is higher than that of the three query methods of the above scheme [9]. The reason is that the three query methods of the ROLQ-TEE scheme achieve stronger privacy protection than the above three query methods, so there are more encryption and decryption operations on the server side. Moreover, due to the introduction of TEE, the ROLQ-TEE scheme enables the cloud server provider CSP to communicate less frequently with data owners DO (or DU μ ), thereby reducing the communication complexity of clients such as DO or DU μ . If the encryption and decryption operation are not considered, the computational efficiency of the three query methods of the ROLQ-TEE scheme is far better than the above three query methods. This is mainly because the ROLQ-TEE scheme only processes the plaintext data in the U I in TEE, not all the ciphertext data. Therefore, the computational overhead is less than that of ciphertext processing in reference [9]. Meanwhile, the query computation complexity on the user side is reduced to a constant level, such as 6E+4P+4H+3Mu+Div, and our scheme reduces the storage overhead to O ( 1 ) on the data owner side. However, the storage overhead of the CSP is the same as in reference [9]. Additionally, the ROLQ-TEE scheme also implements the revocation of user query permissions, avoiding a situation wherein location data are abused by data users DU μ after the query service expires. Compared with the scheme in reference [9], the ROLQ-TEE scheme achieves stronger privacy protection in terms of access control. Therefore, the ROLQ-TEE scheme also increases the computational overhead of key refresh and the communication overhead of key distribution accordingly.

6.2. Memory Usage

From Table 3, we can see that, when the number of intersections n I is one million, the occupancy rate of our scheme in the ciphertext is reduced by 88 % compared with that in scheme [9]. However, when the number of candidate facilities s is 100, the memory usage of our scheme is higher than that of scheme [9]. This is because the facility location data transmitted in scheme [9] is in plain text, while our scheme is in ciphertext.

6.3. Communication

In this section, the communication overhead of these schemes can be found in Table 4. This table describes the communication overhead of the entity in the system model, which mainly considers the transmitted ciphertext, the query request, and the query result. The keys have little effect on the communication overhead and are not considered for the time being. Yilmaz [9] implemented two protocols, one based on client query protocol and the other based on server query. As can be seen in Table 4, the communication overhead of our scheme on both the data owner side and the cloud server provider side is smaller than that of Yilmaz’s two protocols. The communication overhead on the data user side is significantly greater than that of the Yilmaz [9] scheme, mainly because the client in the [9] scheme is both the data owner DO and the data user DU μ , and the data user DU μ in our scheme needs to send not only requests but also customer identifiers. In addition, regardless of how the number of candidate facilities s and the amount of data owner data n DO increase, the communication overhead of the cloud server provider in our scheme is almost constant. Similarly, this also means that the computational overhead of the data owner is constant.

6.4. Efficiency

We implemented this scheme in C/C++ on a workstation that supports Intel SGX. All experiments were performed on a 64-bit Ubuntu 22.04.3 LTS machine with a 2.9 × 16 GHz Intel Core i7 processor and 32 GB of RAM. All distances were calculated using the trusted execution environment in the Euclidean metric.
In our experiments, we utilized real datasets [36] comprising 573,703 check-ins from Tokyo. The x and y coordinates were scaled to integer values ranging from 1 to 10,000. As the total number of users in the dataset is fewer than 5000, we treated each check-in location as the location of an individual data user. Thus, we set n MO = 573,703 in the Tokyo dataset. We randomly selected 60 percent of the data in the above dataset and some synthetic data as a dataset for a data user DU μ . For existing facilities, we also selected 1 percent of the location data in the Tokyo dataset as the location of existing facilities. For synthetic datasets, the x and y coordinates of the user locations and facility locations were randomly generated as integer values ranging from 1 to m a x v a l u e = 10 , 000 .
When setting s = 10 and n I = 100, we conducted a systematic test on each algorithm in the scheme, as in Figure 4. Figure 4 shows the running time comparison of each algorithm under different numbers of data users DU μ . Figure 4 clearly shows that the number of DU μ is proportional to the KeyGen algorithm and the KeyFresh algorithm, while the other algorithms are independent of the number of DU μ .
Figure 5 shows the computation costs of three analysis methods. As shown in Figure 5a, when the number s of facilities in F μ and the number n I of intersection users in U I increase at the same time, the time taken for an RNNQ analysis will also increase. Note that the RNNQ analysis time we tested refers to the total test time for decrypting data and calculating the Euclidean distance between all facilities in F μ and all intersection users in U I . Therefore, the RNNQ analysis time increases proportionally with both the number s of facilities in F μ and the number n I of intersection users in U I .
In Figure 5b, when the number s of facilities in F μ and the number n I of intersection users in U I increase at the same time, the time taken for an AVGQ query will also increase. Note that the AVGQ query time we tested is the sum of the average analysis time of computing the Euclidean distance between all facilities in F μ and all intersection users in U I .
In Figure 5c, when the number s of facilities F μ and the number N I of intersection users in U I increase at the same time, the time taken for a MAXQ query will also increase. Note that the MAXQ query time we tested is the analysis time required to compute the minimum Euclidean distance among the Euclidean distances between all facilities in F μ and all intersection users in U I .
In particular, during the RNNQ query process, the TEE needs to decrypt and analyze a large amount of data in sequence, while AVGQ analysis and MAXQ query are performed based on the decrypted data of the RNNQ query, so the query time taken for AVGQ and MAXQ is less than the query time taken for RNNQ.
Figure 6a shows that, when the number of facilities s = 100 , as the number n I of intersection user data increases, the query time taken for the three analysis methods RNNQ, AVGQ, and MAXQ also gradually increases. Similarly, Figure 6b shows that, when the number of intersection user data n I = 10,000 , as the number s of facilities increases, the query time taken for the three analysis methods RNNQ, AVGQ, and MAXQ also gradually increases. Figure 6a,b clearly show that the number n I of intersection data and the number s of facilities have a huge impact on the query time taken for RNNQ. Compared with the number s of facilities, the number n I of intersection data has a more significant impact on the query time taken for AVGQ and MAXQ.

7. Conclusions

We propose the ROLQ-TEE scheme, a privacy-preserving scheme for querying location data of telecommunication operators and data users in a cloud service provider ( CSP ) utilizing a Trusted Execution Environment (TEE). This scheme incorporates the following three key functionalities: (a) The TEE-based query architecture ensures data and code confidentiality and integrity within the TEE, preventing customer lists from being exposed to the CSP ; (b) the privacy-preserving optimal location query enables the secure computation of optimal locations without revealing query results to the CSP . Meanwhile, it also supports three types of queries—reverse nearest neighbor query (RNNQ), average query (AVGQ), and maximum query (MAXQ)—to address different objectives in optimal location queries; finally, (c) the data user revocation mechanism facilitates the efficient revocation of expired users’ query permissions through a simple key refresh process. Finally, the security of the ROLQ-TEE scheme is based on the discrete logarithm problem and the collision resistance of hash functions, as demonstrated in [37,38]. Experimental evaluations of various query types confirm that the scheme is both practical and scalable.
Furthermore, we plan to incorporate mechanisms such as zero-knowledge proofs or blockchain-based consensus in future research work to address the problem of collusion between entities and support batch query processing.

Author Contributions

B.L.: conceptualization, data curation, formal analysis, methodology, software, writing—original draft preparation, and writing—review and editing; F.Z.: conceptualization, funding acquisition, project administration, resources, supervision, and validation; J.X.: funding acquisition, methodology, and supervision; Q.W.: formal analysis, funding acquisition, project administration, and validation; J.L.: data curation, investigation, software, and writing—original draft preparation; D.F.: data curation, investigation, and writing—original draft preparation. All authors have read and agreed to the published version of the manuscript.

Funding

We thank the anonymous reviewers for their fruitful suggestions. This work was supported in part by the National Science Foundation of China under Grant 62202090, 62173101 and 62372069, by Doctoral Scientific Research Foundation of Liaoning Province under Grant 2022-BS-077, by the Fundamental Research Funds for the Central Universities, China under Grant N2417006, and by Liaoning Collaboration Innovation Center For CSLE under Grant XTCX2024-015.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Xiao, X.; Yao, B.; Li, F. Optimal location queries in road network databases. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering, Hannover, Germany, 11–16 April 2011; pp. 804–815. [Google Scholar]
  2. Lin, X.; Zhou, L.; Chen, P.; Gu, J. Privacy preserving reverse nearest-neighbor queries processing on road network. In Proceedings of the Web-Age Information Management: WAIM 2012 International Workshops: GDMM, IWSN, MDSP, USDM, and XMLDM, Harbin, China, 18–20 August 2012; pp. 19–28. [Google Scholar]
  3. Zhang, H.; Xu, Z.; Yu, X.; Du, X. LPPS: Location privacy protection for smartphones. In Proceedings of the 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 1–6 May 2016; pp. 1–6. [Google Scholar]
  4. Hu, L.; Qian, Y.; Chen, M.; Hossain, M.S.; Muhammad, G. Proactive Cache-Based Location Privacy Preserving for Vehicle Networks. IEEE Wirel. Commun. 2018, 25, 77–83. [Google Scholar] [CrossRef]
  5. Liu, H.; Li, X.; Li, H.; Ma, J.; Ma, X. Spatiotemporal correlation-aware dummy-based privacy protection scheme for location-based services. In Proceedings of the IEEE INFOCOM 2017—IEEE Conference on Computer Communications, Atlanta, GA, USA, 1–4 May 2017; pp. 1–9. [Google Scholar]
  6. Islam, M.S.; Shen, B.; Wang, C.; Taninar, D.; Wang, J. Efficient processing of reverse nearest neighborhood queries in spatial databases. Inf. Syst. 2020, 92, 101530. [Google Scholar] [CrossRef]
  7. Du, Y. Privacy-Aware RNN Query Processing on Location-Based Services. In Proceedings of the 2007 International Conference on Mobile Data Management, Mannheim, Germany, 7–11 May 2007; pp. 253–257. [Google Scholar]
  8. Li, X.; Xiang, T.; Guo, S.; Li, H.; Mu, Y. Privacy-Preserving Reverse Nearest Neighbor Query Over Encrypted Spatial Data. IEEE Trans. Serv. Comput. 2022, 15, 2954–2968. [Google Scholar] [CrossRef]
  9. Yilmaz, E.; Ferhatosmanoglu, H.; Ayday, E. Aksoy, R.C. Privacy-Preserving Aggregate Queries for Optimal Location Selection. IEEE Trans. Dependable Secur. Comput. 2019, 16, 329–343. [Google Scholar] [CrossRef]
  10. Han, L.; Luo, W.; Yang, Y.; Yang, A.; Lu, R.; Lai, J.; Zheng, Y. PPOLQ: Privacy-Preserving Optimal Location Query with Multiple-Condition Filter in Outsourced Environments. IEEE Trans. Serv. Comput. 2023, 16, 3564–3577. [Google Scholar] [CrossRef]
  11. Huang, Q.; Du, J.; Yan, G.; Yang, Y.; Wei, Q. Privacy-Preserving Spatio-Temporal Keyword Search for Outsourced Location-Based Services. IEEE Trans. Serv. Comput. 2022, 15, 3443–3456. [Google Scholar] [CrossRef]
  12. Guan, Y.; Lu, R.; Zheng, Y.; Shao, J.; Wei, G. Toward Oblivious Location-Based k-Nearest Neighbor Query in Smart Cities. IEEE Internet Things J. 2021, 8, 14219–14231. [Google Scholar] [CrossRef]
  13. Zhu, X.; Ayday, E.; Vitenberg, R. A Privacy-Preserving Framework for Outsourcing Location-Based Services to the Cloud. IEEE Trans. Dependable Secur. Comput. 2021, 18, 384–399. [Google Scholar] [CrossRef]
  14. Nieminen, R.; Järvinen, K. Practical Privacy-Preserving Indoor Localization Based on Secure Two-Party Computation. IEEE Trans. Mob. Comput. 2021, 20, 2877–2890. [Google Scholar] [CrossRef]
  15. Shao, J.; Lu, R.; Lin, X. FINE: A fine-grained privacy-preserving location-based service framework for mobile devices. In Proceedings of the IEEE INFOCOM 2014—IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April–2 May 2014; pp. 244–252. [Google Scholar]
  16. Korn, F.; Muthukrishnan, S. Influence sets based on reverse nearest neighbor queries. ACM Sigmod Rec. 2000, 29, 201–212. [Google Scholar] [CrossRef]
  17. Stanoi, I.; Agrawal, D.; EI Abbadi, A. Reverse nearest neighbor queries for dynamic databases. In Proceedings of the ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, Dallas, TX, USA, 14 May 2000. [Google Scholar]
  18. Tao, Y.; Lung, Y.M.; Mamoulis, N. Reverse Nearest Neighbor Search in Metric Spaces. IEEE Trans. Knowl. Data Eng. 2006, 18, 1239–1252. [Google Scholar]
  19. Zhang, D.; Du, Y.; Xia, T.; Tao, Y. Progressive computation of the min-dist optimal-location query. In Proceedings of the 32nd International Conference on Very Large Data Bases, Seoul, Republic of Korea, 12–15 September 2006; pp. 643–654. [Google Scholar]
  20. Chen, Z.; Liu, Y.; Wong, R.C.W.; Xiong, J.; Mai, G.; Long, C. Efficient algorithms for optimal location queries in road networks. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, Snowbird, UT, USA, 22–27 June 2014; pp. 123–134. [Google Scholar]
  21. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. In Proceedings of the Annual International Cryptology Conference, Berlin, Germany, 19–23 August 2001; pp. 213–229. [Google Scholar]
  22. Nyberg, K.; Rueppel, R.A. Message recovery for signature schemes based on the discrete logarithm problem. In Workshop on the Theory and Application of of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1994; pp. 182–193. [Google Scholar]
  23. Preneel, B. Cryptographic hash functions. Eur. Trans. Telecommun. 1994, 5, 431–448. [Google Scholar] [CrossRef]
  24. Putra, M.A.P.; Kim, D.S.; Lee, J.M. DB-BiLSTM: Euclidean Distance-Based Sensor Data Prediction for IoT Applications. In Proceedings of the 2021 International Conference on Information and Communication Technology Convergence (ICTC), Jeju Island, Republic of Korea, 20–22 October 2021; pp. 814–817. [Google Scholar]
  25. Shih, F.Y.; Wu, Y.-T. The efficient algorithms for achieving Euclidean distance transformation. IEEE Trans. Image Process. 2004, 13, 1078–1091. [Google Scholar] [CrossRef] [PubMed]
  26. Roussopoulos, N.; Kelley, S.; Vincent, F. Nearest neighbor queries. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, San Jose, CA, USA, 22–25 May 1995; pp. 71–79. [Google Scholar]
  27. Zheng, W.; Wu, Y.; Wu, X.; Feng, C.; Sui, Y.; Luo, Y. Zhou, Y. A survey of Intel SGX and its applications. Front. Comput. Sci. 2021, 15, 1–15. [Google Scholar] [CrossRef]
  28. Costan, V. Intel SGX explained. IACR Cryptol. ePrint Arch. 2016, 86. [Google Scholar]
  29. Arnautov, S.; Trach, B.; Gregor, F.; Knauth, T.; Martin, A.; Priebe, C.; Priebe, C.; Lind, J.; Muthukumaran, D.; Fetzer, C. SCONE: Secure linux containers with intel SGX. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16), Savannah, GA, USA, 2–4 November 2016; pp. 689–703. [Google Scholar]
  30. Li, B.; Zhou, F.; Wang, Q.; Xu, J.; Feng, D. SEDCPT: A secure and efficient Dynamic Searchable Encryption scheme with cluster padding assisted by TEE. J. Syst. Archit. 2024, 154, 103221. [Google Scholar] [CrossRef]
  31. Jiang, Q.; Qi, S.; Yang, X.; Qi, Y.; Wang, J.; Lu, Y.; An, B.C.; Chang, E.C. Reducing Paging and Exit Overheads in Intel SGX for Oblivious Conjunctive Keyword Search. IEEE Trans. Comput. 2023, 1–14. [Google Scholar] [CrossRef]
  32. Murdock, K.; Oswald, D.; Garcia, F.D.; Van Bulck, J.; Gruss, D.; Piessens, F. Plundervolt: Software-based Fault Injection Attacks against Intel SGX. In Proceedings of the 2020 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 18–21 May 2020; pp. 1466–1482. [Google Scholar]
  33. Haakegaard, R.; Lang, J. The Elliptic Curve Diffie-Hellman (ecdh). 2015. Available online: https://koclab.cs.ucsb.edu/teaching/ecc/project/2015Projects/Haakegaard+Lang.pdf (accessed on 2 December 2024).
  34. Boneh, D.; Waters, B. Constrained pseudorandom functions and their applications. In Proceedings of the Advances in Cryptology-ASIACRYPT 2013: 19th International Conference on the Theory and Application of Cryptology and Information Security, Bengaluru, India, 1–5 December 2013; pp. 280–300. [Google Scholar]
  35. Bao, L.; Fu, Z.; Qiang, W.; Feng, D. A Secure and Efficient Dynamic Analysis Scheme for Genome Data within SGX-Assisted Servers. Electronics 2023, 12, 5004. [Google Scholar] [CrossRef]
  36. Yang, D.; Zhang, D.; Zheng, V.W.; Yu, Z. Modeling User Activity Preference by Leveraging User Spatial Temporal Characteristics in LBSNs. IEEE Trans. Syst. Man Cybern. Syst. 2015, 45, 129–142. [Google Scholar] [CrossRef]
  37. Corrigan-Gibbs, H.; Kogan, D. The discrete-logarithm problem with preprocessing. In Proceedings of the Advances in Cryptology–EUROCRYPT 2018: 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Proceedings, Part II 37, Tel Aviv, Israel, 29 April–3 May 2018; pp. 415–447. [Google Scholar]
  38. Rogaway, P.; Shrimpton, T. Cryptographic hash-function basics: Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance. In Proceedings of the Fast Software Encryption: 11th International Workshop, FSE 2004, Delhi, India, 5–7 February 2004; pp. 371–388. [Google Scholar]
Figure 1. Architecture of optimal location query in TEE-enabled cloud environment.
Figure 1. Architecture of optimal location query in TEE-enabled cloud environment.
Applsci 15 01641 g001
Figure 2. Intel SGX features.
Figure 2. Intel SGX features.
Applsci 15 01641 g002
Figure 3. System architecture.
Figure 3. System architecture.
Applsci 15 01641 g003
Figure 4. Comparison of costs under different numbers of RU μ .
Figure 4. Comparison of costs under different numbers of RU μ .
Applsci 15 01641 g004
Figure 5. Comparsion of the time costs of three analysis methods under different numbers of s and n I .
Figure 5. Comparsion of the time costs of three analysis methods under different numbers of s and n I .
Applsci 15 01641 g005
Figure 6. Comparison of analysis time among RNNQ, AVGQ, and MAXQ.
Figure 6. Comparison of analysis time among RNNQ, AVGQ, and MAXQ.
Applsci 15 01641 g006
Table 1. Notations.
Table 1. Notations.
SymbolDescriptions
m s k System master secret key
m p k System master public key
s k μ The query key of DU μ
s k DO The storage key of DO
T L The timestamp list
R L The revocation list
U L The data user list
U DO The customer sets of DO
U μ The customer sets of μ -th DU μ
L DO The location information set of DO
n, sThe total number of users and existing facilities
n DO The total number of customers of DO
n μ The total number of customers of the μ -th DU μ
n I The total number of data in intersection I
r e s The query result of the optimal location query
x i The i-th customer data of DO
y μ , j The j-th customer data of the DU μ
U I The intersection set of the customer of DO and DU μ
d i s t ( a , b ) A distance function that computes the euclidean
distance between any two objects a and b
Table 2. Comparison with prior works. We assume that P is a bilinear pairing operation, E is a modular exponential operation, H is an operation of mapping to the coordinates of an elliptic curve point in a cyclic group, Mu is a modular multiplication operation, Div is a modular division operation, Com is an element comparison operation on the group, Dec is an AES-GCM decryption algorithm, n ˜ is the size of the superset, and w is a random number selected by the server in the maximum distance query/seiver (MAXQ/S) and maximum distance query/seiver (MAXQ/C) protocols. TEE indicates whether this scheme has a trusted execution environment.
Table 2. Comparison with prior works. We assume that P is a bilinear pairing operation, E is a modular exponential operation, H is an operation of mapping to the coordinates of an elliptic curve point in a cyclic group, Mu is a modular multiplication operation, Div is a modular division operation, Com is an element comparison operation on the group, Dec is an AES-GCM decryption algorithm, n ˜ is the size of the superset, and w is a random number selected by the server in the maximum distance query/seiver (MAXQ/S) and maximum distance query/seiver (MAXQ/C) protocols. TEE indicates whether this scheme has a trusted execution environment.
SchemesQuery Computation ComplexityStorgaeRNNRevocationTEE
S(TEE)C( DU )C( DO )C( DU )S
RNNQ/S [9]( n DO · s ) d i s t ( n μ · s )Mu
n ˜ · s (2E+Mu)s(2E+Mu) O ( n μ + s ) O ( n μ + s ) O ( n DO )
s(Div+E+Mu)
AVGQ/S [9]( n DO · s ) d i s t 2 n μ · Mu
2 n ˜ (2E+Mu)2(2E+Mu) O ( n μ + s ) O ( n μ + s ) O ( n DO )
2(Div+E+Mu)1 Div
MAXQ/S [9]( n DO · s ) d i s t w · ( n μ 1 )Mu
n ˜ · w (2E+Mu) w · E O ( n μ + s ) O ( n μ + s ) O ( n DO )
w(Div+E+Mu)
RNNQ/C [9]( n DO · s ) d i s t
s(2E+Mu)s(Div+E+Mu) O ( n μ + s ) O ( n μ + s ) O ( n DO )
( n DO + s )Mu
AVGQ/C [9]( n DO · s ) d i s t 2(Div+E+Mu)
2(2E+Mu)+2 n DO · Mu1 Div O ( n μ + s ) O ( n μ + s ) O ( n DO )
n MO · E
MAXQ/C [9]( n DO · s ) d i s t (w-q)(Div+E+Mu)
n DO ·MuDiv+E+Mu O ( n μ + s ) O ( n μ + s ) O ( n DO )
w · E ≤w(2E+Mu)
RNNQ( n I · s ) d i s t 2(3E+P+2H+Mu)
n I ·Dec2P+Mu+Div O ( 1 ) O ( n μ + s ) O ( n DO )
5P+3Mu+2Div+3E+2H
AVGQ( n I · s ) d i s t +sDiv2(3E+P+2H+Mu)
n I ·Dec2P+Mu+Div O ( 1 ) O ( n μ + s ) O ( n DO )
5P+3Mu+2Div+3E+2H
MAXQ( n I · s ) d i s t +(s-1)Com2(3E+P+2H+Mu)
n I ·Dec2P+Mu+Div O ( 1 ) O ( n μ + s ) O ( n DO )
5P+3Mu+2Div+3E+2H
Table 3. Memory usage compared with previous work.
Table 3. Memory usage compared with previous work.
SchemesMemory Usage
n I = 10 , 000 , 000 s = 100
[9]250 MB25 KB
ROLQ-TEE28.61 MB29.3 KB
Table 4. Communication overhead compared with previous work. We assume that l o g 2 q represents the bit size of the elements on Z q , l o g 2 N represents the bit size of the elements on Z N , | G T | represents the bit size of the element on the group G T with order q, and | G | represents the bit size of the element on the group G with order q, where N = p q and p and q are large prime numbers of the same size.
Table 4. Communication overhead compared with previous work. We assume that l o g 2 q represents the bit size of the elements on Z q , l o g 2 N represents the bit size of the elements on Z N , | G T | represents the bit size of the element on the group G T with order q, and | G | represents the bit size of the element on the group G with order q, where N = p q and p and q are large prime numbers of the same size.
SchemesCommunication
C( DO ) DU S
RNNQ/S [9] s ( l o g 2 q + l o g 2 N ) / l o g 2 N ( n DO + 2 s )
AVGQ/S [9] s ( l o g 2 q + l o g 2 N ) / l o g 2 N ( n DO + 2 s )
MAXQ/S [9] s ( l o g 2 q + l o g 2 N ) / l o g 2 N ( n DO + 2 s )
RNNQ/C [9] s · l o g 2 q + n μ · l o g 2 N / s · l o g 2 N
AVGQ/C [9] s · l o g 2 q + n μ · l o g 2 N / s · l o g 2 N
MAXQ/C [9] s · l o g 2 q + n μ · l o g 2 N / s · l o g 2 N
RNNQ 2 n DO · l o g 2 q ( s + 1 ) | G T | + 2 ( s + 1 ) | G | | G T | + 2 | G |
AVGQ 2 n DO · l o g 2 q ( s + 1 ) | G T | + 2 ( s + 1 ) | G | | G T | + 2 | G |
MAXQ 2 n DO · l o g 2 q ( s + 1 ) | G T | + 2 ( s + 1 ) | G | | G T | + 2 | G |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Li, B.; Zhou, F.; Xu, J.; Wang, Q.; Li, J.; Feng, D. ROLQ-TEE: Revocable and Privacy-Preserving Optimal Location Query Based on Trusted Execution Environment. Appl. Sci. 2025, 15, 1641. https://doi.org/10.3390/app15031641

AMA Style

Li B, Zhou F, Xu J, Wang Q, Li J, Feng D. ROLQ-TEE: Revocable and Privacy-Preserving Optimal Location Query Based on Trusted Execution Environment. Applied Sciences. 2025; 15(3):1641. https://doi.org/10.3390/app15031641

Chicago/Turabian Style

Li, Bao, Fucai Zhou, Jian Xu, Qiang Wang, Jiacheng Li, and Da Feng. 2025. "ROLQ-TEE: Revocable and Privacy-Preserving Optimal Location Query Based on Trusted Execution Environment" Applied Sciences 15, no. 3: 1641. https://doi.org/10.3390/app15031641

APA Style

Li, B., Zhou, F., Xu, J., Wang, Q., Li, J., & Feng, D. (2025). ROLQ-TEE: Revocable and Privacy-Preserving Optimal Location Query Based on Trusted Execution Environment. Applied Sciences, 15(3), 1641. https://doi.org/10.3390/app15031641

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