二、技术的演进:隐私计算技术达到基本可用
在市场需求产生的同时,隐私计算领域的一些主流技术,包括多方安全计算、同态加密、联邦学习、可信执行环境等,也通过技术研究与攻关逐步达到基本可用的程度,并且目前正在实际业务场景的应用当中不断提高完善。
(一)隐私计算技术在全球的突破
1.多方安全计算
1982年,时任加州大学伯克利分校计算机系教授的姚期智(姚期智先生后来回国,担任清华大学交叉信息研究院院长,并且当选为中国科学院院士)首次提出了安全多方计算理论,后续他又提出了著名的姚氏混淆电路(Garbled Circuits,GC)算法,理论上可以解决所有安全多方计算问题。但是受限于当时的算力水平,安全多方计算仅有理论上的可能性。这是因为,要完成相同的计算,安全多方计算要耗费的时间、存储都达到了明文计算的5—6个数量级,也就是几十万倍到几百万倍。这是当时无法实现应用的。
多年以来,各国密码学专家孜孜不倦不断地对GC进行研究,提出了point and permute、free XOR、half gates等方案,压缩GC的大小,提升GC的性能等。关键突破出现在SP2013上:加州大学的学者们提出了基于fixed key AES的GC算法,极大地提升了GC的计算速度,后续的GC技术无不采用了这一改进。以常用的GC开源库EMP-toolkit为例,其计算速度已经达到了每秒数千万个电路门,因此实际耗费的时间绝大部分由网络传输决定,计算本身的耗时已经可以忽略不计。
多方安全计算的另一条技术路线是基于秘密共享(Secret Sharing,SS),它是在20世纪80年代由三位世界级理论计算机科学家Goldreich、Micali、Wigderson提出,因此又被称为“GMW协议”,经过了多年的演变改进。这方面的重要突破出现在NDSS2015上,德国达姆斯特大学的学者们提出了ABY框架,可以根据应用需求,在多种SS状态和GC状态之间灵活地切换,以实现最佳性能;后续的SecureML(SP2017)、ABY3(CCS2018)等技术都是这一思想的延续。
得益于上述多种改进,以逻辑回归、简单神经网络等常用场景为例,在较好的网络带宽条件下,现在安全多方计算的性能和明文的差距已经可以拉近到2—3个量级以内了,可以说基本接近可用。
2.同态加密
Rivest等人在1978年最早提出了同态加密的思想,其愿景是使数据处理可以不经过解密,直接在密文上进行相应的计算,更好地保护数据全生命周期的安全。后续各国学者分别提出了乘法同态算法El Gamal、加法同态算法Paillier等,可以适用于特定的加密计算场景。
但首个真正支持全同态加密(FHE)的算法直到2008年才由Gentry提出。Gentry提出的第一代FHE算法是基于理想格的,其计算需要消耗的计算资源特别巨大,因此基本上仅停留在纸面上。后续各国学者又基于新的格密码技术,提出了BGV、BFV、TFHE等新一代FHE算法,其计算性能与第一代FHE算法相比已经有了很大的进步。在ASIACRYPT2017上,韩国首尔大学的学者首次提出了近似FHE的算法CKKS,以牺牲一定的计算准确率为代价,极大地提升了加密计算的速度。此后CKKS在各类应用中开始“屠榜”,例如iDASH2018冠军团队使用CKKS在分钟级内完成了数千行*数十万列数据的建模,远远胜出了使用其他FHE算法的队伍。
目前可以说,如果模型不太复杂,又允许适当的误差存在的话,全同态算法已经基本接近可用。
3.联邦学习
联邦学习的原理最早可以追溯到1996年对分布式数据库的规则挖掘,其原理就是各个数据源在不分享个体数据的情况下可以联合分析。当时,不同数据库有不同的用户使用规则,如何能够在不分享每个数据库规则的同时,联合训练出一个满足所有人要求的规则,这是联邦学习技术最原始的应用场景和需求。
但是,联邦学习概念的兴起,一般认为其最大的影响力源头来自Google。2016年,Google提出联邦学习用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。Google也在其最受欢迎的开源机器学习框架Tensor Flow中专门为联邦学习推出了一个学习框架Tensor Flow Federated(简称TFF)。联邦学习并没有经历性能不足导致不可用的阶段。Google的FL从一开始就是面向实际应用的。
4.可信执行环境
可信执行环境的概念来源于2006年Open Mobile Terminal Platform(OMTP)工作组提出的保护智能终端的双系统解决办法。即在同一智能终端下、除了多媒体操作系统,再提供一个隔离的安全操作系统。随后,ARM公司于同年提出硬件虚拟化技术trustzone,并于2011年加入Global Platform为技术制订标准并开发落地的可信操作系统。2013年,英特尔发布SGX指令集扩展,实现不同程序的隔离,在可信执行环境下执行的应用未经授权无法读取或操作其他应用的数据或代码。SGX丰富的可编程性,再加上英特尔在CPU领域的影响力,业界开始真正地进入“机密计算”时代。
在SGX发布初期,其仅能支持128MB的机密内存,程序的功能和性能也受到很大的制约。但是在英特尔 2020年底发布的新一代服务器CPU ice lake中这一问题得到了解决:机密内存的大小可以达到数GB乃至数十GB之多,很多大型计算任务完全可以在SGX中运行,标志着基于可信执行环境的隐私计算技术进入了可用阶段。
当前,可信执行环境(TEE)代表产品主要有ARM的Trustzone和英特尔的SGX。
在主流的技术路线之外,从全球来看,隐私计算的软硬件结合,正在变成一个广受关注的领域,国际竞争在逐渐升温。
2021年3月,美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)发布全同态硬件加速计划DPRIVE(Data Protection in Virtual Environments,虚拟环境中的数据保护项目)。DPRIVE寻求开发用于全同态计算的硬件加速器,与基于软件的全同态方法相比,它将大大减少计算运行时的开销,大大加快全同态计算的速度,从而使该技术更易用于敏感的国防应用以及商业用途。该计划,有包括英特尔在内的四个团队入选。
DARPA是美国国防部属下的一个行政机构,负责研发用于军事用途的高新科技。有文章这样评价它的作用:“DARPA通过孵化突破性技术以持续推动经济的发展,是美国生产率增长的核心引擎。”远的有GPS和互联网的原型ARPANET,近的有精确制导武器、隐形技术、无人机和脑机接口等,都是其推动发展的。
而在业界,2021年末,英特尔开源了一个用FPGA加速全同态算法库的项目。欧洲也出现了一家名为ZAMA的公司,开始做硬件加速方面的工作。
(二)隐私计算技术在中国的进展
隐私计算技术在全球取得突破性进展之时,在中国工业界,也有不少公司对其进行研究,在全球隐私计算技术突破的基础上进行优化调整,将隐私计算技术带入了实际商业应用当中。
首先,看多方安全计算。
自2014年起,出于科研需求,清华大学交叉信息研究院助理院长徐葳带领清华大学“姚班”的学生,开始研究如何提升密文计算的效率,从而使得多方安全计算技术可以在实践当中真正被应用。为了实现技术突破,徐葳和团队对计算机科学分支领域中的包括密码学、安全协议、计算机系统、分布式计算、算法、数据库、编译和芯片等方面进行了全方位的整合与优化。这项研究从各个领域中挖掘潜力来提升密文计算的性能。
此外,也有其他产业实践者从不同角度对多方安全计算技术进行了优化。比如,2020年5月,矩阵元发布了基于密码学的隐私开源框架——Rosetta。Rosetta设计的初衷是解决密码学在应用中门槛太高的痛点。在实际当中,如果想要运用密码学解决问题,但是没有很高的数学基础或者没有学习过密码学,相关算法使用门槛便会很高。但是一些AI领域的专家、学者对于AI的应用、深度学习、机器学习的框架已经非常熟悉。所以,这两种具有不同专业技能的人之间有很深的沟壑。Rosetta的发布降低了密码学技术的使用门槛。
其次,看同态加密。
2020年12月,阿里安全的论文《Pegasus(飞马):同态密码上的多项式与非多项式计算》入选世界信息安全领域四大顶级会议之首的Oakland S&P,这是中国工业界首次在这一信息安全顶级会议上发表第一作者论文。“飞马”方案对全同态加密功能进行了重要扩展,扩展后的加密计算速度比当前最好的同态加密计算方法快64倍,密钥体积却小2个数量级。原本需要等待数小时的加密计算,现在几分钟就可以完成。
同时也有创业公司进入这一领域,比如同态科技。
再次,看联邦学习。
零壹智库在调研中了解到的对于联邦学习较早的研究,来自杭州锘崴科技创始人、董事长王爽。王爽教授于2012年开创性地提出“分布式隐私保护在线模型学习”(与“联邦学习”用词不同,但原理相通)框架并应用在国家级医疗健康网络,并于2013年发表在了专业SCI期刊上,论文题目是 Expectation Propagation Logistic Regression ( EXPLORER ) :Distributed Privacy-preserving Online Model Learning 。该论文创新性地提出了数据“可用不可见”的问题,在不需要分享原始个体数据的情况下,利用多个数据源进行带有隐私保护的联合建模。同年王爽带领的团队发表了开源联邦学习框架“WebGLORE:a Web Service for Grid Logistic Regression”,该底层技术服务于多个医疗网络数据的联邦建模需求。团队并于2019年前又发表了50余篇联邦学习隐私计算相关著作。
2018年,微众银行首席人工智能官、香港科技大学教授杨强将“联邦学习”概念引入国内,提出了横向联邦学习、纵向联邦学习、迁移联邦学习的概念。随后,2019年初,微众银行正式开源全球首个工业级联邦学习框架FATE(Federated Learning Enabler),并开始尝试将联邦学习应用于金融业务中。FATE的开源,使得联邦学习在中国的应用门槛大幅降低。
最后看可信执行环境。
在中国国内,可信执行环境的商业化落地方案有百度集团MesaTEE、蚂蚁金服的Occlum和华为iTrustee等,创业公司当中冲量在线主打这一技术路线。
除了隐私计算的主流技术之外,硬件的算力加速对隐私计算进入更多的场景也功不可没,在这方面也有不少厂商进行尝试。例如,星云Clustar通过对联邦学习的不同应用分析,归纳总结出了11种影响计算效率的密码学计算算子,并创新式地将算子中的公共部分抽取出来,形成核心模幂引擎,研发出了针对联邦学习的首款FPGA加速卡。加速卡可以根据实时的任务需求将模幂引擎拼装成不同算子,给联邦学习应用带来全生命周期加速,进而带给联邦学习50—70倍的算力提升。未来通过软硬件的进一步优化,可使这个算力提升100倍以上。融数联智则致力于研究隐私保护芯片,使得隐私计算性能在FPGA的基础上进一步提升。
算力的爆发式提升意味着未来隐私计算将成为所有计算的默认配置,无感地融入人工智能等领域中,也意味着隐私计算技术可以进入越来越多的应用场景。
隐私计算运算速度与安全模型、算法类型、数据规模、数据特征、软硬件环境、服务器性能、网络带宽、硬件加速等多种因素相关,不能一概而论。一般在常见的环境中,隐私计算的计算速度与明文的差距在1—3个数量级不等。
这个数字,听上去仍是一个不小的差距,但是在很多场景中,已经可以接受,达到初步可用。