一种满足查询结果完整性和数据保密性的位置隐私保护方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种满足查询结果完整性和数据保密性的位置隐私保护方案李泰成
【摘要】To solve the privacy protection problem in LBS, we propose an improved privacy protection scheme featuring confidentiality of the data and integrity of the query result, which is based on Hilbert filling space curve and anchor-based incremental query. Taking the advantages of the one-way property of Hilbert filling space function, this scheme guarantees the confidentiality of the two-dimensional spatial data ; by two rounds of interactions between the query and the verification, this scheme meets the demand of integrity of the query result; through changing the anchor in each query, this scheme can further resist the attack in the case of requesting duplicate query in the same place. Evaluation of the scheme and simulation all demonstrate that this scheme yields good performance in terms of communication overhead and integrity verification accuracy.%针对位置服务中的隐私保护问题,基于希尔伯特空间填充曲线和基于锚点的增量查询,提出一个改进的保证查询结果完整性和数据保密性的隐私保护方案.利用希尔伯特函数的单向性性质,该方案保证了空间数据的保密性;通过查询和验证两轮交互过程,该方案保证了查询结果的完整性;通过变换每次增量查询的锚点,该方案还能够进一步抵抗同一地点重复查询时面临的安全攻击.方案评估与仿真表明,该方案通信开销较小,完整性验证准确率较高.
【期刊名称】《计算机应用与软件》
【年(卷),期】2013(030)001
【总页数】5页(P310-314)
【关键词】基于位置服务;安全和隐私;保密性保护;完整性保护
【作者】李泰成
【作者单位】中国科学院研究生院信息安全国家重点实验室北京100049
【正文语种】中文
【中图分类】TP309
0 引言
随着位置感知技术的迅速发展、移动通信终端的广泛普及,以及网络传输速度的大幅提高,基于位置的服务LBS(Location-Based Services)随之发展起来,在为用
户提供丰富的移动服务体验的同时,也成为信息产业新的经济增长点,受到世人瞩目。

在请求基于位置的服务过程中,用户需要提供自身的位置信息,以供位置服务提供商进行查询,并返回相关结果。

敌手可以通过对用户位置信息的分析,进一步窥探用户的其他相关隐私。

现有位置服务领域的隐私保护方案大多关注用户身份的匿名性保护,比较典型的为采用 k-anonymity模型的方案[2-4],但仅仅保护用户身份的匿名性是不够的。

LBS的数据来源主要由数据拥有者(Data Owner)向专门的数据提供厂商 (例
如:Navteq等)进行购买,或者是由Data Owner自行收集获取,尤其一些定制化、细粒度的数据往往不是能够免费获得的,所以Data Owner也希望能够保护所获
得的数据信息,使其免遭其他人的盗用。

这并不代表数据完全不开放,客户按照一定费率获取某些数据的情况是允许的,比如房产中介搜集的房源位置信息,中介只
希望开放给已注册或已缴费的会员查看、查询。

这就需要保证数据的保密性。

随着云计算的飞速发展,存储即服务、平台即服务和软件即服务的概念也逐渐赢得了大家的青睐。

借鉴软件即服务的思想,Data Owner可以将数据的查询服务外包,以达到降低成本的目的。

但外包商(比如LBS服务提供商)并不完全可信,这就需要保证查询结果的完整性。

目前,据我们所知,文献[5]方案是唯一能够保证空间数据保密性和查询结果完整性的位置隐私保护方案。

文献[5]方案由两轮交互组成,分别为第一轮查询过程和第二轮验证过程。

该方案首先要求Data Owner对空间数据进行一定比例的
备份,利用希尔伯特空间填充曲线作为单向函数,采用一组参数计算原始数据的希尔伯特值;采用另一组参数为备份的数据计算希尔伯特值并与原始数据合并在一起
排序,以供第一轮和第二轮查询、验证之用。

希尔伯特填充曲线保证了空间数据的保密性,通过第二轮的验证保证了查询结果的完整性。

但当用户在同一地点进行重复查询时,第一轮查询和第二轮验证时的两个希尔伯特值不变,若敌手掌握了该对应关系和对应的查询结果,当用户再次于此处提出查询请求时,并不完全可信的位置服务提供商可以屏蔽部分甚至全部查询结果。

