Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


隐私,是互联网时代无法绕开的一个话题。科技公司对隐私的态度不尽相同,既出现过李彦宏关于「中国人愿意用隐私换取便利」的言论,也有过苹果以用户隐私为由而拒绝为 FBI 解锁手机的故事。但不论如何,随着各国政府关于信息隐私相关法律陆续出台,隐私问题的监管力度和重要程度在全球总体呈现出上升的趋势。

在这样的大背景下,手机厂商开始不断探索各种保护用户隐私的技术。我们今天要讲的差分隐私就是近年兴起、较为热门的技术。

粗略地说,差分隐私是指在处理数据时添加一些随机性,使得个人数据无法被准确识别,但又能保证统计特征较为准确。

尽管这种方法在上世纪七十年代就被初步提出、本世纪前十年已在普查等领域得到应用,但在移动科技领域还是由苹果率先大规模应用的。在 2016 年 6 月召开的 WWDC 上,苹果宣布采用差分隐私,使得软件提供商能够在不掌握个人用户隐私数据的情况下,学习用户行为。

WWDC 2016(来源:Apple)

苹果带头先行先试后,其他厂商也陆续跟进。以国内为例,小米在 MIUI 12.5 中、魅族在 Flyme 9 中都加入了差分隐私,使得软件只能获得模糊定位而非精准定位。

MIUI 12.5 发布会(来源:小米)
Flyme 9 发布会(来源:魅族)

差分隐私受重视的背景

在具体了解差分隐私的原理之前,一个值得讨论的问题是,为何要差分隐私?答案并非隐私保护这么简单。事实上,对于隐私的诉求一直存在,为何到了近年变得尤其热门、又为何是差分隐私这项技术脱颖而出呢?我认为,这主要是受两个因素的影响:法律法规要求日趋严格和传统保护方法弊端凸显。

法律法规要求日趋严格

近年来,许多国家和地区都颁布了用于保护个人隐私信息的法律法规。

在欧洲,2016 年发布、2018 年开始强制执行的《通用数据保护条例》(General Data Protection Regulation, GDPR)涵盖范围广、保护要求严格,甫一推行就引发了科技公司的密切关注。

在美国,尽管联邦层面没有专门用于隐私保护的法律,但健康、教育、金融等领域新近颁布的专门法规中都出现了保护个人信息的条文。2018 年,严格程度不逊于 GDPR 的《加州消费者隐私法案》 (California Consumer Privacy Act, CCPA)出台,尽管只是州法,但由于加州在科技领域的特殊地位,其影响范围同样是全球性的。

在我国,近年陆续颁布或修订的《民法典》《网络安全法》均为个人信息保护作了专门规定,《消费者权益保护法》《执业医师法》等部门法则从消费、医疗等具体维度反映了对个人信息的保护。 同时,尚处草案阶段的《个人信息保护法》也标志着我国对互联网时代个人信息保护的重视达到了一个新的高度。

在这样的背景下,重视消费者隐私的保护与合法合规使用,是科技公司必然的选择。

不仅如此,尽管各国法规的具体条款各异,但它们对于「个人信息」的定义却有很大重合度,基本都以「可识别性」为主要判定标准。例如,《民法典》规定「个人信息是以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人的各种信息」,而 GDPR 也规定「『个人数据』是指与已识别或可识别的自然人(『数据主体』)相关的任何信息。」因此,能够避免识别特定个体的差分隐私,对于厂家就格外有吸引力了。 

传统保护方法弊端凸显

不过,法律只规定了要达到保护隐私的结果,至于实现这个结果的手段,则是厂商自主决定的范畴。显然,差分隐私并不是唯一可以用于保护隐私的手段。计算机界的大牛 Donald Ervin Knuth 曾说,「过早优化是万恶之源」(Premature optimization is the root of all evil)。既然已经有了匿名化、权限限制等传统手段,为什么要专门再引入一个差分隐私呢?

要回答这个问题,我们不妨来看看这些传统的隐私保护方法究竟效果如何。

匿名化(Anonymization)与链接攻击(Linkage Attack)

