122,971
社区成员
作者:李漓春(花名:逸昊)
蚂蚁链摩斯算法负责人,杭州521创新人才,北京邮电大学博士、南洋理工大学博士后,多方安全计算领域最高产的专利发明人(200+专利),IDASH大赛五项世界冠军参与者。
在满足数据安全、隐私保护和监管合规的前提下,链接数据孤岛,实现多方协同释放数据要素价值,是当前大数据技术发展应用的一大难题,而隐私计算正是解决这一难题的技术方案。
隐私计算又称为隐私增强计算、隐私保护计算,是目前业界认可的、能在数据要素流通融合中有效保护数据隐私的信息技术。随着各国隐私保护法规的陆续出台、隐私保护意识的觉醒,近年来欧美、中日韩等国家和地区加快了对隐私计算的研发和商用步伐,其中代表性的国外厂商有谷歌、微软、Intel、Inpher、Duality等。
隐私计算是一个快速发展的领域,涉及密码学、安全硬件、信息论、分布式计算等多个学科。目前公开的隐私计算技术资料和白皮书已经非常丰富,但是缺乏对各技术优缺点的深入分析和对比。本文将从性能、安全、隐私、功能、研发难度等多个角度分析对比各技术路线。
首先需要明确的是,隐私计算并非单一的技术,而是包含多种隐私保护技术/隐私增强技术,涉及密码学、安全硬 件、信息论、分布式计算等多个学科。
隐私计算基于其实现隐私保护的原理可分为密码学、可信执行环境、信息混淆脱敏、分布式计算四类路线,其中的主要代表技术有多方安全计算、差分隐私、匿名化、联邦学习等。
这些技术在可支持计算、隐私保护维度、隐私保护强度、安全性、性能等方面有较大差异,分别适合不同的应用和场景。有时也需要结合使用两种或多种技术来满足应用需求。
密码学路线
其代表技术是多方安全计算MPC(secure Multi-Party Computation)。这一路线是在“密态”下进行数据的计算、检索等处理,这一过程中输入数据、中间结果处于密态不暴露,只输出最终结果。
可信执行环境路线
其方法是通过可信的抗篡改的软硬件构建一个可信的、难以被外界窃听内部数据的安全环境,数据在该环境中由可信的程序进行处理。
信息混淆脱敏路线
其主要代表技术是匿名化和差分隐私。其典型方法是通过加噪、删除、泛化等信息处理手段对数据处理以减少或去除其中的敏感信息后再输出。
分布式计算路线
其代表是联邦学习FL(Federated Learning)和分割学习(Split Learning)。大多分布式计算任务原始数据不需要对外输出,只需输出本地基于原始数据计算的中间结果。
MPC是该路线中最具代表性的技术,它可以支持多方数据的各种计算,除了可以保护各方数据隐私,还可以实现结果管控:只让指定方获得计算结果或结果的一部分。
而且采用MPC的每次计算都需要各方的配合协作,因此各方可以很好控制数据的用途(参与了什么计算任务)、用量(参与了几次计算、哪些字段参与了计算),容易实施数据最小化使用原则,防止数据滥用和非授权使用。
MPC的挑战和局限:
1)性能挑战。密态下计算性能远低于明文计算和TEE路线。对于不少计算任务,可以通过离线预计算、硬件加速等方式缩短MPC的在线响应时间。但对于部分要求高QPS、低响应的复杂在线计算任务,目前的MPC技术还是难以满足要求。比如,对于大型的DNN/CNN模型的MPC推理耗时为分钟级。
2)安全挑战。虽然密码学给MPC的安全性提供了非常高的保障,但是由于MPC的性能挑战,不少MPC协议采用的安全模型是弱化的(相对于身份认证、密钥协商等密码协议)。例如:安全模型假设无合谋(参与方之间不会合谋以窃取其他方数据)、不偏离协议(每个参与方都忠实执行规定的MPC协议)。若无合谋假设不成立,则数据会泄露;若不偏离协议假设不成立,不少MPC协议也存在数据泄露风险。
因此,在应用MPC产品时,需注意其安全模型是否达到业务的要求。除了使用强安全模型的MPC协议,一种解决办法是将MPC和TEE结合:各参与方将其MPC软件运行在其TEE中,通过TEE来保证不偏离协议和增大合谋攻击的难度。
3)功能挑战。功能完备的MPC产品研发挑战很大,需要投入很多资源。研发功能丰富高性能的分布式机器学习、数据分析产品已经挑战很大,研发基于MPC的密态机器学习、数据分析产品挑战更大。目前业内的大多MPC产品与传统的AI平台、数据库相比,功能还是欠缺很多,需要时间来完善。
可信执行环境(TEE)的方法是通过可信的抗篡改的软硬件构建一个可信的安全环境,数据在该环境中由可信的程序进行处理。该环境具备一定抵抗外界窃取数据、篡改数据、篡改程序的能力。目前较为成熟的可信执行环境方案有SGX、Trustzone等。
与MPC一样,TEE同样具备以下优点:支持任意计算逻辑、结果输出可控、数据用途用量控制、计算正确性校验。两者的差异源于实现机制和安全前提的不同,TEE依赖于特定软硬件的安全性,MPC依赖于密码算法的安全性。
由于避免了复杂的密码学计算和协议,TEE其性能远高于MPC,基于的TEE隐私计算产品研发也相较容易:可以将现有的机器学习、统计分析等软件迁移或适配到TEE下,实现隐私计算的机器学习、统计分析等。
TEE的局限性主要在于需要特定TEE硬件设备,而且需要依赖硬件产品的安全性(不存在安全漏洞,没留后门),硬件安全性的检测通常难以进行。增强硬件安全的可信度的方法有TEE硬件国产化和权威机构检测。
它的主要代表是匿名化和差分隐私,其方法是通过加噪、删除、泛化等信息处理手段对数据处理以减少或去除其中的敏感信息后再输出。例如,医学主管单位将采集的个人数据/疫情数据匿名化和脱敏后公开发布,供广大医疗机构研究,供各机构和民众做好防疫工作。在这样的场景下,数据的合理用途非常广、用量非常大,MPC或TEE使用成本高、权限管控太严,限制了数据的流通和利用。而信息混淆脱敏路线具备低成本、高性能、实现简易的优势。
缺点是难平衡隐私保护和数据可用性的矛盾:混淆脱敏去除了部分信息(或降低了部分信息精度),而某些计算和分析可能需要使用这些信息(或需要使用高精度的信息)。在这种情况下,就还需要采用MPC或TEE。
信息混淆脱敏另一大用途是:作为辅助,结合其他隐私技术路线(如MPC、TEE)用于联合计算,减少可从结果中得到敏感信息。MPC、TEE可以保护输入数据、中间计算结果不泄露,但是如果最终计算结果包含敏感信息,则还需要采用信息混淆脱敏处理后再输出最终结果,或者对输入数据、中间结果应用信息混淆脱敏。
该路线的代表是联邦学习、分割学习及弱PPML(暴露中间计算结果的隐私保护机器学习PPML,联邦学习和分割学习为弱PPML特例)。
大多分布式计算任务不需要各节点间交互原始输入数据,只需交互本地基于原始数据计算的中间结果。相比较把各方数据汇聚在一起再计算的集中式计算方法,分布式计算大为减少了原始信息的泄露。但与MPC、TEE方式相比隐私保护弱,额外泄露了中间结果信息。
以联邦学习为例,它沿用了传统分布式机器学习的参数服务器-工作服务器架构。
联邦学习典型架构(来自《Introduction to Federated Learning and Privacy Preservation》)
这一架构中,一个中心服务器作为参数服务器协调多个数据方的服务器(作为工作服务器)进行联合机器学习训练,各工作服务器基于本地样本数据计算出的梯度信息交给参数服务器进行汇聚,参数服务器将最新迭代的模型参数下放给各工作服务器。
与传统分布式机器学习的区别在于:每个worker/数据方是一个独立的实体,各自持有自己的训练样本(全体样本的子集),而不是所有worker和样本属于同一机构,这一数据分布方式被称为数据水平分割(对应分割学习场景中常见的数据垂直分割)。这一架构缺乏对计算结果的管控,即任一参与方都能得到模型参数。
联邦学习另一个弱点是计算中间信息(梯度)的泄露,多项研究表明该泄露有暴露原始数据敏感信息的风险。为了减少梯度信息泄露,联邦学习一般采用MPC或者差分隐私技术进行各方梯度的汇聚。
需要注意的是:两方联邦学习无法采用MPC减少信息泄露,因为任一方从两方梯度汇聚结果就能推出对方梯度,采用MPC进行梯度安全汇聚需要更多数据方才有意义。[1]
每种隐私计算路线各有优缺点,在不少场景中可以结合使用以扬长避短。
对于业内最为关注的面向联合计算的通用隐私计算产品,技术路线建议如下:
MPC、TEE双引擎。从计算类型丰富度出发,必然需要采用MPC或TEE技术路线以支持各种计算。MPC、TEE两者在安全和性能上各有权衡。理想的隐私计算产品应支持MPC、TEE双引擎,让用户能根据具体场景灵活选择引擎使用。
分布式计算作为补充。在部分建模场合(模型无需管控、中间信息泄露可接受)可以采用联邦学习、分割学习、弱PPML作为补充,以提升性能;且联邦学习/分割学习采用MPC减少中间信息泄露。
信息脱敏混淆作为辅助。其中,最有代表性的是将差分隐私用于基于MPC/TEE的安全统计分析结果的保护,防止差分攻击。
蚂蚁链摩斯安全计算平台以MPC、TEE为双引擎,并结合联邦学习、分割学习、差分隐私等多种隐私计算技术,并让用户能以同样的操作方式使用产品,做到使用操作与底层隐私计算技术无关。
【注】联邦学习的定义和范畴问题。联邦学习没有业内一致认可的严格定义。除了上述典型架构外,一些厂商和科研成果机构还提出了新的联邦学习架构,包括用于数据垂直分割场景的架构。然而这些架构是否属于联邦学习在业内特别是学术界没有共识,不少架构其实属于分割学习。为了产品推广方便和市场教育简化,业内不少厂商和用户所指的联邦学习范畴其实还覆盖了分割学习、其他弱PPML甚至是MPC机器学习。为了便于对比分析各技术,本文所指的联邦学习为典型的得到共识的架构。