天天看点

《位置大数据隐私管理》—— 2.3 查询同质性攻击

本节书摘来自华章出版社《位置大数据隐私管理》一 书中的第2章,第2.3节,作者潘晓、霍 峥、孟小峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

简单来讲,查询同质性攻击即攻击者结合匿名集中发布查询的语义窥探用户隐私。在极端情况下,如果一个匿名集合中的所有服务请求都表示了同样的内容,如同一匿名集中用户均提出了一个“寻找肿瘤医院”的查询,则攻击者无须获知用户的具体位置,也无须确定哪个用户提出了哪个查询,也可推测攻击目标的健康状况[53]。如图2-14所示,用户a、b和c组成匿名集。虽然攻击者无法确定用户的确切位置以及每一个查询的提出者,但是由于3个查询内容均与医院有关,所以用户的敏感信息泄露。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

在给出具体的攻击模型定义前,首先给出几个基本定义。

敏感关系r:设caset是查询类别集合,sset是敏感度集合。令敏感关系r={(a, b)| a∈caset, b∈sset且 (a1, b1), (a2, b2)∈r,若a1=a2,则b1=b2}。

从定义2-8可以看出,敏感关系r是一个从查询类别集合到敏感度集合的多对一的二元关系。例如,存在敏感关系{(紧急急救呼叫,more secret),(敏感位置路径导航,top secret),(位置敏感账单,secret),(购物导引,less secret),(旅游工具,non-secret),(产品追踪,non-secret)},其中,查询类别集合={紧急急救呼叫,敏感位置路径导航,位置敏感账单,购物导引,旅游工具,产品追踪},敏感度集合={top secret, more secret, secret, less secret, non-secret}。

很明显,根据多对一的二元敏感关系r的定义,空间中的任意两个查询具有以下两个性质。

性质1:若两个查询的查询类别相同,则查询敏感度一定相同。

性质2:若两个查询敏感度不同,则查询的类别一定不同。

当为查询标注类别后,即可通过敏感关系r获得该查询的敏感度。需要说明的是,敏感度值可以是类别属性值,如{top secret, more secret, secret, less secret, non-secret},也可以是标准化的[0, 1]之间的数值,数值越大说明敏感度越高。类别属性值和数值之间可以相互转化。后者转化为前者较容易,这里对类别属性值向数值类型转化进行定义。

查询敏感度值数值化:设sset={s1,s2,…,si,…,sn}是由类别属性值组成的敏感度集合。将sset中的值按照敏感度强弱由大到小排序,即s1>s2>…>si>…>sn。通过公式(2-3)将sset中的类别属性值转化为[0, 1]之间的数值:

《位置大数据隐私管理》—— 2.3 查询同质性攻击

如sset={top secret, more secret, secret, less secret, non-secret},则根据上面的公式将sset数值化,数值化后的值见表2-1。方便起见,下文中均采用数值表示查询敏感度值。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

匿名集中用户的敏感信息泄露反映为匿名集中的查询类别(如图2-14所示)或敏感度相同。图2-15展示了一个因为查询敏感度相同造成的隐私泄露的例子。{d, e, f}组成匿名集。在该匿名集中,虽然查询内容均不同,但从用户的角度来看,这3类查询均属于敏感查询,用户不愿攻击者将自己与任何一类查询建立联系。根据性质1,查询类别相同是敏感度相同的特例,所以用敏感度定义感知查询语义的敏感同质性攻击。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

与敏感位置同质性攻击类似,查询敏感同质性攻击为每一类查询设定一个敏感度值。查询敏感同质性攻击定义如下。

查询敏感同质性攻击:设cs是一个匿名集,对于任意用户u∈cs,根据用户u的查询敏感度需求u.ts可获得在用户u看来,cs中包含的敏感查询个数,记为count_squ。若在cs中存在用户u,其集合敏感度需求u.p< ,其中|cs|表示cs中包含的用户个数,称此攻击为查询敏感同质性攻击。

如图2-16所示,不考虑用户集合{h, i, g}中用户提出的查询内容,仅看其提出查询的敏感度。简单起见,设所有用户的查询敏感度需求ts均为0.25,则在该匿名集中所有查询对3个用户来讲均为敏感查询。再设所有用户的集合敏感度需求p均为0.4,3个用户的 =1。所以{h, i, g}中用户的集合敏感度需求均未得到满足,则该用户集合存在查询敏感同质性攻击的问题。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

在给出查询p-敏感模型的定义前,首先定义用户个性化隐私需求和查询请求在匿名服务器中的存在形式。

个性化隐私需求:系统中每一个用户均可设置个性化的隐私需求,形式化地表示为一个三元组:profile=(k, ts, p)。其中

匿名度需求k,用户可接受的最小匿名度,即用户要求在匿名集

中至少包含的用户个数。

查询敏感度需求ts,用户可容忍的查询敏感度最高值。若某查询的敏感度大于ts,则此查询在该用户看来属于敏感查询;反之,该查询属于非敏感查询。

集合敏感度需求p,表示用户可接受敏感查询在匿名集合中所占比例的最大值。

例如,某用户u设置隐私需求profile=(3, 0.5, 0.4),表示用户要求在匿名集中至少包含3个不同用户;匿名集中包含的查询,若查询敏感度大于0.5,则用户u视该查询为敏感查询;在u看来,匿名集中包含的敏感查询在所有查询中所占的比例不能超过0.4。注意,在用户设置隐私需求时,若用户u自身提出的查询属于敏感查询,则匿名度需求k和集合敏感度需求p之间应满足 。

待匿名查询:匿名服务器中待匿名查询被形式化地表示为(id, loc, profile, q, qs),其中,id表示查询标识符;loc=(x, y)即该查询所在空间位置;profile表示提出该查询用户的隐私需求;q表示查询内容;qs是将查询内容q所属类别与敏感关系r连接后获得的敏感度。

设匿名服务器中存在一条待匿名查询(a001,(2, 3),(3, 0.5, 0.4),“距离我最近的肿瘤医院”,0.75),表示含义如下:id为a001的用户在位置(2, 3)处提出了寻找“最近肿瘤医院”的查询;用户匿名度需求为3,查询敏感度需求为0.5,集合敏感度需求为0.4;“查询肿瘤医院”对应的查询敏感度qs=0.75。由于该查询敏感度需求(0.75)大于用户查询敏感度需求(0.5),所以对于用户a001来讲,自己提出的是一个敏感查询。简单起见,本书以u.k表示用户u的匿名度需求,u.ts 表示查询敏感度需求,u.p表示集合敏感度需求。

为防止敏感同质性攻击,文献[87]提出了个性化(k, p)-敏感匿名模型。

个性化(k, p)-敏感匿名模型:设cs是移动用户组成的集合,若cs满足以下条件:

位置k-匿名模型,即 。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

则称cs满足个性化(k, p)-敏感匿名模型。

图2-17显示了用户u1、u2、u3组成的匿名集(见图2-17a)以及三者隐私需求(见图2-17b)。根据定义2-13,由u1、u2、u3组成的匿名集合满足个性化(k, p)-敏感匿名模型。

《位置大数据隐私管理》—— 2.3 查询同质性攻击

继续阅读