一种防止位置依赖攻击的位置隐私保护方法

文档序号:7750764阅读:250来源:国知局
专利名称:一种防止位置依赖攻击的位置隐私保护方法
技术领域
本发明涉及位置服务领域,尤其是涉及一种防止位置依赖攻击的位置隐私保护方 法。
背景技术
为保护位置隐私,Gruteser和Grunwald提出了位置k-匿名。当且仅当一个用户 发送给服务提供商的位置与其它k-Ι个用户无法区别时称此用户满足位置k-匿名。为获 得位置k-匿名,用户的确切位置被扩展为一些匿名区域,使得每一个区域中至少包含k-个 用户。后来出现了很多基于位置k-匿名的工作。它们可以被分为3个问题第一,如何根 据用户隐私需求快速寻找匿名集;第二,如何修正位置k-匿名模型保护更多的隐私;第三, 如何有效的回答基于感知位置隐私位置的查询,如最近邻查询和范围查询。位置匿名按照用户隐私需求降低空间粒度。然而,很多算法关注用户snapshot位 置,而忽略了用户连续位置更新。当移动用户连续频繁的发送查询,可能造成隐私泄露的现 象。如果一个攻击者(如服务提供商)搜集用户历史匿名区域同时知道用户的运动模式 (如最大运动速度),用户的位置隐私受到威胁。例如图1所示,用户A、B、C在时刻ti组成 匿名区域RA,ti ;用户A、E、F在时刻ti+1组成匿名区域RA,ti+1.如果攻击者知道用户上一个 时刻匿名区域Ra,ti和最大运动速度vA,用户A在ti+1的位置被限定于最大运动边界(maximum movement boundary,MMB)MMBa,tijti+1当中。从而,攻击者可能推测出用户A在ti+1 —定位于 MMBA,ti,ti+1和RA,ti+1的交集(如阴影区域)中。最坏情况下,如果重叠位置只是一个位置点, 则用户确切的位置被泄露。

发明内容
本发明是鉴于上述技术问题而产生的。本发明的一个目的是提出一种防止位置依 赖攻击的位置隐私保护方法。在一个方面中,根据本发明的防止位置依赖攻击的位置隐私保护方法包括步骤 A、移动用户将查询请求r = (id,l,q,k,V,Amin)发送给匿名服务器,其中该查询请求形式 为,其中id为用户标识符,1为用户当前位置(X,y),q为查询内容,ν是移动用户的运动速 度,k是用户的最小隐私度需求,Amin是用户要求的匿名后的最小面积;B、匿名服务器对查 询请求r = (id,l,q,k,v,Amin)进行位置匿名处理,并将匿名处理后的请求r' = (id', R,q)发送给提供位置服务的数据库服务器;C、数据库服务器根据所接收到的请求r'= (id',R,q)进行查询处理,并将查询结果的候选集返回给匿名服务器;D、匿名服务器从数 据库服务器返回的候选结果中选择正确的查询结果返回给相应的移动用户。在这个方面中,其中步骤B进一步包括步骤B1、匿名服务器将所接收到的查询请 求r = (id, 1,q, k)中的用户id转换为假名id’,并记录id与假名id’的对应关系;B2、 匿名服务器根据用户的速度ν求得其最大运动边界MMB ;B3、依次扫描空间中的查询,建立 查询请求r的堆栈vNrofMO ;B4、依次扫描查询请求r的vNrofMO中的每个查询,从而维护CRSet中的极大团,其中CRSet是匿名服务器中的查询的数据结构图;B5、从CRSet中取出 所有包含r的团,组成canCR,并得到候选匿名集Csti ;B6、对于候选匿名集CSti中的每一 个用户u而言,计算d = MaxMinD (RiutH,CRu,ti),并由此得到其中最大的d即δ d,并且发布 匿名区域R,其中CRu, ti是在CSti中的用户的形成的最小边界矩形,RiutH是在tg时刻该 查询的匿名位置。在这个方面中,其中步骤B4进一步包括步骤B41、从CRSet中找出每个查询ν所 在团集合Cv ;Β42、从CRSet中找出r所在团集合Cw ;B43、求得Cv和Cw的交集Cw ;B44、从 Cv中删除包含ν但不再极大的团;B45、从Cw中删除包含w但不再极大的团;B46、依次取 出Cw中的每一个元素,加上r和ν点后插入CRSet中。在这个方面中,其中步骤B5进一步包括步骤B51、将CanCR中的团按照团大小降 序排序,其中团大小是指团中包含的结点数;B52、取出CanCR中的团大小最大的团c,将团 中最大隐私度表示为max_k ;B53、如果max_k < | c |,则c为正候选,插入Csti,并转入步骤 B6 ;B54、如果MBR(c) < Amin或者c彡max (v. k,min_k),则c为非候选。其中MBR表示 覆盖团c的最小边界矩形的面积,v. k表示用户ν的隐私度需求;B55、如果既不是B53的情 况也不是B54的情况,则将团中每一个用户按照隐私度需求k非升序排序,从而得到候选匿 ^x ^^ Csti ο通过本发明,可以防止由于用户提出基于位置服务,并连续运动的情况下,而产生 的位置隐私泄露的问题,保护了那些发生连续位置更新的移动用户的位置隐私,让用户享 受方便快捷的基于位置的服务。