造成此攻击的原因在于用户在同一地点第一轮和第二轮查询的两个希尔伯特值不变,且对应关系不变。

在研究LBS安全和隐私问题的课题中,我们针对上述问题,引入了基于锚点的增
量查询的方法,提出了一个改进的保证空间数据保密性和查询结果完整性的隐私保护方案。

即便在同一地点进行多次查询,根据虚假锚点的特点,我们将变换每次查询、验证过程的锚点信息,使得每次查询时两轮交互所基于的希尔伯特值都与之前不一样,这样敌手就无法区分第一轮和第二轮的查询,找不到两者的对应关系,进而抵抗了用户在同一地点发起重复请求时容易遭受的攻击。

1 预备知识
1.1 系统模型
系统模型如图1所示。

本方案中涉及三个实体:用户 (Client)、位置服务提供商(LBS Server)和数据拥有者(Data Owner)。

Data Owner负责定义一些计算函数、选取复制比率和两组秘密参数,将其与用户共享,并根据不同的秘密参数对原始数据和复制项进行前期处理,具体的处理过程将在下一节中进行介绍。

LBS Server
负责为用户提供查询服务,用户每次的查询请求都分为与位置服务提供商之间的两轮交互:第一轮查询过程和第二轮验证过程,通过验证查询获得的结果来对查询过
程获得的结果进行验证,以此判断位置服务商是否恶意瞒报了部分甚至全部查询结果。

图1 系统模型图
1.2 希尔伯特空间填充曲线
如图2所示。

希尔伯特空间填充曲线该曲线按照一定的规则,能够连接所有
2N×2N网格中的相邻点,且不相交[6]。

我们将一个坐标(x,y)其在空间中被
曲线画到时线段的长度,作为该坐标希尔伯特值,这个将2D空间坐标转换为1D
数值的过程成为希尔伯特转换。

通常,希尔伯特值相近的两个点在空间上的位置也相近的概率非常大[7]。

根据不同的初始参数,同一坐标所对应的希尔伯特值并不相同。

因而,计算希尔伯特值的方案可看作是一个单向函数,可以为空间数据进行加密,不知道初始参数的敌手无法根据希尔伯特值倒推出用户的空间位置[5]。

图2 不同初始参数对应的希尔伯特曲线图
1.3 基于锚点的增量查询
基于锚点的增量查询[8]的基本思路为:用户首先选择一个锚点(anchor),位置服务提供商将候选结果按照距离anchor由近及远的顺序逐个返回,候选空间(supply space)是以anchor为中心的圆形区域,目标空间 (demand space)是以用户真实位置为中心的圆形区域。

用户知晓supply space和demand space,但是位置服务提供商只知道supply space。

初始阶段,如图3(a)所示,demand
space为整个系统空间,supply space为空。

随着用户不断地收到返回的查询结果,根据每个查询结果距离anchor的最大距离来更新supply space的半径,每当一个查询结果距离用户真实位置更近的时候,用户就缩小demand space,更新其半径为当前查询结果与真实用户的最短距离。

当supply space最终包含了demand space时,整个查询过程结束,用户一定已经找到了距离自己最近的查询结果。

上述查询过程中主要涉及位置服务提供商与用户之间的通信。

如果采用TCP/IP协议进行传输,每次只传输一个结果并不能充分利用TCP/IP报文的容纳能力,将大大增加通信开销。

因此,我们将一次传送多个候选查询结果给用户,β代表每个报文能容纳的查询结果个数,我们将在第3节中对该值进行进一步的探讨,对于本方案通信开销的考虑也主要以用户收到的报文数目为准。

图3 基于锚点的增量查询的示意图
2 方案设计
本节中,我们描述所设计的保证空间数据保密性和查询结果完整性的位置隐私保护方案。

我们假设用户与位置服务提供商之间的通信信道不安全,敌手可以窃听空中传输的交互报文,并且位置服务提供商本身因其商业利益关系也不可信,有可能向敌手泄露用户的查询信息。

2.1 系统初始化
数据拥有者(Data Owner)首先要做一些初始化工作,包括定义一些计算函数、选取复制比率和两组秘密参数,如表1所示。

