一种基于P2P结构下的位置隐私保护方法与流程

文档序号:11279321阅读:423来源:国知局
一种基于P2P结构下的位置隐私保护方法与流程
本发明的基于p2p结构下的位置隐私保护方法,为一种基于p2p结构下,考虑通过多匿名区域的方式保护用户位置隐私的技术;方法基于欧氏空间,保证用户在保持原有的匿名需求的同时,对用户节点集进行多匿名区域划分,考虑基于区域相似性以及用户均衡性两种策略去生成多个子匿名区域,有效地减少了查询开销与通信开销,并且可以抵抗p2p结构下的恶意用户节点与半可信服务器的合谋攻击,增强了用户的隐私保护程度。
背景技术
:随着移动互联网的高速发展,在传感器与移动设备普及的今天,基于位置服务(location-basedservice,lbs)的应用也越来越流行。目前主流的lbs应用有兴趣点查询,导航和即时信息推送等。兴趣点查询一般是用户查询附近一些感兴趣的地点,比如餐厅、加油站等;导航应用主要是针对车主,根据用户设置的起始点在地图中做出轨迹路线或者是用户查询某些路段的交通情况等;而即时信息推送一般由服务提供商推送优惠信息给用户,比如地理围栏应用,可以在一定范围内推送折扣信息到指定用户的设备上。用户在获取这些基于位置的服务时,需要向服务提供商提供自己的精确位置信息;在这个过程中,用户的信息可能被攻击者窃听或攻击服务器获得,导致用户的位置信息泄露,进而推测出更多敏感信息。比如用户查询附近的医院信息,攻击者获取到用户位置的同时推测用户的健康状况,导致用户的健康敏感信息暴露。因此,对于位置隐私的保护很有必要。在保护位置隐私的同时,也需要权衡服务质量,一方面,越精确的定位技术可以让用户获得越精准的位置服务,但同时也意味着用户的隐私更加容易暴露。如何平衡隐私保护与服务质量,是位置隐私保护研究工作的重点。对位置隐私保护的研究,需要从三个方面考虑,即系统结构、保护目标和隐私机制。目前,针对位置隐私保护的系统结构主要有三种,即独立结构、中心服务器结构与分布式点对点结构(即p2p结构)。独立结构是传统的用户与数据库服务器结构,只由用户自己完成匿名工作;中心服务器结构在独立结构基础上增加了可信中间服务器,对用户查询进行匿名工作,并且与数据库服务器通信获取候选结果集,从中筛选精准的结果返回给用户;p2p结构则是多用户组成的p2p网络与数据库服务器形成的结构,由网络中用户节点协作匿名完成匿名查询。保护目标一般可以分为两种。第一种是身份信息,指用户的身份id、设备信息或者其他能够唯一确认该用户身份的信息;第二种是空间信息,指用户的位置信息,以及在地图上与位置相关联的语义敏感信息等。从这两个保护目标开始,出现了许多位置隐私保护的机制。针对身份信息,一种常用的保护方法是假元机制。用户在提出查询时使用假名或假位置代替自己真实信息,保护用户隐私不被泄露。这种方法需要用户自己去生成假名或假位置,对于用户设备的要求较高,而且攻击者也可能结合地图信息推断用户的真实信息。另一种针对身份信息保护的方法则是混合区域机制。匿名服务器在一些区域中设立混合区域,当用户抵达后将不再进行位置更新,并且进入区域中的不同用户进行假名交换,在离开时不同的用户带着新的假名,使攻击者更难以推断进入区域前后的用户对应关系。针对空间信息,常用的方法为匿名机制与空间模糊技术。匿名机制包括k-匿名,l-多样性等。k匿名要求在生成匿名区域代替用户位置时,要包括至少k-1个其他用户;而l-多样则考虑在生成匿名区域时区域包含l个不同的地理位置,并且位置之间有一定间隔。空间模糊技术主要是用粗粒度的空间信息代替用户细粒度的位置信息,如使用圆形区域,代替用户位置去进行匿名查询工作。以上的方法虽然可以解决一些情况下的位置隐私问题,但大多是基于中心服务结构。该结构的匿名工作都依赖于服务器,因此系统的瓶颈与安全性能都取决于服务器,如果服务器被成功攻击,用户的隐私都将泄露。p2p结构下的隐私保护无需考虑这个问题,目前针对此结构的隐私保护方法较少,具体如下:1)chow等人在《apeer-to-peerspatialcloakingalgorithmforanonymouslocation-basedservice》最早提出了基于p2p结构下的位置隐私保护机制,并提出了隐私查询模型以及中心点攻击模型。该文章中的方法可以一定程度保护用户的位置隐私,但存在系统查询开销较大的问题。2)yih等人在《coprivacy:acollaborativelocationprivacy-preservingmethodwithoutcloakingregion》中提出了结合用户协作与增量近邻查询处理优化的方法coprivacy,使用协作用户组的区域密度中心作为锚点,不断地进行增量近邻查询,在满足用户k-匿名需求的同时可以返回精确的查询结果。3)lim等人在《query-privacy-awarelocationcloakingformobilep2psystem》提出了一种个性化的隐私保护方法,在p2p结构下实现k-匿名与l-多样性。在该方法中,包含历史分享与批查询两种方式,结合历史信息以及批量查询的方法,具有较高的qos以及隐私保护程度。4)chey等人在《x-region:aframeworkforlocationprivacypreservationinmobilepeer-to-peernetworks》中首次提出在p2p结构下使用网格区域代替用户原来的单点位置信息进行协作。在该方法中,作者使用用户分布在网格区域的概率作为一个衡量的权值,通过不同用户生成的网格区域来计算权值生成单位面积权值和最高的匿名区域x-region,达到较高的隐私保护程度。上述基于p2p结构下的位置隐私保护方法在一定程度上可以保护好隐私,但系统开销以及一些特殊的攻击模型问题并没有很好地解决。当p2p网络中的用户分布过于稀疏时,最终生成满足匿名需求的区域可能会很大,造成用户的查询开销、以及服务器端最终返回较大结果集所带来的通信开销较大的问题;另外在p2p结构下,用户的隐私问题可能来源于恶意用户节点,即恶意用户可能会保存查询用户的相关信息,在以后与服务器进行合谋推测出用户的身份与位置关联信息。因此,设计隐私保护算法时,除了要保证用户的隐私需求,还需要减少查询开销与通信开销,让用户享受更好的服务质量,同时也要针对不同的攻击模型,保证用户的隐私程度更高。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种基于p2p结构下的位置隐私保护方法。该方法首次提出基于p2p结构下进行子匿名区域划分的方法,依据区域相似性和用户均衡性两方面的策略,生成多个子匿名区域。这些子匿名区域大小相对较小,在满足用户匿名需求的同时可以减少查询开销与通信开销,并且基于用户均衡性策略,同时可以抵抗恶意用户与半可信服务器的合谋推测攻击,这点也是本发明中首次提出。一般地,对于p2p结构下用户进行匿名查询可以分为四个步骤,即寻找协助节点、匿名、寻找代理节点和查询求精。本发明提出的隐私保护方法主要针对匿名工作,同时对寻找代理节点与查询求精步骤也有作相应设计。本发明中针对p2p结构下一次完整匿名查询过程如图1所示,具体的查询步骤如下:第一步:用户通过设备定位模块获取自己的位置信息;第二步:用户发起寻找协助节点的广播信息,并在信息中包含自己限制条件,如时间、最大跳数等;第三步:用户根据收集来的协助节点信息,进行多个子匿名区域的生成工作,具体如图2所示;第四步:用户在不同的子匿名区域中寻找随机的代理节点,生成相应子区域中的查询,并将不同的查询相隔随机时间段发送给相应的代理节点;第五步:不同的代理节点发送相应的查询信息到lbs服务器;第六步:lbs服务器根据不同的查询信息,对数据库进行相应的检索,并发送相应的查询候选集结果到相应的代理节点;第七步:代理节点发送相应的查询候选集结果到用户。以上步骤中,本发明的核心方法是第三步中多个子匿名区域的生成工作:根据相关策略来生成合适的匿名区域。本发明过程中涉及到的概念和模块如下。概念1:半可信服务器。该服务器可以基于用户提出的查询做出准确可靠的查询并返回给用户,但可能会保存并利用用户提供的位置与查询信息,用以推测用户更多的隐私信息。概念2:恶意用户节点。在p2p结构下需要寻找协助节点,这些节点可能在获取用户相关信息后会存储并利用这些信息,这些节点即恶意用户节点。概念3:子匿名区域。匿名区域是用户或服务器中相应模块生成的代替点位置信息的一个区域,包含一定数目匿名用户,一般为矩形区域,由(xmin,ymin)与(xmax,ymax)两个极值点确定,其中xmin与ymin为矩形区域最小的坐标点,xmax与ymax为矩形区域最大的坐标点。而子匿名区域则是基于匿名区域上划分的更小的区域,多个子匿名区域包含的总匿名用户数目等同于原匿名区域匿名用户数目。概念4:用户配置文件。该配置文件为用户进行一次完整查询所需的参数,具体为profile={loc,id,hop,con,k,n,δ}。其中,loc为用户的经纬度坐标信息;id为用户的身份信息;hop为用户寻找协助节点的最大跳数限制;con为用户的查询内容或请求信息;k表示用户的匿名用户数需求;n表示用户划分的子匿名区域数目;δ则表示区域相似因子。概念5:用户分布熵值。一般熵值是用于衡量用户位置隐私保护程度的参数,假设一个区域中有k个用户,每个用户的位置有其对应的暴露概率pi,1≤i≤k,则可以通过公式1计算区域总熵值e:本发明中的熵值基于多个子匿名区域,因此计算通过每个匿名区域中的用户数与区域总用户数的比值,衡量用户分布的熵值。假设区域c中有k个用户,生成了n个子区域c1,c2,…,cn,每个子区域的用户数为ki,1≤i≤k,则该区域的用户分布熵值e(c)可通过公式2计算:概念6:合谋攻击。恶意用户节点可能存储用户发送的代理请求信息,与半可信服务器合谋推测用户身份与位置的关联信息,达到获取用户位置隐私的目的。假设区域中有k个用户,m个恶意用户节点,用户a生成的子区域数目为n,其位于第j个子区域;每个子区域中的用户数分别为ki,1≤i≤n,恶意用户节点的数目分别为mi,1≤i≤n,其中a所在子区域的用户数为kj,0≤j≤n-1,恶意用户数为mj,0≤j≤n-1,则可以通过公式3计算合谋攻击成功推测用户a的完整查询区域的概率pq(a):所涉及的模块如下:模块1:定位模块。该模块根据设备中gps定位获取用户的经纬度坐标信息。模块2:匿名区域生成模块。该模块通过用户设备获取到的协助节点,根据一定的策略来生成多个子匿名区域。模块3:查询求精模块。该模块主要作用是根据用户自身位置信息,对其他代理节点返回的结果候选集进行筛选并获取合适的结果。本发明在用户获取协助节点后,基于区域相似性与用户均衡性策略,生成多个具有相似性且用户数均匀分布的子匿名区域,之后基于这些子区域完成隐私查询。在该机制中,用户需指定自己的匿名需求值与划分子区域的数目,以满足不同的隐私保护需求。通过该机制,可以在保证用户匿名需求的前提下,生成较小的匿名区域,减少查询开销与通讯开销的同时,提高用户分布熵值,并且可以对恶意用户与服务器的合谋推测攻击进行抵抗,进一步提高了用户的隐私保护程度。最后,本发明通过两个实施例的执行,验证了其在平均匿名区域大小、用户分布熵值与恶意用户合谋攻击抵抗等三方面具有较好的表现。本发明相对于其他方法具有如下优点与有益效果:首先,本发明基于p2p结构,首次提出使用多个子匿名区域来进行查询,保证用户原有的匿名需求的同时,减小了匿名区域,进而减少了查询开销,同时也减少了结果候选集大小,即减少了通信开销;其次,本发明基于区域相似性和用户均衡性两种策略,可以抵抗位置同质性攻击和恶意用户节点与服务器的合谋攻击,增强用户的熵值并提高了隐私保护程度,使用户在位置隐私得到保护的前提下享有更好的服务质量。附图说明图1是本发明所涉及针对p2p结构下一次完整匿名查询的过程示意图。图2是本发明中子匿名区域生成的流程示意图。图3a是本发明中用户多跳网络中获得协助节点的示意图。图3b是本发明中用户根据自定义匿名需求处理节点的示意图。图3c是本发明中用户最终生成多个子匿名区域的示意图。具体实施方式本节将详细介绍本发明的具体算法过程,同时结合一些实施例以及附图对本发明的方法作进一步解释。实施例本发明主要部署在用户的设备上,而用户需要完成的工作主要有三个:1)定位并发起寻找协助节点的信息;2)根据节点信息生成多个子匿名区域,并发送给每个子区域中的随机用户节点;3)获得每个子区域中返回的结果集,对之筛选求精获取合适的查询结果。其中,本发明主要针对第2步中的匿名区域生成工作,并且第3步也有相应的设计。本发明的算法目标是要生成多个子匿名区域,满足1)用户k匿名需求;2)区域偏移以抵抗中心点攻击;3)区域具有相似性,抵抗位置同质性攻击;4)各区域中用户数分布均匀,抵抗恶意用户节点的合谋攻击。本发明实施例中对用户设备的匿名区域生成工作通过个人pc进行仿真,通过移动物体模拟生成器(network-basedgeneratorofmovingobjects,简称ngmo)生成数据。在该模拟器中,首先导入地图数据,然后生成指定数目的用户节点,提出查询的用户寻找在周围多跳网络中是否有足够的协助节点,满足条件的情况下将进行子匿名区域生成工作以及后续查询工作,具体的过程如下:第一步:用户在自己设备上生成寻找协助节点请求query={id,hop,con_c},并收集愿意协助的节点的位置信息,形成用户节点集u。其中,id为用户的身份信息;hop为用户寻找协助节点的最大跳数限制;con_c为用户请求协助匿名的信息。第二步:用户通过设备定位模块获取自己的位置信息loc;第三步:用户根据自己位置信息loc与节点集u,以及profile中相关参数k,n,δ进行多个子匿名区域的生成工作,具体子步骤如下:1)判断节点集u中节点数nu是否到达k-1,如果是,则执行步骤2),否则结束算法;2)将loc添加到节点集u中;3)计算多余节点数n’=nu-k,如果n’等于0,跳至步骤6;4)对u中节点分别按照横坐标与纵坐标大小排序,按随机方向(递增或递减)排序求出最大或最小的n’个节点,获取两个排序节点集ux与uy;5)取一个随机数q,满足0≤q≤n’。去除ux中前q个节点与uy中前(n’-q)个节点,并将去除的节点放入多余节点集ud。如果ud中已存在去除的节点,则该节点所属集合需要再多取一节点放入ud,直到ud中不重复的节点数为n’,并使u=u-ud;6)对u中节点,随机选取方向(x坐标或y坐标),依据节点坐标值大小进行排序,获得排序节点集u’;7)计算出子区域的平均用户数m=k/n,余数r=k%n;8)将u’中的节点按顺序划分为n个集合,其中,随机选取一个使其包含m+r个用户,其他n-1个集合则包含m个用户;9)对n个节点集,求出每个集合的最小外接矩形ci,并记录下面积最大的子区域cmax,其面积记为areamax,将其他n-1个区域扩张为areamax·(1+p)大小的区域,其中p为[-δ,δ]的随机数;10)获得n个子匿名区域c1,c2,…,cn。第四步:在获取多个子匿名区域{c1,c2,…,cn}后,用户在不同子区域中寻找随机的代理节点,生成相应子区域中的查询queryi={id,ci,con_q},其中,ci为对应的子区域标识,con_q为查询内容;之后将不同的查询相隔随机时间段发送给相应子区域的代理节点;第五步:各代理节点发送相应的查询信息到lbs服务器;第六步:lbs服务器根据不同的查询信息,对数据库进行相应的检索,并发送相应的查询候选集结果到相应的代理节点;第七步:代理节点发送相应的查询候选集结果到用户,用户在不同时间获取不同子区域返回的结果集,最后结合loc从所有结果集中筛选求精获得合适的查询结果。通过上述步骤,用户可以在p2p结构下进行安全的查询服务。其中,关键步骤是第三步中多个子匿名区域的生成,接下来将介绍实施例的具体过程。本实施例可分为两个部分,第一部分通过一次具体查询来讲解算法执行过程;第二部分则通过仿真平台进行10,000次模拟得到的实验数据,包括平均匿名区域大小、用户分布熵值和恶意用户合谋攻击成功率等三方面的表现。在图3a、图3b和图3c中,展示了实施例第一部分的匿名区域生成工作,其中的每个点代表一个用户。该实施例设定的用户配置文件如下:k=10,即用户需要的匿名用户数为9;n=3,即用户需要划分的子匿名区域数为3;hop=3,即用户接受的最大跳数为3;δ=0.1,即用户使用的区域相似因子为0.1。实施例的第一部分执行过程如下:第一步,用户通过在p2p网络中寻找协助节点,获取到所有在hop值以内的协助节点,如图3a所示。第二步,计算多余节点数目n’=19-10+1=10,随机选取两个方向对节点进行排序,这里选择了从上往下与从右往左两个方向,得到两个包含10个节点的排序节点集。接着随机选取两个节点集中共10个节点,这里从两个集合中分别取4和6个节点;其中,两个集合有一个重合节点,因此当第二个节点集去除节点时需要多去除一个节点。最后,当多余节点去除完时,对剩余节点求最小边界矩形,如图3b所示。第三步,对包含协助节点以及用户自身的节点集进行排序,随机选取一个方向,如x坐标方向。计算平均用户数m=10/3=3,余数r=10%3=1。接下来对排序的节点按顺序划分为3组,其中随机选择一组使其包含(m+r)即4个用户,其余都包含m即3个用户,本例随机选取了最后一组包含4个用户,其余包含3个用户。然后,对每个组求最小边界矩形,并记下面积最大的区域,这里为第一个区域c1,其面积即为areamax。最后,对于面积没有达到areamax的子区域进行随机化扩张。令p为[-0.1,0.1]的随机数,然后将c2与c3区域进行随机扩张,使其面积达到areamax·(1+p)。以上步骤所得结果如图3c所示,虚线区域即为最后的多个子匿名区域。实施例第二部分通过ngmo仿真平台进行模拟,基于德国奥登堡市地图数据,仿真查询10,000次,统计本发明实施例与传统的单区域方法在平均匿名区域大小、用户分布熵值以及恶意用户合谋攻击成功率的情况。如下表1介绍了本次实施例中的详细参数。参数默认值范围n模拟用户总数5000[500,10000]k匿名需求10[5,20]n子区域数目3[2,5]δ区域相似因子0[-0.1,0.1]hop最大跳数3[1,4]v恶意用户比例0.6[0.2,0.8]表1通过该实施例的执行,获得了如下的结果:表2列出了平均匿名区域大小area、合谋攻击成功率sr与匿名需求k的关系,表3列出了用户分布熵值e、合谋攻击成功率sr与子区域数目n的关系。表2表3表2展示了k值取5到20,其他参数取默认值时的匿名区域大小和合谋攻击成功率的变化情况。对于不同的k值情况下,本发明方法在平均匿名区域大小都要小于单区域方法;随着k值的增大,两个方法的区域大小都有所增大,本发明方法仍能保持较低的区域大小。对于合谋攻击成功率,单区域方法基本稳定在0.6附近,即恶意用户比例值附近;本发明方法随着k值增长攻击成功率有所下降,并且在最后稳定在0.2上下。同时,当k=10时攻击成功率已接近极值,说明本发明进行实施例仿真使用k=10作为默认值是较为合理的。表3展示了n值取2到5,其他参数取默认值时的用户分布熵值和合谋攻击成功率的变化情况。对于单区域方法,由于用户都分布在一个区域,因此用户分布熵值都为0,其攻击成功率也基本稳定在0.6附近;相比之下,本发明方法在用户分布熵值与合谋攻击抵抗上,都有较好的表现。随着n的增家,用户分布熵值增加,用户的隐私保护程度提高,合谋攻击成功率则随之而大大地减少。同时,在n=3时针对60%的恶意用户比例,攻击成功率已经降到0.2左右,考虑n值增加对用户设备资源的开销增加,因此本发明实施例选择n=3作为默认值是较为合理的。综上所述,本发明提出的一种基于p2p结构下的位置隐私保护技术,针对已有的方法中存在匿名区域大小较大、恶意用户合谋攻击等问题,首次提出了基于区域相似性与用户均衡性策略来生成多个子匿名区域的方法。该方法可以在保证用户原来的隐私需求的同时,使最终查询的匿名区域面积减少,降低了查询开销与通信开销,同时,可以提高用户分布熵值,以及抵抗恶意用户合谋攻击,增强了用户的隐私保护程度。上述实施例为本发明较为合适的实施方式,但本发明实施方式不受上述实施例的限制,其他任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,都为等效的置换方式,都包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1