首页 能链洞察 区块链百科

K匿名算法(Ⅲ):走出困境的方法

K匿名算法(Ⅲ):走出困境的方法

发布时间:2020.10.21
“数据的共享开放”是科学和技术进步的基础,也是研究和开发新应用的必要条件。然而,无论是个人还是企业用户,数据的共享需要考虑适当的保护措施,特别是包含隐私数据时。K匿名算法便是一种保护隐私的数据挖掘方法,然而其发展几经波折。

如前文所介绍,k-匿名作为一种数据隐私保护模型,通过将个人信息隐藏在一组相似的记录中实现匿名化,从而大大降低个人被重新识别的可能性。

但生成匿名数据并以合理的效用来平衡它,仍然是一个非常复杂的过程。

就其本身而言,由于泛化过程会引入不同类型和不同程度的失真,K-匿名使得原数据失去了提供更多信息的潜力,即通过值的属性及其他相关信息得出结论的能力,或者说可能会降低分析结果的准确率。

K匿名算法


另外一方面,K-匿名技术虽然可以阻止身份信息的公开,但无法防止属性信息的公开,导致其无法抵抗同质化攻击、背景知识攻击、未排序攻击、补充数据攻击等情况:

1. 同质化攻击:某个k-匿名数据子集内对应的敏感属性的值完全相同,这使得攻击者可以轻易获取想要的信息。例如,在K-匿名医疗信息表中,某个数据子集记录的3条敏感数据都是心脏病,这时候K-匿名就很容易被攻破。攻击者只要知道某用户的邮编和年龄在此数据子集范围内,就可以确定他有心脏病。

2. 背景知识攻击:即使k-匿名组内的敏感属性值并不相同,攻击者也有可能依据其已有的背景知识以高概率获取到其隐私信息。如果某一数据子集涵盖心脏病、乳腺癌、恶性肿瘤、骨折等疾病类型,攻击者通过邮编和年龄能够确定用户所在的数据子集后,加之他知道用户患其他疾病的可能很小,那么就可以确定用户曾经患有心脏病。

3. 未排序攻击:当公开的数据记录和原始记录的顺序一样的时候,攻击者可以猜出匿名化的记录是属于谁。例如,当攻击者知道在数据集中,用户A是排在用户B前面,那么他就可以确认用户A和用户B所对应的敏感信息。当然,这类解决方法也很简单,在公开数据之前先打乱原始数据的顺序就可避免此类攻击。

4. 补充数据攻击:当公开的数据有多种类型,如果他们的K-匿名方法不同,那么攻击者可以通过关联多种数据推测用户信息。

K匿名算法


因此,在许多实际应用中,为了获得更高的数据可用性,往往牺牲了匿名化的优势。这种做法甚至有法律支持。1974年《德国联邦数据保护法》对匿名化的定义如下:

“匿名化是对个人数据的修改……这样,个人信息或事实情况就不能再归因于某个已被识别的自然人,或者只能归因于不成比例的大量时间、成本和劳动力支出。”

由于这种说法,术语“事实匿名化”被创造出来。当时人们已经很清楚,匿名化程序不能保证隐私。而在“事实匿名化”的情况下,不能完全排除敏感信息的泄露,但这需要攻击者付出“不成比例”的巨大努力。

这就像是一个法律的灰色地带——没有一个官方机构可以检查匿名化的过程,也没有一个官方机构去判定匿名化不足的法律后果。

直至2006年,游戏规则稍有改变,微软研究院的Cynthia Dwork发表了一篇关于“差分隐私”概念的论文。与k -匿名相似,差异隐私并不是一种匿名化方法,而是隐私的数学模型。然而,更具突破性的是,差异隐私保护方法定义了一个极其严格的攻击模型,并对隐私泄露风险进行了严谨的数学证明和定量化表示……

*本文图片来源于网络,仅供学习交流使用,不具任何商业用途,图片版权归原作者所有,如有侵权还请联系我们,谢谢!