01 位置与位置服务
位置是人或物体所在或所占的地方、所处的方位。位置的近义词是地址,也指一种空间分布。定位是指确定方位,确定场所或界限。下面介绍常用的定位方法和位置服务过程。
1. 定位服务
定位服务即用户获取自己位置的服务,定位服务是基于位置的服务(Location Based Service,LBS)发展的基础,客户端只有获取到当前的位置后,才能进行LBS的查询。现在使用最广泛的定位方式主要有全球定位系统定位和基于第三方定位服务商(Location Provider,LP)所提供的Wi-Fi定位。
(1)全球定位系统定位
全球定位系统(Global Positioning System,GPS)通过全球24颗人造卫星,能够提供三维位置和三维速度等无线导航定位信息。在一个固定的位置完成定位需要4颗卫星,客户端首先需要搜索出4颗在当前位置可用的卫星,然后4颗卫星将其位置和与客户端的距离发送给客户端,最后由客户端的GPS芯片计算出客户端的当前位置。GPS的定位精度较高,一般在10 m 以内,但是其缺点也很明显:① 首次搜索卫星时间相对较长;② GPS无法在室内或建筑物相对密集的场所使用;③ 使用GPS的电量损耗较高。
为了解决首次搜索可定位卫星时间较长的问题,AGPS(Assisted GPS)技术被提出。AGPS技术的特点主要是在定位时使用网络直接将当前地区的可用卫星信息下载下来用于定位,这不仅可以提高发现卫星的速度,还能够降低设备的电量使用情况。
(2)Wi-Fi定位
Wi-Fi定位不仅支持室外定位,也支持室内定位。Wi-Fi设备分布广泛,每个Wi-Fi接入点(Access Point,AP)都有全球唯一的Mac地址,并且AP在一段时间内是不会大幅度移动的,移动设备可以收集到周围的AP信号,获取其Mac地址和信号强度(Received Signal Strength Indication,RSSI)。通常,LP会通过现场采集或用户提交的方式建立自己的定位数据库,并对数据库进行定期更新。在定位过程中,LP会要求移动客户端提交其周围的AP集合信息,并将这些信息作为其位置指纹,进而LP即可通过与定位数据库进行匹配计算估计出当前的位置。Wi-Fi定位的精度通常在80m以内。
Wi-Fi定位可以测量不同信号的到达时刻(Time of Arrival,TOA)或到达角度(Angle of Arrival,AOA),较用的是基于 Wi-Fi指纹的定位。正如每个人的指纹不同,每个位置的Wi-Fi指纹也不同,一个确定位置的 Wi-Fi指纹包括该位置采集的AP的Mac地址和RSSI的集合。
Wi-Fi指纹定位主要包含两个步骤:离线采集和在线定位。
离线采集会将已知的确定位置作为参考点,将在该位置所采集到的AP的Mac地址和 RSSI作为该位置的指纹,并将其加入数据库中。
在线定位会将在某个非确定位置采集到的AP的Mac地址和RSSI作为指纹以与指纹数据库进行匹配估计,从而获得用户的确切位置,常用的指纹数据库匹配算法包括最近邻(Nearest Neighbor,NN)算法、Top-K近邻(Top K-Nearest Neighbor,TKNN)算法、距离加权K近邻算法(Weight K-Nearest Neighbors,WKNN)算法等。
2. 基于位置的服务
基于位置的服务(LBS)是首先获取移动终端用户的位置信息,然后在地理信息系统(Geographic Information System,GIS)平台的支持下,为用户提供相应服务的一种增值业务。
图1展示了LBS的系统结构,包括定位组件、移动设备、LBS提供商和通信网络等。
图1 LBS的系统结构
① 定位组件为确定移动设备的位置提供了基础,移动设备可以通过内置的GPS芯片或第三方网络定位提供商追踪其具体位置,并将位置信息传给应用程序。
② 移动设备是指可以连入网络并传递数据的电子设备,移动设备作为采集位置数据并发送LBS请求的基础,通常包括智能手机、笔记本计算机、智能手表和车联网设备等。
③ LBS服务商是指可以为移动设备提供LBS服务的第三方,LBS服务商通常拥有或可以创造基于位置的信息内容。
④ 通信网络用于将移动设备同LBS服务商或网络定位提供商相连接,实现它们之间的信息传输,包括无线通信网络、卫星网络等。
LBS服务主要包含以下两个阶段。
① 位置获取阶段:移动设备通过GPS定位或者第三方网络定位获取当前位置的阶段。
② 服务获取阶段:移动设备将第一阶段获取的位置信息和查询的兴趣点发送给LBS提供商,LBS提供商进行信息查询并将查询结果返回给移动设备的阶段。
3. 位置服务的隐私安全问题
随着移动互联网技术的发展与智能手机设备的迅速普及,越来越多的人开始习惯于使用LBS。LBS应用程序在智能手机中得到了迅猛的发展,LBS也获得了非常广泛的注意。为了使用LBS,智能手机用户可以从应用商店下载基于位置的应用,这些应用首先通过GPS或网络等方式获取用户的位置,然后将用户的位置信息以及用户希望获得的服务通过查询请求的方式发送到LBS服务器,LBS服务器进行相应的查询并将查询结果返回给用户。据统计全球数以亿计的智能手机、车载导航等设备每秒发送的位置信息就超过了1亿条。目前,位置服务覆盖了各行各业,被应用到了不同的领域,如健康、工作、个人生活等。
在位置服务过程中,用户产生的空间数据具有复杂、异构、实时、巨量等大数据特征,通过开放共享与智能管理,这些数据不仅可以为个人生活(如交通路线导航、周边兴趣点查询等)提供便利,也可以为政府决策(如重大事件应急响应、住宅小区规划等)和企业生产(如广告投放、商业布点等)提供精准服务。但是,用户在获取这些服务的过程中,数据服务器上会留下大量的用户记录,而且附着在这些记录上的上下文信息能够披露用户的生活习惯、兴趣爱好、日常活动、社会关系和身体状况等个人敏感信息。因此,如何在保护用户隐私的同时又能为用户提供高质量的数据分析与决策服务,是空间数据服务过程中必须解决的重要技术问题。
加密是一种保护数据隐私的有效方法,然而,加密后的数据不能直接进行检索和利用,不能有效地提供分析和决策支持,并不适合数据开放共享的应用场景。中国卫星导航定位协会公布的数据显示,我国卫星导航与位置服务产业总产值超过2000亿元,国内导航定位终端产品总销量突破10亿台;根据思科公司的预测,到2019年,全球约有46亿部智能手机,每月全球移动互联网流量将达24.3EB。如此大规模的数据,已超出了传统数据处理技术在可接受时间下获取、管理、检索、分析、挖掘和可视化的能力。
显然,服务提供商为了增强位置信息的精度,需要实时获取每个用户的位置及相关信息,以进一步提高用户的服务质量(如获得实时位置以提供更智能的路线规划方案)。用户在上传移动位置信息的同时,其个人隐私也会遭到泄露。一旦大量个人隐私信息被攻击者盗取,将导致整个社会产生安全信任危机。
此外,位置信息也可以被公开发布给相关研究机构和研究人员进行挖掘分析,并将分析结果作为决策依据。例如,某数据部门通过分析不同时间段的GPS位置数据来分析不同职业群体的饮食习惯;通过数据挖掘,可以发现相同的职业群体经常在相同或者不同的时刻出现在同样的地方。因此,当这种位置关联被利用后通过再次挖掘,就可以分析出用户之间的社交关联。一旦社交关联被披露,更多的敏感信息将面临二次泄露的风险。
例如,假设A、B、C均是学生,他们在相同的时间段内在相同的位置共同出现了两次,因此攻击者可能会推测他们是同班同学。再通过他们的背景知识,如果A的年纪、学校或者社会关系被泄露,那么B和C的相应背景也会被泄露。如果不考虑用户之间的关联信息,只是单纯地进行位置保护,那么攻击者可以利用这种关联属性进行关联推理攻击,使用户的个人隐私遭到更多的泄露,危及用户的个人生命和财产安全。因此,为更好地保护用户隐私,隐私保护还需要充分考虑群体用户的关联位置所带来的风险。
4. 位置隐私及位置隐私保护对象
隐私是个人或群体通过选择性表达有意识地保护的相关信息。不同的人对于隐私有不同的关注程度,同时也与人们所处的环境信息有关,但是相同的是,这些信息对于个人来说一定是十分敏感的。位置隐私是物联网中用户的位置信息,指人们在获取位置和使用位置时将自身的位置信息视作一种个人隐私信息,同时也可以指用户为了保护自身位置隐私所应具备的权利和能力。
通常,移动用户在使用位置服务时需要提交用户的身份标志符(identity)、空间信息(position)、时间信息(time)等。根据移动用户提交的信息,我们可以概括隐私保护的对象如下。
① 身份标志符:用来唯一标志用户信息的凭证。即使用户在发布查询的过程中隐藏了身份标志符信息,攻击者仍然可以通过发布的位置信息或提交的特定查询等上下文信息推测出用户的身份。
② 空间信息:在LBS中指用户提交的位置信息,在定位服务中指用户所提交的用于定位的相关信息,包括Wi-Fi指纹信息等。用户的空间信息泄露会直接或间接地导致攻击者知道用户的当前位置,进而可根据用户的当前位置,合理地判断用户的工作场所、生活习惯等。例如,攻击者可以根据用户在工作日经常提交的位置信息推测出用户的工作地点。用户可能希望提供不同的位置精度,例如,告诉朋友们准确的位置,而为天气服务提供粗略的位置。此外,位置信息不只是具体的经纬度信息,例如,用户不希望发布其在医院的信息,这里需要保护的空间信息代表一个位置场所。
③ 轨迹:时间信息和空间信息一起定义了在一段时间内用户的位置移动顺序,即轨迹。相对于位置信息,轨迹信息更容易导致用户的生活习惯泄露,例如,攻击者可以推测出用户的上下班线路。
02 位置隐私保护结构
根据用户的位置是否连续,位置隐私保护技术可以分为单点位置的隐私保护技术和连续轨迹的隐私保护技术。单点位置的隐私是指谁在某个时刻到过什么地方,而连续轨迹的隐私是指谁在什么时间段内到过哪些地方。
这里所指的位置隐私是单点位置隐私。位置隐私保护的目标有3种:
① 身份保护,隐藏用户身份,SP只能知道位置但不知道是谁在请求服务;
② 位置保护,SP知道是谁在请求服务,但不能获取其准确位置;
③ 身份和位置保护,SP不知道是谁在哪里请求服务。
目前的位置隐私保护技术所采用的结构大体可以分为以下3类:独立结构、集中式结构和P2P结构。
(1)独立结构
独立结构由用户和SP两部分构成,因此又称为客户服务器结构。如图2所示,独立结构中一次LBS的整体流程如下:首先用户在通过定位技术获取位置信息后,通过假名或者模糊位置对自己要发送给SP的信息进行匿名处理,形成一个虚假的结果或者一个结果集,这些工作全部由用户独立完成,并直接和SP进行通信,并将结果发送给SP,SP根据接收到的信息,完成用户提出的查询任务,并将查询结果返回给用户,用户收到后从中选出符合自己需要的结果即可。独立结构比较简单,容易实现,但是,所有的隐私保护工作需要用户自己来完成,对移动设备要求高,而且在人员稀疏的环境中保护效果会很差,很容易被攻击者识别出真实的身份信息和位置信息。
图2 独立结构
(2)集中式结构
集中式结构是在独立结构的基础上引入了可信的第三方——匿名服务器。该服务器位于用户和SP之间,负责管理用户的位置信息、匿名需求、定位结果处理、查询结果筛选等,须对用户的位置进行保护。图3所示为集中式结构中一次LBS的整体流程。用户首先获得自己精确的位置信息,然后将精确的位置信息发送给匿名服务器。匿名服务器结合其他用户上传的位置信息,使用匿名算法按照用户的匿名需求对位置进行匿名处理,之后将处理过的结果发送给SP。SP根据接收到的数据,查询相应的结果并将其返回给匿名服务器,经过对结果的筛选,匿名服务器即可把最终的结果返回给查询用户。从服务过程的变化可以看出,引入可信第三方(匿名服务器)能够充分减小移动设备的工作负担,解决了移动设备计算和存储能力有限的问题,可以把更复杂的匿名算法引入位置保护系统,还能够利用周边环境和其他用户的信息,有效提高位置隐私保护的效率和安全性。但是,集中式结构也有明显的缺点:每个用户的匿名都需要通过匿名服务器的计算和分析,当用户数量大幅增加时,匿名服务器就会成为性能的瓶颈,影响LBS的时效性,甚至会发生服务器崩溃的情况。更为重要的是,匿名服务器中保存着大量的用户身份信息和位置信息数据,一旦遭到攻击,大量用户隐私必将泄露,这将会造成十分严重的后果。
图3 集中式结构
(3)P2P结构
因为集中式结构中匿名服务器的局限性和移动设备性能的飞速发展,P2P结构应运而生。P2P结构去掉了可信第三方中间件,仅由移动用户和SP组成。与独立结构不同的是,移动设备用户为了利用其他用户的信息来保护自身的位置隐私,用户之间建立了对等网络。虽然同样是由用户自身完成位置隐私保护工作,但是P2P结构中有许多对等的移动节点提供了平等的信息共享服务,在每个节点发起查询时,其他节点会提供协助以共同完成隐私保护,抵御攻击。图4所示为P2P结构中一次LBS的整体流程。当用户需要发起LBS时,其首先会请求网络内其他用户的协助,即会将请求协助信息在网络内广播。收到其他节点的回复后,将其中符合匿名要求的信息收集到一起作为匿名集合。之后由用户随机选择的代理用户将查询请求发送给SP。SP经过查询后将结果返回给代理用户并由代理用户最终返回给用户。P2P结构取消了匿名服务器,解决了集中式结构中第三方处理数据的瓶颈问题(如可行度、性能等),但是要求每个移动用户都必须具有两个独立的网络,一个网络用于LBS通信,另一个网络用于P2P通信;同时对移动设备的性能和网络的传输效率要求较高;在人员稀少的地区比较难以实现匿名区的组建;恶意节点的存在会导致匿名的安全性和质量难以满足要求。
图4 P2P结构