表1 Data Owner初始化工作名称符号希尔伯特值计算函数 T(x,y)Secret Primary参数SP Secret Secondary参数SS复制比率r加密算法和密钥 AES,key签名算法MD5
表中,T(x,y)可看作单向函数,根据用户的坐标 (x,y)和第一组参数SP(Secret
Primary)对原始的空间数据计算出第一组希尔伯特值,选取一定的复制比例r,利用另外一组参数SS(Secret Secondary)对原始数据的百分之r计算出第二组希尔伯特值。

同一空间数据采用不同参数计算得到的希尔伯特值不相同,并且敌手无法区分是由哪组参数生成的。

Data Owner根据共享密钥key按照AES算法对候选查询结果的坐标和Id进行加密,并采用MD5算法对加密后的部分进行签名,在对两组数据按照希尔伯特值进行排序后,上传至位置服务提供商一端,待查询、验证之用。

经Data Owner处理后存储于位置服务提供商的数据结构如表2所示,其中Id的后两位具有一定的意义,00代表该点无复制项,01代表有复制项,02代表该点本身为复制项。

表2 处理后的数据结构示意图{HValue, {x,y,Id}key,Ψ}希尔伯特值加密后的数据,key为共享的密钥{x,y,Id}key的签名4 bytes 4×3=12 bytes 16 bytes
对数据进行处理后,Data Owner需要向注册用户共享一些信息,包括 T(x,y),SP,SS,AES,key 和 MD5。

同时,用户需要知晓自身的真实位置q,选定一个虚假锚点q',并计算其在两种参数下的希尔伯特值。

位置服务提供商根据用户提供的anchor的希尔伯特值来返回增量查询
INN(Incremental Nearest Neighbor)的结果,这里需要位置服务提供商支持增量查询,这种查询方式已经很成熟[9]。

2.2 方案流程
首先,用户首先执行第一轮查询过程,算法伪码如图4所示。

具体过程如下:
1-3行。

首先,将ArrayList清空,demand space的半径设为无穷大,supply space的半径设为零;
4行。

用户根据参数SP计算虚假锚点q'的希尔伯特值,发起增量查询请求;
5-6行。

只要supply space没有完全覆盖demand space,则继续从位置服务提供商一端获取下一个增量查询结果数据包;
7行。

如果存在数据签名验证不通过的情况,则通报异常,退出查询流程;
8行。

对查询结果进行解密,去掉复制项,将其存入集合S;
9行。

将q'到p(p属于S)的最大距离赋给supply space的半径;
10-15行。

遍历S,每当q到p的距离比demand space的半径小时,则将该值赋给demand space的半径,并且将该点p加入ArrayList;
14行。

如果增量查询次数超过阈值,则退出查询流程;
16-17行。

退出查询流程,保存增量查询的数据包个数n。

接下来,用户将执行第二轮验证过程,对第一轮查询的结果进行验证,算法伪码如图5所示。

具体过程如下:
1行。

用户根据参数SS计算虚假锚点q'的希尔伯特值,发起增量查询请求;
2行。

根据第一轮增量查询的数据包个数n,获取同样多个数据包,将采用参数SS生成的数据过滤出来,存在集合T中;
3-4行。

根据Id的后两位来判断ArrayList中的点是否存在复制项,如果有,其复制项是否存在于T中,如果存在其中,则通过验证,返回ArrayList,否则不通过,通报异常。

图4 第一轮查询过程算法伪码
图5 第二轮验证过程算法伪码
3 方案评估
3.1 安全分析
首先,我们从空间数据的保密性和查询结果的完整性这两个方面来对本文提出的方案进行评估,这也是提出本方案的初衷。

空间数据的保密性由于计算希尔伯特值的函数可作为单向函数,敌手不知道参数
SP和SS,无法通过希尔伯特值倒推出候选查询结果的具体位置信息,其中用户的坐标和Id也通过AES算法进行了加密,敌手不知道进行加密的密钥key,无法解密{x,y,Id}key,因此,位置服务提供商一端数据的保密性得到了保证。

查询结果的完整性第一轮查询之后,根据参数SP生成的希尔伯特值返回的结果存放在ArrayList中,其中的节点由于空间上的相邻性,如果有复制项的话,其根据参数SS生成的希尔伯特值仍然相近,这是希尔伯特空间填充曲线的性质决定的,在第二轮验证过程中,这些复制项将以很大的概率在增量查询操作中被放入数据包中返回,供用户对第一轮的查询结果进行验证。

