Privacy Preserving Scheme of Indoor Fingerprinting Locatization Based on Homomorphic Encryption
How to protect the privacy security of users and location service providers and improve the real-time location performance has always been a challenging problem in indoor location services. Based on this, this paper proposes a solution that combines Kumar-Hassebrook distance, semi-homomorphic encryption algorithm and its security point product properties to protect the location and fingerprint data privacy of users and service providers and improve the real-time performance of positioning. The KH distance is used to match the similarity between the positioning user and the fingerprint data in the fingerprint database, and the nearest K nearest neighbor reference points are obtained. A semi-homomorphic encryption algorithm is introduced in Nearest Neighbor Matching to protect the privacy of fingerprint data of users and service providers. At the same time, the privacy protection of the fingerprint database coordinate data of the service provider is realized by using its secure dot product nature. In order to reduce the time overhead, clustering and fuzzy cluster matching are introduced, which can improve the real-time positioning and blur the judgment of the real cluster where the user is located on the server. Theoretically, the security, time overhead and positioning performance of the proposed scheme are analyzed, and the performance evaluation is carried out in the public dataset. Compared with similar encryption algorithms, the proposed scheme further reduces the time overhead without reducing the positioning performance and security.
WiFi Fingerprint Positioning
随着移动智能终端的广泛应用,位置数据成为重要的一种数字资源,也使得各类基于位置的服务成为人们生活中不可或缺的一部分。而室内定位服务支撑着室内环境下的众多使用场景,例如室内导航、室内监控等,这些服务具有越来越高的商业价值,并受到学术界的广泛关注
目前,已经有了很多方法来实现室内定位中的隐私保护,比如:K匿名(K-anonymity)
已有的各类隐私安全定位方案大都着力于对用户位置数据和服务商指纹数据的隐私保护,而定位方案中涉及的指纹数据的位置信息表直接交给用户或第三方。保护指纹数据的位置信息可加强服务商的数据安全,目前也有一些文献对此展开了研究。文献
为了解决上述问题,本文基于Kumar-Hassebrook (KH)距离
基于WiFi指纹信号的室内定位有KNN定位,是传统的定位方法之一,其主要定位过程主要分为在线和离线两个阶段。
在离线阶段,服务商通过在一个区域内设置RP和AP来采集指纹,采集到的指纹组成离线指纹库D。指纹库中的每一条指纹如公式(1)所示:
(1)
式中 表示第i个RP的物理位置, 表示第i个RP所采集到的指纹信号强度数据, 表示在RP上的第i个位置接收到来自第j个AP的信号强度数值,这个数值经常表示在多次采样中的平均值,通常我们把未采集到指纹信号强度的位置设为0或者是−95 dBm。N表示在此区域内RP数量的总数,M表示在此区域AP数量的总数。
在线阶段,用户采集到的自身指纹信号向量可以表示为公式(2):
(2)
在KNN室内定位算法中,服务商通过匹配算法获得与用户指纹最相似的参考点,通常可用欧氏距离来计算指纹信号的距离,计算公式如公式(3)所示:
(3)
式中 表示第i个位置的RP的指纹强度信号与请求定位的用户的指纹强度信号的空间距离, 表示欧氏距离。KNN算法选取距离最近的K个RP,由这些RP点的坐标得到用户的估计位置。计算公式如公式(4):
(4)
式中 表示请求定位用户的估计位置, 表示选择的K个RP的坐标位置。
目前已有的隐私定位方案大都基于欧式距离展开研究
(5)
KH距离越大,表示用户与参考点的指纹越相似。
在室内定位过程中,常常利用密码学来保护定位双方的数据隐私,同态加密算法作为一种重要的技术手段在这个过程中扮演着重要的角色,如Paillier、DGK、EIGamal等。
同态加密有如下性质,[]表示加密过程:
a. 加法同态:
设有两个密文[m1],[m2],则明文m1,m2相加的密文可由这两个密文相乘得到。
(6)
b. 标量积同态:
设有明文m1和密文[m2],则明文m1,m2相乘的密文可由标量积同态得到。
(7)
其中Paillier加密技术是加法同态的代表性方案之一,作为一种公钥加密的概率非对称算法,具有加法同态、标量积同态及安全点积等特性,被广泛应用于电子现金交易、安全电子投票,信息安全技术等领域。利用其同态特性,除了完成简单的加密操作,该技术也可以在加密域实现各种复杂计算。在室内定位中,通过使用Paillier加密技术,可以使得用户和服务器的隐私数据得到保护。
Paillier算法分为三个部分
生成的密钥分成公钥和私钥,公钥用于对数据进行加密,由n,g两个参数构成,私钥用于对加密数据进行解密,由λ,μ两个参数构成。假设m是待加密的明文数据,m通过公钥加密得到密文[m],具体加密过程可由公式(8)表示:
(8)
利用私钥对密文[m]解密得到明文m,具体解密过程可由公式(9)表示:
(9)
同时Paillier算法包含了同态加密的性质,加法同态,标量积同态及安全点积。
安全点积⨀:
设有M维向量v和m,及M个密文[m1]…[mM],则v和m点积的密文可由安全点积得
(10)
基于KH距离公式(5)可得到三部分数据,分别表示为 , , 。此时KH距离公式可表示为公式(11):
(11)
式中S2的计算涉及离线指纹Fi与用户定位指纹Ft,而计算S1和S3都只涉及一方的指纹数据的运算。本方案中,用户利用Paillier算法发送加密后的定位指纹,由服务器完成密文域S2的计算并返回给用户。根据Paillier同态特性有:
(12)
由式(12)可知,用户发送M个加密后的指纹强度后,服务器对这些数据与自身指纹强度数据进行模幂运算,最终得到密文[S2]。
服务商在离线阶段完成S3的计算,在线定位阶段把[S2]及S3数据发送给用户,由用户解密KH距离,由此确定K个最近邻。
本文采用KH距离方式得到定位用户指纹数据与指纹库中指纹数据的相似度,进而确定K个最近邻RP。首先利用Paillier算法完成对用户指纹数据的加密,保护用户位置请求信息,同时服务器利用其同态特性完成KH距离中S2部分的密文计算。在此之前,本文引入了分簇聚类思想来降低定位过程的时间开销,同时利用模糊簇匹配模糊服务器端对用户所在真实的簇的判断,完成对连续请求定位用户位置隐私安全的保护。其次,在用户得到最近邻的索引后,考虑到保护服务商坐标数据的隐私安全,利用Paillier加密算法的安全点积性质来完成,最终用户得到自身估计位置,完成定位。方案整体框图如
离线阶段,服务器端使用聚类算法和指纹库中的坐标数据将整个定位区域分成若干个小区域,本文把小区域定义为簇。每个簇都有一个簇中心 ,簇中心的指纹强度数据可由该簇中所有RP的指纹数据
强度平均得到,表示为 。最后可得簇中心集合 。
在线阶段,用户在申请定位服务时,首先从服务器获取各簇中心的指纹强度 ,用户将自身指纹强度 与各个簇中心的指纹强度作比较,选出最匹配的簇。文中采用
指纹强度的欧式距离大小来完成簇匹配。计算过程如下:
(13)
通常用户会位于最匹配簇内的RP所在区域内,对于连续请求定位的用户,服务器在不知道用户确切位置的情况下,也可能由最匹配簇推测用户轨迹。为保护用户的定位隐私,尤其当用户发起连续定位请求时,服务商可能通过多次定位结果的最匹配簇来推断出用户的运动轨迹,本文采用匹配P个最近簇来混淆服务器对用户所在真实簇的判断,同时通过模糊簇匹配方式,保证用户在该P个簇内,而不是总在最匹配的簇中。
具体方案如下,在簇匹配时采用部分AP信号,也即部分指纹信息 来完成
簇匹配过程。L个AP信号是由用户在采集指纹后,为全部采集到AP信号的及若干个未采集到AP信号的指纹强度组成,即AP信号,计算过程如下:
(14)
这样使得请求定位用户的真实位置落在P个最近簇内的概率是接近的,即保护了用户的定位隐私。
根据3.1所提的定位过程,可知用户需对自身指纹数据进行加密,以便服务器完成[S2]的计算。此后用户端将P个最近簇的簇号、公钥、加密指纹[F]上传至服务器端。
根据公式(5),当服务器端收到用户端发送的数据以后,通过Paillier加密算法开始计算S2部分,计算过程如下:
(15)
根据KH距离公式,d的计算涉及S1,S2和S3部分。为保证定位过程的实时性,服务器可在离线阶
段就完成对 的计算,并在用户请求定位时发送给用户,服务器端后将密文[S2]数据及S3数据发送至用户端。
用户端利用私钥对密文[S2]进行解密,依据公式(11)进行KH距离的计算,由此得到K个最近的KH距离及对应RP点的索引。
为避免服务商参考点位置信息泄露,同时要避免服务器获取用户位置有关的K近邻信息,本方案利用Paillier算法的安全点积性质完成自身的位置估计。位置估算过程具体如下:
1) 用户生成最近邻RP的指示向量 ,U的维数等于参与运算RP点的个数,假设RP点的个数为O,U各元素的初始值为0,当该RP点为最近邻时,对应的初始值变更为1。
2) 用户利用Paillier加密算法加密指示向量U的每个元素,共得到O个密文,即 ,后将该密文数据全部上传至服务器端。
3) 服务商利用Paillier加密算法安全点积性质计算 ,其中 , ,X和Y坐标向量包含参与运算的RP点所有的x和y坐标。[X*]
是服务商给用户发送加密后的用户估计x坐标,[Y*]是服务商给用户发送加密后的用户估计y坐标。假设
最近邻的索引是1, 3, 4,那么 ,x坐标推导过程见公式(16),y坐标同理,此处不再赘述。
(16)
计算完成后服务商将[X*]、[Y*]发送至用户。
4) 用户收到数据后利用私钥解密,完成自身估计位置的定位,公式如下:
(17)
本文设定用户和服务商都遵循半诚实,即诚实但好奇(curious-but-honest)的安全模型,在该模型中用户和服务商都诚实的遵守规定的协议,但都可能泄露对方的私人信息。在此模型下,本文利用公共数据集
本节安全分析着重分析模糊簇匹配时使用的AP个数L是否能让服务器端对用户所在真实的簇的判断起到混淆作用,模糊簇匹配时使用的AP个数L指的是在单个指纹中检测到所有有AP信号的和随机抽取出来若干个无AP信号的AP个数总和。当用户返回给服务器端最近簇的簇号信息后,匹配到的最近簇和用户所在的真实簇不是同一个簇时,则起到了混淆作用。如
b. 基于KH距离的K近邻获取阶段
首先用户发给服务商的指纹数据是用户利用Paillier加密算法加密自身指纹后的数据,这步保护了用户指纹的隐私安全,其次明文状态下的S1数据只在用户端计算,并不发送至服务器端,即使发送给服务器端,服务器端也不能通过一个数据才推测出用户全部的指纹数据。
c. 利用安全点积保护服务商坐标信息阶段
用户通过最近簇内的参考点个数生成RP指示向量U,在利用Paillier加密算法加密后向服务器上传的是若干个密文数据,故服务器并不知道用户最近邻的索引,这一步保护了请求定位用户的隐私安全。
首先计算加密后的S2数据这一过程是在服务器端进行的,服务商在收到用户发来的加密指纹数据后,进行S2数据的计算,并不会将自身指纹库的指纹数据发送给用户,这一步保护了服务商的指纹库的指纹信息隐私安全。其次,S3数据也是服务商自身计算的,之后发送给用户也只是一个数据,同理用户并不能根据这一个数据推测出服务商一条指纹全部的指纹数据。在计算完成后,服务商发送给用户加密后的S2数据。
b. 利用安全点积保护服务商坐标信息阶段
服务商在收到用户发送的若干个密文数据以后,将生成X坐标向量及Y坐标向量,利用Paillier的安全点积性质进行X坐标向量及Y坐标向量与若干个密文数据的计算,计算完成后,得到最近邻的x坐标之和的密文数据及最近邻的y坐标之和的密文数据。用户解密该密文数据得到自身估计位置,服务商在不告诉用户最近邻的坐标信息的前提下,完成了定位,这一步有效保护了服务商坐标信息不被泄露。
为论证本文所提方案性能,现从以下两个方面进行分析:
a. 获取最近邻的时间开销分析
M代表AP个数,N代表RP个数,N′代表最近簇P内的参考点个数,k代表k组指纹,TE表示加密一个数据计算开销,TE, M表示一次模幂及模乘运算的时间开销,TM表示一次模乘运算的时间开销,TD表示解密一个数据计算开销。虽然在KH距离计算中涉及明文计算,但这部分计算开销相比较加解密运算很小,可以忽略不计,故本表格不做分析。同时每个密文长度用LE表示。由于明文与密文相差较大,本表格只对密文分析。
用户端计算开销 |
服务商计算开销 |
通信开销 |
|
文献
|
MTE + NTD |
MN(TE + TE, M)+ NTE |
MLE + MNLE |
文献
|
kMTE |
kMNTM + 2kNTD |
kMLE |
无粗定位KH-KNN |
MTE + NTD |
MNTE, M |
MLE + MNLE |
KH-KNN |
MTE + N′TD |
MN′TE, M |
MLE + MN′LE |
由
b. 保护服务商坐标信息的时间开销分析
为实现对服务商坐标信息的保护,用户在完成K近邻检索后,还需发送加密后的最近邻RP指示向量U给服务商,这会引入一定的计算和通信开销。
用户端计算开销 |
服务商计算开销 |
通信开销 |
|
无粗定位KH-KNN |
NTE + 2TD |
2NTE, M |
NLE + 2LE |
KH-KNN |
N′TE + 2TD |
2N′TE, M |
N′LE + 2LE |
由
为验证本文所提方案在实际室内定位的可靠性及定位性能,采用公共数据集
Paillier算法采用了基于MATLAB平台工具箱实现加解密运算
为确保实验结果可靠性,在本实验条件下进行多次实验后取平均结果,单个用户完成一次定位的时间开销如
用户端计算开销(s) |
服务商计算开销(s) |
时间开销(s) |
|
文献
|
3.0 |
10.4 |
13.2 |
无粗定位KH-KNN |
5.9 |
11.0 |
17.1 |
KH-KNN |
1.5 |
2.4 |
3.9 |
由上表可知:由于加入对服务商参考点坐标信息保护的计算,无粗定位的KH-KNN算法在用户端计算开销显著提高,略微提高服务端计算开销,导致整体定位时间开销增大。加入粗定位以后,很明显用户端和服务器端的时间开销明显降低,提高了单次定位的实时性。由于文献
a. 粗定位对精度的影响分析
所提方案中,通过模糊簇匹配把用户定位到局部区域,因此匹配的最近簇个数P直接决定了定位精度及定位的时间开销。结合簇模糊匹配的定位误差如下
b. 与不同定位算法作比较
本文方案中,采用KH距离大小选择K个最近邻,完成用户位置估计。目前已有的隐私保护定位算法
针对室内定位服务中,用户位置隐私和服务器数据资源隐私的安全问题,本文基于KH距离和Paillier算法提出一种兼顾定位实时性、定位精度和隐私安全的室内定位方案。方案采取KH距离匹配定位用户的指纹数据与指纹库中参考点的指纹数据完成对最近邻的判定。同时方案将Paillier算法与KH距离计算结合,实现用户和服务商的指纹数据安全,同时,利用此算法的安全点积性质实现了对服务商的指纹库坐标数据安全保护。为了降低时间开销,方案引入了分簇聚类思想,利用模糊簇匹配混淆服务器端对用户真实位置的判断,在提高定位实时性的同时实现用户位置的隐私安全。研究结果表明了所提方案的安全性、实时性和定位性能。