方滨兴:破解隐私保护与数据要素流动相悖之局
1
平衡数据要素流动与隐私保护的冲突
大数据的形成,使得我们面临着两种不同的目标函数:隐私保护和数据流动。当两个相悖的目标函数同时存在时,想获得两者最优解是比较困难的。要想隐私保护保护得很好,数据基本上就不能流动;如果数据要素流动得很好,隐私保护就很难实现,这意味着隐私保护与数据流动难以兼得。如何在大数据场景下让隐私保护与数据挖掘的矛盾得到解决,如何在保护数据隐私的前提下,最大限度地挖掘数据价值?这就带来一个命题,是否能求得一个最优解,既能够让隐私尽可能保护好,也能让数据要素尽可能流动起来。这是一个具有挑战的命题。2
隐私保护与数据流动共存我们要构造一个最优目标,这就是让隐私保护与数据流动共存。在数据安全领域,已经提出各种各样的研究方法来努力实现这一命题。我们可以在两个维度讨论:第一,从数据流动的维度,要么是数据流出,要么是数据不流出。第二,从计算方法的维度,或者是集中计算,或者是协同计算。按照这种分类法,隐私保护与数据流动共存的方法可以有四种类型。首先,从数据流动的角度,要确保数据可用不可见。有两种方法:1.从集中计算的角度,有隐私计算。中科院李凤华教授在该领域做了很多工作。隐私计算就是强调通过隐私泄露代价和概率的计算模型来求得所能接受的计算方法与保护结果,让隐私泄露最小,通过这种计算模型来获取数据价值。K匿名、差分保护等都属于隐私计算的具体方法。隐私计算可以让数据在流通过程实现“可用不可见”。隐私计算也有局限性,如隐私计算有可能容易被攻击,容易推测出隐私结果。但如果隐私计算的保护强度过强,数据价值又会被淹没。2.安全多方计算。从协同计算的角度,安全多方计算是经典理论,这也是姚期智院士长期研究的。安全多方计算是允许多个数据所有者在互不信任的情况下进行协同计算,并输出计算结果。像混淆电路、不经意传输、同态加密等都是安全多方计算的具体实现方法。安全多方计算的保护强度很大,但成本与代价都很大,所谓的多方,恐怕也就能多到4个。其次,从数据不流出的角度,做到“数据不动程序动”。这也有两种方法。3.联邦学习。杨强教授在这领域是一个典型代表。这主要是采用联邦学习框架,将机器学习算法程序流动到拥有数据的各方,然后再将训练参数回传。仅就人工智能算法训练而言,有人也称之为“数据不动模型动”。当然,这样说也只能讨论机器学习本身了。其实这种方法还可以做更多事情,就是说数据不动程序动的范围应该更宽泛一些。4. 模型加工场。从集中计算角度,我们提出一个模型加工场的方法,即通过构建一个安全可控区域,通过数据不动程序动,数据可用不可见来保证隐私。由于是基于靶场的思路来解决AI的问题,所以我们也称之为AI靶场。其基本思想是要构造一个可信的执行环境。这个可信的执行环境不完全等同于传统的可信执行环境TEE。传统的可信执行环境是强调计算环境可信,不会被攻击。在这里把一些人为的因素放在里面,把社会工程因素放在里面,以构建一个安全可控的区域。这个安全可控包括人员可控,能落实责任制。如在政府部门或者国企里构造一个安全可控区域,再通过“数据不动程序动”“数据可用不可见”的方法来保证隐私。在这个模型架构中,数据拥有方需要把数据放到模型加工场里。为什么敢放过来?因为这里是可信的,不会出卖、盗用数据。同时,数据所有者可以决定数据是否能够被平台所使用。
3
将数据放到可信机构中,让程序动起来AI靶场的特点是所有程序都可以摆渡到数据加工场中来执行,程序需要什么环境,AI靶场就提供什么环境。这个模型需要具有以下四个特性:
1.保留所有权交易权。数据所有者可以决定数据是否能够在数据加工场中被数据挖掘者所使用。
2.数据可用不可见。使用embedding算法提取数据中间特征,据此构造出具有相同特征的数据,将其放在调试环境中,供用户设计模型使用,使之既足以反映出全量数据的特征,又不会泄露具体的隐私数据。如一个健康数据,有姓名、性别、年龄、体检结果、血压、体重,还有CA值、CA199等等各种值,这些值都可以根据真实存在的情况来进行构造,足以供编程人员参考来进行编程,但实际上并不存在这样的个体。
3.数据不动程序动。可信计算平台像靶场一样只接收程序的运行,编程人员无法跟随进来观察数据,从而可以保护裸数据不被获取以保护隐私,这就可以允许程序(模型)在全量环境中运行。
4.分享价值不分享数据。调试好的程序浮动到全量数据运行环境中无人化运行,所有的数据可用来被加工,但不能被拖走。如果有程序试图将原始数据拖走,则可以通过数据输出过滤系统来进行核查拦截,以确保只分享价值(可带走参数)不分享数据(不能带走原始数据)。
4
破局隐私保护与数据挖掘相悖的方法
在这里,支持在隐私保护前提下的数据挖掘主要依赖4个核心要素。1.核心方法:数据不动程序动怎么做到数据不动程序动?采取网络靶场技术,构建一个可信计算平台,使得外部程序可以在该平台上进行运行。隐私数据可以以裸数据的形式放在该平台中,由摆渡过来的外部程序利用这些数据来进行模型加工,程序只能读取原始数据并进行运算,不能存储原始数据或外传原始数据,编程人员也不能进入该模型加工场查看调阅数据。由于AI靶场提供一个仿真平台,编程人员所需要的全部环境AI靶场上都会提供,这样摆渡过来的程序就可以对全量裸数据进行加工,以便在加工中获取训练参数,以达到数据挖掘的目的,这是AI靶场的核心。2.辅助模式:数据可用不可见编程人员会质疑看不到原始数据就无法进行编程,要求AI靶场为程序员提供支持编程的数据样本。这时,可信计算平台就需要构建一个用户程序调试环境,并在这个环境中为程序员提供足以支持编程的数据,我们称之为数据沙箱。在这里,调试数据由AI靶场来根据全量数据的情况进行生成。使用者根据所提供的经过变换的样本数据来进行潜在价值的挖掘分析,以便确定从平台数据中能够生成什么样的模型,进而判断是否要进入模型加工场进行数据挖掘。也就是说,我们要做一个构造,最简单的构造是简单置换,使得数据项中的所有取值都是在合理范围内,没有影响到embedding,但所有值都是杜撰的,不是个人隐私。当然不是所有类型的数据都能做到这一点。健康数据可以这么做,语料库呢?我们在鹏城实验室已经有大量“一带一路”的语料库,都是高价采购的,我们鼓励大家到鹏城实验室去挖掘,但不希望挖掘者把语料库拖走。这时候就需要抽一些简单的语料供编程人员调试程序使用。在这种情况下,通常需要做一个测试,抽多少语料才能使得程序挖掘的效果等效于按全量语料挖掘的效果。这是,我们不认为给一部分语料算是泄露,这好比你想买我的电影,先让你看10分钟,这10分钟免费,再想往下看收费。当然,绝大部分情况下,还是需要通过构造数据来提供调试用例,我们把这个叫做辅助模式,数据可用不可见。3.关键手段:分享价值不分享数据有人担心,浮动来的程序本身就是专门来获取隐私数据,再通过加密的方式将数据拖走,你怎么防范呢?在这里,我们是采取信息过滤技术,构建一个防水堡,确保外部程序在可信计算平台中计算之后,向外输出的只能是参数之类的宏观信息,而不能携带微观的原始数据。由此确保该可信计算平台仅仅以模型加工场的形式提供服务,而不会将隐私信息泄露出去。面对采取加密手段携带数据的现象,可以采取类似差分隐私保护的方法来进行防范。差分隐私保护方法的核心是施加噪音,防水包就需要在挖掘者带走的结果数据中给施加噪音。既然编程者要拿走价值,价值一定是有一个表达区域,AI靶场不接受加密的表达形式。例如,挖掘者想知道健康数据中人员的健康状态,并且给出了一个值域范围,例如健康状态最好是100分,这个人67分,那个人75分。但是,挖掘者却悄悄的将某个人的个人身体健康信息进行加密,然后再将加密结果切断在0到100范围内,让审查者看到的结果都是在合法的取值范围内,不认为有什么问题。等携带出去之后再将该数值还原就解密了。针对这类情况,可以采取加噪的手段,对一个97.1的值,就给改成97.2。97.2和97.1差别不大,不能说这种修改引发了巨大的误差。你给我93.31,我就变成93.32。通过这种加噪的方法,挖掘者想再拼回去解密,就不可能了。因为密文是一位都不能改的,改了就解不了密。这样就保证挖掘者只能把数据拿走,而不能拿走的原始数据。4.扩展模式:保留所有权释放使用权大数据交易无法推广的一个主要原因是数据所见即所得,数据只能进行一次性交易所有权,很难进行重复交易。但如果能够将数据的所有权与使用权相分离,使得数据可以不断地交易使用权,保留所有权,数据要素流动就变成可变现的手段。就是说,挖掘者每使用一次就付一次费,他们不会因为使用过一次就能够将数据拖走。因此,可信计算平台还可提供远程控制模式,让数据的所有者来远程决定其所属数据可以向谁赋予使用权。例如,通过加密网关将数据所有者提交的数据加密,只有再所有者授权后才能够自动解密读出,以此达到数据所有者只交易使用权不交易所有权的目的。还可以由数据所有者提供访问权限的方式,来决定哪个挖掘者可以被授予访问数据的权限。显然,这一点是最重要的。大数据交易早就在推广了,但没听说有多少成功的交易。为什么交易不成功?核心原因是数据的特征是所见即所得。它不像物体,物体的复制是有成本的;而数据的复制边际成本为零,一旦看到了,就可以大量复制。所以大数据的售价就不能太低,可太高了人家就不买,所以数据所有权交易是不太成立的。但如果能够仅交易数据的使用权就易于推广了。比如这个笔记本借给你用,一天收20块钱,你再还给我。那数据能不能也做到这一点?数据借给人家用再还回来,大家说不可能,因为数据所见即所得。可是在爱奇艺平台看电影,你想把电影拷出去是不可能的,你要让别人看,别人也得有爱奇艺的账户,也得付费才行。这表明爱奇艺做到了数据只能使用、不能带走。如果成功做到数据只能使用不能带走,所有权和使用权相分离,这种交易马上就活跃起来了。使用时可以适当收费,交易刚开始先免费试用,发现好,就可以花钱来挖掘;效果好了别人也会跟着来做,数据没有办法拿走,要想挖掘只能到AI、靶场来。一旦大数据要素流动,数据交易才能真正实现。
5
模型加工场:只分享价值的可信平台
要做这件事,需要三个层次:一是需要有数据拥有方。数据拥有方的目的是在隐私保护的前提下充分发挥数据最大价值。模型加工场就是要合法合规安全的开放数据,来实现多元数据的融合分析。二是数据需求方,也就是数据挖掘者,他们对需要数据进行分析,以便获得一个最优模型。三是模型加工场。需求方和数据方中间夹着模型加工场,数据所有者把数据所有权提交给模型加工场,模型加工场在对外提供数据挖掘的时候进行收费。模型加工场所获得的收益可以留一部分作为平台佣金,例如15%-20%,剩下的80%-85%都给数据拥有方。数据拥有方通过这一点达到交易收益,就愿意提供数据。数据需求方通过对数据进行建模,从而实现增值,也就愿意为此而付费。
模型加工场是一种用于加工模型的安全可控分析平台,基于“数据不动程序动,数据可用不可见”的新理念,可以破解隐私保护和数据挖掘间的矛盾。
在这个体系中,首先是数据提供者把数据导给模型加工场平台,在这里有数据授权管理,数据拥有者说不能用时,平台也没法提供给别人用,数据拥有者还可以通过加密解密来进行远程管理。所以这个授权管理机制,支撑了“保留所有权、交易使用权”的属性。
在这里面有一个针对内部管理人员的访问控制,我们称之为“云匣子”。本质上这就是一个内部管理机制,所有敏感类型的操作,如读写文件、关机等等,都会自动弹给用户和上级管理者,由上级管理者来确认该不该操作,同时,该操作也会根据情况来提交给数据拥有着进行备案。这样就确保了模型加工场具有“可信计算平台”的属性,管理者也不能随便乱动。
对数据操作而言,需要先将数据做一个置换,然后将置换过的数据提供给数据沙箱,目的是要支撑数据分析的开发平台,以便让研究者在数据沙箱上调试程序。因为数据是置换的,所以数据都能用,但实际上没看到过真正的数据,这就保证了“数据可用不可见”的属性。当然,这里还需要有数据分析的框架,已确保程序能调成功。
一旦挖掘者的程序调试成功,就需要把程序浮动到集群里,只要到集群里才可以看到全量数据。现在看到全量数据,但是程序移动过来的,人没跟过来,所以全量数据也不会被人拿走,因为程序处理完数据之后就会抛弃掉,并没有存储,存储,也带不走。这就实现了“数据不动程序动”的属性。
当计算结果需要被拿走时,可以通过防水堡系统来进行过滤,确保只能拿走参数,不能拿走原始数据,这就保障了“分享价值不分享数据”的属性。
这就是模型加工场的整体工作原理。
6
打造基于鹏城云脑的数据信托模式
鹏城实验室建设了一个鹏城云脑,目前是全球性能最好的智能计算平台。我们在鹏城云脑上构造了鹏城AI靶场,目的是打造数据信托模式。多个城市大数据局可将政务数据安全托管到鹏城云脑,通过模型加工场安全开放政务数据,数据需求方可在模型加工场调试环境,查看样本数据形成数据分析程序,将程序发送至模型加工场-运行环境,经过反复调试后得到较好结果,实现“数据不动程序动、数据可用不可见、分享价值不分享数据、交易使用权不交易所有权”数据要素流通交易模式。
2021年有关部门做了一个中国网民网络安全感满意度调查,获得了200多万份调查信息,每个调查有200多项数据。这些数据涉及到个人的信息而不宜公开,但这里面隐藏大量网民的个性化的反映,如对网络社会的感知、对网络状态认可情况等有价值信息需要挖掘。
挖掘靠什么?我们把整个数据都放到鹏城云脑上,同时,基于鹏城云脑构建了AI靶场,来支持数据不动程序动的人工智能模型挖掘模式。我们组织数据挖掘和人工智能建模大赛,有127支队伍报名参赛,最后进行了有效的挖掘,获得了相对共识的网民建议。
总之,数据拥有者使用模型加工场对外开放数据,就可以有效地促进数据要素流动。通过这个例子可以证明把数据放在模型加工场上,别人拿不走数据,但确实可以获得价值。