当然,希尔伯特空间填充曲线并不能精确反映所有的空间相邻性关系,验证过程有因为希尔伯特空间填充曲线的误差而导致错误的时候,此种情况下,可以再次选择锚点,重新进行查询和验证,如果通过验证即可,这样交叉验证的准确率会有进一步提升。

由于每次的锚点都是随机生成、不断变换的,即便在同一位置,锚点每次对应的希尔伯特值也不相同,对应的查询结果也不尽相同,因而,敌手将无法通过针对希尔伯特值出现规律的归纳和推测,对查询结果进行篡改。

3.2 实验仿真
我们将定量地考察方案中的变量对查询成功率、整体通信量以及验证通过率等方面的影响。

我们建设用户与位置服务提供商之间采用TCP/IP协议进行报文传输,其最大传输单元 MTU(Maximum Transmission U-nit)为576 bytes。

如表2所示,位置服
务提供商一端每条数据需要32 bytes进行存储,因而,每次报文最多包含
β=576/32=18条数据。

单次增量查询获取数据报包个数的上限设为10,通常不
会超过此值。

参数SP和SS主要决定希尔伯特空间填充曲线遍历空间的初始角度,我们分别假设为0°和90°,由于此参数并非本文重点关注点,将不做过多讨论。

我们选取65536×65536m2的一片区域,采用均匀分布,生成了62500个待查
询的候选结果,再随机生成5000个用户的空间坐标,由每个用户发起“寻找距我最近的×××”的查询,这种最近邻居查询也是LBS领域最常见的查询种类,假设
我们生成的候选结果即为用户所要查询的目标,位置服务提供商一端根据用户发送的希尔伯特值作为衡量标准返回增量查询的结果。

3.2.1 示例说明
首先,我们来考察其中一个用户的请求查询情况。

我们假设原始数据的复制比率为100%,随机选择用户的真实位置为(50092,28870),随机选择的锚点距离用户200米,其坐标为(49951,29011),采用参数SP生成的希尔伯特值为3483670608。

我们在第1.3节中探讨了每个报文能承载的数据条数为18,增量查询以距离锚点
的希尔伯特值之差作为标准,由小及大返回第一次增量查询的结果,即希尔伯特值与3483670608最相近的第1-18个结果,解密后结果为:
Id HValue Replicated x y 27941 3483875044 False 49830 2913227942 3483645008 True 50092 29132…27694 3482918868 True 50616 28870
根据此结果来更新supply space、demand space和ArrayList,第一轮查询交
互结果如下:
supply space半径 demand space半径ArrayList 0∞null 171 371
add{27941,…}186 262 add{27942,…}199 0 add{27692,…}402,… 0,…
遍历第一次增量查询结果后,第一轮查询满足了中止条件,supply space包含了demand space,ArrayList中存在三条数据,Id分别为:27941,27942,27692,其中后两项存在复制项。

根据参数SS,重新计算后,锚点的希尔伯特值为1862668890,基于该值,进行
第二次验证交互,同样返回希尔伯特值与1862668890相近的18个结果,解密后,其中本身为复制项的结果有8个,其Id结果为:
27692 27942 29941 2769128191 27690 27940 27937
可见,第一轮查询的含复制项的数据 (Id为27692和27942)出现在了第二轮验证交互的结果中,验证通过。

如果一次增量查询不能满足supply space包含demand space这一循环中止条件,用户就从位置服务提供商处获取第二次增量
查询结果,即第19-36条数据,以此类推。

3.2.2 大规模仿真实验
首先,我们随机选取锚点q',要求q'距离用户真实位置q的距离dist为200米,考察复制比率从20%递增到100%,对查询成功率(即获得查询结果的比率)、通信量(数据包数量)和验证通过率(被验证的数据与总查询结果的比率)的影响。

如表3
所示。

表3 复制比率对查询成功率和通信量的影响复制比率(%)20 40 60 80 100查询成功率(%)100 100 100 100 100通信量(数据包个数)1 1 1 1.004 1.002
我们可以看出,无论复制比率如何改变,本方案都能够通过一个数据包稳定快速的获得查询结果,查询成功率稳定在100%,通信量即传输的数据包数量随着复制比率的增长发生微小的增长,这是由于复制项变多,每个数据包中的原始数据变少导致的,此影响非常微弱,没有给位置服务提供商和用户之间的通信带来更大的负担,可忽略。

