什么是位置隐私
位置隐私是物联网用户的位置信息,是物联网感知信息的基本要素之一,也是物联网提供基于位置服务的前提。位置信息在带来服务便利的同时,其泄露也带来诸多威胁。
位置信息在带来服务便利的同时,其信息泄漏也将带来诸多威胁,攻击者能够根据位置信息推断出用户的兴趣爱好、运动模式、健康状况等个人隐私信息。据报道,美国Sense Network公司每天处理超过40亿条位置数据,能够提取用户生活习惯、年龄、收入等属性信息;位置信息的泄漏还可能导致用户被跟踪、遭到人生攻击等更为严重的后果。
位置隐私的保护目标与挑战
位置隐私保护的目标
物联网位置隐私保护的目标是防止他人在用户不知情时获取用户在过去或现在的位置或轨迹信息,具体的目标可表示为:
1、增加用户身份的不确定性,使攻击者不能确定用户的身份;
2、增加位置的不确定性,使攻击者不能确定用户具体的位置;
3、消除用户身份-位置之间的关联性,使攻击者不能将用户及其访问的位置关联起来。
设计物联网隐私保护机制时,还需兼顾数据的可用性以及系统的高效性。隐私保护机制通常需要在原有系统中加入复杂的算法,对用户的身份和位置数据进行处理,虽然提高了用户位置隐私的保护度,却降低了数据的可用性以及系统的高效性。因此,在设计隐私保护机制时,需在位置隐私保护与数据可用性、系统高效性之间确定一个平衡点。
位置隐私保护的挑战
物联网中实现位置隐私保护存在一定的难度:
1、物联网中存在很多泄露用户位置隐私的方式;
2、位置隐私保护和基于位置服务是一对矛盾体,基于位置服务的服务质量越高,用户的位置隐私往往就越容易泄露;
3、不同用户对位置隐私保护的要求不一样,同一用户在不同地点、不同环境下对位置隐私保护的要求也可能不一样;
4、物联网中设备的能量、带宽等资源往往有限,需要轻量级的隐私保护机制。这些都对研究和设计位置隐私保护机制提出了挑战。
位置隐私的泄露及防护
物联网中位置泄露的方式可分为3种:
(1) 定位过程中的位置隐私泄露。物联网设备往往因自身资源有限,将定位过程外包给定位服务器,依靠定位服务器计算设备的位置。定位服务器在提供定位服务的同时,也获取了用户的位置隐私。
(2) 在基于位置服务(location based service,简称LBS)过程中的位置隐私泄露。在服务时,用户通常上传自己的位置信息,向LBS服务提供商请求与位置相关的服务,位置服务提供商因此获得用户的位置隐私。
(3) 边信息(side information)中的位置隐私泄露。物联网产生大量与位置无关的数据(即边信息),攻击者可以从这些信息中推测出用户的位置隐私。
定位过程中的位置隐私泄露与防护
物联网中用户获取位置的方式分为以用户为中心的定位和以服务器为中心的定位两类。在以用户为中心的定位算法中,用户根据被动接收到的周围环境信号(如GPS信号等)估计自己当前的位置。以用户为中心的定位包括GPS定位和基于惯性传感器的定位等。在以用户为中心的定位中,用户的位置由自己计算,因此用户的位置隐私不容易泄露。在以服务器为中心的定位算法中,用户将接收到的周围环境信号发送给定位服务器,依靠服务器计算自己的位置。以服务器为中心的定位算法在用户端的开销较小,适合用于资源受限的物联网设备上,但定位服务器在提供定位服务的同时也获取了用户的隐私。
1、基于WiFi指纹定位的位置隐私及其防护机制
基于WiFi指纹的定位是以服务器为中心的定位算法的典型代表之一。基于WiFi指纹的定位过程一般分为离线训练和在线定位两个阶段。在离线训练阶段,服务提供商在感兴趣的区域中选取若干参考点,测量这些参考点的WiFi指纹(周围AP的信号强度值),并将参考点的位置及其WiFi指纹存入WiFi指纹数据库。在线定位阶段,用户将当前位置的WiFi指纹发送给服务提供商,服务提供商通常找出与用户WiFi指纹欧式距离最近的k个指纹,并根据这k个指纹的位置估计用户的当前位置。这种基于WiFi指纹的定位往往存在位置隐私问题,定位服务提供商在为用户提供定位服务的同时,获取了用户位置。
Li等人提出了一种基于Paillier Cryptosystem加法同态性的位置隐私保护机制。用户给服务提供商发送加密后的WiFi指纹;服务提供商利用Paillier Cryptosystem的加法同态性,在密文空间上计算用户WiFi和指纹库中WiFi指纹的欧式距离;用户解密欧式距离,找出k个位置估计当前位置。具体过程如图 2所示,基于同态加密的隐私保护机制将WiFi指纹定位分为预处理阶段、准备阶段、欧式距离计算阶段和位置估计阶段。预处理阶段,服务提供商从WiFi指纹数据库中抽取元数据,并发送给客户端。元数据中包含WiFi指纹采集地点、WiFi指纹在数据库中的序号等信息。准备阶段,用户通过Paillier Cryptosystem生成一对公密钥,并将公钥及用公钥加密后的WiFi指纹发送给服务器。欧氏距离计算阶段,服务器在密文空间上计算用户指纹与WiFi指纹库中每个指纹之间的欧式距离,并将计算结果返回给用户。位置估计阶段,用户首先将接收到的欧式距离解密,找出k个最小的距离,然后根据k个最小的距离和元数据估算自己当前的位置。
基于测距的定位的位置隐私及其防护机制
基于测距的定位是物联网常用的定位算法之一。基于测距的定位算法通常分为两个步骤。首先,利用TOA (time of arrival),TDOA(time difference of arrival)等方法测量用户位置x0 = (x1,…,xn)到第i个参考节点(anchor node)Ai的距离为di其中Ai的位置为xi = (xi1,…,xin)(i=1-m)然后通过最小二乘法估计用户的位置
在基于测距的定位算法中,用户的位置通常由定位服务器计算。如果位置信息发生泄露,用户的隐私将受到威胁。另外,定位服务器需要知道每个参考节点的位置才能计算用户的位置。如果参考节点的位置信息遭到泄露,攻击者可以对参考节点发动位置欺骗等攻击。
Shu等人为解决基于测距的定位算法的隐私问题,提出了一种基于安全最小二乘估计的隐私保护机制。在该机制中,每个参考节点不直接透露自己的位置,仅进行部分计算,用户汇总每个参考节点的计算结果,并最终估计自己的当前位置。由于用户不能通过中间计算结果推测出参考节点的具体位置,且最后由自己计算当前的位置,因此该机制能够同时保护参考节点和用户的位置隐私。
3、A-GPS定位的位置隐私泄露
在传统的GPS定位机制中,移动终端需首先搜索当前区域内可用的卫星,然后测量到每个可用卫星之间的伪距,并根据伪距估计当前的位置。GPS定位属于以用户为中心的定位技术,不存在泄漏用户位置隐私的风险,但首次搜索卫星的时间较长,定位精度容易受到建筑物、树木等障碍物的影响。
A-GPS(assisted-GPS)是将GPS定位和无线蜂窝网定位相结合的定位技术。A-GPS的基本原理是通过一个后端的定位服务器收集卫星的星历信息;当终端发出定位请求时,后端定位服务器根据终端使用的蜂窝网基站的CELL ID判断终端的大致区域,然后将该区域可见卫星的相关信息发送给终端;终端接收可见卫星的广播信号,计算与每个可见卫星间的伪距,并将伪距信息通过蜂窝网发送给后端的定位服务器;定位服务器根据伪距信息计算终端的位置坐标,并将结果返回给终端。A-GPS首次搜索卫星速度较快,定位精度较高,但定位服务器在给用户提供定位服务时获取了用户的位置隐私。人们通常采用构造虚假卫星伪距的方式保护用户的位置隐私。
LBS中的位置隐私泄露与防护
基于位置的服务是物联网位置隐私泄露的主要方式之一。当用户请求基于位置的服务时,如查找最近的加油站,通常需要将自己当前的位置或移动轨迹发送给服务提供商,服务提供商因此获取了用户的位置隐私。服务提供商还可能将用户轨迹信息发布,用于科研、城市规划等,攻击者可通过数据挖掘等技术推测用户的隐私。根据用户的位置是否连续,LBS中的位置隐私保护机制可分为单点位置的隐私保护和移动轨迹的隐私保护两类。
1、单点位置隐私保护机制
为了防止用户在获取LBS服务时位置隐私泄露,研究人员对单点位置隐私保护技术展开了研究。位置隐私防护的目标是:身份保护,服务器提供商能获取位置但不知是谁请求服务;位置保护,服务器知道谁在请求服务但不能获取其准确位置;身份及位置防护,服务提供商不能获知谁在哪里请求服务。按照位置隐私保护目标,现有技术大致可分为3类。
(1)k-匿名混淆(k-anonymity cloaking)。k-匿名是隐私保护最常用的技术之一,其概念最初用于关系数据库中数据发布隐私保护。Gruteser等人将k-匿名的概念应用到位置隐私保护上,基本思想是使某个区域至少有k个用户,这k个用户之间不能直接通过ID来区别。k-匿名的实现方式可分为集中式和分布式两种。集中式方法在移动用户与LBS服务提供商之间加入可信第三方,由它完成匿名的处理和查询工作,如图2所示。基于四叉树方法,由第三方自顶而下划分整个空间,直到查询用户所在区域的用户数小于k,将上一层划分区域作为匿名区域。然而,实际中很难找到用户信任的第三方,而且攻击者一旦成功俘获第三方,所有用户的隐私将遭受侵害。
与集中式方法不同,分布式方法不依赖于可信第三方,仅通过用户相互之间的协作构成k-匿名集,如图3所示。Chow等人提出分布式P2P的k匿名混淆算法,用户请求服务之前,先通过单跳或多跳通信与周围k-1个用户形成组,将自己的位置混淆到包含组中的所有用户的匿名区域中,然后通过挑选的组代理来完成请求服务。当某个区域中的用户数少于k时,Lu等人提出通过构造虚假用户来满足用户数的要求,然而构造和上传虚假的LBS请求会带来额外开销,用户期望其余用户完成。Liu等人通过贝叶斯博弈分析了用户构造虚假用户、上传虚假LBS请求的行为,提出了基于博弈理论的虚假用户构造机制。Yang等人提出k-匿名激励机制,由关心隐私用户给不关心隐私用户给予相应报酬,来激励其他用户构造假用户,以满足k-匿名要求。
(2) 位置模糊。该技术使用圆形、矩形等区域替代用户的真实位置,或向用户的真实位置中添加可控的噪声,使得攻击者很难推断出用户真实的位置。Xu等人提出基于用户feeling的模型来表达用户隐私需求,根据上报用户感觉合适的区域来划定区域,如用户不介意将商场作为公开区域,但介意将办公楼作为公开区域。
另一类假位置方法,通过向真实位置添加可控的噪声得到假位置。由于隐私保护度依赖于用户密度,用户多应加入较少噪声,用户少应引入较大噪声。Pingley等人提出了基于Hibert曲线的位置扰乱方法,将不同密度用户映射到等密度的Hibert曲线上,然后加入统一的噪声,即密度小时噪声多,密度大时噪声少。Andrés等人提出基于地理位置差分隐私扰乱方法,通过添加平面Laplace噪声,保证攻击者从观察到的位置信息得不到关于用户位置的任何信息,为用户提供强隐私保护。
(3) 密码学方法。该方法将用户的位置、兴趣点加密后,在密文空间计算和搜寻查询结果,服务提供商不能获取查询内容和查询结果的具体内容。安全多方计算是常用的隐私保护算法,在n个互相不信任的参与方中进行协同计算,而不侵犯任何一方的隐私信息,可通过同态加密、双线性对等实现。然而,LBS服务提供商和移动用户的加解密操作以及密文空间上的匹配操作,都带来较大的计算开销。Shao等人采用代理重加密技术将服务器和用户端的加密和匹配操作放在云端进行,云服务器只需验证位置是否匹配,而对LBS提供商和用户的真实位置并不知晓。
2、连续轨迹的隐私保护机制
在导航、寻找加油站等连续的LBS服务中,用户需连续上传位置到LBS服务器,移动用户的隐私可能通过实时运行轨迹而暴露;轨迹发布用于,如城市道路规划、移动网络性能优化等应用,攻击者通过数据挖掘分析,可以推断出个人的兴趣爱好、行为模式、社会习惯等隐私信息。MIT的研究人员通过对150万人长达15个月的移动轨迹的研究发现,用户的移动轨迹具有高度的唯一性,通过4个位置点能够成功识别95%用户的轨迹。
单点位置的匿名和模糊不能保证节点移动轨迹的隐私,攻击者可能将用户时间顺序上的多个位置或区域信息连接起来,从而得到用户在某一段时间内的运动轨迹。轨迹上传或发布之前,通常用随机ID替换用户真实标识。然而,Ma等人指出,这种匿名方式不足以保护用户隐私,他们提出的主动和被动攻击,能以较大概率识别出用户的轨迹。Srivatsa等人利用社交网络关系图高效识别了80%的用户轨迹。随着研究的不断深入,大量的轨迹隐私保护方法被提了出来,这些隐私保护技术的目标可概括为:身份保护,防止攻击者获取轨迹的真实拥有者;时空相关性防护,防止攻击者根据轨迹本身的时空相关性跟踪用户。现有轨迹隐私保护技术大致可分为以下3类。
(1)假数据。该方法通过添加假轨迹对原始数据进行干扰,产生逼真、混淆性的假轨迹数据,增加攻击者识别的难度。在连续LBS场景中,可信第三方产生或用户自己产生虚假轨迹,与用户真实轨迹一起向LBS服务器请求服务。Xu等人提出由可信第三方根据用户历史轨迹,建立footprint 数据库,每次请求服务,采用数据库中的轨迹数据产生假轨迹。Pingley等人考虑由用户自己产生假查询,基于位置服务中查询的合理性、节点的移动模式,来产生更逼真的假位置查询,然而这将产生大量的通信开销和存储开销。
在轨迹发布场景中,轨迹数据发布之前,由LBS服务器产生一些假轨迹,使得攻击者看到的轨迹数据增多,加大了识别真实轨迹的难度。You等人提出两种假轨迹产生方法:随机法,由LBS服务器随机生成一条连接起点到终点、连续运行且运行模式一致的假轨迹,如图 4(a)所示;旋转法,以移动用户的真实轨迹为基础,以真实轨迹中的某些采样点为轴点进行旋转,旋转后的轨迹为生成的假轨迹,如图4(b)所示。旋转点的选择和旋转角度的确定需要和信息扭曲度进行关联权衡。
(2)抑制法。该方法抑制轨迹中某些位置,如敏感位置或易泄露用户隐私的位置,增加攻击者识别用户轨迹的难度,仅适用于了解攻击者拥有某种特定背景知识的情形,隐私保护能力有限。在连续LBS场景中,用户通过限制上传地点,防止攻击者进行跟踪攻击。Mix域方法让用户进入Mix域时更新假名,不发送位置信息到服务器,使得攻击者难以区分Mix域中的用户(如图5所示),理想的Mix域要求k个用户同时在Mix域中,这些用户进出Mix的时间是随机的,进出Mix域的转移概率是均匀的。Palanisamy等人考虑车辆密度、Mix形状、位置粒度、移动限制等因素,建立适应于道路网的Mix域模型。Liu等人提出了最优放置Mix域的方法。Hoh等人提出在地图中设定的标记点,节点在这些标记点上传位置信息,标记点的放置确保节点隐私保护的最小需求距离,并且避免暴露一些隐私敏感的位置。
在轨迹发布场景中,可信服务器抑制轨迹中某些点之后再发布,并保证发布数据的可用性。Teriovitis等人指出应抑制轨迹中的敏感点,如诊所、酒吧等,以及轨迹中会泄露其他信息的位置点,如可唯一识别用户轨迹的位置点和可区分于其他轨迹的位置点。Mohammed等人提出一种(K,C)L隐私模型来指导选择抑制点,保证轨迹集中的每个长度为L的子序列至少与其他K-1个子序列的数据记录不可区分,同时每个匿名组中的敏感位置比率不超过概率C。
(3) 泛化法。该方法将轨迹上的位置点都泛化为对应的匿名区域,在信息扭曲度最小的情况下达到轨迹k-匿名,该类方法数据失真相对较小,但实现优化轨迹匿名的开销大。在连续LBS场景中,位置匿名服务器将用户连续的位置点泛化为对应匿名区域后,发给LBS服务提供商请求服务。Chow等人提出基于组的空间混淆技术,将用户与附近k-1个邻居形成组,在接下来的一段时间内,通过上传组区域来获取服务。Pan等人提出根据节点的速度、方向,选择相似移动特性的节点形成组。
针对轨迹发布场景,Abul等人提出(k,d)匿名泛化方法,对同一段时间内的轨迹数据,按欧式距离进行贪心聚类,直到每个类中至少含有k条轨迹,然后把不在匿名区域(半径为d)的点在最小信息扭曲的前提下,移动到匿名区域内,如图 7所示。Nergiz等人聚类匿名后,在匿名区域内随机选择点进行重构轨迹,发布重构轨迹,具有原始轨迹特性,数据失真相对较小。
边信息中的位置隐私泄露与防护
除了定位过程和基于位置服务中存在位置泄露外,与位置无直接关联的数据也可能泄露位置相关信息。当用户访问某些地点后,会在某些设备上留下特定的信息,或致使设备的测量数据发生特定的变化。这些与位置无直接关联却能从中推测出用户位置隐私的数据被称为边信息。物联网的感知层存在大量的感知节点,这些节点能够实时、准确地感知用户在物理空间的活动与状态,因此物联网存在大量、丰富的边信息。攻击者可以通过数据挖掘、大数据分析等手段对这些边信息进行分析,获取用户的位置隐私。下面将介绍物联网中一些典型的边信息及其防护机制。
1、移动设备的WiFi连接记录
智能手机、平板电脑等移动设备为了快速发现/切换WiFi AP,或者发现隐藏的WiFi AP,通常会保存AP的连接记录。当移动设备需要再次连接AP时,主动广播包含已连接过AP的SSID的探测请求(probe request),询问之前连接过的AP是否存在。攻击者通过监听移动设备的AP主动发现过程获取用户的AP连接记录;然后通过查询Google、Skyhook等公司采集的WiFi AP数据库,即可得到连接记录中AP的详细位置,进而推断出用户曾经到过的位置或轨迹。
Lindqvist等人提出了一种基于挑战-应答(challenge-response)的AP发现机制,防止攻击者通过窃听的方式获取用户的WiFi连接记录。在该机制中,移动设备和已连接过的AP之间共享一个密钥。当设备进行AP主动发现时,设备通过挑战应答协议发现之前连接过的AP:设备产生一个随机数,作为“提问”发送给AP;AP将SSID和随机数合并,并用共享密钥加密签名作为“应答”返回给移动设备;移动设备比较计算结果和“应答”,如果两者相同,则证明用户之前连接过该AP。Cox提出,在移动设备与AP 首次连接时协商一个密钥,移动设备在广播探测请求时用该密钥对AP的SSID进行加密。
2、设备通信过程中泄露的信号强度
由于无线信道的广播特性,攻击者通过窃听用户与AP之间的无线通信,获取用户设备的MAC地址并测量用户发送信号的信号强度。由于MAC地址具有唯一性,因此攻击者可以据此确定用户的身份。当同时在4个不同地方测量用户发送信号的功率时,攻击者通过三角定位法可估计出用户的具体位置。
为了防止攻击者通过信号强度值对用户进行定位,Jiang提出了通过假名和减小设备发射功率来保护用户位置隐私的机制。移动设备与AP通信时不使用真实的MAC地址,而是采用由AP分配的假名。Wang提出用户进入区域时,首先通过Log-Normal信号衰减模型估算周围AP的位置,然后利用智能天线调整在不同方向的发射功率,尽量使能监听到移动设备WiFi通信的AP数少于4;或者调整移动设备在不同方向上的发射功率,使攻击者通过三角定位的误差达到最大。
3、智能电网中电表的数据
在智能电网中,智能电表周期性地记录用户的用电量,并将数据发送给电网公司。攻击者根据电表读数变化推测出用户是否在家,甚至推测出用户家中使用的电器、行为习惯等隐私信息。
Kalogridis提出的BE(best effort)算法利用蓄电池尽可能地使家庭用电量保持一个常数,家庭用电量少时给蓄电池充电,用电量大时蓄电池放电。McLaughlin把蓄电池的电量分为ST(stable state),HR(high recovery)和LR(low recovery)3个状态。在每个状态下,电网供电量保持一个常数不变,攻击者观察到的电量变化呈现阶跃函数的形式,不能从用电数据的变化推测出用户的行为。Chow提出了一种基于同态加密的隐私保护方案,用户对实时用电数据进行加密,电网公司根据密文计算用户的电费。