CN103984764B - 基于道路网络感知查询语义的个性化隐私保护方法 - Google Patents
基于道路网络感知查询语义的个性化隐私保护方法 Download PDFInfo
- Publication number
- CN103984764B CN103984764B CN201410238386.XA CN201410238386A CN103984764B CN 103984764 B CN103984764 B CN 103984764B CN 201410238386 A CN201410238386 A CN 201410238386A CN 103984764 B CN103984764 B CN 103984764B
- Authority
- CN
- China
- Prior art keywords
- user
- anonymous
- group
- inquiry
- sensitivity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Abstract
本发明公开了一种基于道路网络感知查询语义的个性化隐私保护方法,涉及专门用于用户或终端位置的业务技术领域。包括以下步骤:步骤A:移动用户将查询请求发送给可信匿名服务器;步骤B:可信匿名服务器的知识库首先将用户的真实标识换成假名;步骤C:可信匿名服务器中匿名引擎基于个性化‑敏感匿名模型,对服务请求进行匿名处理;步骤D:可信匿名服务器从idlist中找到用户u对应的匿名路段集RS,将带有匿名路段集的查询请求发送给服务提供商。所述方法可以防止在道路网络中的用户,由于提出基于位置服务,并结合查询语义的情况下,产生的个人隐私泄露的问题,保护了用户标识、位置和敏感信息,让用户享受快捷安全的基于位置的服务。
Description
技术领域
本发明涉及专门用于用户或终端位置的业务技术领域,尤其涉及一种基于道路网络感知查询语义的个性化隐私保护方法。
背景技术
一般来讲,位置服务中的隐私保护目标包括三种:第一,位置信息,即隐藏查询用户的确切位置。暴露用户的确切位置,将导致用户行为模式、兴趣爱好、健康状况和政治倾向等个人隐私信息的泄漏。如张三使用手机查找“距离我所在位置最近的中国银行地址”,张三不想让任何人知道当前所在位置(如医院)。第二,用户标识,即当攻击者已知用户其他身份标识信息时,防止查询用户的标识泄漏。例如,查询中的位置信息可以作为伪标识符重新识别用户。在前面的例子中,如果张三是从家中提出的查询,则通过一些背景知识(如电话薄)可以发现提出此查询的用户是张三。第三,敏感信息,即隐藏与用户个人相关的敏感信息,如推断用户曾经访问的地点或提出某敏感服务。如在前面的例子中,张三不愿让人知道自己将去银行进行某种交易。
为了保护位置信息,目前使用最多的方法是时空匿名(Temporal spatialcloaking)。本质上即降低对象的时空粒度,用一个概化的位置表示用户的真实位置,用户在此区域内每一个位置出现的概率相同。如图1和表1所示,用户u1的真实位置用路段集合S={<n2,n3>,<n3,n9>,<n2,n9>}表示。如此,攻击者即不确定u1具体在三条路段上的哪个位置。为了保护用户标识,目前使用最普遍的模型是位置k匿名模型,即一个用户位置与其它k-1个用户位置无法区分。仍以图1为例,这是一个位置3-匿名(k=3)的例子,u1、u2、u3的位置均用路段集合S表示(用户u1、u2、u3组成匿名集),攻击者无法在路段集合S中区分三者,进而达到了保护用户标识的目的。
表1
现有工作大都关注位置信息和用户标识保护,忽略用户的敏感信息保护。基于位置服务中敏感信息泄露主要源于两种公开信息:位置语义与查询语义。基于位置语义的敏感信息泄露即发布的匿名区域结合公开的地图将造成用户隐私泄露。如图1所示,用户u1、u2、u3组成匿名集,满足位置3匿名,但是结合公开的地图信息,匿名集{u1,u2,u3}发布匿名位置被完全覆盖在敏感位置(医院)内,攻击者不用获知用户的具体位置,也可推断三者健康状况,用户敏感信息泄露。基于查询语义的敏感信息泄露即攻击者结合匿名集中发布查询的语义窥探用户隐私。如表1所示,考虑查询语义,从匿名集{u1,u2,u3}提出的查询内容均与医院相关,攻击者无需知道哪个用户提出的哪个查询,也可推知匿名集中查询者的健康状况。
为了防止上述两种敏感信息的泄露,匿名集除满足位置k-匿名模型外,还应满足l-差异性模型,即在一个匿名集中,与用户相关的敏感信息应具有足够的差异性,从而攻击者将此敏感信息与用户建立联系的概率小于事先定义的阈值1/l。具体到基于查询语义的敏感信息泄露,即从同一匿名集中提出的查询内容应足够不同,使攻击者推断用户提出敏感查询的概率小于事先定义的阈值。
众所周知,用户隐私是个性化的,一个查询是否敏感决定于用户个性化的隐私需求。表2给出了一个个性化的隐私需求的示例。表3是一个满足位置3-匿名和3-差异性模型的匿名集合示例。从用户u4的角度讲,从匿名集合提出的三个查询都是敏感的,u4不愿让任何人知道自己曾提出过其中任意一个查询。表3所示的情况是用户u4不可接受的,这种攻击被称之为考虑了用户个性化隐私需求和查询语义的个性化同质攻击。
表2个性化的隐私需求示例
表3满足位置3-匿名和3-差异性模型的匿名集合示例
所以亟待发明一种在道路网络上同时保护用户标识、位置和敏感信息并可防止个性化同质攻击的隐私保护方法。
发明内容
本发明所要解决的技术问题是提供一种基于道路网络感知查询语义的个性化隐私保护方法,所述方法可以防止在道路网络中的用户,由于提出基于位置服务,并结合查询语义的情况下,产生的个人隐私泄露的问题,保护了用户标识、位置和敏感信息,让用户享受方便快捷的基于位置的服务。
为解决上述技术问题,本发明所采取的技术方案是:一种基于道路网络感知查询语义的个性化隐私保护方法,其特征在于包括以下步骤:
步骤A:移动用户用于将查询请求(id,loc,q,profile)发送给可信匿名服务器,其中id表示查询标识符,loc表示该查询所在空间位置,q表示查询内容,profile表示提出该查询用户的隐私需求被表示为一个四元组profile=(k,l,ts,p),其中匿名度需求k表示用户可接受的最小匿名度,即用户要求在匿名集中至少包含的用户个数;位置差异性需求l,用户可接受的匿名集覆盖的最少路段个数;查询敏感度需求ts,即用户可容忍的查询敏感度最高值,若某查询敏感度大于ts,则此查询在该用户看来属于敏感查询;反之,该查询属于非敏感查询;集合敏感度需求p,表示用户可接受的敏感查询在匿名集合中所占的最大比例。
步骤B:可信匿名服务器的知识库首先将用户的真实标识id换成假名id’,以及完成对查询类别和敏感度标注,此时查询请求增加一个查询敏感度qs,即(id’,loc,q,qs,profile);
步骤C:可信匿名服务器中的匿名引擎基于个性化(K,L,p)-敏感匿名模型,其中K表示匿名集中至少包含的用户数,L表示匿名集所覆盖的匿名路段集至少包含的路段数,p表示对用户来说,敏感查询在匿名集中所占比例的最大值,对服务请求进行匿名处理,寻找匿名集(CID,idlist),其中CID表示匿名集标识符,idlist是一个集合,由匿名集中包含的用户组成;
步骤D:可信匿名服务器从idlist中找到用户u对应的匿名路段集RS,将用户u的查询请求以Q=(id',RS,q)的形式发送给提供商服务器;
步骤E:提供商服务器根据所接收到的请求Q=(id',RS,q)进行查询处理,并将查询结果的候选集返回给可信匿名服务器;
步骤F:可信匿名服务器根据数据库中存储的id与id’的匹配关系找出真实用户,利用查询结果求精引擎根据用户的真实位置将候选结果求精后转交给用户。
进一步优选的技术方案在于:
步骤B进一步包括:
步骤B1:可信匿名服务器的知识库首先将用户的真实标识id换成假名id’;
步骤B2:在可信匿名服务器的知识库中存有查询类别关系和查询-敏感度关系。知识库通过查询类别关系,根据用户提出查询内容q找到该查询所属类别qc;
步骤B3:知识库通过查询-敏感度关系,找到查询类别qc对应的查询敏感度qs。此时,查询请求增加一个查询敏感度qs,即(id’,loc,q,qs,profile)。
进一步优选的技术方案在于:
步骤C进一步包括:
步骤C1:将服务空间中的所有用户排序,每个用户u带有一个相应的顺序号orderu;
步骤C2:排好序的用户按照序号分成个组,其中moSet是道路网络中提出查询的所有用户集合,是moSet中所有用户的最大匿名度需求;
步骤C3:把所有用户按照自身隐私需求中的ts和p的乘积为关键字插入到一个小顶堆中;
步骤C4:当堆不为空时,取出堆顶元素u;
步骤C5:判断u是否是一个严格用户,如果u是一个严格用户则将u插入严格用户列表strU;否则,u则是一个非严格用户,则为非严格用户u寻找匿名集(CID,idlist);
步骤C6:为严格用户寻找匿名集(CID,idlist);
步骤C7:为在一个匿名集的用户idlist寻找匿名路段集RS。
进一步优选的技术方案在于:
步骤C1进一步包括:
步骤C11:先将道路网络表示成为一个图模型,由点和边组成,其中点是道路交叉点或道路终点,边即两个道路交叉点之间的路段;
步骤C12:随机从当前查询用户中选取一个用户所在边做起始点,对图中的边做深度或广度优先搜索,每条边仅访问一次,搜索过程中给边排序,每一条边具有一个编序号order_edge;
步骤C13:根据边的顺序为边上的移动用户排序,保证任意两条边ei,ej,如果order_ei<order_ej,则在ei上的用户的顺序号一定小于ej上的用户顺序号,在同一条边上的用户,按照距边的起始点的距离排序,与起始点越近的用户,其用户序号更小。
进一步优选的技术方案在于:
步骤C5中严格用户是指设D(SSet)={S1,S2,…,Si,…Sj,…,Sn}是敏感值域,其中敏感值按照从小到大排序,即Sj>Si(1≤i<j≤n),对于任意的用户u,如果其中i是u.ts在D(SSet)中的位置,则称u是严格用户。
进一步优选的技术方案在于:
为非严格用户寻找匿名集,具体包括以下步骤:
步骤C51:利用用户排序序号orderu,根据公式获得用户所在分组的序号i;
步骤C52:获得该组groupi中的所有用户,用户编号从(i-1)*GK_MAX+1到i*GK_MAX,如果groupi是最后一组用户,则用户编号是从(i-1)*GK_MAX+1开始到最后的所有剩余用户;
步骤C53:计算局部最大匿名度CK_MAX,
步骤C54:如果|groupi|<CK_MAX,即groupi中包含的用户个数比CK_MAX小,则将groupi称为收缩组,从groupi-1和groupi+1之间随机选取一个组,与收缩组groupi中的用户合并,如果groupi不是收缩组,则执行下一步C55;
步骤C55:检查groupi中的所有用户的集合敏感度是否获得满足,形成匿名集合(CID,idlist)。
进一步优选的技术方案在于:
进一步的步骤C55包括:
步骤C551:针对groupi中的每一个用户uc,计算在uc看来,groupi中的查询属于敏感查询的个数,记为Count_Squc,如果说明用户uc的集合敏感度需求没有获得满足,则计算max_nduc,max_nduc表示如果让uc的集合敏感度获得满足,需要向groupi中插入的在uc看来不敏感查询的个数,其计算方法是
步骤C552:利用groupi的保守用户集合con_users,向groupi中插入用户,使groupi中的所有用户的集合敏感度需求获得满足,最后groupi包含的所有用户组成匿名集中的idlist。
进一步优选的技术方案在于:
步骤C552中的保守用户是指对于一个用户组groupi,计算groupi中所有用户的最小查询敏感度需求,即如果一个用户u提出的查询敏感度小于groupi.ts同时该用户不属于groupi,则称该用户u为groupi的保守用户。
进一步优选的技术方案在于:
对于步骤C6,将所有严格用户根据步骤C13得到序号进行排序,然后将新排好序的严格用户划分成个组,如果每一个组中存在用户的查询集合敏感度未得到满足,则向该组插入查询敏感度qs=0,查询敏感度需求ts=1的假数据,直至满足所有用户的查询集合敏感度,如此,每一组即是一个匿名集(CID,idlist),CID是组号,idlist即在该组中的所有用户列表。
进一步优选的技术方案在于:
对于步骤C7,初始状态下将匿名路段集RS置空,针对idlist中的每一个用户,获取该用户所在路段<ni,nj>,如果该路段没有存在于RS中,则将其插入RS,从idlist的用户中找到最大位置差异性需求llmax,当idlist中的所有用户均被扫描过,比较|RS|和llmax,如果前者大于后者,则将RS中包含的路段集作为匿名路段集发布,如果前者不大于后者,则从路网中寻找与RS中的路段连接但不在RS中的路段,插入至RS中,直至|RS|=llmax为止。
采用上述技术方案所产生的有益效果在于:所述方法可以防止在道路网络中的用户,由于提出基于位置服务,并结合查询语义的情况下,产生的个人隐私泄露的问题,保护了用户标识、位置和敏感信息,让用户享受方便快捷的基于位置的服务。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明位置3-匿名查询语义例子的示意图;
图2是本发明对应的系统结构示意图;
图3是本发明所述方法的流程框图;
图4是步骤C进一步的流程框图;
图5是按照步骤C1建立的模型图;
图6是非严格用户寻找匿名集的流程框图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
首先,图2示出了与本方法相对应的系统的方框图,包括:移动用户、可信匿名服务器、以及提供商服务器。移动用户通过加密的方式将查询提交给可信的第三方——可信匿名服务器。可信匿名服务器中包含3个部件:知识库(cloaked repository)、匿名引擎(cloaked engine)和查询结果求精引擎(answers refined engine)。知识库中存储着查询类别集合、敏感度集合以及敏感度关系。知识库根据常识或利用数据挖掘聚类的方法从查询历史中建立查询类别集合。查询类别集合即根据现有的基于位置服务进行了查询类型分类,其分类结果存储在查询类别集合中。敏感度集合即系统定义的所有级别的敏感度值组成的集合。敏感度关系是在查询类别集合与敏感度集合之间建立的多对一的关系。通过这三个集合,已知某查询内容,即可以确定该查询的查询敏感度。
位置相关的查询请求以(id,loc,q,profile)形式被提交给可信匿名服务器,其中id表示查询标识符,loc即该查询所在空间位置,q表示查询内容,profile表示提出该查询用户的隐私需求。每一个用户个性化的隐私需求profile,被表示为一个三元组profile=(k,l,ts,p),其中匿名度需求k表示用户可接受的最小匿名度,即用户要求在匿名集中至少包含的用户个数;位置差异性需求l,用户可接受的匿名集覆盖的最少路段个数;查询敏感度需求ts,即用户可容忍的查询敏感度最高值,若某查询敏感度大于ts,则此查询在该用户看来属于敏感查询;反之,该查询属于非敏感查询;集合敏感度需求p,表示用户可接受的敏感查询在匿名集合中所占的最大比例。例如,一个用户隐私需求profile为(3,4,0.5,0.4)表示该用户要求最后形成的匿名集中至少包含3个用户,4条路段。如果一个查询的敏感度大于0.5,则该用户视其为敏感查询,反之视为非敏感查询。此外,该用户要求匿名集中,在该用户看来,敏感查询的个数占匿名集提出的总查询数的比例不能高于0.4。
送至可信匿名服务器后,首先通过知识库标注该查询所属类别,如“政治”;然后,通过敏感度关系,标出该类别查询的敏感度,如(政治,top secrete);接着,标注了敏感度的查询依据本方明的匿名方法寻找匿名集合,每一个匿名集合均符合个性化(k,l,p)-敏感匿名模型,匿名区域即匿名集合中用户所在路段组成的路段集。个性化(k,l,p)-敏感匿名模型是指设CS是查询用户组成的集合,若CS满足以下三个条件:第一,位置k匿名模型,CS中包含的用户个数不小于CS中用户匿名度需求k的最大值;第二,CS中包含的用户所在路段集合RS的路段数|RS|不小于CS中用户位置差异性需求的最大值,即L≤|RS|,第三,对于CS中的每一个用户u,对u来说,敏感查询的个数与CS中所有查询个数的比不能大于用户u的集合敏感度需求p,即
表4为(k,l,p)-敏感匿名模型示例
表5为匿名集合用户隐私需求
用户 | k | l | ts | p |
u1 | 2 | 3 | 0.25 | 0.75 |
u2 | 3 | 2 | 0.75 | 0.5 |
u3 | 3 | 3 | 1 | 0.5 |
表5给出了一个满足(k,l,p)-敏感匿名模型的匿名集示例,根据表5,CS={u1,u2,u3},RS={<n2,n3>,<n3,n9>,<n2,n9>},首先K=|CS|=3,其次L=|RS|=3,最后u1,u2,u3的集合敏感度需求均得到了满足,所以CS是一个满足(k,l,p)-敏感匿名模型的匿名集。
最后,可信匿名服务器将匿名后的查询提交给服务提供商。服务提供商接收经过匿名处理的查询请求,利用现有的基于模糊位置的查询处理算法响应这些查询,并将候选结果集返回给可信匿名服务器。可信匿名服务器利用查询结果求精引擎将候选结果求精,把确切的查询结果返回给相应的用户。
如图3所示,根据本发明的方法包括以下步骤:
步骤A:移动用户用于将查询请求(id,loc,q,profile)发送给可信匿名服务器。其中id表示查询标识符,loc即该查询所在空间位置,q表示查询内容,profile表示提出该查询用户的隐私需求被表示为一个四元组profile=(k,l,ts,p),其中匿名度需求k表示用户可接受的最小匿名度,即用户要求在匿名集中至少包含的用户个数;位置差异性需求l,用户可接受的匿名集覆盖的最少路段个数;查询敏感度需求ts,即用户可容忍的查询敏感度最高值,若某查询敏感度大于ts,则此查询在该用户看来属于敏感查询;反之,该查询属于非敏感查询;集合敏感度需求p,表示用户可接受的敏感查询在匿名集合中所占的最大比例。
步骤B:可信匿名服务器的知识库首先将用户的真实标识id换成假名id’,以及完成对查询类别和敏感度标注,此时查询请求增加一个查询敏感度qs,即(id’,loc,q,qs,profile),其中真实标识与假名的转换属于本领域普通技术人员所熟知的技术,因此在这里不做详述。
关于完成对查询类别和敏感度标注,具体地说,知识库存储着查询类别集合CaSet、敏感度集合SSet以及敏感关系R。令敏感关系R={(a,b)|a∈CaSet,b∈SSet且(a2,b2)∈R,若a1=a2,则b1=b2}。敏感关系R是一个从查询类别集合到敏感度集合的多对一的二元关系。例如,查询类别集合={紧急急救呼叫,敏感位置路径导航,位置敏感账单,购物导引,旅游工具,产品追踪},敏感度集合={top secret,more secret,secret,less secret,non-secret},存在一个敏感关系R{(紧急急救呼叫,more secret),(敏感位置路径导航,top secret),(位置敏感账单,secret),(购物导引,less secret),(旅游工具,non-secret),(产品追踪,non-secret)}。当知识库接受用户的查询请求后,可根据查询内容q从CaSet中找到q所属类别,再通过该类别通过敏感关系R确定该查询的敏感度qs。
步骤C:可信匿名服务器中匿名引擎基于个性化(K,L,p)-敏感匿名模型,对服务请求进行匿名处理,寻找匿名集(CID,idlist),其中CID表示匿名集标识符,idlist是一个集合,由匿名集中包含的用户组成。
具体地说,如图4所示,步骤C进一步包括:
步骤C1:将服务空间中的所有用户排序,每个用户u带有一个相应的顺序号orderu。
具体来讲,该步骤又进一步包括:
步骤C11:先将道路网络表示成为一个图模型,由点和边组成,其中点是道路交叉点或道路终点,边即两个道路交叉点之间的路段。
步骤C12:随机从当前查询用户中选取一个用户所在边做起始点,对图中的边做深度或广度优先搜索,每条边仅访问一次,搜索过程中给边排序,每一条边具有一个编序号order_edge。
步骤C13:根据边的顺序为边上的移动用户排序,保证任意两条边ei,ej,如果order_ei<order_ej,则在ei上的用户的顺序号一定小于ej上的用户顺序号,在同一条边上的用户,按照距边的起始点的距离排序,与起始点越近的用户,其用户序号更小。
以图5上的10个提出查询的移动用户为例,假设u1是随机选取的起始用户,从u1所在边<n1,n2>开始,对所有边进行深度优先搜索并为边标号。在为所有边排序后,按照边的标号为边上的用户标序列号,用户的下标表示用户的标号。如<n1,n2>的边标号小于<n2,n9>,则u1的标号比u2,u3小,同时u2距离边的起始点n2较u3更近,所以u2的用户标号小于u3的用户标号。
步骤C2:排好序的用户按照序号分成个组,其中moSet是道路网络中提出查询的所有用户集合,是moSet中所有用户的最大匿名度需求。如此,除最后一组外,所有组均包含GK_MAX个用户,最后一组包含GK_MAX到2GK_MAX个用户。
继续图5中的例子,表6是10位用户的隐私需求。从隐私需求中的GK_MAX=3,所以10个用户被分为3组,分别是{u1,u2,u3},{u4,u5,u6},{u7,u8,u9,u10}。
表6是10位用户的隐私需求
用户 | (k,l,ts,p) | qs |
u1 | (3,3,0.25,0.5) | 0 |
u2 | (3,2,1,0.6) | 0.5 |
u3 | (3,4,0.75,0.4) | 0.5 |
u4 | (2,5,0.5,0.5) | 1 |
u5 | (2,5,0.5,0.5) | 0 |
u6 | (2,3,1,0.5) | 0.75 |
u7 | (3,4,0.75,0.4) | 0.5 |
u8 | (3,2,1,0.4) | 0.25 |
u9 | (3,2,1,0.4) | 1 |
u10 | (2,4,1,0.5) | 0.25 |
步骤C3:把所有用户按照ts*p为关键字插入到一个小顶堆中。
继续表6中的例子,小顶堆的初始状态下为{u1,u5,u3,u4,u10,u6,u7,u8,u9,u2}
步骤C4:当堆不为空时,取出堆顶元素u。
在表6中的例子中,u1是当前小顶堆的堆顶元素。
步骤C5:判断u是否是一个严格用户。如果u是一个严格用户则将u插入严格用户列表strU;否则为非严格用户u寻找匿名集(CID,idlist)。
严格用户是指设D(SSet)={S1,S2,…,Si,…,Sn}是敏感值域,其中敏感值按照从小到大排序,即Sj>Si(1≤i<j≤n)。对于任意的用户u,如果其中i是u.ts在D(SSet)中的位置,则称u是严格用户。例如,D(SSet)={0,0.25,0.5,0.75,1},对于任意的用户u,u的(ts,p)被设置为(0.25,0.5)。对于任意的用户其成为u的敏感查询的概率是0.6=(3/5)。然而,u却设置集合敏感度需求p=0.5<0.6,则u是一个严格用户。
为非严格用户寻找匿名集,具体来讲,如图6所示,包括以下步骤
步骤C51:利用用户排序序号orderu,根据公式获得用户所在分组的序号i;
步骤C52:获得该组groupi中的所有用户,用户编号从(i-1)*GK_MAX+1到i*GK_MAX。如果groupi是最后一组用户,则用户编号是从(i-1)*GK_MAX+1开始到最后的所有剩余用户。
步骤C53:计算局部最大匿名度CK_MAX,
步骤C54:如果|groupi|<CK_MAX,即groupi中包含的用户个数比CK_MAX小,则将groupi称为收缩组。从groupi-1和groupi+1之间随机选取一个组,与收缩组groupi中的用户合并。如果groupi不是收缩组,则执行下一步C55。
步骤C55:检查groupi中的所有用户的集合敏感度是否获得满足,形成匿名集合(CID,idlist)。
具体来讲,这一步骤进一步包括以下步骤:
步骤C551:针对groupi中的每一个用户uc,计算在uc看来,groupi中的查询属于敏感查询的个数,记为Count_SQuc。如果说明用户uc的集合敏感度需求没有获得满足,则计算max_nduc,max_nduc表示如果让uc的集合敏感度获得满足,需要向groupi中插入的在uc看来不敏感的查询的个数,其计算方法是
步骤C552:利用groupi的保守用户集合con_users,向groupi插入用户,使groupi中的所有用户的集合敏感度需求获得满足。最后groupi包含的所有用户组成匿名集中的idlist。
保守用户是指对于一个用户组groupi,计算groupi中所有用户的最小查询敏感度需求,即如果一个用户u提出的查询敏感度小于groupi.ts同时该用户不属于groupi,则称该用户u为groupi的保守用户。如在前面的例子中,对于group1={u1,u2,u3},group1.ts=0.25。则对于group1来说,保守用户包括u5,u8,u10。
具体来讲,扫描groupi中的每一个用户计算得到groupi.ts。寻找groupi的所有保守用户集合con_users。如果保守用户的数量|con_users|大于max_nd,其中则寻找距离groupi最近的|con_users|-max_nd个用户插入到groupi中。用户与一组用户的距离被定义为用户的顺序号与groupi中所有用户序号的平均值的差的绝对值。如果保守用户的数量|con_users|不大于max_nd,则将con_users中的所有用户插入groupi中,同时再插入|groupi|-|con_users|个查询敏感度为qs=0,查询敏感度需求为ts=1的假数据。假数据的生成方法为本领域普通技术人员所熟知的技术,因此在这里不做详述。
继续表6的例子,取出小顶堆的堆顶u1,u1所在组为group1={u1,u2,u3}.通过判断,u1的集合查询敏感度没有获得满足,则寻找group1的保守用户,即{u5,u8,u10}。group1的平均序号为2(=(1+2+3)/3)。u5,u8,u10中与group1最近的保守用户是u5。将u5插入group1,group1变成{u1,u2,u3,u5},其中所有用户的匿名和集合敏感度均获得满足。{u1,u2,u3,u5}作为一个候选匿名集送至步骤D进行匿名路段集的处理。当u5从group1移至group2时,group2中的用户数小于CK_MAX(=2),group2是一个收缩组。将group2与剩下的group3合并,所有用户的匿名和集合敏感度均获得满足,{u4,u6,u7,u8,u9,u10}作为候选匿名集送至步骤D进行匿名路段集的处理。
步骤C6:为严格用户寻找匿名集(CID,idlist)。
具体来讲,将所有严格用户根据步骤C13得到序号进行排序。然后将新排好序的严格用户划分成个组。如果每一个组中存在用户的查询集合敏感度未得到满足,则向该组插入查询敏感度qs=0,查询敏感度需求ts=1的假数据,直至满足所有用户的查询集合敏感度。如此,每一组即是一个匿名集(CID,idlist),CID是组号,idlist即在该组中的所有用户列表。
步骤C7:为在一个匿名集的用户idlist寻找匿名路段集RS。
具体来讲,针对idlist中的每一个用户,获取该用户所在路段<ni,nj>。如果该路段没有存在于RS中,则将其插入RS。从idlist的用户中找到最大位置差异性需求llmax。当idlist中的所有用户均被扫描过,比较|RS|和llmax。如果前者大于后者,则将RS中包含的路段集作为匿名路段集发布。如果前者不大于后者,则从路网中寻找与RS中的路段连接但不在RS中的路段,插入至RS中,直至|RS|=llmax为止。如前面的例子,候选匿名集{u1,u2,u3,u5},其匿名路段集为{<n1,n2>,<n2,n9>,<n7,n8>,<n7,n9>,<n1,n8>}。
步骤D:可信匿名服务器从idlist中找到用户u对应的RS,将用户u的查询请求以Q=(id',RS,q)的形式发送给提供商服务器。
步骤E:提供商服务器根据所接收到的请求Q=(id',RS,q)进行查询处理,并将查询结果的候选集返回给可信匿名服务器。应该说明的是,数据库服务器的查询处理方法是为大家所熟知的技术,并且不是本发明的重点,因此在此不对其做详述。
步骤F:可信匿名服务器根据数据库中存储的id与id’的匹配关系找出真实用户,可信匿名服务器中的查询结果求精引擎利用用户的真实位置对查询结果求精,获得真实结果,并将真实结果转交给用户。
通过本发明可知,所述方法可以防止在道路网络中的用户,由于提出基于位置服务,并结合查询语义的情况下,产生的个人隐私泄露的问题,保护了用户标识、位置和敏感信息,让用户享受方便快捷的基于位置的服务。
Claims (10)
1.一种基于道路网络感知查询语义的个性化隐私保护方法,其特征在于包括以下步骤:
步骤A:移动用户用于将查询请求(id,loc,q,profile)发送给可信匿名服务器,其中id表示查询标识符,loc表示该查询所在空间位置,q表示查询内容,profile表示提出该查询用户的隐私需求被表示为一个四元组profile=(k,l,ts,p),其中匿名度需求k表示用户可接受的最小匿名度,即用户要求在匿名集中至少包含的用户个数;位置差异性需求l,用户可接受的匿名集覆盖的最少路段个数;查询敏感度需求ts,即用户可容忍的查询敏感度最高值,若某查询敏感度大于ts,则此查询在该用户看来属于敏感查询;反之,该查询属于非敏感查询;集合敏感度需求p,表示用户可接受的敏感查询在匿名集合中所占的最大比例;
步骤B:可信匿名服务器的知识库首先将用户的真实标识id换成假名id’,以及完成对查询类别和敏感度标注,此时查询请求增加一个查询敏感度qs,即(id’,loc,q,qs,profile);
步骤C:可信匿名服务器中的匿名引擎基于个性化(K,L,p)-敏感匿名模型,其中K表示匿名集中至少包含的用户数,L表示匿名集所覆盖的匿名路段集至少包含的路段数,p表示对用户来说,敏感查询在匿名集中所占比例的最大值,对服务请求进行匿名处理,寻找匿名集(CID,idlist),其中CID表示匿名集标识符,idlist是一个集合,由匿名集中包含的用户组成;
步骤D:可信匿名服务器从idlist中找到用户u对应的匿名路段集RS,将用户u的查询请求以Q=(id',RS,q)的形式发送给提供商服务器;
步骤E:提供商服务器根据所接收到的请求Q=(id',RS,q)进行查询处理,并将查询结果的候选集返回给可信匿名服务器;
步骤F:可信匿名服务器根据数据库中存储的id与id’的匹配关系找出真实用户,利用查询结果求精引擎根据用户的真实位置将候选结果求精后转交给用户。
2.根据权利要求1所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
步骤B进一步包括:
步骤B1:可信匿名服务器的知识库首先将用户的真实标识id换成假名id’;
步骤B2:在可信匿名服务器的知识库中存有查询类别关系和查询-敏感度关系;知识库通过查询类别关系,根据用户提出查询内容q找到该查询所属类别qc;
步骤B3:知识库通过查询-敏感度关系,找到查询类别qc对应的查询敏感度qs,此时,查询请求增加一个查询敏感度qs,即(id’,loc,q,qs,profile)。
3.根据权利要求1所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
步骤C进一步包括:
步骤C1:将服务空间中的所有用户排序,每个用户u带有一个相应的顺序号orderu;
步骤C2:排好序的用户按照序号分成个组,其中moSet是道路网络中提出查询的所有用户集合,是moSet中所有用户的最大匿名度需求;
步骤C3:把所有用户按照自身隐私需求中的ts和p的乘积为关键字插入到一个小顶堆中;
步骤C4:当堆不为空时,取出堆顶元素u;
步骤C5:判断u是否是一个严格用户,如果u是一个严格用户则将u插入严格用户列表strU;否则,u则是一个非严格用户,则为非严格用户u寻找匿名集(CID,idlist);
步骤C6:为严格用户寻找匿名集(CID,idlist);
步骤C7:为在一个匿名集的用户idlist寻找匿名路段集RS。
4.根据权利要求3所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
步骤C1进一步包括:
步骤C11:先将道路网络表示成为一个图模型,由点和边组成,其中点是道路交叉点或道路终点,边即两个道路交叉点之间的路段;
步骤C12:随机从当前查询用户中选取一个用户所在边做起始点,对图中的边做深度或广度优先搜索,每条边仅访问一次,搜索过程中给边排序,每一条边具有一个编序号order_edge;
步骤C13:根据边的顺序为边上的移动用户排序,保证任意两条边ei,ej,如果order_ei<order_ej,则在ei上的用户的顺序号一定小于ej上的用户顺序号,在同一条边上的用户,按照距边的起始点的距离排序,与起始点越近的用户,其用户序号更小。
5.根据权利要求3所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
步骤C5中严格用户是指设D(SSet)={S1,S2,…,Si,…Sj,…,Sn}是敏感值域,其中敏感值按照从小到大排序,即Sj>Si(1≤i<j≤n),对于任意的用户u,如果其中i是u.ts在D(SSet)中的位置,则称u是严格用户。
6.根据权利要求3所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
为非严格用户寻找匿名集,具体包括以下步骤:
步骤C51:利用用户排序序号orderu,根据公式获得用户所在分组的序号i;
步骤C52:获得该组groupi中的所有用户,用户编号从(i-1)*GK_MAX+1到i*GK_MAX,如果groupi是最后一组用户,则用户编号是从(i-1)*GK_MAX+1开始到最后的所有剩余用户;
步骤C53:计算局部最大匿名度CK_MAX,
步骤C54:如果|groupi|<CK_MAX,即groupi中包含的用户个数比CK_MAX小,则将groupi称为收缩组,从groupi-1和groupi+1之间随机选取一个组,与收缩组groupi中的用户合并,如果groupi不是收缩组,则执行下一步C55;
步骤C55:检查groupi中的所有用户的集合敏感度是否获得满足,形成匿名集合(CID,idlist)。
7.根据权利要求6所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
进一步的步骤C55包括:
步骤C551:针对groupi中的每一个用户uc,计算在uc看来,groupi中的查询属于敏感查询的个数,记为Count_Squc,如果说明用户uc的集合敏感度需求没有获得满足,则计算max_nduc,max_nduc表示如果让uc的集合敏感度获得满足,需要向groupi中插入的在uc看来不敏感查询的个数,其计算方法是
步骤C552:利用groupi的保守用户集合con_users,向groupi中插入用户,使groupi中的所有用户的集合敏感度需求获得满足,最后groupi包含的所有用户组成匿名集中的idlist。
8.根据权利要求7所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
步骤C552中的保守用户是指对于一个用户组groupi,计算groupi中所有用户的最小查询敏感度需求,即如果一个用户u提出的查询敏感度小于groupi.ts同时该用户不属于groupi,则称该用户u为groupi的保守用户。
9.根据权利要求4所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
对于步骤C6,将所有严格用户根据步骤C13得到序号进行排序,然后将新排好序的严格用户划分成个组,如果每一个组中存在用户的查询集合敏感度未得到满足,则向该组插入查询敏感度qs=0,查询敏感度需求ts=1的假数据,直至满足所有用户的查询集合敏感度,如此,每一组即是一个匿名集(CID,idlist),CID是组号,idlist即在该组中的所有用户列表。
10.根据权利要求9所述的基于道路网络感知查询语义的个性化隐私保护方法,其特征在于:
对于步骤C7,初始状态下将匿名路段集RS置空,针对idlist中的每一个用户,获取该用户所在路段<ni,nj>,如果该路段没有存在于RS中,则将其插入RS,从idlist的用户中找到最大位置差异性需求llmax,当idlist中的所有用户均被扫描过,比较|RS|和llmax,如果前者大于后者,则将RS中包含的路段集作为匿名路段集发布,如果前者不大于后者,则从路网中寻找与RS中的路段连接但不在RS中的路段,插入至RS中,直至|RS|=llmax为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410238386.XA CN103984764B (zh) | 2014-05-30 | 2014-05-30 | 基于道路网络感知查询语义的个性化隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410238386.XA CN103984764B (zh) | 2014-05-30 | 2014-05-30 | 基于道路网络感知查询语义的个性化隐私保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103984764A CN103984764A (zh) | 2014-08-13 |
CN103984764B true CN103984764B (zh) | 2017-03-08 |
Family
ID=51276736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410238386.XA Active CN103984764B (zh) | 2014-05-30 | 2014-05-30 | 基于道路网络感知查询语义的个性化隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984764B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184742B (zh) * | 2014-09-09 | 2017-07-04 | 西安电子科技大学 | 基于位置服务隐私保护的个性化双重隐身方法 |
CN104507049A (zh) * | 2014-12-24 | 2015-04-08 | 福建师范大学 | 一种基于坐标变换的位置隐私保护方法 |
CN104780173A (zh) * | 2015-04-16 | 2015-07-15 | 西安电子科技大学 | 一种道路网络中位置隐私保护的匿名路段选择系统及方法 |
CN105120431B (zh) * | 2015-07-24 | 2018-12-04 | 中山大学 | 基于路网中位置敏感度和热度的位置隐私保护方法 |
CN106911670B (zh) * | 2017-01-13 | 2020-09-29 | 重庆邮电大学 | 一种车联网中的隐私保护系统及方法 |
CN106878312B (zh) * | 2017-02-24 | 2020-09-22 | 华南理工大学 | 一种基于边簇图的语义位置隐私保护方法 |
CN106953876B (zh) * | 2017-04-27 | 2020-04-28 | 华南理工大学 | 一种基于语义上下文的位置隐私保护方法 |
CN106899700B (zh) * | 2017-04-27 | 2020-01-14 | 电子科技大学 | 一种移动社交网络中的位置共享系统的隐私保护方法 |
CN110543782B (zh) * | 2019-07-10 | 2022-03-29 | 暨南大学 | 一种基于k-匿名算法实现数据集脱敏的方法以及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
CN102202037A (zh) * | 2010-03-24 | 2011-09-28 | 北京创世网赢高科技有限公司 | 一种信息发布系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1488646B1 (en) * | 2002-03-19 | 2017-05-03 | Mapinfo Corporation | Location based service provider |
-
2014
- 2014-05-30 CN CN201410238386.XA patent/CN103984764B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202037A (zh) * | 2010-03-24 | 2011-09-28 | 北京创世网赢高科技有限公司 | 一种信息发布系统 |
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103984764A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103984764B (zh) | 基于道路网络感知查询语义的个性化隐私保护方法 | |
Wu et al. | A location privacy-preserving system based on query range cover-up or location-based services | |
Sarwat et al. | Sindbad: a location-based social networking system | |
CN104462285B (zh) | 一种移动服务查询系统的隐私保护方法 | |
CN104754509B (zh) | 基于位置语义k‑匿名的lbs隐私保护方法 | |
CN109995929B (zh) | 操作和账号信息的处理方法及装置 | |
CN102622356B (zh) | 一种关联地理位置信息的百科知识系统 | |
CN106254314B (zh) | 一种位置查询服务信息保护方法及系统 | |
Sharad et al. | De-anonymizing d4d datasets | |
CN112035880B (zh) | 一种基于偏好感知的轨迹隐私保护服务推荐方法 | |
Riboni et al. | Differentially-private release of check-in data for venue recommendation | |
Khayyambashi et al. | An approach for detecting profile cloning in online social networks | |
US20150381579A1 (en) | Method and server for handling of personal information | |
Tian et al. | Privacy-preserving social tie discovery based on cloaked human trajectories | |
Li et al. | DALP: A demand‐aware location privacy protection scheme in continuous location‐based services | |
CN111797433A (zh) | 一种基于差分隐私的lbs服务隐私保护方法 | |
CN103237018A (zh) | 一种客户端匹配方法、服务器及通信系统 | |
CN108664808B (zh) | 一种面向图书搜索服务的用户敏感主题保护方法及系统 | |
CN109362032B (zh) | 一种基于位置服务的用户位置个性化差分隐私保护方法 | |
Zhao et al. | A novel dummy-based KNN query anonymization method in mobile services | |
CN105224555A (zh) | 一种搜索的方法、装置和系统 | |
Lin et al. | Privacy preserving reverse nearest-neighbor queries processing on road network | |
CN108040321B (zh) | 一种路网环境下抗重放攻击的位置匿名方法 | |
Beach et al. | q-Anon: Rethinking anonymity for social networks | |
Wang et al. | k‐anonymity based location privacy protection method for location‐based services in Internet of Thing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |