科普 | 一篇搞懂隐私计算中的联邦学习(下)
达瓴智库3 ?联邦学习中的数据安全问题
回顾联邦学习的起源,它同时具备两个动机:解决“联邦”场景下的方法框架问题,以及解决隐私保护问题。前面两节分别介绍框架部分的方法与局限性,本节介绍隐私保护中的数据安全部分,而模型安全部分则放到下一节介绍。
需要指出的是,通常所谓的“数据不出门”是一个不够严谨的说法:它只是表明原始数据本身不会被传递。但出于“有用性”要求,要绝对防止信息泄露却并无可能[13];因此,在前面介绍的各种联邦学习方案中,与原始数据密切相关的信息不可避免要发送出去,从而使得攻击者或“诚实但好奇”的参与方有可能根据这些信息反推原始数据或提取与原始数据有关的信息,导致各种安全问题。
因此,仍需对各个应用场景的安全需求进行分级,并根据实际需要和资源约束情况选择使用相应的安全协议。
数据安全算法主要是各种多方安全计算(MPC)协议,实际应用中也有非MPC的协议。按照所能提供的安全保证,可以对这些方法作如图表 4所示的区分。
接下来,我们按照安全保证级别从高到底分别介绍代表性的协议。
图表 4 联邦学习中常见数据安全协议的保证级别
3.1 ?恶意多数安全:SPDZ协议
SPDZ是一个先于联邦学习而存在的多方安全计算协议,读作[Speed-Z],为四位发明者姓氏首字母拼合而成,最早发表于2011年[14],后来又先后优化为SPDZ2[15]以及MASCOT[16]。协议分为不涉及被计算数据和逻辑的预处理阶段,以及需要数据和计算逻辑的“在线”阶段。在线阶段很高效,因此后续的效率升级都是针对预处理阶段。
SPDZ的基本方法是秘密分享。假设有n个参与方,第i个参与方Pi持有被分享数V的一个分量Vi,而所有这些分量加起来1等于被分享值:
1一般需要在域上计算,本文从略,下同
跟加性秘密分享方法(见3.5)不同的是,SPDZ能够同时支持加法和乘法,构成了完备的多项式计算能力。在秘密分享的基础上计算加法很简单,各参与方对自己掌握的分量执行相加运算即可;但计算乘法需要打开所谓的Beaver乘法三元组[17]。这是符合乘法关系的三个数,由各参与方秘密分享持有,一般在预处理阶段生成。使用三元组存在较大的网络通信开销。
SPDZ协议使用消息鉴别码机制和承诺协议,能够在恶意多数情况下保证作弊行为极大概率会被发现(统计安全性);并且这个保证无须依赖公信第三方来提供。这使得SPDZ协议特别适合在具有潜在业务竞争关系或者彼此信任度不是特别高的机构间开展联邦学习合作。而在线计算所需之Beaver乘法三元组则在预处理阶段生成,同样无须公信第三方;由于相关技术比较复杂且多次优化,此处不作介绍。
在部署上,各参与方可以直接作为SPDZ节点参与,也可以采用两个、三个或多个SPDZ安全计算节点,供各方以秘密分享的方式提供数据给节点作进一步计算。
在实际应用中,由于SPDZ仅支持加法和乘法,存在较大局限性,特别是在处理ReLU、MaxPooling等函数的时候。例如,TensorFlow Encrypted对SPDZ的实现(Pond)使用了切比雪夫多项式近似方法来逼近ReLU函数。如果场景允许放宽安全要求,则可以考虑采用ABY3或者SecureNN协议。
3.2 ?恶意少数安全:ABY3协议
ABY3协议框架基于三方安全计算,协议框架中三个服务器是彼此对等的。在安全性上,ABY3能够抵抗最多一个恶意参与方而保证安全性,即在恶意行为发生的时候能够中止协议,在安全与效率之间取得了较好的平衡。
具体算法实现上,综合采用算术协议(Arithmetic)、二进制协议(Binary)以及混淆电路协议(Yao,此处以姚期智院士的姓氏首字母代指其首创的混淆电路方法),在协议切换上有很多创新[18]。对二进制协议和混淆电路协议的支持使得ABY3能够直接计算非线性函数,同时其独特的乘法算法采用截尾方法(truncation)而不需要依赖Beaver三元组。
3.3 ?半诚实安全:SecureNN协议和Falcon框架
SecureNN协议和ABY3协议几乎同时出现。其中,SecureNN为专门针对神经网络训练的需要开发。多个数据方提供的输入数据被以秘密共享的形式分发给训练服务器,而训练出来的模型既可以继续保持为服务器之间秘密共享的状态,也可以重建出来。SecureNN实现了ReLU函数的变种,并实现了其它非线性函数,包括ReLU,Maxpool,除法等,能够满足神经网络训练的现实需要[19]。
SecureNN配置了两个安全计算节点P0和P1,以及一个协调节点P2。在大多数算法实现中,P0和P1持有被秘密分享的输入值,而P2则负责协调协议的执行,包括生成必要的随机数以及计算某些中间结果。特别是在矩阵乘法中,P2的一个任务是负责生成Beaver乘法三元组。
SecureNN仅能保证半诚实安全,而在存在一个恶意方的时候,仅能保证隐私不泄露,不能保证计算结果正确。SecureNN不能支持恶意多数下的安全性,例如,P0和P1合谋即可恢复任何数据提供方的数据。
SecureNN另外有一个创新,任何两个实体之间可以通过密钥交换协议确定共享秘密,之后以该共享秘密为密钥,使用伪随机数函数(PRF)可以持续生成秘密分享的参数而无须持续通信,这能在一定程度上改善性能。
在SecureNN和ABY3的基础上,叠加独特的协议和算法创新,普林斯顿大学、微软研究院、Algorand基金会、Technion联合开发了Falcon框架[20]。根据其作者的介绍,Falcon在推理应用上的计算速度为SecureNN的八倍,比肩ABY3,通信效率则为前两者的数十倍;
在模型训练应用上,计算速度以及通信效率也有多倍提升。使用Falcon的开发者既可以选择恶意安全(允许最多一个恶意方并在发现恶意行为的时候中止协议),也可以选择半诚实安全性并获得更好的性能。除了其优异的安全计算性能,Falcon还能较好地支持参数数量高达上亿的大型网络。
Falcon使用三个对等服务器。训练和模型预测应用均由这三个服务器完成,训练出来的模型以秘密分享的形式保存在三个服务器上。模型应用的时候,查询方提供的数据仍然以秘密分享的形式分别提供给三个服务器,从而保证了机密性。
3.4 ?公信第三方保证:Paillier同态加密技术及其安全与性能问题
基于公信第三方保证的技术和方法并不属于多方安全计算,但现实中排除公信方无法存在的场景后,可能确实还存在一定的用途,需要结合具体应用场景分析。
有部分联邦学习框架在纵向联邦中应用了Paillier加法同态方案[7],并且缺省使用了1024位加密强度。这里存在两方面的问题:安全性和计算性能。Paillier算法的加密强度可以参照RSA算法,而RSA的1024位在今天大约仅相当于80位对称加密强度[21];根据一项2012年的研究[23],受其保护的相关数据有可能在肉鸡网络或者大型计算集群上被花费一年甚至更短时间破解;而考虑到这些年来的硬件进展,当下所需的破解时间恐怕还要大幅缩短。
提高密钥位数是一种应对方法,但这涉及到Paillier算法的计算性能问题。如果密钥长度提升到当下可接受的水平即2048位,则对应的Paillier算法需要计算4096位的模指数,预期性能较低。在普通的工作站上,实测解密性能每核心仅为每秒数百次(参照RSA 4096签名性能;使用openssl speed rsa命令测试,测试期间CPU运行频率为4.2 GHz,OpenSSL版本为1.1.1f)。
3.5 ?无保证:加性秘密分享协议
在一些开源软件中,横向联邦学习方法被简化,每个参与设备所计算出来的权重更新数据被汇总到服务器;在服务器那里,这些数据被简单叠加求和,以便得到该轮训练所产生的模型更新量。这并非[4]所提出的加权叠加算法FedAvg,但由于其被应用于部分开源的隐私计算框架,有一定影响力,故略作介绍。
为了防止服务器得到每个设备的权重更新数据进而推导出参与设备的私有数据,加性秘密分享协议给参与该轮训练的所有设备都分配了一个随机数用来和待汇总叠加的数相加,起到混淆的作用。这样服务器看到的设备数据近乎随机,无法从中得到有用的数据。
为了仍然能够保证叠加出来的数值为正确,根据所分配出去的随机数,另外计算一个能与所有这些随机数的总和相抵消的数,提供给服务器,以便其在执行叠加操作后再用之抵消用来混淆的那些数,从而得到正确的叠加结果。
以上描述,可能辅以数学式子更加容易理解。假设n个设备参与联邦学习,第i个设备Di有一个数Wi需要发送给服务器,而服务器需要将所有的这些数叠加起来:
为了防止服务器得知具体的每个Wi,每个设备得到了一个随机数ri,将之与Wi相加得到Ri?= Wi?+ ri并发送给服务器。然后服务器计算:
其中R是用来抵消所有的ri的,由安全的方法计算出来并分配给服务器:
不难验证,通过在叠加结果中减去各节点用来混淆真实数值的随机数,服务器能够得到正确的汇总结果并且同时无法得知任何个别设备的更新值。
加性秘密分享协议看上去很简单,容易实现,然而它有很多问题。其中最重要的是影响模型质量:它不能以不同参与设备的数据量为权重来加权汇总模型更新值;如果不配合其它技术调整,甚至目前还没有取得收敛性的理论保证,其应用也因此较为受限。
4 ?联邦学习中的模型安全问题
模型安全问题有别于数据安全问题。就联邦学习而言,数据安全着重保护的是计算过程中交换的各种数据本身的安全性。而模型安全典型问题则为,恶意方可能通过伪造数据、篡改梯度更新数据等手段对训练过程或者所训练出来的模型加以攻击,使其产生错误的分类或者预测;同时,训练出来的模型也有可能“记住”某些数据特征,从而以某种方式导致隐私泄露。
本节简要介绍目前已知的模型安全攻击手段。有些技术不一定是是专门针对联邦学习的,甚至先于联邦学习而存在,但联邦学习独特的、引入了多个利益主体的开放架构,使得攻击面比集中式机器学习大为扩大。
4.1 ?数据投毒
数据投毒是指通过污染、变造数据等手段,影响最终模型的性能。[24](2004年)和[25](2005年)已经研究如何在存在攻击者进行数据投毒的情况下(例如,在垃圾邮件中混入大量“好”词),保持垃圾邮件过滤器的质量。构造对抗样本可以认为是一种数据投毒手段。
使用传统的系统安全或者通信安全技术无法从源头约束数据本身,因此防御数据投毒的措施往往还需要落实在原始数据和协议上。
数据方面,[26]发现,即使数据投毒用户只占较小比例,也能有效影响模型的性能,并且其毒化效果在训练的后期较为明显。考虑到有毒数据所造成的模型更新具有一定的可识别特性,[25]提出,可以提取高维更新向量中的相关参数并利用主成分分析方法降维、分类后去识别恶意参与者。
协议方面,[27]提出,差分隐私的学习算法能够抵抗少量被毒数据,并给出了隐私参数与被毒数据量之间的具体量化关系。
实际应用中,[25]所采取的明文读取参与方的模型更新数据这个做法跟隐私保护的需求产生了冲突。可以考虑综合采用可信计算技术以及[26]所建议的差分隐私技术去解决这个冲突。我们将在第4.3节进一步介绍差分隐私技术,在第5.3节介绍可信计算技术。
4.2 ?模型投毒
在联邦学习场景中,由于模型更新数据可能来自恶意参与方,模型投毒成为现实威胁。虽然数据投毒也会造成模型更新数据的异常,模型投毒却更具针对性,而且有可能通过精心构造模型更新向量来规避异常检测方法。因此,使用可信计算技术来约束参与方的行为,使之不能脱离数据支撑而任意制造模型更新值,将成为基础的防卫手段。
后门攻击是一种特殊的模型投毒手段[28]。攻击者在维持模型的总体精确度的同时,更改模型在某些样本上的预测结果,能够达到隐藏其攻击使之免被发现的效果。例如,黑灰产团伙设法攻击一个通过联邦学习训练的风控模型,使其将该团伙的某些作弊特征识别为正常用户行为,则该团伙可以设法逃过风控系统的识别,同时系统的总体风险识别率似乎仍可接受。目前还没有能特别有效防卫后门攻击的算法手段[29]。
4.3 ?隐私数据推理
攻击方根据训练过程中获得的数据或者模型参数,试图推算诚实参与方的隐私数据。数据方的梯度更新数据可以通过加密、多方安全计算或可信计算技术加以保护,避免隐私数据被从梯度更新数据中推算出来。在此基础上,仍然可以考虑叠加其它技术进一步保护隐私,例如差分隐私和数据脱敏技术,以进一步保护数据;例如,需要防止的是模型训练出来后有可能会“记住”某些数据特征从而造成隐私泄露。
差分隐私(DP, Differential Privacy)[13]是典型的先于联邦学习已经存在的技术,甚至早于分布式学习。Dwork等证明,要绝对防止隐私的泄露是不可能做到的,这主要是由于有用性要求,即数据需要被使用,这不可避免会造成信息的泄露。
因此,剩下的可能性是如何尽量限制相对隐私的泄露,这就是“差分”的由来:任何查询结果一定程度上不应该能够被用来推断某个个体的数据是否被包含在数据集中。反映在其定义上则存在“相邻数据集”概念。所谓相邻数据集,指两个数据集只相差一条记录,而差分隐私则定义为相邻数据集在一定程度上(以ε-δ计量)不可区分[13];在横向联邦学习的场景中,相邻数据集也可以指数据集D1和D2仅相差某个用户或者某台设备所贡献的数据[30]。
除了差分隐私,脱敏技术也是应该考虑的一个方面。涉及个人隐私的数据如详细的住址、电话号码、身份证号码等,受到法律的严格保护。一般而言,这种数据也不会对拟建立的模型能有直接助益,可以从数据中删除或模糊化而不影响模型的预测性能。
4.4 ?模型窃取
联邦优化算法、(横向)联邦学习算法,以及后来的其它文献所提出的算法,都没有考虑全局模型分发给参与方之后的保密问题。SPDZ,ABY3,SecureNN和Falcon较好地解决了全局模型的保密问题,但是无法直接对模型更新值进行异常检测或者主成分分析,需要另外采取措施防御数据投毒。
5 ?联邦学习的应用建议
以上介绍了联邦学习的基本方法,以及其中所涉及到的模型质量、数据安全、模型安全和隐私保护问题。希望读者读完后对联邦学习的全貌能有初步了解。接下来,我们给出一些具体可操作的落地应用建议。
5.1 ?落地应用1+3
我们把联邦学习的应用过程高度简化为1+3。其中,1指的是一个公式:
联邦学习 = 机器学习 + 数据安全
这个公式首先回答了“联邦学习是什么”这个问题:它首先是一个机器学习的技术,并且叠加了多个机构协作共同建模和利用模型所需要的数据安全技术(模型质量和模型安全问题在现阶段可能是第二位的)。通过这个公式,可以初步判断相关的场景是否需要使用联邦学习技术。
确定需要使用联邦学习技术之后,我们需要回答如下3个问题以确定总体方案:
第一个是数据维度分布:参与各方是否具有同样的数据维度?这决定我们需要应用横向还是纵向的联邦学习技术。当然也可以考虑分割型神经网络;
第二个是确立安全需求:有没有外部数据合作方,有的话,对方是十分可信,还是说有可能借机窃取数据?这决定我们需要应用恶意多数安全的协议(SPDZ或其升级版本),还是恶意少数安全的协议(ABY3),还是半诚实安全的协议(SecureNN)。如果是供应商自行研发的安全协议,可以要求供应商提供带安全证明的已发表论文。另外,监管机构可能会在跨境数据合作场景中要求恶意多数安全的协议,即便场景仅限于同一家集团公司国内外业务部门之间的合作。
第三个是模型归属问题:训练出来的模型归其中一方所有还是共同所有?模型体现了数据的价值,其归属及管理均关涉各方利益。例如设想一个贷款需求或信用卡分期需求预测模型,如果根据某个银行的数据训练出来之后的模型被其竞争对手获得,这相当于数据使用权的流失,还可能进一步导致优质客户流失。
厘清1+3之后,我们就确立了联邦学习落地的初步方向。当然,剩下的一些问题也同样重要。
5.2 ?设立性能基准
为了确定联邦学习的模型性能、准确计量应用联邦学习技术所产生的收益等,需要设立相应基准。例如,一家银行以仅靠自有数据作信用卡分期需求预测作为基准,对比使用联邦学习技术联合外部数据作建模以及预测,可以评估外部数据以及联邦学习技术在提升预测准确性方面的性能,进而评估项目的实际财务收益。
另外如果数据可以合规获得,也可以对比测试联邦学习和集中式学习,以便确定联邦学习所训练出来的模型质量相比集中式学习是否有较大差距。
5.3 ?考虑采用可信计算技术
除了前述基于软件、算法的解决方案,还可以结合使用基于硬件的可信计算技术作为补充,或者作为某些环节提升安全性的辅助手段。可信计算技术基于可信执行环境(TEE,Trusted Execution Environment)。TEE有多种实现,每家的威胁模型和安全设计均有所不同。其中Intel SGX技术和ARM TrustZone技术可用于联邦学习。
虽然这些技术可能还存在一定的安全隐患,例如侧信道攻击(Side Channel Attack);但只要联邦学习系统的主要安全性并不依赖可信计算技术,则仍然可取。
在横向联邦学习技术中,服务器往往会分发全局模型到各个移动设备。为防止攻击者尝试模型投毒或者其它攻击,在移动设备端可以使用ARM TrustZone技术来保证客户端的行为。
Intel SGX技术的威胁模型强大,安全假设少。通俗地讲,SGX除了CPU以外谁也不信任。因此,如果不考虑可能的安全漏洞和侧信道攻击,攻击者即便完全掌握了物理主机或虚拟客机的操作系统、底层主机系统固件,可以读取和修改任意位置的内存内容,也无法得知运行在SGX安全围圈(enclave)内的数据。SGX安全围圈范围内的内存数据经过AES算法加密,并且仅能在CPU内部由对应的SGX安全围圈解密。加解密当然会损失一部分性能,但AES的硬件实现十分高效,不会造成主要的性能障碍。
SGX另外能够提供远程认证能力,能够保证安全围圈上运行的软件是经过认证的版本,没有被篡改过。这在联邦学习中特别重要,它能保证参与方的行为不会偏离约定的协议。例如,在梯度更新数据被通过多方安全计算技术提交聚合之前,可以放在一个前置的SGX容器中进行数据检测,以保证检测逻辑得到严格执行,同时又能避免聚合端检测造成跟隐私保护要求的冲突;
又如,SGX可以用来保证多方安全计算的参与方严格遵循协议约定,因此可以将原本要求恶意多数安全的协议放宽为恶意少数安全或半诚实安全。我们认为,一个强调安全性的联邦学习方案或者产品应该提供SGX支持能力。
总的来说,SGX通过内存加密能够保护运行中的数据,也能认证应用使其免遭篡改,构成了一个可信的安全底层。在SGX的基础上再根据安全需要叠加SPDZ、ABY3、SecureNN或者Falcon,能形成比较好的安全保护,极大提升攻击门槛。
目前,对SGX的支持已经被集成进Linux 5.11内核,不久将被各大Linux分发商以及云服务商所支持。同时,经历多年的工作站级支持后,英特尔公司已经在其主流服务器芯片中搭载SGX技术,其安全围圈能够使用最多1TB内存,几乎不会再因围圈换页操作而导致性能下降。这也是英特尔公司的首款10纳米芯片,代号Ice Lake,2021年四月份已经正式发布。在不远的将来,使用SGX技术将无须另行购置硬件、配置操作系统。
另外,神经网络应用往往可以使用显卡加速。而本来使用显卡加速的神经网络应用在迁移到SGX上以后,将因无法使用显卡而使性能大降为原来的百分之二甚至更低。Slalom提供了在SGX安全围圈内计算深度神经网络,同时能将全部线性层计算安全外包给显卡的技术。Slalom技术最高可达到仅用显卡计算性能的40%[30]。
6 ?结语
联邦学习是一门仍在蓬勃发展中的学科,有很多可以改进的地方和未解决的问题。其中,数据非独立同分布所造成的质量影响,除了可以进一步开展学术研究,也需要结合具体应用场景进行评估、测试,如果实际影响不大而使用联邦学习的收益相比更大,亦可容忍。至于数据安全和模型安全,读者需要了解其中存在的问题,并结合实际情况进行应对。希望本文的介绍能给读者一个初步但全面的了解,保证落地应用中没有大的方向性和安全性问题。
接上篇:
一篇搞懂隐私计算中的联邦学习(上)
参考资料:
[4] McMahan H B , ?Moore E , ?Ramage D , et al. Communication-Efficient Learning of Deep Networks from Decentralized Data[J]. Artificial Intelligence and Statistics, 2017: 1273-1282.
[13] Dwork C . Differential privacy. International colloquium on automata, languages, and programming. Springer, Berlin, Heidelberg, 2006: 1-12.
[14] Pastro V , ?Smart N , ?Zakarias S . Multiparty computation from somewhat homomorphic encryption. Cryptology ePrint Archive, Report 2011/535, 2011. http: //eprint.iacr.org. ?2013.
[15] Damg?rd I , ?Keller M , ?Larraia E , et al. Practical Covertly Secure MPC for Dishonest Majority – or: Breaking the SPDZ Limits[C]// European Symposium on Research in Computer Security. Springer Berlin Heidelberg, 2013: 1-18.
[16] Keller M , Orsini E , Scholl P . MASCOT: Faster Malicious Arithmetic Secure Computation with Oblivious Transfer[C]// ACM SIGSAC Conference on Computer & Communications Security. ACM, 2016: 830-842.
[17] Beaver D . Efficient Multiparty Protocols Using Circuit Randomization[C]. Annual international cryptology conference. Springer, Berlin, Heidelberg, 1991: 420-432.
[18] Mohassel P , Rindal P . ABY3: A Mixed Protocol Framework for Machine Learning[C]// Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2018: 35-52.
[19] Wagh S , ?Gupta D , ?Chandran N . SecureNN: 3-Party Secure Computation for Neural Network Training[J]. Proceedings on Privacy Enhancing Technologies, 2019, 2019(3):26-49.
[20] Wagh S , ?Tople S , ?Benhamouda F , et al. FALCON: Honest-Majority Maliciously Secure Framework for Private Deep Learning. arXiv preprint arXiv:2004.02229. 2020.
[21] Barker E , Baker W , Burr W , et al. Recommendation for Key Management: Part 1 – General, revision 5. National Institution of Standards and Technology, Technology Administration. 2020: 54-55.
[23] Bernstein D J , Heninger N , Lange T . FactHacks: RSA factorization in the real world. Chaos Computer Club 29C3, 26. 2012.
[24] Dalvi N , Domingos P , Sanghai S , et al. Adversarial classification[C]. Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining. 2004:99--108.
[25] Lowd D , ?Meek C . Good Word Attacks on Statistical Spam Filters[C]// Conference on Email & Anti-spam. DBLP, 2005.
[26] Tolpegin V , ?Truex S , ?Gursoy M E , et al. Data Poisoning Attacks Against Federated Learning Systems[M]. European Symposium on Research in Computer Security. Springer Cham.?2020: 480-501.
[27] Ma Y , ?Zhu X , ?Hsu J . Data Poisoning against Differentially-Private Learners: Attacks and Defenses. arXiv preprint arXiv:1903.09860. 2019.
[28] Bagdasaryan E , ?Veit A , ?Hua Y , et al. How To Backdoor Federated Learning. International Conference on Artificial Intelligence and Statistics. ?2020: 2938-2948.
[29] Kairouz E , ?McMahan H B , Avent B , et al. Advances and Open Problems in Federated Learning. Foundations and Trends? in Machine Learning, 2021, 14(1-2): 1-210.
[30] McMahan H B , ?Ramage D , ?Talwar K , et al. Learning Differentially Private Recurrent Language Models. arXiv preprint ar
作者简介
郭伟基:原美国运通在中国境内合资银行卡清算机构——连通(杭州)技术服务有限公司创新技术部负责人,总监,主要从事前沿创新技术如隐私计算、联邦学习、同态加密、智能合约等在金融支付、风险管理、精准营销等方面的应用。
内容旨在信息传递,不构成任何投资建议。