基本定义
- 显示标识符(ID):记录的唯一标识
- 准标识符(QI):较高概率识别记录的最小属性集合
- 敏感属性(SA):需要保护的信息
- 非敏感属性(NSA):
为保护用户的数据隐私,通常在发布之前会删除显示标识符,但通过准标识符结合背景知识,也可以获得一次额敏感信息。所以通常对准标识符进行匿名处理。
k-匿名模型
k-匿名机制要求每一条记录至少和其他
k−1条记录在准标识符QI上一致。若将表
T(d)做投影,则投影中任意一条数据至少出现
k次。相同的QI可以构成同一个匿名组。
T(Q1,Q2,...Qd,S1,S2,...,Sm)描述一张数据表,简称为
T(d)。
d为准标识符的个数。
m为敏感属性的个数。
现有算法的k-匿名组规模上界
现有的k-匿名算法可以分成三类:单维概化(SG)、多维概化(MG)、局部编码(LG)。
表
T(d)中的每一条记录可以看成多维空间中的一个点,每个匿名组的规模就相当于其所对应的区域中包含记录的总量。SG和MG所产生的匿名化数据最大匿名组的规模在最坏情况下是
O(∣T(d)∣),匿名组的数量在最坏情况下是1。平均规模下的最坏情况也是
O(∣T(d)∣)。而对于LR,最大最坏匿名组规模上界不超过
2k−1。
匿名组的容量越大,收集的信息就越丰富,可用性就会降低,二数据集的平均匿名组规模越小,可用性就越高。
现提出基于取整划分函数的划分策略
对于给定系数
k,临时匿名组
X被划分成
X1和
X2,其中
∣X∣=dk+r,而
∣X1∣=⌊2d⌋k+⌊2r⌋,
∣X2∣=⌈2d⌉k+⌈2r⌉.
可以假设临时匿名组
X在第i维上的投影线段是
(q(i,x),q(i,y)),1≤x≤y≤∣Qi∣,共有
y−x−1个
Qi对应的实域序列元素。设置
y−x−1个计数器,讲
Px遍历一遍,在根据每个上的投影值计数,遍历完成后可以找到
j的分界线,将
Px分割成两个新的临时分组,其中两个临时匿名组满足
∣X1∣=⌊2d⌋k+⌊2r⌋,
∣X2∣=⌈2d⌉k+⌈2r⌉。
整个算法中,遍历所需要的时间为
O(n),表格
T(d)至多能够被分成
[kn]个多维区域,所以之多被划分
[kn]−1次,所以对于固定
k,整个算法的时间开销是
O(nlog2kn)。
通过整数划分函数的k-匿名算法所产生的匿名组平均规模趋近于k(在
T(d)足够大的时候),其中当
T(d)≥2k且k>3,其规模最坏情况是2k-1,当
T(d)≥2k2时,最坏情况为k+1。
一些推论和定理
1.给定表
T(d)和
k,若
∣T(d)∣=ak+b。若
[log2a]=x,则基于取整划分函数的匿名组最终规模不超过
k+[2xb]。
2.若第i层的某个匿名组的剩余k系数不超过
⌈2ib⌉,则由它产生的第i+1个匿名组的剩余系数k必然不会超过
⌈2i+1b⌉。
3.给定表
T(d)和k,且
∣T(d)∣=ak+b。若
[log2a]=x,则任意一个第i层匿名数组X的k系数
ai必然满足条件
2x−i≤ai<2x−i+1。