这里面一个有意思的地方在于,有一些数据并不是严格意义上的被公开数据,或者说只希望在某个特定范围内被公开。举例来说社区的运营者可能只希望社区的用户生成内容(UGC)在社区内进行公开,而不希望流传到互联网上。典型的这类意愿的表述形式有类似于Robots exclusion standard,主要用于向爬虫声明网站中哪些内容不能被读取。
除此之外公开数据还有可能仅仅是可以被读取而不能希望被存储的,举例来说比如社交网站中的朋友清单。朋友清单被存储和对比之后就可以得到诸如”哪些朋友取消了对我的关注“这样的信息,这里面也存在可能侵害了别人的个人隐私的问题。一般为了防范这样的越界爬取行为,公司可能会有针对性的组织自己的反扒窃(anti-scraping)系统,在协议范畴之外对数据的控制力赋予提供保障。
综上所述我们可以看到,赋予数据的控制力长久以来都面临许多挑战。且除了第一方数据外,沿着数据链条向下走,这种挑战会逐渐增加。这种现象很大程度上源于数据作为一种抽象存在,不同于普通物品的可以被复制,而被复制的数据的控制力将会被重新的定义和赋予。
因此在数据流通的过程中将数据的各种属性分开管理和授权,尽量减少数据复制的出现,可以很大程度上降低在整个链条上管理控制力的成本。需要研究的不是如何把数据的链条切段,而是如何在链条的各个环节上更好的完成数据控制力的精细化管理。
新的产业机会 — 数据流通链条中控制力管理的技术实践前面提到,解决数据流通链条中赋予数据控制力的问题,主要的方式是针对不同类型的数据采取不同的方式,从宏观上减少数据使用就要复制的情况出现。那么,在具体实践里,针对个人数据的隐私保护,又有哪些宏观分类要素与技术手段呢?
宏观来看,数据可以分为个人识别信息(PII)和用户特征值两类。PII是指像可以在很高精度上在公开环境下定位一个人的数据,比如像美国的SSN,国内的身份证号,邮件地址,甚至有可能是电话号码。用户特征值基本可以理解为除了PII以外其它的围绕个人行为特征或个人特性(如生物统计学数据,人口统计学数据等)的数据了。用户特征值往往是数据挖掘产生价值的对象,而PII则是扮演着将多个特征值统一在一起的角色,由PII形成的图是数据链条上公司间进行数据融合的桥梁。
可以看出,对PII的控制是数据链条中形成控制的关键,没有PII的两个数据集是很难整合在一起使用的。针对PII的控制一般被称为De-identification,目前主要有比如脱敏(Data Masking),匿名(Anonymization)和k-匿名(k-anonymization)由弱到强三种比较常见的方式。
脱敏基本是将比如身份证的一部分隐去,从而在可以接近识别的前提下尽量保护数据的隐私,类似于对一般数据处理中的泛化技术。抛开脱敏过程中的信息丢失不谈,这种方法显然是缺乏足够的安全性的。因为只要存储和沉淀这样的masked data,就可以最终反推出原始数据的内容来,因此脱敏的方法在隐私要求比较高的环境中已经不再使用了。
匿名指修改或者移除个人身份信息,隐藏数据和个人的对应关系。一般的数据源会自己生成并管理这种对应关系,由于个人身份信息的完全隐藏,安全性也会远高于直接对原始PII进行脱敏。同时的对于使用PII来关联数据集的这一属性,也可以靠修改内部的对应关系来组织使用匿名数据在外部进行数据集关联的操作。
k-匿名在匿名的基础之上提出了个人识别不仅限于PII,任何数据形成的集合都能在一定程度上识别出一个人来,k在这里指的是用这个数据集进行识别时可以将识别的人群缩小为数量为k的集合。k-匿名是目前通用标准中较高的一类,其中k的值越高,隐私保护的效果越好,在Google和Facebook的内部数据管理中都有大量的使用。
用户特征值数据主要在价值挖掘中被体现,使用的方法宏观上可以分为使用原始数据和使用统计数据两类。比如某人在某时某地进行了某次购物可以被认为是原始数据,那么某人在过去的一天里进行了3次购物可以被认为是统计数据。在很多情况下避免原始数据的直接使用是不太影响价值挖掘的同时可以更好的保护原始数据的。
类似的,在链条中传递用户特征数据时所使用的控制方法也比较多,常见的就有泛化(比如给定一个范围而不是具体的数值),统计(如前所述),加密(比如同态加密),差分隐私(比如给定的数值是原始数值的基础上增加一个噪音),合成(比如将原始数据转化为代表所需知识的模型或者由模型生成不同于原始数据的新数据)等等。
涉及多方数据的安全运算环境的方式可以从多种角度来划分。比如从是否存在可信的第三方(或者对于该第三方的信任成本有多大)来谈,使用比如GC或者OT来实现的MPC可以实现完全没有可信第三方的环境,而基于某些同态加密设计或者可信硬件的环境一般是强依赖于对于第三方的可信度的,而可信硬件环境还存在信任硬件产品供应方这一个额外的信任成本。
除了上述的两类(MPC和可信硬件)之外,也存在许多其它方式在联合运算中保护原始数据的方法,其中就有比如合成数据(比如通过将原始数据转换为模型),比如差分隐私(巧妙的选择在原始数据上面增加噪声从而在保护原始数据敏感性的前提下不会过多的干涉运算本身),还有比如传统的泛化(只传输包含原始数据的一个范围)等多种方式。
在实际应用之中,一般会考虑数据的泄露危害程度(比如PII数据的泄露会造成连锁的数据泄露反应),数据是否容易被沉淀(比如高时效性的数据相对不那么容易被沉淀)等在达到安全级别的前提下,尽可能的保持信息完整性(合成,差分和泛化都会在不同程度上损失原始信息)的同时提升整体系统的运行效率。
在介绍工程实践的技术类型的同时,我们也希望澄清在实践中遇到的两个比较常见的认知误区:数据隐私解决方案,不等同于单一的密码学或技术点创新,是一个结合了数据科学、密码学、联邦学习、云计算的综合工程,通常是技术组合的形式;其次,对于数据隐私比较受关注的MPC(多方安全计算),最近几年,MPC在数学原理上并没有特别大的根本性变化,更多是工程方面的突破与进展。
数据的流动性具有其必然性和合理性,也是AI在产业中更好发挥智能的基础,但数据价值挖掘带来便利的同时,也面临着隐私侵犯的隐患。
从当下实践来看,通过给予数据拥有方控制力的方式是平衡数据价值挖掘和隐私保护最有效的方式;而流动中的数据链条复杂,通常需要在数据流通的过程中将数据的各种属性分开管理和授权,尽量减少数据复制的出现,从而降低在整个链条上管理控制力的成本。数据流动过程中的隐私保护,是动态的、过程中的数据安全与隐私,对应的技术实践也将带来新的产业和创新机会。
对于这个新兴的产业,早期我们所选择的方案也要迎合市场的阶段进行渐进式推广,比如数牍科技的解决方案中就设计了数据流控制,数据拥有方可以控制数据流向为单向或双向,在现实环境中灵活应用。数据隐私规范和价值挖掘是双向作用、螺旋上升的过程,只有规范数据使用才可以在汇聚更多数据的基础上迎来价值挖掘的下一个爆发点。我们很期待未来十年,在隐私规范的推动下创造出新的数据使用范式,推动AI的数据基础设施革命,并能投入其中贡献一点自己的力量。