范 昊,束德勤,张 亮
(山东农业大学 信息科学与工程学院,山东 泰安 271018)
随着基于位置服务 LBS(Location-Based Service)需求的增长,传统位置隐私保护模型的局限性日益凸显,传统的基于位置服务很少考虑用户隐私问题,用户的标识等敏感信息暴露,其安全性逐渐成为一种隐患。存在很多因为用户位置隐私泄露而导致被人跟踪、被垃圾广告邮件填满收件箱的案例[1-2]。因此,对LBS中的隐私保护问题进行研究具有较好的理论意义和实际应用意义,人们迫切需要更人性化、更安全快速的位置隐私保护方案[3-4]。
本文实现的系统主要研究并解决了当人们在使用LBS时所涉及到的位置隐私安全问题。为了实现用户在其他用户对其进行定位时提供不同等级和精度的位置服务,并且兼顾位置服务与隐私保护的目的,提出了一种个性化的位置隐私保护方案,即目标用户可以在为不同类别的用户提供个性化位置服务的同时保护自身的位置隐私。当其他用户对目标用户进行定位时,系统将在数据服务器和位置匿名服务器中查找用户对其好友的隐私策略树,并得到对应的隐私开放类别,对用户自身的位置信息进行处理,从而实现个性化位置隐私保护的目标。
基于位置的服务LBS是指通过无线网络服务提供商 SP(Service Provider)提供给移动终端(如手机、PDA、无线笔记本等)的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供所需的与位置相关的一种移动增值业务[5]。
定位系统是LBS的一项重要的基础设施,一般分为两类:基于网络的定位系统通过电信网络的基础设施(例如基站、卫星)结合某种定位方法来定位移动设备,不需要移动设备上安装定位芯片;基于终端的定位系统需要在移动设备上安装GPS定位芯片,然后利用GPS系统或者伽利略卫星系统定位出用户的当前位置[6]。
位置隐私是一种特殊的信息隐私,指的是防止其他人以任何方式获知对象过去、现在的位置[7]。在基于位置的服务中,敏感数据可以是有关用户的时空信息、可以是查询请求内容中涉及军事或政治的信息、可以是推断出的用户的运动模式、用户的兴趣爱好等的个人隐私信息。
本文主要研究了在人们使用LBS时涉及到的位置隐私安全问题,以及如何实现个性化的多等级位置隐私保护。提出了一种个性化位置隐私保护方案:被定位者可以针对不同类别的用户群体,构建不同的隐私保护策略,当其被定位时,根据隐私保护策略来决定为其提供不同精度(不同等级)的位置服务。本文主要从以下两个方面对LBS进行安全性建设。
(1)使用户具有自主选择能否让指定的好友知道自己真实位置的权力,按照用户的需求将其好友按照不同的位置隐私等级分为“对其位置隐身”、“对其显示真实位置”和“对其显示虚假位置”3组。
在“真实位置”设置组中,用户的该组好友可以通过电子地图读取用户实时的真实位置;在“位置隐身”设置组中,用户的该组好友无法读取用户的位置,即用户对他的该组好友在位置上隐身不可见;在“虚假位置”设置组中,用户可以根据需要对该组好友分别在电子地图上设置不同的假位置,完成位置隐私保护的功能。
(2)“双服务器保护模式”,确保服务器端与客户端相互通信时的用户信息安全。当用户选择向服务器发送自己的真实位置时,位置匿名服务器能够对用户发送过来的用户信息和位置信息进行匿名处理,处理结果显示为某位置具有人的活动特征,却无法获取该位置的用户信息。
当用户A请求其好友B的位置信息时,请求命令将首先发送到信息处理服务器。此时,信息处理服务器将作出判断,若判断结果为A在B的好友列表中,并且策略分组为“对其显示真实位置”时,信息处理服务器选择直接向B发送一条请求其位置的命令,并同时向位置匿名服务器发送一条带有特定标签的A的IP信息。客户端B在收到位置请求信息后,会将带有特定标签的自己的位置信息发送给可信的位置匿名服务器,而不是信息处理服务器。
也就是说,当信息处理服务器在接收到某用户的位置信息时,不会记录客户端的IP地址或除位置信息以外的任何个人信息,并将通过标签核对,将制定的位置信息直接发送给指定的用户。最后,位置匿名服务器将给信息处理服务器返回一条带有与接收IP时相同的特定标签,告知其过程是否成功完成。
不仅如此,当用户选择向服务器发送自己的真实位置时,双服务器中的位置匿名服务器还能够对用户发送过来的用户信息和位置信息进行匿名处理,即便检测出某位置具有人的活动特征,也无法获取该位置的用户信息,避免了在位置信息传送过程中的隐私泄露隐患。
数据库是位置隐私保护系统的重要基础,在本系统中,选用MySQL数据库。使用JDBC驱动实现了MySQL数据库与Java服务器端的连接。数据库中各个表的设计如表1、表 2所示。
表1 用户信息表 user(代表 true)
表2 好友信息表fri(代表 false)
信息处理服务器使用Java语言开发,主要文件结构及使用的类如图1所示。
图1 信息处理服务器主要文件结构及使用的类
各类实现的功能说明如下:CreateServerThread类用于生成新的线程,并通过处理Socket收到的字符串提取出所请求对象的IP和发送请求对象的IP。紧接着建立一个Socket通信请求目标的地址坐标,然后将获取到的位置坐标用新的Socket发送到发送请求者手机中。Function类为各项功能的具体实现及收到错误数据时的异常处理:Main为主类,实例化一个Server对象:
Server继承于ServerSocket,当收到信息后调用CreateServerThread 类生成新线程:super(SERVER_PORT)。Xxaq类用于服务端与数据库的连接及数据库各种操作的实现(代码见数据库实现部分)。
使用Java语言开发主要文件结构及使用的类如图2所示。
图2 位置匿名服务器主要文件结构及使用的类
其中,Main类和Server类的功能及实现方法同于信息处理服务器,CreateServerThread类实现了接收到合法请求后对客户端位置的获取及向请求者发送被请求者的位置信息。
移动端采用在Windows 7操作系统下,安装Mac OS虚拟机,并用X-code作为开发工具、Objective-C作为开发语言进行开发。UIAlertTableView用于NoteDetailController中选择好友隐私等级时等级列表的显示,MapLocation为定位时使用的苹果官方工具类;KissXML和classes中的xml组均为xml的第三方解析工具,直接导入后使用,Classes中的 tool为 AsyncSocket类,用于 Socket通信,是苹果官方提供的工具类。
服务器端因为采用了跨平台性很强的Java语言编写附加MySQL数据库,故几乎可在所有服务器上运行,且部署工作简单,在Windows Server 2003环境下的部署如下。
(1)安装 MySQL数据库,并使用 sql转储文件将用到的表及数据导入到数据库中,字符集设置为utf-8。
(2)配置Java环境,并将JDBC驱动放置到服务器端主目录后,直接执行服务器端的主类Main。
(3)开启服务器的12310端口并在防火墙添加此端口的例外。
经过以上3个步骤,服务器的部署即完成。
因为客户端运行平台为iPhone或iPad,故用户可以在iPhone或iPad上直接安装生成好的 IOS安装包(ipa)文件进行安装。安装后打开软件登录即可使用。
性能测试在软件的质量保证中起着重要作用,是系统优化的有效手段,主要检验软件是否达到需求规格说明中规定的各类性能指标,确保系统达到设计要求的性能。
对于本系统,主要测试目的如下。
(1)确保服务端软件在长时间运行时能够及时释放内存并且不存在多余死循环,不会造成服务器系统的崩溃。
(2)确保在多客户端同时登录时,对数据库操作的同步性,避免读写错误及读脏数据等。
(3)确保客户端在运行时,内存能够及时释放,不会占用客户机平台过多资源。
(4)测试服务器的安全性,尝试通过非法手段获取用户相关数据的各种方法并采取相应对策。
(5)尝试用户使用时可能存在的误操作,处理对应异常。
(6)统计数据通信所产生的流量并作出优化。
测试表明:
(1)服务器可以及时释放内存,且能够保证并发时对数据库操作的同步。
(2)客户端用户误操作造成的异常均已避免或作出处理。
(3)已知在安全性测试中,数据均以明文形式传输,可能在传输信道中被截取,此缺陷均将在后期调试中解决。
由于便携式设备、芯片感测技术和宽带网络的发展,使得基于位置的服务应用无处不在,为人们的生活带来了便利的同时,也带来了隐私威胁的问题。本文的创新之处在于解决了当人们在使用LBS时所涉及到的位置隐私安全问题,其创新点总结如下。
(1)用户根据自己的需求可将其好友按照不同的位置隐私策略分组,“对其可见真实位置”、“对其位置隐身”和“对其可见虚假位置”3个分组能让用户按照自己的意愿去管理自己的位置信息,避免了在位置设置时的单调性。
(2)为了支持最优的位置匿名,必须考虑到广泛使用的具有可信用户和可信LSP的可信LBS中间件——位置匿名服务器。实际上,位置匿名服务器是一个位于移动用户和信息处理服务器的中间层,接收来自移动用户的精确位置信息以及所有用户的隐私特征,根据每一个用户的隐私特征,将精确的位置信息匿名成隐藏的空间区域,避免了在位置信息传送过程中的隐私泄露隐患。
本文所述基于移动平台的定制化位置隐私保护方案在系统功能上均已初步实现。
[1]程瑶,应凌云,焦四辈,等.移动社交应用的用户隐私泄漏问题研究[J].计算机学报,2014,37(1):87-100.
[2] BERESFORD A R, RICE A, SKEHIN N, etal.Mockdroid,trading privacy for application functionality on smartphones[C].Proceedings ofthe 12th Workshop on Mobile Computing Systemsand Applications(HotMobile′11).New York USA, 2011:49-54.
[3]EGELE M, KRUEGEL C, KIRDA E, et al. PiOS:detecting privacy leaks in IOS applications[C].Proceedings of the 18th Annual Network&Distributed System Security Symposium (NDSS).San Diego, USA, 2011:66-71.
[4]李瑞轩,董新华,辜希武,等.移动云服务的数据安全与隐私保护综述[J].通信学报,2013,34(2):159-165.
[5]傅建庆,陈健,范容,等.基于代理签名的移动通信网络匿名漫游认证协议[J].电子与信息学报,2011,33(1):156-162.
[6]UNAL D,CAGLAYAN M U.A formal role-based access model control model for security policies in multi-domain mobile networks[J].Computer Networks, 2013,57(1):330-350.
[7]徐小龙,周静岚,杨庚.一种基于数据分剖与分级的云存储数据隐私保护机制[J].计算机算机科学,2013,40(2):98-102.