同时,复制比率的增加大大提高了本方案的验证通过率,这是由于原始数据被复制得越多,就有越多的复制项可供验证,当复制比率达到100%时,平均的验证通过率已经高达93%。

如图6所示。

由于数据的预处理工作实时性要求不高,Data Owner可以进行离线处理,并统一上传,因此复制比率的增加对Data Owner的影响不大,但却给位置服务提供商带来了一定的存储和计算开销。

由于数据都是按照希尔伯特值进行的排序,并采用二分查找进行索引 (复杂度为log2N,N为数据总数),因此,数据量的翻倍只令查找的平均复杂度增加了1,而相对廉价的存储
代价更是可以忽略。

由此可见,复制比率越大越好。

图6 复制比率对验证通过率的影响
接下来,我们固定复制比率为100%,考察锚点q'距离用户真实位置q的距离dist从100米递增到1000米时,对方案的通信量和验证通过率的影响。

如表4所示,随着用户选定的锚点距离用户真实位置越来越远,本方案整体的通信量呈上升态势,本方案中的supply space需要根据虚假锚点返回的查询结果进行扩张,最终supply space需要完全覆盖demand space,虚假锚点与用户真实位置离得越远,supply space就需要越多查询结果进行扩张,故增加了系统中的通信量,即数据报文的传输个数。

表4 锚点与真实位置的距离对整体通信量的影响dist(米)100 200 400 600 800通信量(数据包个数)1 1.001 1.055 1.208 2.224
图7说明当虚假锚点与用户之间的距离变大时,验证通过率呈缓慢下降趋势,这是由于demand supply相应变大后引入了更多的查询结果,但是希尔伯特空间填充曲线并不能完全准确地反映空间相邻性,因而引入了一定的误差。

图7 锚点与用户的距离对验证通过率的影响
总体来说,我们建议复制比率的值可以设为100%,而为了减少通信量、提高验证通过率,锚点与用户之间的距离不宜过大,100米-400米之间为比较合适的范围。

4 结语
我们针对LBS的隐私保护问题,提出了一个满足空间数据保密性和查询结果完整性的位置隐私保护方案。

我们通过计算希尔伯特值函数的单向性保护了空间数据的保密性;通过对原始空间数据的复制,利用复制项对第一轮的查询结果进行了完整性验证。

通过实验评估与仿真,说明了我们的方案通信开销较小,验证的准确性较高,并且能够抵抗同一地点发起多次请求时容易遭受的攻击。

参考文献
[1]朱战宏.移动位置服务中基础定位平台技术的研究与实现[D].西安:西北工
业大学,2007.
[2]Gruteser M,Grunwald D.Anonymous usage of location-based services through spatial and temporal cloaking[C]//MobiSys.San Francisco,CA,USA,May 2003:31-42.
[3]Kalnis P,Ghinita G,Mouratidis K,etal.Preventing location-based identity inference in anonymous spatial queries[J].IEEE Transactions on Knowledge and Data Engineering,2007,19(12):1719-1733.
[4]Talukder N,Ahamed S.Preventing multi-query attack in locationbased services[C]//WiSec.Hoboken,NJ,USA,Mar.2010:25-36. [5]Ku W S,Hu L,Shahabi C,et al.Query integrity assurance of location-based services accessing outsourced spatial databases[C]
//SSTD 2009:proceedings of the Eleventh International Symposium on Advances in Spatial and Temporal Databases,Demmark,July 8-10,2009.Berlin:Springer,c2009.
[6]Liu F,Hua K A,Cai Y.Query l-diversity in location-based services[C]//MDM.Taipei,Taiwan,May 2009:436–442.
[7]Bamba B,Liu L,Pesti P,et al.Supporting anonymous location queries in mobile environments with privacygrid[C]//WWW.Beijing,China.Apr.2008:237-246.
[8]Yiu M L,Jensen C S,Huang X,et al.SpaceTwist:Managing the
trade-offs among location privacy,query performance,and query accuracy in mobile services[C]//ICDE.Cancun,Mexico,Apr.2008:366-
375.
[9]Hjaltason G R,Samet H.Distance browsing in spatial databases [J].ACM Transactions on Database Systems,1999,24(2):265-318.。

相关文档
最新文档