数据匿名化,能保护你的隐私安全吗?

数据匿名化,能保护你的隐私安全吗?

本文为【友盟+】数据委员会会长、阿里数据安全高级专家 张金在2017中国IT市场年会的演讲。

在大数据时代,数据不应该是孤岛,连接互通的数据才有价值,但是数据共享与数据隐私是相互矛盾的。今天很多数据其实是个体的数据,在分析挖掘过程中,必然对个人隐私产生了一定冲击。如何即保证数据共享,进行有效的数据价值挖掘,又同时保护数据隐私?

比如,在医疗领域会通过挖掘个体的疾病情况,试图找出疾病发生的根源。一般,会把疾病数据分为两类:一是标注的数据,可以快速定位到个体;另外一种是敏感属性,什么类型的人、有什么类型的疾病。

挖掘,通常把标识的数据进行调整,同时保证敏感的数据不变。即把姓名删除、电话加密;性别和疾病不做任何处理。

但这种做法,漏洞非常大。比如,会场中有500个人,499都是男性,只有1名女性。大家马上就可以定位到女性是谁。因此匿名化的过程中,大家提出了K匿名化方法,希望至少对每一个隐藏掉的数据都是有K的标识的。比如像787112和78754只出现过一次,输出的时候必须做模糊处理,增加破译的难度,目前很多数据安全规范也在反复强调这件事。

但是今天,数据量暴增,是以前很难想象的。大数据以及计算能力的提升,对简单的匿名化提出了挑战。

1

最早关于匿名化实效的一个案例在美国。马塞诸塞州的州政府,把医疗记录公开了出来,他们也做了一些匿名化的处理,把姓名、街道、社会保险号做了删除。当时州长认为,我们做了隐私保护,不会让公众知道具体的人。

但这件事很快引起哈佛教授的注意,她试图证明这件事有风险。当时美国有个数据库,register to vote,每次大选,选民投票都要登记姓名、生日、邮编等信息。

哈佛教授将两个数据(医疗记录、选民登记信息)进行比对,将州长的生日作为筛选条件后,只剩下6个人,加上性别剩下3个人,加上邮编,很轻松的把州长定位出来了,州长的医疗记录被暴露出来,这是非常大的隐私泄露。同时进一步的研究发现,美国87%的人都可以通过邮编、性别、生日三个信息识别出来。

数据共享与数据隐私的的矛盾是巨大的,根源在于,敏感信息虽然做了K匿名化,但是依然幅度不够,依然会泄露,顶多是从100维降到了3维。

2

第二案例,Netflix不仅是在线影片租赁提供商,更像是一家数据公司。推荐引擎是Netflix的一个关键服务,1千多万顾客都能在个性化网页上对影片做出1-5的评级。Netflix将这些评级放在一个巨大的数据集里,该数据集容量超过了30亿条。Netflix使用推荐算法和软件来标识具有相似品味的观众对影片可能做出的评级。

2009年Netflix举办了一场Netflix大奖赛。他们公开一批匿名数据,允许参赛团队使用以得出更好的算法。他们从获胜的团队中得到了现有算法10.06%的提升。

而奥斯汀的2位教授,拿一个公开评级网站IMDb的注册会员数据,将两份数据对比,仅需“电影评级+时间”两个维度,就将大部分人的数据暴露了。这其实是很恐怖的,因为在IMDb上是公开的,在Netflix是一个私人的影院,但是这样一对比就泄漏了。

这背后的原理是矩阵信息性的问题,可以想象我们的所有行为,像刚才说的评论是特别高维的矩阵,可以升级为高维空间。在那个空间里,我们每个人都是稀疏的,最终都是一个小点。数据专家一研究,通过2个评级就从50万定位到8个范围;如果用4个评级,就可以把唯一的“人”标识出来。也就是说,今天数据的匿名化过程,借助外部的辅助数据很容易就把人定位出来。

3

2015年,为了研究匿名化的信用卡元数据是否能保护用户隐私,麻省理工(MIT)分析了经合组织110万信用卡用户三个月的匿名化消费记录——即去掉了名字等身份标识。根据发表在《科学》上的报告,研究人员发现匿名的数据并不匿名,因为用户有着习惯性的或独特性的消费模式,可被用于识别身份。只需要4对消费时间和地点的观测数据就足以在数据库中识别90%的唯一个体。他们发现,女性及在较高收入范围内的人更容易通过这种方法被识别,这可能是因为他们在其所去商店之间的时间分配有着独特的模式。

因为每个人都是特殊的,都跟别人不同,我们享受数据便利的同时,也付出了隐私的代价。而如何平衡这两点,从方法论和技术角度,提升隐私。是数据行业必须解决的。