结合随后的附图,从下面的详细说明中可显而易见的得出本发明的上述及其他目 的、特征及优点。在附图中图1示出了根据现有技术的示意图;图2示出了根据本发明的防止位置依赖攻击的位置隐私保护系统的方框图;图3示出了根据本发明的防止位置依赖攻击的位置隐私保护的方法的流程图;图4示出了根据本发明的位置匿名处理过程的详细流程图;图5示出了根据本发明的数据结构的示意图;图6示出了根据本发明的用于说明MMB覆盖的一个例子的示意图;图7示出了根据本发明的最小边界矩形的示意图; 图8示出了用于对MBR进行说明的示例。
具体实施例方式为了更全面地理解本发明及其优点,下面结合附图及具体实施例对本发明做进一 步详细地说明。首先,参考图2,图2示出了根据本发明的防止位置依赖攻击的位置隐私保护系统 的方框图。如图2所示,根据本发明的系统包括移动用户、匿名服务器、以及基于位置服务 的数据库服务器。移动用户用于将包含精确位置的查询请求发送给匿名服务器,其中该查询请求形
4式为r = “(!,^(!,!^^^!^!^“(!为用户标识符,丨为用户当前位置(x,y),q为查询内容, ν是移动用户的运动速度,k是用户的最小隐私度需求,Amin是用户要求的匿名后的最小面 积。匿名服务器用于利用某种匿名算法完成位置匿名后,将匿名后的请求发送给提供 位置服务的数据库服务器。匿名后的查询请求形式是r' = (id',R,q)。此外,匿名服务 器还用于从数据库服务器返回的候选结果集中挑出真正的结果返回给移动用户。数据库服务器用于根据匿名区域进行查询处理,并将查询结果的候选集返回给位 置匿名服务器。接下来,结合图2和图3,对根据本发明的防止位置依赖攻击的位置隐私保护方法 进行详细的说明。如图3所示,根据本发明的方法包括以下步骤步骤A 移动用户将包含精确位置的查询请求发送给匿名服务器,其中该查询请 求形式为r = (id, 1,q, k,v,Amin)。其中id为用户标识符,1为用户当前位置(x,y),q 为查询内容,ν是移动用户的运动速度,k是用户的最小隐私度需求,Amin是用户要求的匿 名后的最小面积。例如张三想利用自己带有GPS的手机提出寻找距离他现在位置最近的医院, 那么张三将发送查询请求r =(张三,1 = (3,4),距离现在位置最近的医院,3,30km/h, 100m2),其中id = “张三”,1 = (3,4)为用户当前位置,q为“距离现在位置最近的医院”, k表示隐私需求,即要求在隐私保护后的位置中至少包含的用户数的最小值,例如在上面的 例子中用户要求 k = 3, ν = 30km/h, Amin = IOOm20步骤B 匿名服务器对查询请求r = (id, 1,q,k,ν, Amin)进行位置匿名处理,并 将匿名处理后的请求r' = (id',R,q)发送给提供位置服务的数据库服务器。其中id’ 是用户的假名,例如在上面的例子中id'变为“E”,R是匿名后位置,如R= {(0,5) (2,7)}, q查询内容不变。首先,对匿名服务器所使用的数据结构bitset CRSet (即所有极大团组成的集合 来存储一个图)进行简单的说明。如图5所示,例如查询请求空间中一共有六个用户A、B、 C、D、E、F。该图中一共有五个极大团,即{{A,B,C},{Α, Ε, F}, {Α,C,D},{A,E,D},{A, B, F}}。{A,D,E}以100110存入CRSet中,其它极大图类似。极大团即极大完全图。在此,将 数据结构中的结点称为用户。但是,应注意的是每个用户对应一个查询请求,例如用户E对 应查询请求r,因此在下文中,为方便描述起见,也可将该数据结构中的结点称为查询请求。下面对匿名服务器对查询请求的位置匿名处理流程进行更加详细地描述。如图4所示,步骤B进一步包括步骤Bl 匿名服务器将所接收到的查询请求r = (id,l,q,k)中的用户id换为假 名id’,并记录id与假名id’的对应关系。步骤B2 匿名服务器根据用户的速度ν求得其最大运动边界,该最大运动边界用 一个圆角矩形表示,记为mmb。应该注意的是,求解最大运动边界为本领域普通技术人员所熟知的技术,因此在 这里不再详述。例如如图1所示,圆角矩形是MMBA,ti,ti+1。在、=0的初始时刻,mmb为无 穷大。
步骤B3 依次扫描空间中的查询,建立查询请求r的堆栈vNrofMO。具体地说,空间中的现有每个查询具有与r相同的参数格式。对于其中的任意一 个查询vm,如果r被Vm的mmb覆盖,同时Vm被r的mmb覆盖,插入Vm到堆栈vNrofMO中,并 且在r与Vm之间建立一条边,以此类推,建立如图5所示的数据结构图。例如,如图6所示,vl被v2和v3的mmb覆盖,同时v2、v3的mmb又覆盖vl,所以 在vl和v2、vl和v3之间建立一条边。根据类似的原理,建立其前面A F组成的图,并建 立起A与其它顶点的边。对于A来说,其vNrofMO = {A,D,F,C},也就是说,把C和D插入 到vNrofMO当中。在该步骤中,建立查询请求r的堆栈vNrofMO以帮助步骤B4维护数据结构CRset。步骤B4 依次扫描查询请求r的vNrofMO中的每个查询,从而维护CRSet中的极大团。具体地说,该步骤B4进一步包括步骤B41 从CRSet中找出每个查询ν所在团集合Cv。例如,以图5为例,包含C 的团为 Cv= {A,B,C}和{A,C,D}。步骤B42 从CRSet中找出r所在团集合Cw。例如,以图5为例,包含E的团为Cw ={A, E, F}和{A, E, D}。步骤B43 求得Cv和Cw的交集Cvw。通过上面的例子可知,Cv和Cw的交集Cvw 为即{A,D}。步骤B44 从Cv中删除包含ν但不再极大的团。例如,在前面的例子中,即删除团 {Α,C,D}。步骤Β45 从Cw中删除包含w但不再极大的团。例如,在前面的例子中,即删除团 {A,E,D}。团上的集合操作为向量位操作。团Ci和团Cj的交即Ci Λ c」。如果Ci Λ Cj = Ci,则 Ci 是 Cj 的子集。例如,{Α,B,C} = 111000,{Α,B,C} Λ {Α, B} = 111000 Λ 110000 =110000,因此{A, B}是{A, B, C}的子集。步骤B46 依次取出Cvw中的每一个元素,加上r和ν点后插入CRSet中。例如, 在前面的例子中,即把{A,D,Ε,C}插入CRSet中。步骤Β5 从CRSet中取出所有包含r的团,组成CanCR,并得到候选匿名集Csti。 例如,在前面的例子中,CanCR即为{A,D,E,C}和{A,E,F}。具体地说,该步骤B5进一步包括步骤B51 将CanCR中的团按照团大小降序排序。团大小是指团中包含的结点数, 如团{A,D,E,C}的团大小为4,团{A,E,F}的团大小为3。步骤B52 取出CanCR的顶部团(即、CanCR中团大小最大的团)C。将团中最大隐 私度表示为max_k。例如,在前面的例子中,取出顶部团c = {A(2),D(3),E(3),C(3)},假 设括号中的数字为每一个查询提出时每个用户的最小隐私度。Max_k是这些值的最大值,即 3。步骤B53 如果maX_k < c |,则c为正候选,插入Csti,并转入步骤B6。步骤B54 如果MBR(c) < Amin或者c彡max (v. k,min_k),则c为非候选。其中 MBR表示覆盖团c的最小边界矩形的面积。Amin表示每个用户的最小面积要求。v. k表示用户ν的隐私度需求,即为用户查询请求r中的k。下面以图5和图8为例,对MBR进行简单地说明。以{A,D,E,C}为例,每一个用 户都有一个坐标值,根据每一个用户的χ,y值即可获得在每一个纬(即χ,y轴)上的最小 和最大值。在上面的例子中,其最小边界矩形的坐标为{(1,1). (3,4)},面积为6。步骤B55 如果既不是B53的情况也不是B54的情况,则将团中每一个用户按照隐 私度需求k非升序排序,从而得到候选匿名集CSti。具体地说,依次去掉顶部元素(即团中隐私度要求最大的用户),并更新maX_k ;判 断是否 max_k< c 或者(MBR(c) < Amin 或者 |c| ^max (v. k, min_k)),如果前者成立, 则将c插入CSti,并进入步骤B6,CSti是候选匿名集;如果后者成立,则处理结束。步骤B6 对于候选匿名集CSti中的每一个用户u而言,计算d = MaxMinD (Ru^, CRu,ti),并由此得到其中最大的d即Sd,并且发布匿名区域R。以用户id为关键字,在匿名 服务器中找到存储的用户u在上一个时刻产生的匿名位置Ru, η其中CRu, ti是在CSti中的用户的形成的最小边界矩形。RuitH是在tg时刻该查 询的匿名位置。换句话说,匿名服务器为每一个查询计算出一个匿名位置后,并将其存储在 匿名服务器中以帮助下一次计算使用。如在上面的例子中,经过步骤B5获得CSti = {A, E,F}。A、E、F组成的最小边界矩形如图7所示。MaxMinD (Ru,旧,CRu, ti)的定义如下MaxMinD(Rl^l5CRj) = max{ v^eRi|min{ v^ e CRj|distance(p, q)}具体地说,如果d > vu* (W1),δ d = “冲厂、),其中vu表示用户u的速 度。计算出在同一个匿名集CSti中所有用户的d后求出一个最大值δ(1,在Ru,tg相对于 匿名区域CRti的方向上,将CRu,ti扩展Sd,并且发布匿名区域R。此距离的计算是为大家 所熟知的技术在此不对其做详述。步骤C:数据库服务器根据所接收到的请求r' = (id',R,q)进行查询处理,并 将查询结果的候选集返回给匿名服务器。应该说明的是,数据库服务器的查询处理是为大 家所熟知的技术,并且不是本发明的重点,因此在此不对其做详述。步骤D 匿名服务器根据用户的真实位置从数据库服务器返回的候选结果中,选 择正确的查询结果返回给相应的移动用户。通过本发明可知,可以防止由于用户提出基于位置服务,并连续运动的情况下,而 产生的位置隐私泄露的问题,保护了那些发生连续位置更新的移动用户的位置隐私,让用 户享受方便快捷的基于位置的服务。此外,对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因 此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施 例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情 况下,可对其做出各种修改。
权利要求
一种防止位置依赖攻击的位置隐私保护方法包括步骤A、移动用户将查询请求r=(id,l,q,k,v,Amin)发送给匿名服务器,其中该查询请求形式为,其中id为用户标识符,l为用户当前位置(x,y),q为查询内容,v是移动用户的运动速度,k是用户的最小隐私度需求,Amin是用户要求的匿名后的最小面积;B、匿名服务器对查询请求r=(id,l,q,k,v,Amin)进行位置匿名处理,并将匿名处理后的请求r′=(id′,R,q)发送给提供位置服务的数据库服务器;C、数据库服务器根据所接收到的请求r′=(id′,R,q)进行查询处理,并将查询结果的候选集返回给匿名服务器;D、匿名服务器从数据库服务器返回的候选结果中选择正确的查询结果返回给相应的移动用户。
2.根据权利要求1的方法,其中步骤B进一步包括步骤Bi、匿名服务器将所接收到的查询请求r= (id,l,q,k)中的用户id转换为假名id’, 并记录id与假名id’的对应关系;B2、匿名服务器根据用户的速度ν求得其最大运动边界MMB ; B3、依次扫描空间中的查询,建立查询请求r的堆栈vNrofMO ; B4、依次扫描查询请求r的vNrofMO中的每个查询,从而维护CRSet中的极大团,其中 CRSet是匿名服务器中的查询的数据结构图;B5、从CRSet中取出所有包含r的团,组成canCR,并得到候选匿名集Csti ; B6、对于候选匿名集CSti中的每一个用户u而言,计算d = MaxMinD (Ru^,CRlljti),并 由此得到其中最大的d即δ d,并且发布匿名区域R,其中CRu, ti是在CSti中的用户的形成 的最小边界矩形,Ru,ti-!是在tg时刻该查询的匿名位置。
3.根据权利要求2的方法,其中步骤B4进一步包括步骤 B41、从CRSet中找出每个查询ν所在团集合Cv ;Β42、从CRSet中找出r所在团集合Cw ; B43、求得Cv和Cw的交集Cvw ; B44、从Cv中删除包含ν但不再极大的团; B45、从Cw中删除包含w但不再极大的团;B46、依次取出Cvw中的每一个元素,加上r和ν点后插入CRSet中。
4.根据权利要求3的方法,其中步骤B5进一步包括步骤B51、将CanCR中的团按照团大小降序排序,其中团大小是指团中包含的结点数; B52、取出CanCR中的团大小最大的团c,将团中最大隐私度表示为max_k ; B53、如果max_k< c |,则c为正候选,插入Csti,并转入步骤B6 ; B54、如果MBR(c) < Amin或者c|≤max (v. k,min_k),则c为非候选。其中MBR表示 覆盖团c的最小边界矩形的面积,v. k表示用户ν的隐私度需求;B55、如果既不是B53的情况也不是B54的情况,则将团中每一个用户按照隐私度需求 k非升序排序,从而得到候选匿名集Csti。
全文摘要
一种防止位置依赖攻击的位置隐私保护方法,该方法包括步骤移动用户将查询请求r=(id,l,q,k,v,Amin)发送给匿名服务器;匿名服务器对查询请求r=(id,l,q,k,v,Amin)进行位置匿名处理,并将匿名处理后的请求r′=(id′,R,q)发送给提供位置服务的数据库服务器;数据库服务器根据所接收到的请求r′=(id′,R,q)进行查询处理,并将查询结果的候选集返回给匿名服务器;匿名服务器从数据库服务器返回的候选结果中选择正确的查询结果返回给相应的移动用户。
文档编号H04L29/06GK101909050SQ20101019336
公开日2010年12月8日 申请日期2010年6月7日 优先权日2010年6月7日
发明者孟小峰, 潘晓 申请人:孟小峰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1