要实现隐私保护,一个最简单直接的思路就是匿名化。换言之,将用户的真实姓名,电话,身份证,或者用户 ID 进行匿名处理,变成无法反向计算的一串字符,只保留那些对于分析有意义的数据。

这看起来也十分有效:没办法看出谁是谁了,不就实现了隐私保护吗?

非也。知名流播服务商 Netflix 当初也是这么想的,然而其导致的隐私泄露使他们付出了 900 万美元的代价。

这就要提到机器学习与数据挖掘领域一个绕不开的事件。2006 年 10 月,Netflix 举办了一项大奖赛(Netflix Prize Competition)。比赛中,Netflix 提供了一个数据集,包含了从 1988 年到 2005 年间,超过 48 万个随机选择的匿名用户对于一万七千多部电影的评分。数据集中包括的具体数据有:用户 ID(随机分配,无法推出真实 ID)、电影信息(ID、年份、标题、用户对电影的评分等。

Netflix 希望参赛队提出一种算法,使得在相同的训练集上,新算法预测用户喜好的性能比现有算法的性能高出 10%,并宣布对效果最好的队伍给予 50000 美元的奖励。这场比赛持续了 5 年之久,引发了各国参赛队伍激烈的竞争。

由于比赛中提供的是真实业务数据,不可避免地会涉及个人信息保护的问题。表面上看,出现个人信息泄露的风险并不高,因为 Netflix 已经对提供的数据做了随机化处理。

然而,2008 年,来自德州大学奥斯汀分校的两名研究人员 Arvind Narayanan 和 Vitaly Shmatikov 发表了名为《Robust De-anonymization of Large Sparse Datasets》的论文,详细描述了如何对 Netflix 提供的数据进行隐私攻击。

简而言之,他们采用了链接攻击的方法:使用其他公开数据库的信息(如 IMDB)与 Netflix 提供的信息(如喜欢的电影、评分)进行比对,这样,就能够在一定程度上推断某一 Netflix 匿名用户在 IMDB 上的身份。Netflix 的这一疏忽使得用户对其提起集体诉讼,最终不得不支付 900 万美元的和解费才让事件告一段落。

集合查询(Aggregation Queries) 与差分攻击(Differencing Attack) 

Netflix 的故事告诉我们:匿名化无法保护有效保护用户隐私。那再换个方法,我们给数据库加个「集合查询」的限制,禁止查询单条信息、只准查询根据整体数据计算出的结果,这样不就能保护「每个人」的隐私了吗?

很可惜,依旧不能。

假设三个人在称体重,结果分别是 50、60、70 公斤。即使只允许我们使用集合查询,查询体重的平均值,我们仍然可以得知某人的具体体重。方法也很简单:先查三个人的,然后再查某两个人的,这样剩下的那个人的数据通过简单的数学计算就能被识破。这就是差分攻击。类似地,如果有一个第三方,知道其中两个人的数据,那他就能轻易推出第三个人的数据。

这个例子中的体重数据并不特别敏感,泄露或许不会造成直接伤害,但设想如果数据库是乙肝诊断情况,那给被泄露者造成的损失和伤害就是完全不同层面的了,掌握数据的厂商将要承担的法律后果也会严重得多。

不公开数据

既然上述方法都不能充分保护数据,那再极端一点如何呢?如果不再对外提供数据,将权限限制在公司内部,是否能完全保护个人隐私呢?

并不能。

在这种情况下,公司员工就将成为信息泄露的重大隐患,因为他们能够访问你拥有的所有数据。要降低风险,只能依靠去除那些不称职或不可信的员工。按此逻辑推演,最终只能滑向一个不现实也无效率的结果——炒掉了所有员工,变成孤家寡人。

至此,我相信大家已经发现了,数据的泄露风险和数据的可用性永远是一对不可调和的矛盾。

事实上,数据的公开在某种程度上是不可避免的。企业获取数据是为了使用数据,提高企业的业务能力和盈利能力。如果只有一个人,数据处理的效率会大大降低,可谓是因噎废食。现实中,公司为了改善经营管理,会对自己所拥有的数据进行分析,或者交给其他商业分析公司进行商业咨询。国家部门也需要依法公开国家和地区的统计数据。

但保护个人隐私,并不等同于不分享数据。因为法律上的个人隐私仅仅代表了个人数据,而非集体数据(如平均数,个数)。正如刚才提到的,即使是集体数据的披露,也有可能导致个人数据的泄露。退一万步讲,即使公司不向外分享数据,公司中的个人也可能以权谋私,泄露信息,非法牟利。

这种种风险都指向了一个问题:我们如何在保证个人数据不泄露的情况下对数据进行有效利用?究竟有没有方法能够让最大程度降低获取个人数据的可能性,同时提高数据的可用性呢?而这,正是差分隐私的优势所在。

差分隐私的工作原理

有了上述铺垫,我们下面具体来看看差分隐私的原理是什么,又是怎样弥补传统方法的不足的。

差分隐私的定义

在开头,我们已经对差分隐私做了粗略的描述,这里再给出更精确的定义。差分隐私指的是能满足这样一种效果的算法:保证无论一个人是否在某一个数据库中,从这个数据库中查询得到的结果(如平均数或计数)的差距微乎其微。

换言之,数据使用者无法确定某个人是否在某个数据库中,这样就能够保证用户个人数据的隐私。再换言之,除非数据使用者拥有整个数据库,否则他无法通过差分攻击来获取用户隐私。

例如,假设有两个数据库 x 和 y:数据库 x 包含一个班级 40 个同学的体重数据,数据库 y 除了包含这 40 个同学的体重数据,还加入了班主任的体重数据。

现在,提供一个网页,能够查询分别两个数据库所有数据的平均数。显然,如果网页能够直接输出两个数据库真实的平均数,我们能够很容易计算出班主任的体重。

如何保护班主任的隐私呢?如果有一种算法,能够每次在查询结果上加上一些随机数,让它与真实值不同,那么,每次查询得到的结果也就会是随机的。如果这一种算法进一步能保证在 x 和 y 上进行查询,出现相同结果的概率差不多,那实际上就意味着查询者无法辨别这两个数据库的查询结果;换言之,无法确定班主任的数据在不在里面。此时,班主任就如同隐身一般,其体重很难被反向计算出来。

如果用更准确的数学语言来定义差分隐私,会是这样的:

对于任意两个只相差一个数据的数据库 x、y(比如 x 数据库比 y 数据库多了一个人,其他都是一样的),如果存在一个算法 M,(记M(x) 为在数据库中的查询结果,例如,如果是一个平均数算法,那得到的就是数据库的平均数),对于任意包含于 M 值域的集合 S 和 ϵ>0,都有:

那么我们称 M 算法满足 ϵ-差分隐私

这个定义具体说了什么呢?我们可以通过变形上面的式子得到一些启示:

首先,从定义中知道,当 M 算法满足 ϵ-差分隐私时,只要两个数据库相差一个数据,上面的式子就会成立,所以我们可以把 x 和 y 调换一下顺序(因为「x 和 y相差一个数据」和「y 和 x 相差一个数据」是同一件事情),进行一些简单的变换:

显然,ϵ  越接近 0,两个数据库的查询结果相同的概率会越接近于 1,也就是说,攻击者几乎无法辨别相差一个数据的两个数据库的查询结果,也就是说差分攻击很难起作用。

差分隐私的实现方式

如上所述,差分隐私算法通过添加随机性保护个人隐私。接下来,我们以问卷调查的场景为例,说明差分隐私的算法是怎样实现定义中的效果的。

调查问卷收集者往往需要收集一些敏感信息,如违法犯罪行为或者一些世俗道德意义上的「坏」行为。为了获得较为准确的回答,并避免泄露个人隐私或者承担任何包庇犯罪的法律风险,往往会让问卷填写者采用随机化问答(Randomized Response)的方式作答一些是非判断题,步骤是:

  1. 首先,问卷填写者自己扔一个硬币(正反的概率相等),结果只有他自己知道;
  2. 如果是正面,就诚实回答问题;如果是反面,就再扔一次(结果仍然只有他自己知道);
  3. 如果第二次抛出的是正面,就回答「是」;如果是反面,则回答「否」。

我们也可以用树状图更直观地表达上述步骤:

通过一些简单的概率计算可以知道,无论受访者最终回答「是」或「否」类型,都有 3/4 的概率说真话

现在,假设真实类型为「是」的有 x 人,真实类型为「否」的有 y 人。那么,在问卷数量足够大的情况下,根据大数定律,我们可以近似得到如下方程:

到了这里,就能非常简单地求出两种类型的人分别有多少。但与此同时,上述步骤并没有泄露任何人的隐私——因为硬币结果只有填问卷的人自己知道,调查者无法确定每个人的真实类别。换言之,这种方法是满足差分隐私的。

手机厂商的差分隐私应用

在了解差分隐私背景和工作机制的基础上,我们最后来看看手机厂商具体是怎样应用差分隐私技术保护用户隐私的。

苹果的差分隐私

官方文档中,苹果列举了差分隐私的部分使用场景,包括 QuickType 提示、Emoji 提示、搜索提示、Safari 电量统计和健康统计等。

苹果称,iOS 的数据在上传之前,会在本地先通过 hash 算法处理成定长的一串字符,然后加上随机扰动项。也就是说,苹果永远不会接收没有经过混淆的数据。这些隐私的扰动项通常是独立同分布的,这样就保证了在大样本条件下能够与均值相差无几,使得利用这些数据来进行用户体验的改进成为了可能。

例如,在 Emoji 提示场景,苹果可以先在本地统计个人使用各种 Emoji 的次数,然后加上均值为 0 的随机数,上传到服务器中。服务器将所有人的数据进行求和,计算每种 Emoji 出现次数所占的百分比。此时,随机数的影响会被抵消。苹果能够依次统计出最受欢迎的 Emoji,同时又无法确定个人到底最喜欢哪个 Emoji(因为添加了随机数)。

图片来源:Apple

此外,设备 ID 信息在上传的时候会被剔除,苹果在分析数据的时候会进一步删除诸如 IP 地址之类的信息。同时,用户隐私的上传在不同场景都有不同的次数限制。例如,对于「搜索提示」用途,用户一天最多上传两次;对于「健康统计」,一天只允许上传一次。而且,信息在苹果处只会保留三个月。这样,苹果从多个角度保证了用户的隐私。(不过也有论文指出 Apple 的差分隐私由于 ϵ 值过大导致隐私保护效果欠佳。)

小米和魅族的差分隐私

小米和魅族的差分隐私主要存在于定位场景。具体而言,对于一些对定位精准度要求不高的使用场景(比如区域天气查询),用户可以选择提供模糊定位。模糊定位,顾名思义,就是手机会在上传定位信息之前,加上一些随机数,使得上传的数据与真实数据不同,但又在某一范围之内。如同Flyme 9 宣传片中展示的一样,模糊定位将个人准确定位点扩大到了一个圆的范围,这样就避免的个人位置信息的泄露。同时,软件厂商依旧可以利用这类模糊定位数据,统计出在某一范围的人大概有多少。

Flyme 9 宣传片(来源:魅族)

小结

本文从差分隐私日渐受到关注和推行的现象出发,依次介绍了差分隐私的政策和技术背景,差分隐私的定义和实现机制,以及移动厂商在手机系统中部署差分隐私的具体做法。读来或许有点干硬,但希望可以为你更全面准确地理解差分隐私提供一些帮助。如果要再提炼几个关键的事实,我认为是:

  • 数据的可用性及其隐私保护程度是一对矛盾
  • 差分隐私能够在不泄露个人数据的情况下,对集体数据进行。较为准确的学习。
  • 差分隐私的「差分」指的是对于两个只相差一个数据的数据库,能够保证查询结果差不多;也就是说,无法通过两个相似的查询来倒推出某人的信息。
  • 差分隐私具有局限性,不适用于需要准确个人数据的场景(如导航)。

参考文献

  1. The Algorithmic Foundations of Differential Privacy
  2. Robust De-anonymization of Large Sparse Datasets
  3. Differential Privacy Overview
  4. Privacy Loss in Apple's Implementation of Differential Privacy on MacOS 10.12
  5. Gautam Kamath 教授的网课

关联阅读

> 下载少数派 客户端、关注 少数派公众号,了解更妙的数字生活 🍃

> 想申请成为少数派作者?冲!