虽然匿名化目前面临很多挑战,但是我们的科学家们也没有停止寻找解决方案。

1

差分隐私

差分隐私的目标是最大化查询准确率并且最小化隐私泄露的风险。前提是,一个单独的个体的加入或删除对统计结果没有影响;方法是对查询结果加噪声,使其无法区别是来自哪个数据集。

差分隐私的最早出处是:

WWDC 2016 上,在一些即将到来的 iOS 10 新特性描述的中间,苹果的软件工程高级副总裁在讨论中突然出现了一点抽象的数学。他讲了一个叫做“差分隐私”的东西,一种基于统计学方法来保护用户隐私的重要工具。

从iOS 10开始,苹果将利用差分隐私保护技术来帮助发掘其大量用户的使用习惯,并确保不侵犯个人的隐私。为了模糊处理个人的身份,差分隐私保护向个人使用习惯的小样本中增加数学噪声。随着越来越多人呈现出相同的使用习惯,一般性模式浮现,从而有利于明确用户体验并帮助进行改善。在iOS 10,这种技术将帮助改进QuickType键盘和表情推荐、Spotlight深度链接推荐等。

2

同态加密

原理非常朴素,把所有的数据加密,直接在加密的数据上做分析,同时依然能够得到正确结果。基于这样的理论,举个简单的例子:1+2等于几,对1+2进行加密,成为33+54=87;通过87反推原始的正确答案是3。数据需求方最后获得3,但是不知道是怎么得到的。这样就保护了前置数据安全,并且拿到正确答案。

例如,某小银行A有一批交易私密的数据处理,比如说要提取用户交易信息给用户画像进行相应的理财产品推荐之类,定义了特征提取方法函数F,但计算量很大,A并不想投太多钱在基础建设上,而是想使用廉价的云计算服务。这个业务有几个特征:

1.  需要处理的数据是私密数据

2.  处理函数特别耗计算力

3.  银行A不是土豪,并不愿意投太多钱到机器和运维费用上。

而使用其他公司提供的云计算平台就会存在服务不可信的问题,这时候同态加密就开始发挥威力了。

在很多方面,“大数据”和“加密”是对立的,前者收集、存储和分析信息,以此来揭示对学者、法律实施和企业有用的规律;而后者的目标是窥探隐藏的数据。

3

零知证明

在一些场景中,不需要直接把数据拿出来,而还需要证明我有这个能力。

•       证明方(prover)向求证方(verifier)证明一个结论,

•       但是不提供任何关于结论(正确或错误)以外的信息,

•       而求证方不能通过这个结论向任何第三方再次证明。

例如:A拥有B的公钥,A没有见过B,而B见过A的照片,偶然一天2人见面了,B认出了A,但A不能确定面前的人是否是B,这时B要向A证明自己是B,也有2个方法。

①B把自己的私钥给A,A用这个私钥对某个数据加密,然后用B的公钥解密,如果正确,则证明对方确实是B。

②A给出一个随机值,B用自己的私钥对其加密,然后把加密后的数据交给A,A用B的公钥解密,如果能够得到原来的随机值,则证明对方是B。

后面的方法属于零知识证明。

总结与思考

今天新的数据采集、存储、计算能力,都比过去大幅提升了。这种能力,让过去传统意义上的匿名化受到很大挑战。但是,我觉得,今天不用那么害怕,因为技术永远在发展,人类可以找到更好的方案。

从信息的角度看,今天的隐私和数据价值挖掘是一对矛盾。就像有朋友问我,银行卡设密码太麻烦,能不能简单点。我说你简单了,贼也简单了。安全和方便永远是矛盾的,今天数据,越想挖掘价值,就越要了解它,也就很容易暴露细节。

隐私的保护不仅仅是数据的属性,同时也是算法的属性。正如我们刚刚说的,单单把一些信息隐藏起来,并不能满足隐私保护的需求,我们还需要从算法上想办法。

新的技术手段提供了可能的解决方案,但目前大部分还停留在实验室阶段。

最后,我们做数据安全行业的一个心得:如履薄冰,谨慎前行,我们每一步都是在往前探索新的一步,但是每一步都非常的小心。今天如果直接把数据完全的打开,可能造成很多的恐慌。因此我们在数据价值挖掘的过程中需要先以一个非常谨慎保守的看待数据,逐步地进行新的尝试。

我来自于阿里旗下的一个全资子公司【友盟+】,我们目前也在数据安全的限制下,做一些数据价值挖掘的尝试。如果大家有兴趣,可以一起合作尝试。

数据匿名化,能保护你的隐私安全吗?