Blockchain‐based indoor location paging and answering service with truncated‐geo‐indistinguishability

IET BlockchainVolume 1, Issue 2-4 p. 105-117 ORIGINAL RESEARCH PAPEROpen Access Blockchain-based indoor location paging and answering service with truncated-geo-indistinguishability Changxin Yang, Changxin Yang orcid.org/0000-0003-0962-2335 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this authorXuan Ju, Xuan Ju orcid.org/0000-0002-0668-1375 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China Computer Science, Tongji University, Shanghai, ChinaSearch for more papers by this authorErwu Liu, Corresponding Author Erwu Liu erwu.liu@ieee.org orcid.org/0000-0002-2706-6208 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, China Correspondence Erwu Liu, Shanghai Engineering Research Center for Blockchain Applications and Services, College of Electronics and Information Engineering, Tongji University, Shanghai, China. Email: erwu.liu@ieee.orgSearch for more papers by this authorYuanzhe Geng, Yuanzhe Geng orcid.org/0000-0002-5865-2314 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this authorRui Wang, Rui Wang orcid.org/0000-0002-2974-0972 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this author Changxin Yang, Changxin Yang orcid.org/0000-0003-0962-2335 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this authorXuan Ju, Xuan Ju orcid.org/0000-0002-0668-1375 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China Computer Science, Tongji University, Shanghai, ChinaSearch for more papers by this authorErwu Liu, Corresponding Author Erwu Liu erwu.liu@ieee.org orcid.org/0000-0002-2706-6208 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, China Correspondence Erwu Liu, Shanghai Engineering Research Center for Blockchain Applications and Services, College of Electronics and Information Engineering, Tongji University, Shanghai, China. Email: erwu.liu@ieee.orgSearch for more papers by this authorYuanzhe Geng, Yuanzhe Geng orcid.org/0000-0002-5865-2314 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this authorRui Wang, Rui Wang orcid.org/0000-0002-2974-0972 Shanghai Engineering Research Center for Blockchain Applications and Services, Shanghai, China College of Electronics and Information Engineering, Tongji University, Shanghai, ChinaSearch for more papers by this author First published: 16 October 2021 https://doi.org/10.1049/blc2.12010AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinked InRedditWechat Abstract Indoor location-based services have numerous applications built on indoor navigation. Over the years, researchers have proposed various indoor navigation methods to find a certain point of interest. This paper proposes location paging and answering service (LPAS) for finding out someone in an indoor environment . However, it may face serious problems of privacy disclosure of the clients' indoor location data . To ensure security, privacy and convenience, the authors leverage blockchain to model the indoor environment, and build blockchain-based indoor LPAS (BILPAS) on blockchain by embedding our three-way-handshake Diffie–Hellman Key Agreement procedures. Our BILPAS can automatically establish a secure and privacy communication tunnel between any two users, thus greatly liberating participants from unnecessary self-determining interactions . On the premise that the certain person can also be found, the authors introduce Truncated-Geo-Indistinguishability (TGeoI) to perturb the actual location within a limited, valid, user-defined distance, thereby allowing users to obtain reasonable location privacy. The authors have put a strong emphasis in the formal treatment of the reasonable privacy guarantees, giving a rigorous definition of TGeoI and providing a comparison with Geo-Indistinguishability that the authors' method satisfies such property. Then, the authors present the BILPAS prototype and implement it on Hyperledger Fabric. Finally, the authors conduct the security and privacy analysis and evaluate the time performance. The experiment results validate the reasonable privacy, high security and convenience of the authors' framework. 1 INTRODUCTION There has been an exponential growth in indoor location-based services (LBSs) with the rapid development of indoor positioning technique [1]. Providing services by positioning and location sharing, the LBS server returns the LBS requestor the point of interest (POI) according to the request containing the requestor's location and services of interest. Over the years, researchers have proposed various indoor navigation methods to find a certain POI [2-5]. While, we propose the location paging and answering service (LPAS) for finding out someone in an indoor environment, especially when he is out of contact. In recent years, governments, businesses and citizens are all paying more and more attention to location privacy leakage problems [6]. For example, during the COVID-19 outbreak, residents in China can consult with major carriers (such as China Telecom, China Mobile and China Unicom) about their personal tracks during the epidemic, these carriers are only allowed to inform users which cities they have been to but not more granular locations, due to the concern of privacy leakage. The higher the positioning precision is, the greater the privacy of users may be leaked. In this context, we introduce Truncated-Geo-Indistinguishability (TGeoI) to add spatial obfuscation on user's location for privacy-preserving. Geo-Indistinguishability (GeoI) has provided an effective solution to deal with personal location privacy leakage problems in LBSs [7]. By perturbing the real location before sending or sharing it with a third-party application, GeoI is able to guarantee users' location privacy against attackers. However, GeoI may lead to the generation of unreasonable points as it may cause insufficiencies in terms of both privacy and utility for LBSs over indoor environments (e.g. venues or gyms). To deal with this issue, we propose TGeoI based on GeoI. TGeoI can output a perturbed location within the circle with the user's real location as the centre and the user's self-defined R as the radius. We say that the user enjoys ε r − T p r i v a c y within r ( r < R ) if, any two locations at distance at most r produce observations with 'similar' distributions, where the 'level of similarity' depends on ε. To ensure security, privacy and convenience, we leverage blockchain to model the indoor environment, and build blockchain-based indoor LPAS (BILPAS) using the Diffie–Hellman Key Agreement (DHKA) protocol [8]. The DHKA allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over a public network. Normally, a DHKA session just needs two handshakes for the shared secret key between two clients. In such context, each client needs to determine when he can calculate the agreed key and deliver location ciphertexts to the other, suiting measures to his own conditions. After perturbing user's location using TGeoI, by transforming the key agreement into a three-way handshake, the BILPAS procedures can be accomplished automatically. As for the indoor location, before the chain, we fuzz it, and on the chain, we exchange it. Before the chain, TGeoI can guarantee that the user's location can be blurred within some range without affecting the purpose of finding each other. On the chain, blockchain provides strong security but weak privacy solutions for location exchanging. By embedding our three-way-handshake DHKA procedures in BILPAS, we have strengthened the capacity that we can establish a secure and secret communication tunnel between any two users. Therefore, our contributions are summarized as follows: 1. Currently, indoor navigation can only meet the needs of finding a certain POI, but it cannot help to find a certain person. Thus, we propose the LPAS for finding out someone in an indoor environment, especially when he is out of contact. 2. On the premise that the certain person can also be found, we introduce TGeoI to perturb the actual location within a limited, valid, user-defined distance, thereby allowing users to obtain reasonable location privacy. 3. By embedding our three-way-handshake DHKA procedures in BILPAS, we can automatically establish a secure and secret communication tunnel between any two users, thus liberating the participants from unnecessary self-determining interactions. The remainder of this paper includes related work in Section 2, preliminaries in Section 3, problem formulation in Section 4, TGeoI in Section 5 and BILPAS in Section 6, implementation and evaluation in Section 7, work conclusion and future research directions in Section 8. 2 RELATED WORK In recent years, location sharing with privacy-preserving has been widely studied. Related researches include spatial concealment (e.g. k-anonymity [9], mix-zone [10]), location obfuscation (e.g. differential privacy [11]), dummy locations [12]. Spatial concealment techniques guarantee the location cannot be distinguished from at least k − 1 locations by sending the minimum region including k locations to the LBS server. Location obfuscation techniques sacrifice precision in exchange for privacy by obscuring the real position. Dummy locations technique sending both actual location and dummy locations to the LBS provider under the premise of no misunderstanding. Different from the mentioned techniques on the third-party server, we leverage cryptographic primitives (e.g. DHKA) to design and implement our location privacy protection method on decentralized blockchain. Furthermore, different from the existing key agreement protocols, such as the (1) Two-party Key Agreement (e.g. HMQV [13]); (2) the Three-party Key Agreement (e.g. CHY-3PAKE [14]); (3) the Group Key Agreement (e.g. TGDH [15-17]), we are exploring the automation of DHKA procedures on blockchain. For perturbing location (PL), Shokri et al.'s [18] and Andrés et al.'s [11] frameworks are two influential proposals built on strict notions of privacy. Both of them confuse the attackers by reporting a location generated from the real position according to probability distribution. Shokri computes the optimal noise-generating mechanism by considering attacker's Bayesian model. Andrés proposes GeoI based on differential privacy [19], which is independent from the prior of the attackers. GeoI has provided an effective solution to deal with personal location privacy leakage problems in LBSs. By perturbing the real location before sending or sharing it with a third-party application, GeoI is able to guarantee users' privacy protection against attackers. However, there are still chances for GeoI to perturb locations to unreasonable points. Takagi defines an improvement notion of GeoI over road networks, which is called Geo-Graph-Indistinguishability [7]. This mechanism effectively avoids the problem of perturbing to unreasonable locations and shows empirical privacy and utility, but it is merely applicable to road networks. Huiwen proposes a location-perturbation algorithm of GeoI based on the Region of Interest [20]. This method maps the perturbed points beyond the user's interest range to a reasonable region by direct projection. The points generated inside the user's region of interest satisfy ε-GeoI, but the probability density at the boundary of the area will increase irregularly, which will cause the perturbed points clustering on the boundary. To obtain the other party's position, currently, there are mainly two solutions: (1) Waiting for response: With the help of indoor positioning techniques [2] and location sharing services [3], one could share its location to the other and wait for the response. However, that relies heavily on the responder being able to respond to this kind of location sharing. (2) Real-time updating: Through hardware-based real-time indoor location systems [4, 5], one can get the other's location easily. However, there is a serious defect that the hardware wearer's location is always updating, being at risk of location leakage. To solve these issues, we introduce BILPAS with TGeoI. 3 PRELIMINARIES 3.1 Hyperledger Fabric Hyperledger Fabric (or Fabric) [21] is a consortium (or permissioned) blockchain infrastructure, originally contributed by IBM and Digital Asset. Fabric provides a modular architecture with a delineation of the nodes in the infrastructure, execution of Smart Contract (also called 'chaincode') and configurable consensus and membership services. Its modular and versatile design satisfies a broad range of industry use cases. A Fabric network comprises 'Peer nodes' (peers), 'Orderer nodes' (orderers) and 'Clients' (clients). Peers execute chaincode, access ledger (a ledger consists of World State and Block Data), endorse transactions and interact with clients. Orderers ensure the consistency of blockchain and deliver the endorsed transactions to peers. Clients, who talk to peers in a client-server mode to issue queries and request transactions from the blockchain network, are actual application users. Moreover, Membership Service Provider (MSP), generally implemented as a Certificate Authority (CA), manages X.509 certificates to authenticate member identities and roles. The architecture and components of a Fabric network are demonstrated in Figure 1. FIGURE 1Open in figure viewer Architecture and components of a Fabric network 3.2 DHKA protocol The DHKA protocol is first proposed in 1976 by Diffie and Hellman [8]. It allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over a public network. Once available to both parties, the shared secret key can be used to encrypt the further subsequent communications using any symmetric key algorithm. Even if a eavesdropper listens to any information shared between the sender and receiver during the phase of key creation, it is hard enough for him/her to figure out the key as the eavesdropper has to solve the computation Diffie–Hellman problem (CDH) [22] to obtain the key. The DHKA establishment between two parties is symmetric indeed, one-party establishment is depicted in Algorithm 1. ALGORITHM 1. One-Party DHKA Establishment Input: Two positive integers jointly determined with the other party, p and g, where p is a modulus and g is a primitive root modulo p; A randomly chosen positive integer x (called private key), smaller than p; An integer Y(called public key) received from the other party; Output: The shared key, K; 1: Compute the public key using X = ( ( g ) x ) m o d p ; 2: Send the public key X to the other party; 3: On receiving Y, compute shared key K using K = ( Y ) x m o d p ; 4: return K; 3.3 GeoI Let χ be a set of user's locations, Z be a set of reported values of χ. The mechanism K satisfies GeoI if and only if z = K ( x ) and z ′ = K ( x ′ ) are indistinguishable for any x , x ′ ∈ χ and z , z ′ ∈ Z . Here, are three definitions related to GeoI: ε − GeoI A mechanism K satisfies ε − G e o I iff ∀ x , x ′ ∈ χ , Z ⊆ Z d P P r K x ∈ Z , P r K x ′ ∈ Z ⩽ ε d x , x ′ . (1) With d P ( a , b ) = ln ( a b ) , (1) can be formulated as K x Z ⩽ e ε d x , x ′ K x ′ Z (2) K ( x ) ( Z ) (or P r ( K ( x ) ∈ Z ) ) is the probability density of K ( x ) in Z. d ( x , x ′ ) is the Euclidean distance between x and x ′ . ℓ − privacy If a mechanism satisfies ε − G e o I for any radius r > 0 , then the user enjoys ε r -privacy within r. We define the differentiability between points within this region have the level of privacy ℓ ( ℓ = ε r ). Laplace mechanism (PLM) PLM is a common mechanism to achieve ε − G e o I . The PLM for ∀ x ∈ χ and ∀ Z ∈ Z is defined as follows: P r P L M ε x = Z = ε 2 2 π e − ε d x , Z . (3) PLM can also be formulated via a transformation to polar coordinates, where r represents the distance of Z from x, and θ is the angle that the line z x forms with respect to the horizontal axis of the Cartesian system. P r P L M ε x = Z = ε 2 2 π r e − ε r . (4) 4 PROBLEM FORMULATION We depict in Figure 2 the indoor LPAS scenario for our problem formulation. There are friends A and B dispersed with each other when visiting a venue, as demonstrated in the upper part of Figure 2. At some point, A made a 'location call' to B (location paging), then B could automatically answer the 'location call' (location answering). FIGURE 2Open in figure viewer Indoor LPAS scenario and our BILPAS architecture As demonstrated in the bottom part of Figure 2, we model the indoor environment using blockchain (Hyperledger Fabric). In the blockchain network, there are one org (Org1), and it owns four peers (p1, p2, p3, p4) and one CA node (CA1). Clients (friends A and B) talk to peers in a client-server manner to issue queries and request from the blockchain network, and they can communicate via Channel C. Before the location transferring through BILPAS, spatial obfuscation needs to be added on it. TGeoI can output a perturbed location within the circle with the user's location as the centre and the user's self-defined R as the radius. We say that the user enjoys ε r − T p r i v a c y within r ( r < R ) if, any two locations at distance at most r produce observations with 'similar' distributions, where the 'level of similarity' depends on ε. Although GeoI works well on location perturbation in unbounded area, there are still chances for GeoI to perturb location to an unreasonable point. GeoI fails to consider the necessity that objects can only move about in a series of pre-defined sets since it is defined on the continuous plane. For instance, the user is actually at position 0 as for indoor locationing, which is marked blue in Figure 3. But GeoI may map position 0 to positions 1–4, which are either unreasonable or inexact. Positions 1–3 may cause unexpected privacy exposure as the attacker may easily realize that the position is theoretically impossible. FIGURE 3Open in figure viewer Unreasonable perturbation for indoor locationing Indeed, there is a commonly used approach to protect data privacy on Fabric (we call it Fabric-Common-Approach). To ensure the private data only visible to the limited group, Fabric-Common-Approach is to encrypt the private data using public keys of authorized users, thus only authorized users can obtain the private data using their private keys. The implementation of Fabric-Common-Approach is usually a combination of symmetric encryption and public key encryption, as demonstrated in Figure 4. FIGURE 4Open in figure viewer Fabric-Common-Approach for data privacy However, there are two serious defects in Fabric-Common-Approach: (1) It is vulnerable to a vast number of authorized users since the size of a transaction will increase with the number of authorized users but the transaction's maximum size is limited in Fabric; (2) Leveraging cryptographic methods to encrypt indoor locations for privacy-preserving may be not robust enough. If we cannot only perturb the location (e.g. within 3 m of its surroundings) but also guarantee that the location's owner can be found, it will further improve location privacy significantly. Therefore, we propose BILPAS with TGeoI. 5 TGEOI The core idea of TGeoI is to concentrate the perturbation of location into a circular region to ensure the rationality. The perturbation of a location x is limited within a circular region centred on x, with radius = R, and C ( x ) denotes this region. 5.1 Definition Definition 1.( ε − T G e o I ) A mechanism K satisfies ε − T G e o I iff ∀ x , x ′ ∈ χ , Z ⊆ Z ∪ C ( x ) ∪ C ( x ′ ) K x Z ⩽ e ε d x , x ′ K x ′ Z , (5)where K ( x ) ( Z ) is the probability that K(x) will be limited within Z, d ( x , x ′ ) is the Euclidean distance between x and x ′ . Definition 2.( ℓ − T p r i v a c y ) If a mechanism satisfies ε − T G e o I for any radius 0 < r < R , then the user enjoys ε r − T p r i v a c y within r. We denote the level of Tprivacy ℓ ( ℓ = ε r ). 5.2 Truncated laplace mechanism (TPLM) Here, we present TPLM to generate noise satisfies TGeoI. Given the parameter ε ∈ R + , and R ∈ R + , for ∀ x ∈ χ and ∀ Z ∈ Z ∪ C ( x ) , TPLM is formulated as: P r T P L M ε x = Z = ε 2 2 π · 1 1 − 1 + ε R e − ε R e − ε d x , Z , r < R 0 , o t h e r w i s e . (6) The proof that TPLM satisfies ε − T G e o I is described as follows. Proof.This proposition can be formulated as follows:For ∀ x , x ′ ∈ χ , Z ⊆ Z ∪ C ( x ) ∪ C ( x ′ ) , we have P r T P L M ε x = Z = ε 2 2 π · 1 1 − 1 + ε R e − ε R e − ε d x , Z , (7) P r T P L M ε x ′ = Z = ε 2 2 π · 1 1 − 1 + ε R e − ε R e − ε d x ′ , Z . (8)Then we can get Equation(7) over Equation (8): P r T P L M ε x = Z P r T P L M ε x ′ = Z = e − ε d x , Z − d x ′ , Z ⩽ e − ε d x , x ′ . (9)So, we obtain P r T P L M ε x = Z ⩽ e ε d x , x ′ P r T P L M ε x ′ = Z . (10)That concludes the proof. □ TPLM is demonstrated in Algorithm 2. ALGORITHM 2. TPLM Input: ε, k, x, R; Output: Z is the reported location; 1: while d ( Z , x ) > R do 2: draw θ unif. in [ 0 , 2 π ) ; 3: draw p unif. in [ 0 , 1 ) ; 4: set r ← − 1 ε ( W − 1 ( p − 1 e ) + 1 ) where W − 1 is the Lambert W function in −1 branch; 5: Z ← x + < r cos ( θ ) , r sin ( θ ) > ; 6: end while 7: return Z; 5.3 TPLM versus PLM Considering an extreme situation, there is a circular space with R = 25 m and someone is standing in the centre of the circle, sending his location to the other. Given the parameter ε = 0.08 , there is a 40.60% chance of producing unreasonable points when using PLM. However, if we use the distribution in TGeoI (which squeeze the distribution into a circle), this probability would go down to 0, as depicted in Figure 5. FIGURE 5Open in figure viewer The probability density function of PLM and TPLM Intuitively, TPLM can significantly reduce the possibility of perturbating a location to an unreasonable point. To define the metric how it lower this possibility, we calculate ∫ w h e r e Z i s u n r e a s o n a b l e r · P r ( T P L M ε ( x ) = Z ) under the circumstance that x is located on the boundary of a straight side region, as is shown in Figure 6. The blue region is where x can be perturbed and 'Inside' means reasonable, 'outside' means unreasonable. FIGURE 6Open in figure viewer x's location generated by TPLM and PLM For TPLM, we have the calculation as follows: ∫ Z ∈ C x ∪ o u t s i d e r · P r T P L M ε x = Z = ∫ 0 R ε 2 2 1 − 1 + ε R e − ε R r 2 e − ε r d r = ε R 2 e − ε R 2 1 + ε R e − ε R − 1 + 1 ε . (11) For PLM, we have the calculation as follows: ∫ Z ∈ o u t s i d e r · P r P L M ε x = Z = ∫ 0 ∞ ε 2 2 r 2 e − ε r d r = 1 ε . (12) Since ( 1 + ε R ) e − ε R − 1 < 0 for R > 0 , it is clear that TPLM has an edge on PLM. For other cases, we can get similar results using semblable calculation methods. 6 PROPOSED BILPAS Prior to details of the prototype, some notations are introduced in Table 1. TABLE 1. Notations used in the framework prototype Notations Description p a r t y Participant in a BILPAS session. k a m Key agreement message. l Location (plaintext). l e Location (ciphertext). l m Location answering message of a l e . M CKN A k a m sent from the Client. M SKN A k a m sent from the Server. M SL An l m sent from the Server. l S Location of the Server decrypted from M SL M AKN A k a m sent from party A. M BKN A k a m sent from party B. M AL An l m sent from party A. M BL An l m sent from party B. l A Location of party A decrypted from M AL . l B Location of party B decrypted from M BL . To demonstrate the efforts to automate the BILPAS procedures (location paging & location answering) and how we apply three handshakes in a BILPAS session, we make a comparison between the normal LPAS (in C/S manner and of one-way location answering) and our proposed BILPAS (in P2P manner and of two-way location answering), as demonstrated in Figure 7. FIGURE 7Open in figure viewer Cases of the normal LPAS and our proposed BILPAS 6.1 Entities and properties In a BILPAS session, there are three key entities: 1) p a r t y = { F r o m , T o , S e q , P r i K e y , P u b K e y , K } : It has the following fields: F r o m indicating the sender of k a m s and l m s; T o indicating the receiver of k a m s and l m s; S e q indicating the sequence of k a m s and l m s; P r i K e y indicating the private key of this p a r t y ; P u b K e y indicating the public key of this p a r t y ; K indicating the agreed key of the BILPAS session. 2) k a m = { f r o m , t o , g , p , p u b k e y , s e q u e n c e , s e s s i o n i d } : It has the following properties: f r o m indicating the sender; t o indicating the receiver; g, one public parameter required to establish the key agreement; p, the other public parameter; p u b k e y indicating the sender's public key; s e q u e n c e indicating its sequence; s e s s i o n i d , the ID of a BILPAS session. 3) l m = { f r o m , t o , l o c a t i o n , s e s s i o n i d } : It has the following properties: f r o m indicating the sender of this l m ; t o indicating the receiver of this l m ; l o c a t i o n indicating the location (ciphertext) contained in this l m ; s e s s i o n i d indicating the id of a BILPAS session. 6.2 Attribute based access control (ABAC) and smart contract To prevent man-in-the-middle attacks, we need BILPAS authenticated. To solve this issue, we leverage Hyperledger Fabric, not other solutions like tangle [23], and we embed ABAC rules in smart contracts using Fabric CA [24]. We add an attribute U s e r I d on each certificate, thus ABAC can ensure that only the calling certificate can query its receiving messages by identifying U s e r I d , therefore resisting man-in-middle attacks. We deploy two smart contracts, k e y and l o c a t i o n , for secure sharing of secret key and locations. In k e y , there are algorithms {QueryMyKeys, CreateAKey}, and in l o c a t i o n , there are algorithms {QueryMyLocations, CreateALocation}, which are defined as follows: QueryMyKeys ( s e s s i o n i d ) = k a m s: It denotes a query function with the input of s e s s i o n i d , and the output of k a m s which can only be queried by the calling certificate in a BILPAS session identified by s e s s i o n i d . CreateAKey ( S e q , i d , i d t o , s e s s i o n i d ) = k a m : It denotes a generation function with the input of the sender's U s e r I d ( i d ), the receiver's U s e r I d ( i d t o ), the sequence S e q , and the session id of the BILPAS session s e s s i o n i d and output a k a m . QueryMyLocations ( s e s s i o n i d ) = l m s: It denotes a query function with the input of s e s s i o n i d , and the output of l m s which can only be queried by the calling certificate in a BILPAS session identified by s e s s i o n i d . CreateALocation ( l e , i d , i d t o , s e s s i o n i d ) = l m : It denotes a generation function with the input of the sender's encrypted location l e , the sender's U s e r I d ( i d ), the receiver's U s e r I d ( i d t o ), and the session id of the BILPAS session s e s s i o n i d , and output an l m . 6.3 Proof-of-concept prototype A BILPAS