背景技术
随着定位技术比如GPS的广泛应用,越来越多的人们通过手机上传自己的位置,与其他数据融合在一起形成了空间大数据,目前空间大数据的发布大多采用简单的隐私保护机制比如采用简单隐藏用户名的方式(1.Mehmet Ercan Nergiz,Maurizio Atzori,Yücel
and Baris
2009.Towards Trajectory Anonymization:a Generalization-Based Approach.Trans.Data Privacy 2,1(April 2009),47-75.2.Mehmet ErcanNergiz,Maurizio Atzori,and Yucel Saygin.2008.Towards trajectoryanonymization:a generalization-based approach.In Proceedings of theSIGSPATIAL ACM GIS 2008International Workshop on Security and Privacy in GISand LBS(SPRINGL'08).ACM,New York,NY,USA,52-61.
DOI=http://dx.doi.org/10.1145/1503402.1503413.3.Josep Domingo-Ferrerand Rolando Trujillo-Rasua.2012.Microaggregation-and permutation-basedanonymization of movement data.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ücel
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-preservingpublication of trajectories using microaggregation.In Proceedings of the 3rdACM SIGSPATIAL International Workshop 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,SalvatoreRinzivillo,and Stefan Wrobel.2010.Movement Data Anonymity throughGeneralization.Trans.Data Privacy 3,2(August 2010),91-121.7.Haibo Hu,Jianliang Xu,Sai Tung On,Jing Du,and Joseph Kee-Yin Ng.2010.Privacy-awarelocation 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,FrancescoBonchi,Laks V.S.Lakshmanan,and Wendy Hui Wang.2009.Anonymizing movingobjects:how to hide a MOB in a crowd?.In Proceedings of the 12thInternational Conference on Extending Database Technology:Advances inDatabase Technology(EDBT'09),Martin Kersten,Boris Novikov,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.PrivacyPreservation in the Publication of Trajectories.In Proceedings of the TheNinth International Conference on Mobile Data Management(MDM'08).IEEEComputer 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,andAnsaf Alrabady.2010.Achieving Guaranteed Anonymity in GPS Traces viaUncertainty-Aware Path Cloaking.IEEE Transactions on Mobile Computing 9,8(August 2010),1089-1107.DOI:
https://doi.org/10.1109/TMC.2010.62.),比如原先的用户名改为一个没有意义的数字代码,但是这种方式会受到攻击从而泄露用户的真实身份,比如同时在两个位置点在特定时间停留过的只有一个人,发布的数据中的这个人的代码为1700001,而另一个人比如第一个人的同事知道这个人在对应时间在这两个位置停留过,那后者就可以知道发布的数据中用户代码为1700001的所有数据都是前者的数据,从而违反了前者的隐私。可以把这种隐私攻击方式称为位置链接加外部知识的攻击方式;位置的组合为位置链接,如上所述中的后者同事对前者的实际在某个时间去过某个地点的知识称为外部知识。
发明内容
本发明的目的是提供一种基于地图调整的面向地理空间大数据发布的隐私保护方法,以解决空间数据发布中的通过位置链接和外部知识违反数据中用户隐私的链接隐私攻击问题。
本发明解决其技术问题采用的技术方案是:一种基于地图调整的面向地理空间大数据发布的隐私保护方法,包括:
步骤一:获取包含输入数据中所有标注的地理位置名称和经纬度坐标的最小矢量地图;
步骤二:对所获取的最小矢量地图上的地理位置名称进行一般化处理;
步骤三:对处理后的最小矢量地图进行拓扑结构调整;
步骤四:对经过拓扑结构调整的地图进行经纬度去特定化处理;
步骤五:对数据中的经纬度坐标采用与新地图中对应经纬度坐标相同的方法进行处理,并将数据中的地理位置名称一般化,输出新的数据集,并附上新地图。
作为本发明的一种优选方式,所述最小矢量地图的获取方法为:
(1)收集数据集中标注的具体地理位置名称和经纬度,对于未同时标注对应经纬度的具体地理位置名称,获取其经纬度坐标;
(2)把所获取的所有经纬度坐标合在一起,求最小包含矩形;然后,在实际地图上选取处在最小包含矩形中的部分,即为所述的最小矢量地图。
进一步改进在于:对于非单点经纬度的位置名称,获取包含该位置区域的线的经纬度坐标表示。
作为本发明的一种优选方式,对所获取的最小矢量地图上的所有地理位置名称进行一般化处理,是指将具体的地理位置名称上位概括为场所类别名称。
作为本发明的一种优选方式,所述步骤四中,对处理后的地图进行拓扑调整,包括:
按矢量地图中区域数量的5%-15%,随机挑选地图中的区域R(R=1,2,3……);然后针对每个区域R,选取将区域R分成面积相差最小的划分作为对R最终的划分,添加到地图,并以区域R的位置名称命名划分后的两个区域的位置名称。
进一步改进在于,所述区域R的划分方法包括:
(1)随机挑选区域围绕的线上的一点Pi;
(2)对于围绕的线中的每个线段PjPj+1,进行逐层等分;
a.预设线段PjPj+1需要等分的层数为n,n为正整数;当前等分次数为m,m=0,1,2,3,......;2n-1为将要等分线段的个数或者要取的中点的个数;
b.若m<2n-1,取线段PjPj+1的中点Pz,如果经过Pi和Pz的直线划分区域R,并使得到的两部分面积都大于区域R的面积的30%,记录点对(Pi,Pz);m=m+1,被中点Pz等分出的两条线段,返回步骤b进行下一次等分;若m≥2n-1,则结束;
c.对于记录的所有点对(Pi,Pz),选择将区域R分成的两部分面积差最小的点对的线段,作为区域R的划分线。
作为本发明的一种优选方式,对处理后的地图进行拓扑调整,还包括对地图中的线的调整,具体为:
随机选取5%-15%地图上的线条,对于选取的每一条矢量表示的线条L,对该线条中的所有顺序连接的线段进行如下处理:
a.对每个奇数序位线段和其相邻的下一个偶数序位线段,如果三个端点所确定的圆弧的曲率半径r≤120m,或三个端点不在一个圆弧上,则此两个线段合并为一个线段,新线段的端点为奇数序位线段的开始端点与偶数序位线段的终端端点;
b.原线段上的兴趣点的经纬度调整为:原经纬度所在点在新线段上的垂足的经纬度;如果数据集中标记有此经纬度,则改变成同样的经纬度;
c.对于新线条L’中的所有邻接线段,如果端点在同一条直线上,则合并为一条线段,起点为前方线段的起点,终点为后方线段的终点;
d.如果新线条L’中线段数目超过2,且存在奇数序位线段和其相邻的下一个线段的三个端点所经过的圆弧的曲率半径r≤120m,或三个端点不在一个圆弧上,按50%的机率返回a重复执行。
进一步优选地,上述a中,所述三个端点所确定的圆弧满足奇数序位线段的起始端点作为圆弧起点,偶数序位线段的终端终点作为圆弧终点,奇数序位线段或偶数序位线段的另一个端点位于圆弧之中。
作为本发明的一种优选方式,所述步骤四中,对地图上的位置点的经纬度增加一个数值;所述数值选自2~30度。
本发明与现有技术相比,具有的有益效果是:通过对数据中地理位置名称和经纬度进行的一系列处理改变,使用户到达过的具体位置得到隐藏,可以抵御位置链接加外部知识的隐私攻击,更好地保护了地理空间大数据在发布的过程中的用户隐私,同时附上调整后的地图或者逻辑地图又在一定程度上保证了数据的可用性。
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
本实施例提供的基于地图调整的面向地理空间大数据发布的隐私保护方法,流程如图1所示,具体包括:
1、收集输入数据中所标注的地理位置名称和经纬度坐标,确定包含所获取的所有地理位置名称和经纬度坐标的最小矢量地图。
具体步骤如下:
(1)收集数据集中标注的具体地理位置名称和经纬度,对于未同时标注对应经纬度的具体地理位置名称,获取其经纬度坐标;
(2)对于(1)中未同时标注对应经纬度的具体地理位置名称,获取其经纬度坐标,对于非单点经纬度的地理位置名称,获取包含该地理位置区域的线的经纬度坐标表示;
(3)把(1)中所获取的经纬度坐标和(2)中所获取的经纬度坐标合在一起,求最小包含矩形,然后获取实际地图中处在最小包含矩形中的地图部分,即为获取的最小矢量地图。
2、对所获取的最小矢量地图进行地理位置名称一般化(或上位概念化)。
把地图上各种地理位置或者兴趣点的名称一致改为一般性的描述,即上位概念,比如兴趣点“某某城市某某行业研究所”改为“某某行业研究所”或者“研究所”,把“张三汽修中心”改为“汽修中心”。
3、对步骤2处理过的地图,进行拓扑结构调整
首先做地图中的区域划分。
按矢量地图中区域总数量的一定比例比如5%随机挑选地图中的某些区域R1,R2,R3……,然后针对每个区域比如R1,按下列步骤划分:
(1)随机挑选区域围绕的线上的一点Pi;
(2)对于围绕的线中的每个线段PjPj+1,进行逐层等分;
a.预设线段PjPj+1需要等分的层数为n,n为正整数;当前等分次数为m,m=0,1,2,3,......;2n-1为将要等分线段的个数或者要取的中点的个数;
b.若m<2n-1,取线段PjPj+1的中点Pz,如果经过Pi和Pz的直线划分区域R,并使得到的两部分面积都大于区域R的面积的30%,记录点对(Pi,Pz);m=m+1,被中点Pz等分出的两条线段,返回步骤b进行下一次等分;若m≥2n-1,则结束;
c.对于记录的所有点对(Pi,Pz),选择将区域R分成的两部分面积差最小的划分作为对R1的最终划分,并添加到地图上。
再做地图中的线的调整,具体为:
随机选取5%-15%地图上的线条,对于选取的每一条矢量表示的线条L,对该线条中的所有顺序连接的线段进行如下处理:
a.对每个奇数序位线段和其相邻的下一个偶数序位线段,如果三个端点所确定的圆弧的曲率半径r≤120m,或三个端点不在一个圆弧上,(此处要求第一个线段的起始端点作为圆弧起点,第二个线段的终端终点作为圆弧终点,第一个线段的终端终点即第二个线段的起始端点位于圆弧之中),则此两个线段合并为一个线段,新线段的端点为奇数序位线段的开始端点与偶数序位线段的终端端点;
b.原线段上的兴趣点的经纬度调整为,原经纬度所在点在新线段上的垂足的经纬度;如果数据集中标记有此经纬度,则改变成同样的经纬度;
c.对于新线条L’中的所有邻接线段,如果端点在同一条直线上,则合并为一条线段,起点为前方线段的起点,终点为后方线段的终点;
d.如果新线条L’中线段数目超过2,且存在奇数序位线段和其相邻的下一个线段的三个端点所经过的圆弧的曲率半径r≤120m,或三个端点不在一个圆弧上,按50%的机率返回a重复执行。
4、对步骤3中经拓扑结构调整后的地图进行经纬度去特定化
对步骤3中经拓扑结构调整后地图中的经纬度元素设置为经度和维度都增加一定的数值,增加的具体数值在2-30度之间随机取值。至此,要输出的部分“调整后的地图或者逻辑地图”完成。
5、对数据集中的地理位置名称采用步骤2的方法也进行一般化或上位概念化,对于坐标采用步骤4的方法进行转换。至此要输出的部分“防止位置链接和外部知识攻击的地理空间数据”完成。
下面以一个具体实例来进一步对本发明的方法进行说明和阐述
例如:经过前2个步骤,得到数据背后的实际地图,并且已经进行空间位置名称一般化或上位概念化,选取该地图中总区域数的5%进行划分,选取总线条数的5%进行调整。
例如:选取的其中一个区域R1,如图2所示,选取的其中一条线L1,如图3所示。
区域R1由相连接的三个线段界定或围成,分别是
p1p2:[[0.127239069480925,0.072063465967914],[0.130431574471778,0.070108056661017]];
p2p3:[[0.130431574471778,0.070108056661017],[0.127239069480925,0.06815264735412]];
p3p1:[[0.127239069480925,0.06815264735412],[0.127239069480925,0.072063465967914]]。
这三个线段包含三个端点:p1[0.127239069480925,0.072063465967914],p2[0.130431574471778,0.070108056661017],p3[0.127239069480925,0.06815264735412]。
线L1由依次相连的四个线段组成,分别是:
p4p5:[[0.125642816985499,0.072063465967914],[0.126372067484584,0.071085761314466]];
p5p6:[[0.126372067484584,0.071085761314466],[0.125642816985499,0.070108056661017]];
p6p7:[[0.125642816985499,0.070108056661017],[0.126372067484584,0.069130352007569]];
p7p8:[[0.126372067484584,0.069130352007569];[0.125642816985499,0.06815264735412]]。
五个端点依次是:
p4:[0.125642816985499,0.072063465967914];
p5:[0.125962067484584,0.071085761314466];
p6:[0.125642816985499,0.070108056661017];
p7:[0.125962067484584,0.069130352007569];
p8:[0.125642816985499,0.06815264735412]。
线段p7p8上有一个地理位置兴趣点p9,名称为“公交站”,经纬度为p9[0.125762067494685,0.07169826128352909],即(“公交站”,[0.125762067494685,0.07169826128352909])。
空间数据集中相关数据为:
某用户匿名id到过兴趣点“xx公交站”,存在数据(匿名id,(“xx公交站”,p9[0.125762067494685,0.07169826128352909]),2018年2月2日)。
1、R1为选取的最小矢量地图中的区域,对区域R1进行划分的具体方法为:
a.首先在R1所围的线上随机选择一点,比如选择p2;预设层数n=2;
b.当m=0时,2n-1=3,m<3;对线段p1p3等分取点得中点p10[0.127239069480925,0.070108056661017],则经过p2p10的直线或者线段p2p10分割区域R1为R2和R3,如图4所示。R2和R3的面积都为38679.56平方米,R1面积为77359.11平方米,R2和R2面积都超过R1面积的30%,记录点对(p2,p10)和R2,R3的面积,m加1,即m=1;
m=1时,2n-1=3,m<3;对p1p10等分取点得中点p11[0.127239069480925,0.0710857613144655],则经过p2和p11的直线或者线段分割R1为R4和R5,如图5所示。面积分别为R4:19339.78平方米和R5:58019.33平方米,R4面积小于30%,不做记录,舍弃点对(p2,p11),m加1,即m=2;
m=2时,2n-1=3,m<3;对p10p3等分取点同上一步类似(在此省略),相应点对被舍弃,m加1,即m=3;
m=3时,22-1=3,m=22-1=3,结束对线段的等分取点。
c.b中所记录的所有点对中,点对(p2,p10)分割R1所得的R2和R3面积相等,相差为0,选择(p2,p10)点对的线段对R1分割,分割为R2和R3。
于是地图增加了R2和R3,R2由三个相连接的线段p1p2,p2p10,p10p1界定或围成;R3由三个相连接的线段p10p2,p2p3,p3p10界定或围成。
2、对选取的地图中的线段L1的调整,具体为:
a.对于L1中第一个线段p4p5和第二个线段p5p6,经过三个端点p4、p5、p6的圆弧的曲率半径r可计算出为110.97米,计算方法为三个端点构成圆弧的内接三角形,中间端点在弧顶,边p4p6和p4p5间的夹角的对边p5p6的长度乘以0.5再除以夹角的正弦就可以得到,此处夹角的正弦为夹角的角度乘以圆周率再除以180.0的正弦值,p5p6的长度要换算为米。(此计算方法不做保护)。则生成新线段p4p6,而对于L1中第三个线段和第四个线段,同样生成新线段p6p8,如图6所示。
b.地理位置兴趣点(“公交站”,[0.125762067494685,0.07169826128352909]),经纬度p9在原先线段p7p8上,求p9在p6p8上的垂足为p12[0.125642816985499,0.07169826128352909],则兴趣点移到新线段p4p6上,经纬度变为p12。
用户数据(匿名id,(xx公交站),p9[0.125762067494685,0.07169826128352909]),2018年2月2日)中的经纬度由p9[0.125762067494685,0.07169826128352909]调整为p12[0.125642816985499,0.07169826128352909]。
c.由于线段p4p6和线段p6p8的端点均在同一条直线上,合成一条新的线段p4p8,如图7所示。
d.此时,L1中所含线段数目为1,终止操作。
于是,地图中的线段L1部分变为由一个线段p4p8组成,原线上的地理位置兴趣点(“公交站”,[0.125762067494685,0.07169826128352909])经纬度由p9变为p12[0.125642816985499,0.07169826128352909],即(“公交站”,[0.125642816985499,0.07169826128352909])。
3、地图拓扑结构调整后,对地图的经纬度进行调整
对上述调整后的地图,地图经纬度增加20度,于是变为:
R1:
p1p2:[[20.127239069480925,20.072063465967914],[20.130431574471778,20.070108056661017]];
p2p:[[20.130431574471778,20.070108056661017],[20.127239069480925,20.06815264735412]];
p3p1:[[20.127239069480925,20.06815264735412],[20.127239069480925,20.072063465967914]]。
R2:
p1p2:[[20.127239069480925,20.072063465967914],[20.130431574471778,20.070108056661017]];
p2p10:[[20.130431574471778,20.070108056661017],[20.127239069480925,20.070108056661017]];
p10p1:[[20.127239069480925,20.070108056661017],[20.127239069480925,20.072063465967914]]。
R3:
p10p2:[[20.127239069480925,20.070108056661017],[20.130431574471778,20.070108056661017]];
p2p3:[[20.130431574471778,20.070108056661017],[20.127239069480925,20.06815264735412]];
p3p10[[20.127239069480925,20.06815264735412],[20.127239069480925,20.070108056661017]]。
L1:p4p8[[20.125642816985499,0.072063465967914],[20.125642816985499,0.06815264735412]]。
L1上地理位置兴趣点:(“公交站”,[20.125642816985499,20.07169826128352909])
对于空间数据集中相关数据(匿名id,(“某某公交站”,p12[0.125642816985499,0.07169826128352909]),2018年2月2日),p12的经纬度加20度,“某某公交站”一般化或上位概念化为“公交站”,于是数据变为(匿名id,(“公交站”,p12[20.125642816985499,20.07169826128352909]),2018年2月2日)。这是从经本发明方法处理后的数据部分的最终输出。
需要进一步说明的是,不做处理的空间数据的发布,可以不带地图,因为其中的空间地理位置名称和经纬度是实际存在的,而实际地图都是开放的,只要数据发布后,就可以根据数据中的空间地理位置名称或者经纬度找到实际地图中的位置,而且这些数据中涉及到地理或者地图拓扑相关的模式,也可以基于实际地图的拓扑而发现或者挖掘。而本发明的方法为了隐私保护,把数据中的所有空间地理位置名称都上位概念化或者一般化了,而经纬度也去特定化处理了,必须给出所有这些位置可以对应的逻辑地图,即本发明中拓扑调整后的地图,才可以使得数据中的位置有相应的对应位置,而且逻辑地图也提供了地图拓扑结构,可以基于逻辑地图从发布的数据中发现一般的涉及地图拓扑的一般性模式。