首页 能链洞察 区块链百科

K匿名算法(Ⅱ):如何“隐藏”于人群

K匿名算法(Ⅱ):如何“隐藏”于人群

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

上篇我们提到,整个20世纪80年代中期,计算机科学界对数据匿名已然失去了兴趣。直至15年后,K-匿名算法的提出,数据匿名化再次成为计算机科学的热门话题。

从表面上看,匿名只需要实现数据主体的匿名性;但仔细观察就会明白,仅仅从数据集中删除名字是不足以实现匿名的。匿名数据可以通过连接当前数据与另一个数据集来重新识别。这些数据本身可能并不是唯一标识符的信息,但当与其他数据集结合时就可以成为标识符。

1997年,哈佛大学教授Latanaya Sweeney就成功地从所谓的“匿名”健康数据中重新确认了时任马萨诸塞州州长William Weld的身份。科罗拉多大学法学教授Paul Ohm曾在其论文《Broken Promises of Privacy》中描述了这个案例。

K匿名算法

“当马萨诸塞州保险委员会(GIC)公布这些数据时,时任马萨诸塞州州长的William Weld向公众保证,GIC通过删除标识符保护了患者的隐私。作为回应,研究员Sweeney开始在GIC数据中寻找州长的医院记录。她知道William Weld州长居住在马萨诸塞州的剑桥市,这是一个拥有54000居民和七个邮政编码的城市。她花了20美元从剑桥市购买了完整的选民名册,其中包括每个选民的姓名、地址、邮政编码、出生日期和性别等信息。通过结合这些数据与GIC记录,Sweeney轻而易举地发现了Weld州长。在剑桥,只有6个人和他的出生日期相同,其中只有3个人是男性,而其中只有他住在邮编所在地。在一次戏剧表演中,Sweeney将州长的健康记录(包括诊断和处方)送到了他的办公室。”

Sweeney的研究结果对以隐私为中心的政策制定产生了重大影响,包括健康隐私立法HIPAA。但她也正式引入了k -匿名模型来克服旧匿名方法的缺点。

K匿名算法


简单来说,k-匿名是一种直观且应用广泛的数据隐私保护的方法。它通过将个人记录隐藏在一组相似的记录中来匿名数据,从而大大降低了个人被识别的可能性。如果每个人都是大群体的一部分,那么这个群体中的任何记录都可能对应一个人,从而实现 “隐藏”于人群中。

首先,在配置k-匿名前,我们需要知道数据集中的哪些字段包含敏感、识别或准识别信息?

1. 敏感信息是指不希望被别人知道的信息,例如,疾病或薪水。
2. 识别信息是直接识别个人的信息,如姓名或社会保险号。
3. 准标识信息可能不能惟一地标识一个个体,但如果与其他准标识符组合在一起,就能明确地识别。例如,邮编、年龄和性别都可以用来帮助将缩小到个人范围,这些被认为是准标识符,因为它们可以在其他数据源中找到。

其次,泛化是实现k-匿名的主要策略。我们知道仅删除标识符不足以保护隐私,因为记录可以通过准标识符重新识别。但利用层次结构使单个记录中的准识别信息不那么具体,从而减少了重新识别的范围。每一行中的属性都被替换为更高级别的组,直到数据集中的每个组包含最小k个成员。在这个过程中,层级越高即描述准标识信息的泛化程度越高。

K匿名算法K匿名算法


而在一个数据集中,每个个体在准识别列中的信息与至少k- 1个其他个体没有区别,才能被认为是k-匿名的。如下通过一定程度的泛化,实现k = 3的匿名。

K匿名算法


由此,K-匿名模型使得研究人员和分析师向能够以保护隐私的方式分析数据的目标又迈进了一步。但生成匿名数据并以合理的效用来平衡它仍然是一个非常复杂的过程,而且面临多种攻击……

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