面向共谋攻击的位置隐私保护方案 ①
2021-01-13陈育德张国梁
王 超, 陈育德, 张国梁
(佳木斯大学信息电子技术学院,黑龙江 佳木斯 154007)
0 引 言
协作用户的方法显然便于将确定的攻击目标转换成不确定的移动变换目标,通过选定的可信协作用户,用户可将其查询内容通过该用户进行提交,使得真实位置被协作用户所隐藏[1, 2]。当经过多个协作用户的共同泛化后,使得不可信LBS获得用户位置的概率与随机猜测相等,极大的保护了用户的位置隐私[3, 4]。然而,这种方法的前提是确保协作用户的真实可信,尽管有的方法考虑到协作用户潜在的半可信性质,并通过加密的手段防止协作用户获取用户的查询信息,但是当协作用户可以和LBS共谋的情况下,简单的对查询信息进行加密显然无法保障用户的个人位置隐私[5-7]。
为了弥补当前已有隐私保护算法存在的不足,同时最大限度的平衡隐私与服务质量,基于Ciphertext-Policy Attribute-Based Encryption (CP-ABE),利用中心服务器与协作用户算法的特点提出了基于同类兴趣点查询分发反馈的隐私保护方法。该方法通过半可信的中心服务器与协作用户使得在单方以及多方半可信实体共谋的情况下能够保护用户的个人位置隐私。同时,方法基于半可信中心服务器的cache提供通信、计算量较低的连续位置服务隐私保护。另外,基于共谋指数以及信息熵[8],提出了针对多实体共谋的隐私泄露度量方法。基于该度量方法可以方便的量化在共谋实体数量变化情况下的用户隐私泄露量,为隐私保护算法效果的比较提供有效的评价标准。最后,通过模拟实验进一步分析所提出算法的执行时间和通信量,并通过可协作用户数量的变化评价所提出算法的隐私保护成功率。
1 预备知识
1.1 系统架构
与当前普遍存在的二层或三层系统架构不同,SQBCF算法采用的是一种如图1所示的四层系统架构,该架构能够保障用户完全隐藏在中心服务器与协作用户背后。其中,中心服务器负责公钥密钥分发、将加密后的查询进行广播并将加密的结果保存在cache中以备连续查询时使用;协作用户完成查询的提交与查询结果反馈;LBS服务器完成对兴趣点的查询与分发。整个基于位置的查询过程中,用户与LBS服务器之间不存在任何直接的交互,查询通过协作用户完成,并经由中心服务器进行反馈,一方面保障查询的真实性,另一方面保证用户在不同服务介质实体共谋情况下的安全性。
服务介质实体包括中心服务器和协作用户,服务实体指不同的LBS服务器。在整个服务过程中服务器介质实体可以相互之间进行共谋,包括协作用户之间以及协作用户与中心服务器之间共谋;同时,服务介质实体也可以和LBS服务器之间形成共谋。假设服务介质实体和LBS服务器均为半可信的,即以上实体一方面能够按照用户提出的要求提供隐私保护与查询服务,另一方面尝试通过各种方法主要是共谋攻击获取用户的位置隐私。
图1 SQBCF算法的系统架构
1.2 攻击模型和隐私度量
假设任何隐私保护的系统架构中,所有介质实体包括中心服务器和协作用户均为半可信实体,LBS服务器也为半可信实体。具体表现为以上实体能够按照既定协议提供隐私保护和基于位置的查询服务,同时这些实体又对用户的位置隐私存在非恶意的好奇,希望通过各种手段获得用户的位置隐私。在整个基于位置查询过程中,以上半可信实体可采用两种不同的攻击行为:一种可称作单实体攻击,即服务过程中可能获得用户信息的实体独立完成对用户隐私的攻击行为;另一种成为共谋攻击,即服务过程中可能获得用户信息的实体彼此共谋,共享各自得到的信息,并综合共享信息获取最大的用户隐私。
对于单实体攻击,其隐私保护程度取决于单实体获取的用户隐私信息量,表现为单实体在获得的经过泛化的信息总量中提取真实用户隐私的概率。例如:用户提交k个位置后,攻击者根据自身获得的信息猜测真实位置的概率为p(i) (1≤i≤k),然后根据极大似然估计推测用户的真实位置。由此,可得到攻击者对用户隐私信息识别的不确定度,该不确定度可使用信息熵加以表示:
(1)
该值越大表示攻击者对用户隐私信息判定性越低,用户的个人隐私受到的保护程度越高。
对于共谋攻击,由于很难界定共谋后每个实体获得用户隐私信息的数量,但是通过信息传递量可以界定实体间的隐私披露总量。因此,对于共谋攻击的隐私保护程度,通过共谋实体的隐私信息在给定隐私总量条件下随给定隐私总量变化的不确定度的缩减量加以度量。设当LBS未加入共谋时,介质实体可获得的用户隐私信息总量为X={x1,x2,…,xn};每个介质实体掌握的隐私信息占介质实体掌握总体隐私信息的百分比可表示为p(X)={p(x1),p(x2),…,p(xn)},则当介质实体彼此进行共谋时,介质实体间交互的信息总量可表示为介质实体交互过程中的信息变化量,该变化量的不确定度的缩减量可使用互信息加以度量,并表示为:
(2)
式(2)中:p(xixj)表示单个实体间交换的隐私信息百分比;n为介质实体数量。
若LBS参与共谋,其掌握的用户个人隐私总量为Y={y1,y2,…,ym} ,每个LBS掌握的隐私信息占总掌握隐私信息的百分比为p(Y)={p(y1),p(y2),…,p(ym)} ,则介质实体与LBS之间共谋后可交换的隐私信息量的不确定度的缩减量可表示为:
(3)
式(3)中:p(xiyj)表示单个实体与单个LBS之间可交换的隐私信息百分比;m为LBS数量。
当LBS将背景知识与介质实体间共谋时,其背景知识推测的用户个人隐私总量可表示为Z={z1,z2,…,zl},每个背景知识可推测出用户隐私信息百分比为p(Z)={p(z1),p(z2),…,p(zl)},则在背景知识条件下介质实体与LBS之间共谋后可交换的隐私信息量的不确定度的缩减量可表示为:
(4)
式(4)中:p(xiyj|zk)表示在背景知识Z下单个实体与单个LBS交互的隐私信息百分比;p(xi|zk)表示在背景知识Z下介质实体间的隐私信息交互百分比;p(yj|zk)表示在背景知识Z下LBS服务器之间隐私信息交互百分比;k表示背景知识数量。
1.3 隐私保护基本思想
针对半可信介质实体与LBS服务器对用户隐私进行共谋攻击的问题,通过将当前位置区域划分为网格,采用协作用户返回所在网格兴趣点的方法,完成用户的查询申请。真个查询过程中用户不需将所需兴趣点类型发送给各实体,且用户的真实位置可通过单元格泛化进一步加以保护。其中,网格中协作用户通过中心服务器广播进行区域限定;协作用户通过属性基加解密的方法保障协作用户可提供当前查询用户所需的兴趣点内容;为防止非共谋情况下CS获取查询结果,使用用户提供的对称密钥进行加密;共谋情况下CS获取结果则通过用户设定的泛化后的随机单元格加以模糊;针对LBS可能掌握各单元格与查询兴趣点之间的敏感度情况,在单元格泛化时应遵循敏感度不可区分标准。在整个查询过程中,共谋各方仅能获知当前用户可能位于选定的网格区域内,而无法获知具体网格。
2 SQBCF隐私保护方法
基于位置的查询服务主要有范围查询和连续查询两种不同的查询方式,这两种不同查询方式所需选择的单元格范围略有不同,为最大限度的保护用户的位置隐私,针对两种不同查询方式提出了基于敏感度不可区分的单元格选取方法。然后,在选定查询单元格的基础上给出了介质实体在整个查询服务过程中的处理方法。
2.1 范围查询下的单元格选择
用户在制定当前位置范围网格后,进行范围查询主要有如图2所示的两种情况。两种不同的查询范围需要用户发送不同的单元格范围给CS,以实现用户单元格泛化。针对第一种情况,用户可选择当前所在单元格,同时在当前网格内随机选取k个单元格参与查询范围泛化即可。针对第二种情况,采用将当前查询区域按照中心扩充的方法增加参与匿名的单元格数量,其增加单元格的方式是以当前查询范围的中点为圆心,每次向四周扩充一个单元格范围,直到扩充后的结果满足ε-敏感度不可区分。
图2 位置网格中的两种查询范围
扩充后的区域如图2b中的虚线部分所示。在完成对泛化单元格的选择后,用户生成的网格、选定的单元格以及按照属性基加密计算获得的对称密钥发送给CS。
2.2 连续查询下的单元格选择
连续查询与范围查询与范围查询不同,用户是在一个移动环境下对不同单元格提出查询申请,使用范围查询中的随机方法和中心扩充方法都存在安全隐患。例如:随机方法可能产生除用户真实单元格轨迹无其它轨迹的问题;中心扩充方法可能会导致真实轨迹位于匿名后多轨迹的中心位置。基于以上分析,本文针对连续查询过程中的网格选取提出了随机扩充方法,且要求随机扩充后的单元格同样满足ε-敏感度不可区分。
以图3所示的连续五次查询为例,可看到连续查询每次产生的单元格泛化后的结果。其中随机扩充方法是以当前单元格为基础,向四周随机选择下一单元格,重复这一操作,直道选定的单元格总敏感度与所需申请单元格敏感度之间满足ε-敏感度不可区分。与范围查询不同的是,在进行连续查询中需要CS将查询结果保存在cache中,用户可在每次查询时从CS获得加密的查询结果,而不需将所有单元格中的兴趣点保存在移动客户端。
图3 连续查询的网格匿名
2.3 SQBCF算法的处理过程
经过用户计算获得网格中所需单元格泛化结果后,用户须将计算生成的信息集发送给介质实体,以完成查询服务。介质实体在获得用户发送的消息后完成隐私保护下的查询服务。其具体处理过程如下:
1)用户将当前所在区域划分为网格形式,同时将查询兴趣点类型集合Pt按照中心服务器公布的公钥和主密钥建立映射属性的解密密钥。然后用户建立并将加密的查询信息发送给中心服务器,该信息可表示为M{G,CPABEENCpk(Ek,A),N,D,c}。其中,G为用户设定当前区域网格;CPABEENCpk(Ek,A)表示用户根据兴趣点Pt建立的属性权限策略A在使用公钥对用户对称加密密钥Ek加密后的密文;N表示该用户在设定的网格G中选定所需的单元格标识;D为使用兴趣点Pt、中心服务器公布的主密钥mk、公钥pk建立的基于指定兴趣点类型的解密密钥;c={0,1}用以标记该用户是否需要进行连续查询。
2)中心服务器收到有用户传递的信息M后,首先检测c的取值判断信息广播范围,若c取1则在整个网格区域进行广播,否则按照N表示的单元格进行广播。广播信息可表示为Mb{G,CPABEENCpk(Ek,A),D}。
3)位于当前区域中的协作用户在收到由中心服务器广播的信息之后选择是否提供协作服务,若不愿提供服务则丢弃信息包,否则尝试使用对CPABEENCpk(Ek,A)进行解密;若该用户成功解密则在获取自身查询结果后将当前所在单元格信息与使用Ek加密后的查询结果Ek(Pi)发送给中心服务器,该信息可表示为Mr{Ek(Pi),Gi}。协作用户具体信息处理过程可见如图4所示的服务介质处理流程图。
图4 服务介质处理流程图
4)中心服务器在收到不同协作用户返回的查询结果后,按照N所标识的网格位置将Ek(Pi)发送给用户,同时检查c,若取值为1则将所有返回结果保存在cache中,否则在完成指定标识结果反馈后丢弃由协作用户返回的查询结果。
5)用户将Ek(Pi)使用自身私钥解密获得泛化后的查询结果,经过提纯获得所需查询结果。
3 结 语
针对协作用户方法保护用户隐私可能存在共谋攻击的问题,提出了应对方法。首先从隐私信息披露的角度对可能共谋的攻击行为产生的信息流进行了理论分析,通过信息流产生的各实体之间的关系提出了隐私保护算法;然后介绍了该算法所需要的系统架构和隐私保护思想;最后给出了算法执行方式和处理流程。