一种基于路网环境下个性化位置隐私保护方法与流程

文档序号:12134338阅读:293来源:国知局
一种基于路网环境下个性化位置隐私保护方法与流程
本发明涉及一种移动用户位置隐私的保护技术,特别涉及一种基于路网环境下个性化位置隐私保护方法,该方法是一种在路网环境下,考虑了位置语义情况的个性化位置隐私的保护方法。当移动用户基于位置信息及语义信息,向第三方数据服务器请求服务数据时,该方法保证用户享受服务数据的同时,保护用户的位置隐私,能抵抗恶意用户的推理攻击和重放攻击。
背景技术
:随着定位技术的发展与移动设备的普及,基于位置服务(Location-basedService)成为了数据请求的主流方式。移动用户开启某个应用并到达某个位置后,应用程序根据用户的定位主动向移动用户推送一些信息,如定位附近的商店、餐厅、酒店等。同时,用户也可能主动请求附近的某一类服务数据,如查询附近的超市;这种基于定位的服务请求方式给移动用户提供了极大的便利,同时也给用户带来了一定的风险,用户在请求服务的时候,直接或间接地导致了个人隐私的泄露。如用户Alice查询附近的医院,则可以推测Alice身体可能有问题;再如Alice于午夜12点,在某位置请求附近的外卖服务,则可以推测出Alice可能住在外卖商铺附近。由于用户请求服务时,需要提供自身的位置等敏感信息,如何保护用户的隐私而不影响服务质量是基于位置服务中重要的研究课题之一。在本领域比较经典的方法有:K-匿名、假名,加密等,其主要内容如下:[1].K-匿名工作相关文献为Latanyasweeney的文章《k-Anonymity:AModelforProtectingPrivacy》,其主要工作内容是:伪造或选择K-1个用户,与请求用户一并构成匿名集,这种方法下,用户被识别出来的概率是1/K;[2].假名方法是由ShankarP等人的著作《PrivatelyQueryingLocation-basedServiceswithSybilQuery》提出,其使用伪造的用户信息代替真实用户信息进行请求,从而达到保护用户隐私信息的目的。[3].加密技术在MascettiS等人的著作《PrivacyinGeo-socialNetworks:ProximityNotificationwithUntrustedServiceProvidersandCuriousBuddies》有使用到,其使用加密的技术对用户信息进行加密,以达到保护隐私的效果。但现有的这些方法存在一定的局限性,K匿名与假名等容易遭受推理攻击和重放攻击,从而危害用户的安全。如匿名集中虽然有K个用户,但是某些伪造的用户位置可能位于湖泊或其他一些不可能到达的地点,攻击者可以将这些用户排除,从而危害用户隐私;加密方案对系统要求性高,需要移动设备与数据服务器都支持加解密方案。另外,因为隐私保护算法是公开的,攻击者可以对截获的匿名集中的所有用户,逐一执行隐私保护算法。根据算法执行后得到的匿名集与所截获的匿名集的相似性,可以以一定的概率推测出发起查询的用户。此外,位置语义信息也是导致用户隐私泄露的因素之一;如用户连续数次在某个专科医院进行查询时,攻击者可以以一定的概率推测用户在某方面存在疾病。所以学者们提出了基于位置语义信息的隐私保护方法,如:[4].DamianiML等人的著作《ThePROBEFrameworkforthePersonalizedCloakingofPrivateLocations》中首次提出采用流行度来标识语义位置,即所有同类型的语义流行度相同。[5].LiM等人的著作《SensitiveSemantics-AwarePersonalityCloakingonRoad-NetworkEnvironment》将语义分为敏感,非敏感的,优选选择非敏感的语义来构造匿名集。同样,这些方法也存在不足之处,DamianiML的著作中不同的位置的同一种位置语义,其流行度是固定的。但在实际中,不同地点的同一种语义位置,流行度也不一定相同,比如,三甲医院和社区医院,虽然都是医院,它们的流行度是不同的,用一个固定的流行度值来表示与实际情况不符。LiM等人的著作将语义位置抽象为路网中的节点,但实际情况下,在某些位置语义位置非常密集,如一栋楼中包含诊所,超市等,如果使用不同的节点描述,这些节点将标记在同一个位置,这也不符合实际情况。上述现存方法对应文献列表如下。经过阅读和对比,虽然这些方案所涉及的领域与本发明的相同,但其存在上文所述的几个问题,针对上文所述的问题,本发明提出相应的解决机制,为发起查询的移动用户提供相应的隐私保护,且算法本身需要达到一定的抗攻击能力。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种基于路网环境下个性化位置隐私保护方法,该方法是一种基于路网下,考虑位置语义因素的为用户提供可以抵抗推理攻击和重放攻击的个性化位置隐私保护方法,其中,路网使用无向图来表示,图节点表示交叉路口,图边表示真实路段。在位置语义方面,该发明首次使用位置语义影响力的概念,不同路段上的同一语义位置类型,可能拥有不同的语义影响力,此举可更精准地实现个性化的位置隐私保护;其次,基于候选路段与用户所在路段的距离,首次提出使用权值衰减的路段权值设定方式,以抵抗重放攻击和推理攻击;本发明的具体过程如图1所示。本发明的主要机制主要包含如下模块:1)用户配置文件:用于描述用户的标识、查询以及个性化隐私需求。2)位置语义影响力:用于描述路段上各类位置语义的影响力;同一类型的位置语义在不同路段上可以有不同的语义影响力,影响力的值由地图数据确定。3)路段距离调整模块:本模块对候选集中路段距离进行调整。路段距离表示某路段到用户所在路段的路段数。构造匿名集时,添加路段进入候选集后,候选集的路段构成的图形可能存在环状,从环的两个方向计算时,环上路段可能存在两个不同的路段距离,选取较小者作为该路段的路段距离。4)路段权值计算模块:用于为候选集各路段计算出一个权重因子。根据各路段的路段距离设定路段的权重范围,从所设定范围中随机选取一个值作为路段的权重因子。5)路段敏感度计算模块:用于计算路段对某一用户的敏感程度。敏感度由语义影响力、路段权值及用户配置文件计算而得。敏感度越低,路段被选择的概率越大。6)匿名集敏感度计算模块:计算整个匿名集对用户的敏感程度。匿名集敏感度是由匿名集中各个路段的敏感度计算所得。7)匿名集聚合度计算模块:计算整个匿名集的聚合程度。聚合度是衡量匿名集抗推理攻击能力的重要指标之一,聚合度越高,抗攻击能力越强。匿名集的聚合度可以用匿名集对应的路网子图中度为1的节点数占总节点数的比例来表示。本发明的目的通过下述技术方案实现:一种基于路网环境下个性化位置隐私保护方法,在路网环境下,利用所述的位置语义影响力来对路段上各类语义进行描述,由各类语义的语义影响力组成语义影响力向量,作为路段的属性,附加到路网中;且利用所述的路段距离概念,为匿名集的各路段以所述的方式计算路段距离;最后,基于路段距离,为路段计算被用户选择的权值;根据权值,结合上述的位置语义影响力,计算候选集中各路段的敏感度并选择敏感度最低的路段加入匿名集中,为用户构造符合隐私需求的匿名集,并使用匿名集代替用户发送请求。所述基于路网环境下个性化位置隐私保护方法主要基于以下模块:路网数据获取模块:该模块初始化地图路网,设置各路段语义影响力向量;定位模块:根据用户的经纬度,确定用户所在路网中的路段;邻居获取模块:获取某一路段的所有邻接路段;路段距离调整模块:根据实际情况调整各路段的路段距离;路段权值计算模块:根据路段的路段距离,计算路段的权值;路段敏感度计算模块:根据路段的语义影响力向量、路段权值及用户配置文件等计算路段的敏感度;匿名集敏感度计算模块:根据各路段的语义影响力,用户配置文件等计算匿名集的整体敏感度。所述基于路网环境下个性化位置隐私保护方法主要包括如下步骤:步骤1、首先执行路网数据获取模块,匿名服务器根据地图数据,初始化路段的位置语义影响力向量;步骤2、移动用户使用移动设备进行定位,然后根据需求封装查询信息Q并将其发送给匿名服务器。Q包含用户经纬度:longitude和latitude,匿名集用户数要求:K,匿名集路段数要求:L,匿名集敏感度要求:ρ,匿名集构造用户最大等待时间:T,用户自身对各类语义敏感度向量:Pl;查询内容C;步骤3、匿名服务器接收到用户发送的查询信息Q后,首先根据用户的经纬度,使用定位模块,确定用户所在的路段e,其路段距离为0;将路段e加入匿名集S;并标记当前路段eNow=e;步骤4、匿名服务器调用邻居获取模块,获取eNow的所有邻接路段,并设定所有邻接路段的距离的eNow的路段距离加1;并将所有邻接路段加入候选集H;步骤5、匿名服务器调用距离调整模块,对H中所有路段进行路段距离调整;步骤6、匿名服务器调用权值计算模块,使用所述方式计算H中各路段的权值;匿名服务器基于各路段权值,调用路段敏感度计算模块,使用所述公式计算H中各路段的敏感度,并选择敏感度最低的路段et加入S,设定eNow=et;步骤7、匿名服务器调用匿名集敏感度计算模块,使用所述公式计算S是否满足用户要求,如已达到要求则返回S,否则判断是否达到时间限度T,如未达到,则循环执行4至7;如已达到,则匿名失败。本发明利用位置语义影响力对路段各类语义进行描述,且由各类语义的语义影响力组成位置语义影响力向量的方式的特点在于:各路段的位置语义影响力由路段中位置语义实际情况决定,同种位置语义在不同的路段可能拥有不同的影响力;如三甲医院的影响力比社区诊所大;其涉及的模块主要为路网数据获取模块;例如,某路段的语义影响力向量为<a,b,c,d,e…>,其中向量元素为非负数,每个元素对应着一类语义的影响力情况,如a表示医院的影响力,b表示超市的影响力,c表示学校的等;每条路段的这一向量拥有不同的元素值,但向量的维度相同。本发明使用了路段距离概念,计算各路段的路段距离,该方式的特点是:以用户所在路段为基准,每往外拓展一条路段,其路段距离加一,当某些路段存在;所涉及的模块包括:邻居路段获取模块,路段距离调整模块;例如,用户所在路段距离为0,则与之相邻的所有路段的路段距离为1,往外拓展一层,则距离加一。本发明使用了路段距离概念计算路段的权值的方式,按用户要求L将权值从1到0分为L段,根据路段的距离确定所述的权值段,并随机从中选取一值作为路段的权值,当路段距离超过L时,则采用最小的一段作为路段的权值;其包括:路段权值计算模块。例如,当L取值为3时,则权值分为{[0.6667,1],[0.3334,0.6667],[0,0.3334]};如果某路段距离为2,则其权值将从[0.333,0.6667]随机选择;如果某路段的路段距离为5,超过了用户对匿名集路段要求L,则从最后一段权值范围[0,0.3334]中随机选择。结合路段的位置语义影响力向量,路段的权值以及用户的语义敏感度向量,计算每条路段对用户而言的敏感度,选择敏感度最低的路段来组建匿名集。其包括路段敏感度计算模块。路段敏感度的计算公式如下:式中:n为位置语义影响力向量的维度,Pl为用户语义敏感度向量;We表示路段的位置语义影响力向量;Weight为路段权值。pli表示用于语义敏感度向量Pl第i个元素,Asi表示We中第i个元素。pe越小,路段的敏感度越低。例如,当L=3,用户敏感度向量<0.3,0.5,0.1,0.8,0.2>,某路段的语义影响力向量为<100,50,0,300,800>,假设该路段的路段距离为2,则其权值范围为:[0.3334,0.6667],假设随机获取的权值为0.5;则对于该路段,其敏感度计算如下:pe=(0.3*100+0.5*50+0*0.1+0.8*300+0.2*800)/(1250*0.5)=0.728;结合路段的位置语义影响力向量,用户的语义敏感度向量计算匿名集的整体敏感度,其包括匿名集敏感度计算模块,匿名集的敏感度计算如下:式中:n表示语义影响力向量We的维度;L表示用户要求匿名集中的路段数;wij表示S中第j条路段的第i种语义的影响力,pi表示用户语义敏感度向量Pl的第i个元素。例如,S中包含三条路段e1,e2和e3。假设仅考虑5种语义类型,则各路段的语义影响力向量分别为We1={100,0,200,100,300},We2={0,100,100,300,200}以及We3={100,300,0,0,300},假设用户语义敏感度向量为{0.1,0.3,0,0.5,0.5},则该匿名集的敏感度计算如下:0.1*(100+0+100)+0.3*(0+100+300)+0*(200+100+0)+0.5*(100+300+0)+0.5*(300+200+300)/(100+200+100+300+100+100+300+200+100+300+300)=0.3619。本发明目的为:请求基于位置服务的移动用户提供一种个性化隐私保护机制。该机制在考虑位置语义的情况下,首先提出了位置语义影响力的概念,该概念用于描述路段上各类位置语义信息。其次,为了抵抗攻击者的推理攻击与重放攻击,本发明首次提出基于路段距离来确定路段权值的方法,根据候选路段与用户所在路段距离,确定路段的权值范围;且采用梯度下降的方式,即距离越远,权值范围的最大值越小;并结合随机权值方式,从权值范围中随机选取一数值作为路段的权值。本发明使用该权值,结合路段的语义影响力与用户个性化隐私要求共同确定各条路段对用户的敏感度,选择敏感度最低的路段构造匿名集。使用该机制,更倾向于选择靠近用户所在路段的路段,且存在一定的随机性。最后,本发明公开了利用上述机制来实现匿名集构造的完整过程。该机制具有抗攻击能力强,更安全,考虑的情况更符合实际情况等优点。本发明相对于现有技术具有如下优点以及效果:1、本发明提出了语义影响力的概念。在构造匿名集时,考虑了不同路段的同类位置语义,拥有不同影响力这一实际情况,从而使所提隐私保护方法能提供更加精准的个性化位置隐私保护。2、本发明提出了路段距离概念。基于路段距离,确定路段的权重因子范围,并从指定范围中随机选择权值。由权值、语义影响力、用户配置文件计算得到路段敏感度。选择敏感度最低的路段来构造匿名集,使所提隐私保护方法能抵抗推理攻击和重放攻击。附图说明图1是本发明方法构造匿名集的详细流程图。图2是基于位置服务请求总过程图。图3是带位置语义影响力的路网图模型。图4是攻击者排除路段示意图。图5a是重放攻击执行时路网结构图。图5b是用户路段为路段13得到原始匿名集示意图。图5c是重放攻击之假设用户在路段10执行算法得到匿名集示意图。图5d是重放攻击之假设用户在路段12执行算法得到匿名集示意图。图5e是重放攻击之假设用户在路段13执行算法得到匿名集示意图。图5f是重放攻击之假设用户在路段20执行算法得到匿名集示意图。图5g是重放攻击之假设用户在路段4执行算法得到匿名集示意图。图5h是重放攻击之假设用户在路段14执行算法得到匿名集示意图。图6是匿名候选集调整距离示意图。图7a是聚合度为7/9匿名集示意图。图7b是聚合度为4/9匿名集示意图。图8是条带状匿名集示意图。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例如图2所示,基于位置服务请求的详细过程包括如下步骤:第一步:用户使用定位设备获取位置数据,将位置数据、个性化隐私要求数据、查询信息发送给中间匿名服务器,对应于图2中①和②;第二步:匿名服务器根据路网图信息及用户的配置文件,进行匿名集的构造,对应图2中③,路网图结构如图3所示;第三步:匿名集构造完成后,匿名服务器将用户的查询内容以及匿名集一并发送给第三方数据服务器,对应图2中④;第四步:服务器对匿名集中所有用户作同样要求的查询,将所有查询结果发回给匿名服务器,对应图2中⑤;第五步:匿名服务器根据用户的要求,将结果数据进行过滤,得到用户所需数据并发回用户,对应图2中⑥。其中,本保护方法主要在上述第二步执行,对应着图2中虚线部分,其详细过程如图1所示。下文先对图1中的模块进行介绍,然后结合实施例对模块的实施过程进行讲解,最后对实施例结果进行数据分析。本发明的实施例在地图模拟器:Network-basedGeneratorofMovingObjects中执行。该模拟器在导入地图数据情况下,模拟用户的运动过程。本发明实施例按照图1所示流程图执行,其中各模块的具体功能已于
发明内容中详细阐释。本发明在路网的基础上,为路段设置位置语义影响力向量,该向量由路段上各类位置语义的语义影响力组成。如图3中,We1表示路段e1的位置语义影响力向量。图2中①、②和③所涉及的用户配置文件及匿名集说明如下:1)用户个性化配置文件为:{K,L,ρ,T,Pl};其中K,L,ρ分别表示用户对匿名集的用户数量要求,路段数量要求,匿名集语义敏感度要求;T表示构造匿名集时,用户愿意等待的最长时间;Pl={p1,p2…pn},表示用户对各类位置语义的敏感度,取值范围为[0,1]。2)匿名集,即路网的一个子图,用子图上路段的集合表示,记为S={e1,e2…en};用户所在的路段包含在S中。候选集,为S中各路段的邻接路段组成的集合,记为H={e1,e2…en},H∩S=φ。3)位置语义影响力向量:路段e的位置语义影响力,记为We={w1,w2,…wn},w1,w2,…wn表示路段上各类位置语义的影响力。对于图2中⑤,如果使用现有的技术进行请求时,存在两个问题:问题一:攻击者截获S后,由于匿名算法公开,攻击者了解算法执行的每一个步骤。攻击者可以假设用户所在路段为S中任何一条路段,根据用户的隐私要求执行算法,得到n个匿名集(n为S中元素个数)。将n个匿名集分别与截获的S进行相似度计算,则可以以一定的概率推算出用户所在的路段。如图5a、图5b、图5c、图5d、图5e、图5f、图5g和图5h所示,假设路网图为图5a,用户所在路段为路段13且所构造的匿名集为{10,12,13,20,4,14},如图5b所示,攻击者截获的S,攻击者分别假设用户在每一条路段上,重新执行算法,所得到的匿名集如图5c、图5d、图5e、图5f、图5g和图5h所示,通过匹配,可以确定用户在每一条路段上的概率,并以较大的概率确定用户在路段13上。问题二:攻击者获取集合S后,根据路段之间方向不同等差异信息,进行路段排除,这样用户被确定的概率则由1/L提升到1/(L-x),x为被合并的路段数。当匿名集中,一系列路段仅能通向一个方向时,这些路段可以看似为同一条路段,如图4虚线所示,用户要求的路段数为9,经过合并之后,路段数为8。当S中这一类型的路段数过多时,攻击者准确定位用户的概率大大提升。为解决上述问题,本发明提出了如下两种机制:机制一:路段距离机制。基于该距离设定权值范围,距离越远权值越小。机制二:随机权值机制。由权值、语义影响力向量、用户配置文件,计算出候选集中各路段的敏感度,选择敏感度低的路段加入匿名集。以上机制执行的过程如图1所示。用户输入个性化隐私要求及查询内容,中间匿名服务器构造符合要求的匿名集。整个过程包含以下几个核心模块:1)用户配置文件模块:该模块在用户端运行,用于声明与用户个性化隐私相关的配置文件。例如用户Alice的配置文件为:{10,5,0.5,T,<0.8,0.2,0.6…0.1>},则表示Alice希望在T时间内构造出包含10个用户,5条路段,敏感度不超过0.5的匿名集,其中<0.8,0.2,0.6…0.1>表示用户对各类语义的敏感度向量,如向量中0.8表示用户对医院的敏感度,0.2表示用户对学校的敏感度等。2)路网数据获取模块:该模块在匿名服务器端执行。用于初始化地图数据。假设用户Alice位于广州天河区,则匿名服务器获取天河区路网数据。3)定位模块:LocatedUser(longitude,latitude):该模块在匿名服务器端执行。根据用户的位置信息,确定用户所在路段,并将路段加入S中。例如匿名服务器可以根据经纬度,计算出Alice在路段e1上,则将e1加入S中。4)邻居路段获取模块:GetAllNeighbour(edge):该模块在匿名服务器端执行。用于获取路段edge的邻居。每条路段皆有两个端点,由端点可以获取与之相连的边。将除edge以外的所有邻接路段加入H中,并设置邻边的距离为:distaceedge+1,其中distanceedge表示路段edge的路段距离。5)路段距离调整模块ResignRoadDistance(H):该模块在匿名服务器端执行。用于调整路段距离。当执行添加当前路段的邻居路段进入H后,可能存在环的情况,即从当前路段的两端计算距离时,H中某些路段可能出现两个不一样的距离值,本模块选择二者中较小的一个作为该路段的距离。例如,如图6所示,星号表示用户所在位置,其路段距离为0,S中有e0,e1,e2,e3四条路段,对应的距离分别为0、1、2、3,H中包含路段e4与路段e5;当路段e0右侧距离为1的候选路段e5被选中时,其邻居虚线路段e6需要加入H且e6的距离为2,则H中路段e4的距离有:4和3两个值,取较小的一个3作为路段e4的距离。6)路段权值计算模块ComputeWeight(Edge,L):根据路段距离,计算出路段的权值范围,权值的获取采用随机方式。根据用户对匿名集中路段数要求L,将1由大到小分为L段,然后根据路段距离值d,取第d段,作为该路段的权值范围,然后从中产生随机数作为权值。如果距离超过L,则使用最小的一个范围作为路段权值范围。例如假设用户要求L=5,则将权值分为{[0.8,1],[0.6,0.8],[0.4,0.6],[0.2,0.4],[0,0.2]}。此时,距离为2的路段的权值范围为[0.6,0.8],随机从中取一个值作为权值,如0.75,距离超过5的路段的权值范围为[0,0.2]。之所以采用1分成L段的原因是:假设用户对路段要求为L,构造匿名集的极端情况呈现出一条带状,如图8所示。此时离用户最远路段的路段距离为L,此时,集合内路段数已经满足用户要求,其他方面未满足要求,则需要优先考虑靠近用户的路段,故超过L的路段可以以一个非常小的权值去选择。这样采用权值衰减的方式,倾向于选择靠近用户的路段来构成匿名集。使得匿名集内部紧凑,避免出现图8所示的匿名集情况。其次,当执行算法时,随机在指定范围内选取权值让每一次执行算法都可能有不同的权值,选择不一样的路段加入候选集,使所构成的匿名集不同,降低了重放攻击成功率。此外,当用户路段要求L较小时,初始被识破的概率(1/L)较高,而使用上述方式计算权值范围较大,随机性高。而对于L较大时,权值范围较小,但初始被识破的概率则较低,采用这种分段的方法,结合L的大小相互补充。7)路段敏感度计算模块ComputeSensitivity(edge,Pl):根据用户的配置文件、路网信息和路段的权值,计算每一条路段的敏感度。路段的敏感度pe计算如式(1)所示。式(1)中:n为位置语义影响力向量的维度,Pl为用户语义敏感度向量;We表示路段的位置语义影响力向量;Weight为路段权值。pli表示用于语义敏感度向量第i个元素,Asi表示We中第i个元素。pe越小,路段的敏感度越低。假设共有6类位置语义,分别为超市、娱乐场所、住所、医院、公园、酒店,路段1和路段2的位置语义影响力向量分别为<100,200,0,100,300,100>和<100,200,300,0,0,300>,向量元素分别对应着上述6类位置语义影响力,用户位置语义的敏感度向量为<0.1,0.2,0.2,0.3,0.05,0.15>,其中0.1为用户对超市的敏感度,0.2为对娱乐场所的敏感度,其他类推。则路段1的敏感度为:Pe1=(0.1*100+200*0.2+0*0.2+100*0.3+300*0.05+100*0.15)/800=0.1375;路段2的敏感度为:Pe2=(0.1*100+200*0.2+300*0.2+0*0.3+0*0.05+300*0.15)/800=0.19375。可见路段1对用户的敏感度更低。假设路段1的路段距离为4,路段2的路段距离为1,通过权值计算模块计算得到路段1的权值为0.6,路段2的权值为1,则路段1的敏感度为0.1375/0.6≈0.229,路段2的敏感度为0.19375/1=0.19375.8)路段选择模块:ChooseLowerSensitivityEdge(H,L,Pl):选取敏感度最低的一条路段加入匿名集S中,其中H为候选集,Pl为用户语义敏感度向量,L为用户路段数要求。如候选集中路段为前述的路段1和路段2,因为路段1的敏感度(0.229)大于路段2的(0.19375),所以选择路段2加入匿名集。9)匿名集敏感度计算模块ComputeSetSensitivity(S,Pl):计算S的敏感度Pz,如果敏感度不超过用户要求的阈值ρ,且用户数以及路段数皆满足用户要求时,则匿名成功。否则,以新加入S的那条路段为起点,重复执行模块4)至模块8),直到匿名集满足要求或者达到用户时间要求上限T为止。匿名集敏感度Pz计算如公式(2)所示:式(2)中n表示语义影响力向量We的维度;L表示用户要求匿名集中的路段数;wij表示S中第j条路段的第i种语义的影响力,pi表示用户语义敏感度向量Pl的第i个元素。10)匿名集聚合度模块ComputeSetPolyDegree(S):计算匿名集的聚合程度I,用S所构成的路网子图中度为1的节点占比来衡量,度为1的节点占比越高,则S的聚合度越高,出现图8所示的匿名集概率越低。匿名集聚合度计算如式(3)所示。式(3)中,d为S中度为1的节点个数,size(S)表示S的路段数。图7a和图7b分别示意了聚合度为I=7/9与I=4/9的匿名集。为进一步解释本发明的上述几个模块,下面详细介绍几个模块的算法实现。算法1将某一路段的所有邻居路段加入H中。在添加一条新路段进S后,如S仍未满足用户要求且匿名时间不超过T,则执行一次算法。执行完后,将设置好路段距离的邻接路段集返回。如图5a所示的路网,假设用户在路段14,S与H内的元素如表1所示,其中<x,y>中x为路段,y为距离。表1表1为用户在路段14时,S与H的状态,如下一次选择路段13,其路段距离为1,需将路段13的所有邻居加入,并将路段13从H中剔除。路段13的邻居为{10,12,18,19,20,4,14,21,22}。将路段加入H之前,要判断路段是否已在H和S中,如果不在,则加入H;其次,路段加入H时要设置其距离为路段13的距离加1,即为2。如果路段已在H中但不在S中,则需要比较该路段在H中的距离与路段13的距离加1后两者的大小,选择较小者作为路段的距离。添加了路段13后S与H的内容如下表2:表2表2为添加路段13后,S与H的状态表,由于路段13的部分邻居已经存在于集合H中,且这些路段距离标记为1,而路段13的邻居的距离皆为2,故选择1作为最终路段距离。另外,虽然某路段在集合H中不存在,但加入该路段后,将导致H中形成环,从环不同方向访问时,路段的距离可能存在两个。因此,需要对H中各路段的路段距离进行一次调整,为存在两个距离的路段选择较小的一个作为其距离。算法2为距离调整模块的伪代码。算法2运行结束后H为调整距离后的候选集,下一步则要从中选择最优的路段加入S。该操作需要依赖路段权值。因此要确定每一条路段的权值。本发明中,权值的大小依赖于L。假设L为6,H为{<10,2>,<1,1>,<15,2>,<7,4>,<12,3>}。先获取各距离所属的权值范围,将1分成L份,即1/6=0.16667,路段距离为1的权值范围为[0.8333,1]。路段距离2为[0.6666,0.8333]。以此类推,随机从所处范围中选取一个值作为路段权值。算法3是确定权值模块的伪代码。继算法3获取每一条路段的权值后,匿名服务器要从H中选择敏感度最低的路段加入S。该过程包括:路段敏感度计算模块ComputeSensitivity(edge,Pl)和路段选择模块ChooseLowerSensitivityEdge(H,L,Pl)。假设L=5,当前语义类型共有5类,H中元素如下表第一列,语义影响力向量元素个数为5,其他属性如表3所示,路段距离、权值皆为1。表3表3为敏感度计算表,由表3可知,对于路段1:pe1=(0.3*100+0.5*50+0*0.1+0.8*300+0.2*800)/1250≈0.364,路段2路段3同理,计算得到的敏感度如第三列。通过得到每一条路段对于用户而言的敏感度,选择敏感度最低的一条,即路段3加入S中。算法4为路段选择模块的伪代码。每次添加一条路段(记为e)进入匿名集S之后,要用公式(2)计算当前匿名集的敏感度,判断该值、K、L等是否满足要求,满足则返回S,否则以e为起点,继续执行算法1至算法4,直到匿名时间超过T为止。算法4为匿名集敏感度计算模块的伪代码。假设用户的个性化隐私要求为{10,5,T,0.5,<x,y,z…>},<x,y,z>为用户的敏感度向量。如S中已有5条路段,10个以上的用户,但S敏感度超过0.5,则需要判断当前执行时间是否超过T,如未超过,以最后加入S的路段为起点,继续执行算法1至算法4;如果S满足用户的各项要求,则将S返回即可。上面对各算法进行了讲解,下面则将以伪代码的形式,综合上述各个算法对本发明的技术方案实施例的执行次序进行完整的算法描述,如算法5所示。上述部分介绍了本技术方案所包含的概念及功能模块,结合伪代码,详细讲解了本技术方案的执行过程,并以例子进行辅助解释。在完成上述讲解后,下文在地图模拟器:Network-basedGeneratorofMovingObjects中对所得到的实施结果进行分析。表4为本次实施的具体参数。表4表4为实施例详细参数表,表4中,位置语义种类参考现有方法,设定为6种。用户的敏感度要求为:0.2至0.8。查询用户对S中K、L与ρ组合成不同的隐私需求,如{3,3,0.2}、{3,3,0.3}等,再分别进行匿名请求。匿名服务器根据用户发送的个性化需求,按照上文所述的各个模块执行本发明得到匿名集。下表5为按照用户不同需求各执行1000次的匿名成功率与耗时数据,时间单位为:ms。表5表5为匿名成功率、时间消耗与K、ρ的关系(L=5)表,从表5可见,算法执行总时间为1-3秒,单次查询平均时间为1-3ms;随着匿名要求的降低,匿名集更加容易满足要求,执行时间随用户个性化要求的降低而降低。在匿名成功率方面,成功率随着ρ降低而升高,随着K增大而降低,这是因为当L一定时,如果匿名集内K要求偏高时,路段上的用户已无法满足要求,如表6所示,表6中取K为10,ρ为0.5,其余数据表示了L与匿名成功率的关系。表6表6为匿名成功率与L的关系表,从表6可知,当K及ρ一定时,随着L的增加,匿名集成功率呈现递增趋势,这是因为K不再是影响匿名成功率的因素。由表5和表6可知,虽然用户个性化隐私要求中增加了位置语义因素,通过本发明得到匿名集时,也不会严重降低用户匿名的成功率及匿名时间,效果满足需求。此外,本发明的另一个特色是抗击推理攻击和重放攻击;对于推理攻击,本实施例以聚合度来衡量匿名集的抗攻击能力。表7表示了I与L的关系。L34567I0.6590.6730.6520.6370.654表7表7为I与L的关系表,从表7可见,匿名集平均大小皆超过0.5,说明本发明所构造的匿名集聚合度较高,出现图8及图4虚线部分所示的匿名集的概率较低,抗推理攻击能力强。在重放攻击方面,本发明实施例从两方面来衡量匿名集的抗重放攻击能力:重放攻击1:先以路段e为用户所在路段,得到匿名集S,再重复n次执行算法5得到一个匿名集集合Ss={S1,S2…Sn},分别计算Ss中元素Si(i为1≤i≤n)与S的相似度;如果平均相似度较小,则表示抗重放攻击能力强;重放攻击2:以路段e为用户所在路段得到匿名集S,再分别以S中任意路段ei(可能为用户所在路段e)为用户所在路段,执行算法5得到一个匿名集集合Ss={Se1,Se2…Sen},分别计算Ss中元素Sei(i为1≤i≤n)与S的相似度,得到相似度集合Sim={sime1,sime2…simen};如果用户所在路段e对应的匿名集与S的相似度sime(sime为集合Sim元素)不是集合Sim中最大值,攻击者可能把相似度最大的匿名集对应的路段当成用户所在路段,使得本算法所生成的匿名集具有较好的抗重放攻击能力。表8表示了本发明所生成的匿名集抗重放攻击能力。其中,K=10,ρ=0.5;L34567重放攻击10.88780.85210.81860.87560.8445重放攻击20.3570.3360.2980.2560.243表8表8为匿名集抗重放攻击能力表,表8中,第二行为确定用户所在路段,重复执行算法1000次所得的匿名集与S相似度的平均值;第三行为假设用户所在路段为S中任意一条路段,重复执行算法1000次与S相似度得到集合Sim后,用户实际所在路段e对应的sime为Sim中最大值出现的次数与1000的比。对于重放攻击1,从表8可以看出,即使同一条路段,每次执行得到的结果也不尽相同,存在一定的随机性,这得益于本发明的随机权值获取机制。对于重放攻击2,1000次的算法执行中,出现用户实际所在路段得到的匿名集与S相似度最高的情况的概率仅为20%-35%,表8表明:即使攻击者截获用户的S,采用重放攻击,也无法以很高的概率确定用户所在路段。综上,本发明提出的技术方案,针对现存方法的局限性,提出了语义影响力的概念,结合所提概念,提出一种基于路网的个性化位置隐私保护方法,所提方法能较好地抵抗推理攻击和重放攻击。实施例结果可以证明本发明可以满足实际应用需求。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1