1.一种防边权攻击和位置语义攻击的位置隐私保护方法,包括用户端、中心服务器和位置服务提供商LSP,其位置隐私保护方法包括如下步骤:(1)建立路网模型和位置语义初始化;
(2)用户端包括通信与定位模块,通过定位获取自己在路网中的真实位置并生成位置隐私需求;用户端接入中心服务器,向中心服务器发送包含自己的真实位置与隐私需求的查询请求,并等待查询结果;
(3)中心服务器包括匿名处理模块和查询结果求精处理模块,在匿名处理过程中,根据用户的查询请求,通过计算道路隐私度,筛选满足要求的道路加入匿名集,生成具备语义安全和防边权攻击的匿名集,并将生成的匿名集发送给LSP;
(4)LSP接收匿名后的查询请求,进行位置服务查询,并将查询结果返回给中心服务器,由中心服务器的求精处理模块进行求精处理,将求精结果返回给用户。
2.根据权利要求1所述的防边权攻击和位置语义攻击的位置隐私保护方法,其特征在于:步骤(1)所述建立路网模型和位置语义初始化,具体包括以下步骤:(1.1)根据真实道路的特征,将选择城市整个路网抽象为无向图G,以G={V,E}的形式表示;其中,E={e1,e2,…,em}是路网中的路段集合,每条路段都是E中的一条边;V={v1,v2,…,vn}是道路交叉点集合;
(1.2)将生成的路网数据存储在可信第三方中心服务器中,并在生成路网的城市道路上随机生成10000个移动用户和10000个位置,并为这些位置生成语义信息;
(1.3)在上述生成的道路上划分需要的不同位置类型,并分别初始化设置不同类型位置的普及度值,以及这些类型位置的敏感度值;
位置普及度为位置受大众欢迎的程度,以用户出现在该位置的概率表示;以ppi表示第i种位置类型,则位置类型集合PP={pp1,pp2,…,ppm};以pi表示某个位置,pop(pi)表示pi的普及度,pop(pi)∈[0,1];若pi为第j种位置类型,则pop(pi)=pop(ppj),pop(ppj)为第j种类型位置的位置普及度;不同位置对应的位置普及度集合为POP={pop(p1),pop(p2),…,pop(pn)};位置普及度越高,用户可能出现在该位置的概率越高;
位置敏感度为不同用户对不同位置类型的敏感程度,以ppi表示第i种位置类型,不同位置类型对应的敏感度集合为SS={sen(pp1),sen(pp2),…,sen(ppm)},以sen(pi)表示位置pi的敏感度,sen(pi)∈[0,1);若pi为第j种位置类型,则sen(pi)=sen(ppj);不同位置对应的位置敏感度集合为SEN={sen(p1),sen(p2),…,sen(pn)};敏感度值越高,用户越不想暴露该位置。
3.根据权利要求1所述的防边权攻击和位置语义攻击的位置隐私保护方法,其特征在于:步骤(2)所述位置隐私需求是指用户为保护自己的位置信息而提出的隐私需求,基于该需求,中心服务器构造匿名集,以S表示匿名集,匿名集S是满足用户需求的所有道路的集合;以Qc表示用户位置隐私需求,其多元组形式为Qc={K,L,θ,Lmax},其中,K表示匿名集中的用户数不少于K个;L表示匿名集中的道路数至少为L条;θ为用户自定义的语义安全门限,即匿名集的敏感度需要小于等于语义安全门限θ;为控制匿名区域范围,避免计算开销过大,匿名集S中的最大道路条数被设置为Lmax,若匿名集S道路条数超过Lmax还没满足隐私需求,则匿名失败。
4.根据权利要求1所述的防边权攻击和位置语义攻击的位置隐私保护方法,其特征在于:步骤(3)所述生成具备语义安全和防边权攻击的匿名集,方法是中心服务器根据用户的位置隐私需求,先将匿名集S置空,将用户所在道路加入匿名集S,再采用宽度优先搜索算法依次对匿名集S中的道路,在路网中搜索临近道路,若临近道路在候选匿名集TS中不存在,则将临近道路加入到候选匿名集TS中,从TS的所有临近道路中选择隐私度最小的道路加入匿名集中,若匿名集不满足条件则继续依次对匿名集S中的道路继续搜索,以构建满足需求的匿名集;
具体包括以下步骤:
(3.1)计算道路敏感度,预防位置语义攻击;
中心服务器优先选择道路敏感度较低的道路加入匿名集S,以保护用户的位置隐私安全;
假设第i条道路ei包含k个位置,以RS(ei)表示ei的道路敏感度,计算公式如下:根据式(1),在一条道路中,若包含的敏感位置越多,位置的敏感度越高,则道路敏感度越高;在匿名集S构造中,为保护用户的位置隐私,即保证位置语义安全,道路敏感度高的道路将尽量被延后选取或被排除;
(3.2)计算道路关联度,预防边权攻击;
假设查询的道路集中有l条道路,当用户所在道路的用户数远大于其它道路上的用户数目时,攻击者推断查询用户位于该道路上的概率大于1/l;
在匿名集S构造中,若选取用户数量尽可能接近用户所在道路的周边道路,则可以避免在LBS查询请求中道路集上用户分布不均的情况,从而预防攻击者进行边权攻击;关联度表示在一个匿名集中某条道路因为用户数量被推断的概率,指定匿名集S,其包含L条道路;道路ei∈S,ei.w表示以道路ei为边的权值,即道路ei上的用户数量,以rel(S,ei)表示道路ei的关联度,计算方法如下:其中,ej∈S且ej≠ei;若通过增大匿名集中所有道路边权的总和,即选择其它道路上的用户数量尽可能多的道路加入匿名集以降低道路ei的用户数量ei.w在匿名集中所占的比重,则rel(S,ei)越小,用户被边权攻击造成位置泄露的可能性就越小,从而降低攻击者推断的概率。但是,若关联度为零则表示该道路上无人,该道路被放弃,以避免攻击者直接排除该道路而缩小推断范围;
(3.3)计算道路隐私度;
将道路的敏感度和关联度结合,构建道路隐私度,并以之筛选道路敏感度与关联度较低的道路形成匿名集;
道路隐私度表示在一个匿名集中道路的隐私保护程度,其以道路关联度作为道路敏感度的权值,描述道路在语义位置的敏感性,及该道路与匿名集中其它道路上用户数量的分布均衡性;假设以e0表示查询用户所在真实道路,ei表示某条道路,k为道路ei中的位置数量,以PR(ei)表示道路ei的隐私度且PR(ei)∈(0,1),计算公式如下:公式(3)中,pj为道路ei中的第j个位置,sen(pj)、pop(pj)分别为pj的位置敏感度和位置普及度,rel(S,e0)表示将道路ei尝试加入匿名集S后查询用户所在道路e0的关联度;
道路的位置敏感度与关联度越小,则道路的隐私度越小,表明该道路的语义位置越安全,该道路上的用户数量与匿名集中其它道路上的用户数量相差越小,攻击者越难以通过语义位置和边权信息进行推断攻击;
(3.4)选择道路加入匿名集
在道路选择中,若临近道路仅一条,则直接将该道路加入匿名集;否则在多个待选择临近道路中,中心服务器将待选择道路尝试加入到匿名集后计算查询用户所在道路的关联度,再计算出待选择道路的隐私度,并将道路隐私度最低的某个待选择道路作为最优道路,加入到匿名集中;
(3.5)计算匿名集敏感度
匿名集敏感度表示匿名集的敏感程度,其由匿名集中所有道路中所有位置的位置普及度和位置敏感度决定;以S表示匿名集,其包含L条道路,每条道路的位置数量用一个数组LC记录,如LCi记录第i条道路的位置数量,pl,i表示第l条道路的第i个位置,以RS(S)表示匿名集S的敏感度,计算公式如下:(3.6)判断匿名集是否满足用户查询隐私需求
满足用户查询隐私请求,包括用户设置的道路数、用户数和匿名集的敏感度RS(S)是否小于等于语义安全门限θ,满足则匿名集构造结束;否则继续采用宽度优先搜索进行新一轮的扩张搜索;若匿名集中的道路数量达到用户设置的最大值Lmax时还没有满足隐私要求,则匿名失败,结束搜索。
5.根据权利要求4所述的防边权攻击和位置语义攻击的位置隐私保护方法,其特征在于:步骤(3)所述匿名集S的构造过程具体如下:S1开始;
S2初始化不同位置类型的敏感度集合SS,并确定用户查询请求Qc={K,L,θ,Lmax};
S3将匿名集S与候选匿名集TS置为空;
S4将用户所在真实道路e0加入匿名集S,置S中的道路数NumEdge=1,置S中的人数NumUser为e0上的人数y即NumUser=y;
S5判断匿名集是否满足Qc,即是否满足(NumUser
S6依次对S中的道路进行宽度优先搜索,将搜索到的在候选匿名集中不存在的临近道路都加入候选匿名集TS;
S7初始化最小道路隐私度PE为1,道路信息E为空;
S8将TS中待选择道路尝试加入到匿名集后,根据公式(2)计算用户所在道路e0的关联度rel(S,e0);
S9根据公式(3)计算该道路的隐私度PR(ei);
S10判断PR(ei)与PE的大小,如果PR(ei)
S11将道路隐私度最低的值赋给PE,即PE←PR(ei);记录道路隐私度最低的道路信息E,即E←ei;
S12判断TS中各道路的隐私度PR(ei)计算是否完成,是则执行S13,否则执行S8;
S13将道路E对应的道路加入匿名集S,并将其从TS中移除,增加匿名集S的道路数即NumEdge++;
S14统计该道路的人数为x,并增加匿名集的人数即NumUser+=x;
S15判断匿名集的道路数量是否超过最大值Lmax,如果NumEdge>Lmax,则执行S16,否则执行S5;
S16匿名集中的道路数达到最大,匿名失败,结束搜索,清空S;
S17匿名成功,结束搜索,执行S18;
S18输出匿名集S;
S19结束。