背景技术
随着定位技术比如GPS的广泛应用,越来越多的人们通过手机上传自己的位置,形成空间轨迹数据,是用户所在位置的空间坐标随时间变化的序列,目前提出了空间轨迹数据语义模型,形成了很多空间轨迹语义数据集。空间轨迹语义数据是一个(位置名称,时间)对的序列,表达了一个人的行为踪迹。而一个人去过的有些位置对于这个人来说是敏感的,这些位置称为敏感位置。人们去过敏感位置的信息可能会随着空间轨迹语义数据的发布而泄露。
目前空间大数据的发布对隐私保护大多只考虑了原始的空间轨迹并且采用的是比较简单的隐私保护方案比如隐藏用户名的方式(1.Mehmet Ercan Nergiz,MaurizioAtzori,Yücel Saygin and Baris
2009.Towards Trajectory Anonymization:aGeneralization-Based Approach.Trans.Data Privacy 2,1(April 2009),47-75.
2.Mehmet Ercan Nergiz,Maurizio Atzori,and Yucel Saygin.2008.Towardstrajectory anonymization:a generalization-based approach.In Proceedings ofthe SIGSPATIAL ACM GIS 2008International Workshop on Security and Privacy inGIS and LBS(SPRINGL'08).ACM,New York,NY,USA,52-61.DOI=http://dx.doi.org/10.1145/1503402.1503413.
3.Josep Domingo-Ferrer and Rolando Trujillo-Rasua.2012.
Microaggregation-and permutation-based anonymization of movementdata.
Inf.Sci.208(November 2012),55-80.DOI:
https://doi.org/10.1016/j.ins.2012.04.015.
4.Emre Kaplan,Thomas B.Pedersen,Erkay
and YücelSaygln.2010.Discovering private trajectories using backgroundinformation.Data Knowl.Eng.69,7(July 2010),723-736.
DOI=http://dx.doi.org/10.1016/j.datak.2010.02.008.
5.Josep Domingo-Ferrer,Michal Sramka,and Rolando Trujillo-Rasúa.2010.Privacy-preserving publication of trajectories usingmicroaggregation.In Proceedings of the 3rd ACM SIGSPATIAL InternationalWorkshop on Security and Privacy in GIS and LBS(SPRINGL'10).ACM,New York,NY,USA,26-33.DOI=http://dx.doi.org/10.1145/1868470.1868478
6.Anna Monreale,Gennady Andrienko,Natalia Andrienko,Fosca Giannotti,Dino Pedreschi,Salvatore Rinzivillo,and Stefan Wrobel.2010.Movement DataAnonymity through Generalization.Trans.Data Privacy 3,2(August2010),91-121.
7.Haibo Hu,Jianliang Xu,Sai Tung On,Jing Du,and Joseph Kee-YinNg.2010.Privacy-aware location data publishing.ACM Trans.Database Syst.35,3,Article 18(July 2010),42 pages.DOI:
https://doi.org/10.1145/1806907.1806910.
8.Roman Yarovoy,Francesco Bonchi,Laks V.S.Lakshmanan,and Wendy HuiWang.2009.Anonymizing moving objects:how to hide a MOB in a crowd?.InProceedings of the 12th International Conference on Extending DatabaseTechnology:Advances in Database Technology(EDBT'09),Martin Kersten,BorisNovikov,Jens Teubner,Vladimir Polutin,and Stefan Manegold(Eds.).ACM,New York,NY,USA,72-83.
DOI=http://ezproxy.mapua.edu.ph:2086/10.1145/1516360.1516370.
9.Manolis Terrovitis and Nikos Mamoulis.2008.Privacy Preservation inthe Publication of Trajectories.In Proceedings of the The Ninth InternationalConference on Mobile Data Management(MDM'08).IEEE Computer Society,Washington,DC,USA,65-72.DOI:
https://doi.org/10.1109/MDM.2008.29.
10.Baik Hoh,Marco Gruteser,Hui Xiong,and AnsafAlrabady.2007.Preserving privacy in gps traces via uncertainty-aware pathcloaking.In Proceedings of the 14th ACM conference on Computer andcommunications security(CCS'07).ACM,New York,NY,USA,161-171.DOI:
https://doi.org/10.1145/1315245.1315266.
11.Baik Hoh,Marco Gruteser,Hui Xiong,and AnsafAlrabady.2010.Achieving Guaranteed Anonymity in GPS Traces via Uncertainty-Aware Path Cloaking.IEEE Transactions on Mobile Computing 9,8(August 2010),1089-1107.DOI:https://doi.org/10.1109/TMC.2010.62.)。
比如原先的用户名改为一个没有意义的数字代码,但是这种方式会受到攻击从而泄露用户的敏感信息,比如如果一个人的一条轨迹中同时在两个位置点在特定时间停留过,而在相应时间在这两个位置点停留过的只有这一条轨迹,而另一个人比如第一个人的同事知道这个人在对应时间在这两个位置停留过,然后后者就可以知道这条轨迹属于前者,而如果这条轨迹上还有一个位置是医院,那么后者就可以知道前者去过医院,泄露了前者的敏感信息。可以把这种隐私攻击方式称为位置链接加外部知识的攻击方式;位置的组合为位置链接,如上所述中的后者对前者的实际在某个时间去过某个地点的知识称为外部知识。
发明内容
本发明所要解决的技术问题是空间轨迹数据语义数据的隐私保护问题,防止位置链接和外部知识攻击。
本发明解决其技术问题采用的技术方案是:基于位置名称匿名的空间轨迹语义数据隐私保护方法,包括:
(1)对于原数据集中的每条轨迹,判断该轨迹中的任何一个位置是否唯一标识一个用户,如果是则把这个位置从轨迹中去除;
(2)构建每条轨迹的辅助标识性位置序列;
(3)针对每条轨迹的辅助标识性位置序列,设置k-1个包含相同辅助标识性位置序列的其他轨迹,4≤k≤6。
作为本发明的一种优选方式,辅助标识性位置序列的构建步骤为:对于整个数据集的所有轨迹,统计每个位置出现的次数,并计算次数与轨迹数目的比率,如果达到设定比率,则此位置判为辅助标识位置;每条轨迹中,所有辅助标识位置随时间的组合作为该条轨迹的辅助标识性位置序列。
作为本发明的进一步改进,所述的设定比率为0.01。
作为本发明的一种优选方式,设置k-1个包含相同辅助标识性位置序列的其他轨迹的方法为:在数据集中搜索,若包含该辅助标识性位置序列的其他轨迹的数目不小于k-1,则完成;若包含该标识性位置序列的其他轨迹的数目小于k-1,则进行下一步操作。
作为本发明的进一步改进,所述的下一步操作步骤为:
(1)针对每个轨迹的辅助标识性位置序列,在数据集中统计在相应时间包含该辅助标识性位置序列中辅助标识位置的轨迹,并依据辅助标识位置出现的次数对轨迹进行排序,从高到低选择k-1个轨迹;
(2)对于选择出的其他轨迹和其本身,把在相应时间不相同的辅助标识位置按照位置名称抽象结构进行一层抽象处理,并更新数据集,并将本身轨迹的辅助标识序列中辅助标识位置的名称更新为抽象处理后的名称;
(3)判断抽象处理后k-1个其他轨迹是否包含了更新后的辅助标识位置序列,如果是,则结束;否则,返回(1)继续执行,直到k个轨迹具有相同的辅助标识位置序列为止;其中,在继续执行时,排除当前和以前循环已经选择的k-1条轨迹的组合;
作为本发明的一种优选方式,所述位置名称抽象结构包括三层:第一抽象层、第二抽象层和第三层;所述第一抽象层为具体位置的上位抽象;所述第二抽象层为所述第一抽象层的进一步上位;所述第三层为所述第二抽象层的进一步上位。
进一步的改进在于,所述的第一抽象层为没有具体标识信息的场所的名称;所述的第二抽象层为根据所述场所功能或用途将场所名称进行分类后的类别名称;所述的第三层为将所有类别名称抽象为一个名称:位置。
本发明具有的有益效果是:通过对空间轨迹数据语义中位置信息的抽象处理,使敏感位置一般化,并通过设置具有相同位置序列的其他轨迹,将该轨迹隐藏于其中,降低了该轨迹被攻击泄露的几率,达到保护隐私的目的。本发明的方法能防止位置链接和外部知识攻击,防止用户在轨迹数据中的敏感信息被泄露。
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
本实施例提供的基于位置名称匿名的空间轨迹语义数据隐私保护方法,流程如图1所示,具体包括:
1、对于原数据集中每条轨迹,判断这条轨迹中的任何一个位置是否唯一的标识一个用户,即只有一个用户停留过此位置,如果是,则把这个位置从轨迹中去除。
2、对数据集中的每一条轨迹,构建其辅助标识性位置序列。
对于整个数据集的所有轨迹,统计每个位置出现的次数,计算每个位置出现次数与轨迹数目的比,如果达到设定比率0.01,则此位置判为辅助标识位置。
每条轨迹中的所有辅助标识位置随时间的组合作为该条轨迹的辅助标识性位置序列。
3、针对构建的每个轨迹中的辅助标识性位置序列,找到或设置k-1个包含该辅助标识性位置序列的其他轨迹,从而使得攻击者判定被攻击用户是这k个轨迹中的一个,也就是说如果被攻击在其轨迹中去了一个敏感位置的信息,这个信息被泄露的机会只有1/k。这样就达到了比较好的隐私保护作用。通常K设定为4、5或6。
a.若在数据集中搜索到k-1个以上包含该辅助标识性位置序列的其他轨迹,则结束;
b.若搜索到的具有该辅助标识性位置序列的其他轨迹的数目小于k-1,则进行以下操作:
(1)在原数据集中统计在相应时间包含辅助标识性位置序列中辅助标识位置的轨迹,并依据辅助标识位置出现的次数对轨迹进行排序,从高到低选择所需数目的轨迹;
(2)对于选取的其他轨迹和其本身合在一起共k个轨迹,把这k个轨迹在相应时间不相同的具体辅助标识位置,按照位置名称抽象结构进行一层抽象处理,并依据抽象处理后的位置名称更新数据集,以及更新本身轨迹的辅助标识序列中辅助标识位置的名称。
其中,位置名称抽象结构预先建立好,并存储入临时文件待用。如图2所示,该名称抽象结构包括三层。最下层为第一抽象层,该层为具体位置名称的上位抽象,即从具体位置中抽象出场所名称,包括:停车场、站点、道路、医院、诊所、游乐场、咖啡馆、电影院、商场、学校等。例如:“某某游乐场”可以抽象为第一层的“游乐场”,“甲咖啡馆”可以抽象为第一层的“咖啡馆”;“某某路小学”可以抽象为第一层的“学校”等等,此处仅以上述例子来说明问题,但并不限于所列举的具体实例。
中间层为第二抽象层,该层为对第一抽象层进一步上位抽象,即将第一抽象层中的场所名称根据场所的功能或用途进行大致分类,例如:第一抽象层的停车场、站点、道路抽象为本层的交通位置;第一抽象层的医院、诊所抽象为本层的健康医疗位置;第一抽象层的游乐场、咖啡馆、电影院、商场可以抽象为本层的购物娱乐位置;第一抽象层的学校抽象为本层的学区位置等等。
最上层为第三抽象层,该层为对第二抽象层的进一步抽象,即将第二抽象层中的位置名称统一抽象为:位置。
(3)抽象处理后判断k-1个其他轨迹是否包含了更新后的辅助标识位置序列,如果是则结束;如果否,返回(1)继续执行;直到k个轨迹具有相同的辅助标识位置序列为止。
需要说明的是,步骤(3)中,如果经抽象处理后仍然不满足条件的,在返回(1)的下次循环中,排除当前和以前循环已经选择的k-1条其他轨迹的组合。也就是说,每次循环中,经过抽象处理仍然不满足条件的其他k-1条轨迹组合直接排除,不再进入下次循环,但所排除的组合中的单条或多条轨迹仍然可以考虑进入下次循环,可被选择为其他k-1条轨迹的组合。
例如:k个轨迹中,有k-1个轨迹在相应时间具有“甲咖啡馆”,而另一个轨迹在相应时间具有“乙咖啡馆”,则这k个轨迹都根据位置名称抽象结构把相应的位置在第一抽象层进行上位抽象,抽象为“咖啡馆”。而如果有k-2个轨迹在相应时间是“咖啡馆”,而另2个轨迹是“电影院”,则这k个轨迹的相应位置在第二抽象层进行上位抽象,抽象化为“娱乐位置”。
如此一来,也使得被攻击用户的轨迹是这k个轨迹中的一个,被攻击的几率为1/k,从而达到保护隐私的目的。