面向数据安全共享的联邦学习研究综述*
2022-02-28郭渊博
方 晨,郭渊博
(战略支援部队信息工程大学 密码工程学院,河南 郑州 450001)
0 引言
伴随着云计算、边缘计算等新一代信息技术的快速发展,全球数据量呈爆发式增长。数据已经成为影响全球竞争的重要战略性资源,各国陆续出台相应政策大力支持数字经济的发展。然而,现阶段海量的数据分布在不同的组织机构和信息系统中,需要实现跨部门、跨地域、跨系统间的数据共享,才能充分发挥数据价值。但是数据安全与合规问题却对数据共享造成了诸多挑战,一方面,数据易被复制的特性使得数据主体担心自己的商业秘密或用户隐私泄露,导致他们不愿共享数据;另一方面,日益严格的数据安全法规对个人数据的流通和使用提出了诸多限制。
隐私计算技术的兴起为保障数据在安全合规的前提下发挥价值提供了破局思路,它是一个涵盖密码学、人工智能、安全硬件等众多领域的跨学科技术体系。联邦学习是隐私计算的代表性技术之一,可以使分布式用户无须传输本地数据即可实现联合建模,成为数据安全共享的新范式。由于联邦学习可以与安全多方计算、可信执行环境以及其他密码学技术相结合,因此被学术界和工业界广泛研究,并应用于智能家居、智慧城市、工业互联网等场景。本文首先对隐私计算框架、联邦学习、区块链以及相关密码学技术进行简要的概述,然后介绍了联邦学习的隐私安全性以及其与区块链相结合的两方面研究成果,最后对未来的研究热点进行展望。
1 相关技术介绍
1.1 隐私计算框架
隐私计算技术为数据在融合应用中保障数据安全合规提供了关键技术路径,当前已经成为政、学、研、产等各界的关注焦点。据国际权威调研机构Gartner预测[1],2025年将有一半的大型企业使用隐私计算技术在不可信的环境中处理敏感数据。隐私计算联盟、中国信息通信研究院云计算与大数据研究所于2021年发布的《隐私计算白皮书》[2]中将隐私计算定义为在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术,保障数据在流通与融合过程中的“可用不可见”。从技术原理上讲,隐私计算交叉融合了密码学、人工智能、安全硬件等众多学科,以联邦学习、安全多方计算、可信执行环境3种主流技术为代表,同态加密、差分隐私、零知识证明、秘密共享等为底层密码学技术,同时与区块链技术紧密结合。其技术体系如图1所示。
图1 隐私计算技术框架
本文主要关注联邦学习与区块链技术以及相关密码学技术的结合应用现状。其技术原理如下文所述。
1.2 联邦学习
联邦学习是谷歌于2016年提出的一种分布式机器学习框架[3],被用于联合大量分布式用户的数据训练一个高质量的机器学习模型。联邦学习能够在用户数据不出本地的情况下联合利用多方数据,是解决“数据孤岛”问题的重要框架,其核心思想是“数据不动模型动,数据可用不可见”。传统的集中式机器学习算法需要将数据集中到中心服务器来训练模型,这不仅会消耗大量的通信资源,数据在传输过程中也可能面临隐私泄露风险。而联邦学习仅需要用户向服务器上传本地训练得到的模型参数,由服务器协调多用户来协同训练机器学习模型。联邦学习一般流程如图2所示。
图2 联邦学习一般流程
步骤1:在初始化阶段,服务器根据训练任务将初始化模型下发给所有参与训练的用户。
步骤2:每个用户将收到的模型作为本地模型,以最小化损失函数为目标,利用梯度下降等优化算法在本地数据集上进行训练。迭代若干次后将模型参数(例如梯度、权重参数等)上传至中心服务器。
步骤3:中心服务器通过加权平均方法聚合来自所有用户的参数,得到全局模型,并将其下发至所有用户。用户按照步骤2开始新一轮的训练。上述联邦学习过程将反复迭代,直至模型收敛或达到最大训练轮数。
根据分布式用户持有数据的情况,可以将联邦学习分为横向联邦、纵向联邦和联邦迁移。其中,横向联邦适用于数据集中的用户特征重叠较多而用户重叠较少的情况,例如两个金融公司的用户数据;纵向联邦适用于数据集中的用户特征重叠较少而用户重叠较多的情况,例如同一地区的互联网公司和金融公司中共同用户的数据;联邦迁移适用于数据集中的用户特征重叠和用户重叠均较少的情况,此时需要利用迁移学习来克服数据或标签不足的问题,例如位于两个不同国家的互联网公司和金融公司的用户数据。当前,由于模型逆向[4]、模型提取[5]等更加先进的隐私攻击手段的出现,使得联邦学习需要与区块链、差分隐私、安全多方计算等其他隐私计算技术互相融合来提高安全性,并解决计算开销、通信开销、训练效率等问题以适用于更加实际的应用场景。
1.3 区块链技术
自2008年中本聪第一次提出比特币[6]以来,区块链作为比特币的底层框架开始被学术界和工业界深入研究。国际权威调研机构Gartner更是将“实用型区块链”列为2020年十大战略科技发展趋势之一[7]。
从本质上讲,区块链是一个分布式账本,以透明且不可篡改的方式记录各方之间的交易。区块链的一般结构如图3所示,每个区块由区块头和包含一系列事务的区块体组成,区块头中含有前一个区块的散列值,用于将当前区块链接至前一个区块。每个区块链节点均存储一个由若干个区块组成的账本,并且通过共识协议保证各个节点的账本都是一致的。
图3 区块链结构
现有的共识协议主要包括工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、 委托股权证明(Delegated Proof of Stake,DPoS)、 实用拜占庭容错协议(Practical Byzantine Fault Tolerance,PBFT)等。这些协议在安全性、响应时间、吞吐量等方面有各自的特点,但核心都是解决记账权分配的问题。其中PoW是比特币网络使用的共识协议,它分配记账权的原理是让网络中的每个节点都计算特定的哈希值。哈希值满足一定条件的首个节点得到生成新区块的权利。新区块通过验证后会广播给网络中的其他节点以保持账本的一致性。这种机制是完全去中心化的,且由于犯错成本非常高,使其安全性得到有效保证。但是争夺记账权的过程会浪费大量的计算资源,效率低下。PoS分配记账权的原理是节点通过证明自己的持股数来竞争生成新区块的权利,相比之下,其避免了不必要的资源浪费,但是会导致一定的权力集中,有些违背去中心化的初衷。为此,DPoS通过节点投票选举出一定数量的代理节点负责区块的生成和验证,资源开销更少、交易效率更高,但是由于记账节点的减少,该协议可能面临被部分恶意节点操控的风险。PBFT则可以在有部分恶意节点存在的情况下达成共识,更常用于联盟链中。
1.4 相关密码学技术
1.4.1 差分隐私
差分隐私(Differential Privacy,DP)是Dwork 于2006年提出的一种严格可证明的隐私保护技术[8],可以抵抗攻击者任意背景知识,其基本思想是对原始数据转换或对输出结果添加噪声来保护数据隐私,确保数据集中任何单个记录的修改都不会对统计结果造成显著影响。差分隐私所加入的噪声量与数据集规模无关,在大型数据集上只需要添加少量的噪声即可实现较高水平的隐私保护。其相关定义如下:
定义差分隐私为(ε,δ)。令A:D→R为随机算法,D和D′为最多相差一条记录的相邻数据集,若A在D和D′上的任意输出结果O∈R都满足式(1),则称A实现差分隐私(ε,δ)。
式中:参数ε为隐私预算,代表差分隐私技术所实现的隐私保护程度,ε值越小,则表示隐私保护程度越高;δ为违背严格差分隐私的概率。
1.4.2 同态加密
同态加密是基于数学难题的计算复杂性理论的密码学技术,是指在密文状态下对加密消息进行计算的结果再进行同态解密后的明文结果与明文数据进行加密再解密的处理结果一致。根据所支持的计算形式,同态加密可分为全同态和半同态,其中,全同态加密支持对密文进行任意形式的计算,计算开销较大,应用场景受限;半同态加密仅支持对密文进行加法或乘法计算,计算开销相对较小,目前常应用于联邦学习中的半同态加密算法包括ElGamal算法和Paillier算法。
1.4.3 秘密共享
秘密共享是一类重要的密码学原语,是指将秘密拆分成若干份额,分别交于若干参与者保存。当达到门限数的参与者将它们持有的秘密份额联合起来进行计算时,即可恢复秘密,而任意一个参与者所持有的秘密份额均不会泄露原始秘密的任何信息。例如,应用较为广泛的Shamir秘密共享协议[9],它基于Lagrange插值定理。构造一个 1m−次的多项式:
式中:p为素数,a0为常数,ai(1≤i≤m−1)为多项式的系数。令a0=f(0)=s,即把常数项设定为待保护的秘密,且满足sp< ,其他 1m−个系数随机选取。任取n个不同的点ix并计算出函数值f(xi),则这n组(xi,f(xi))即为分给n个参与者的秘密份额。任意m组秘密份额均可以重建出多项式 ()fx,进而得到秘密 (0)sf= 。
2 联邦学习的隐私安全性研究
联邦学习让分布式的用户无须上传原始数据即可协同训练机器学习模型,在保护数据隐私的同时打破了数据孤岛壁垒,被广泛用于实现智能家居、智慧城市等场景下的数据安全共享。但是最新出现的模型逆向[4]、模型提取攻击[5]显示攻击者通过模型梯度依然可以恢复原始训练数据的部分信息,说明原始的联邦学习框架已不足以应对先进的隐私攻击手段。为此,差分隐私和安全多方计算经常被用来加强联邦学习中隐私保护力度。
Shokri等人[10]首次在分布式机器学习方法中的模型参数上添加噪声来确保差分隐私,但是参数数量过大会消耗过量的隐私预算,导致实际的隐私保护效果不佳。Geyer等人[11]在服务器端的聚合模型上添加差分隐私噪声,用来保护用户是否参与训练这一信息,以抵抗成员推理攻击。但是攻击者可以通过服务器观察到用户上传的模型参数,进而窃取用户隐私信息。Huang等人[12]根据每个参与者拥有的数据量不平衡的特点,分配不同的隐私预算,并设计自适应梯度下降算法进行协同训练,在不平衡的数据集上取得了较好的效果。Liu等人[13]根据特征向量对模型输出的贡献程度分配不同的隐私预算,进而减少总体隐私预算的消耗。Truex等人[14]将差分隐私和安全多方计算相结合来减小噪声的规模,实现多方数据协作的准确性和数据隐私保护强度的平衡,并可抵抗用户间的共谋攻击。由此可见,基于差分隐私的联邦学习方法主要关注如何在保护数据隐私的前提下,尽量减少噪声对于数据协作准确性的影响。
Phong等人[15]采用同态加密算法加密用户的模型参数再上传给服务器,服务器只能通过聚合得到密文的全局模型而无法解密单个用户上传的数据。Ma等人[16]结合ELGamal加密协议、Diffie-Hellman密钥交换协议和聚合签名,设计了一个满足隐私性和可验证性的联邦学习方法。Li等人[17]针对云计算场景提出基于多密钥全同态加密的联邦学习隐私保护方法,每个用户都使用自己的密钥来加密模型参数,能够实现较高的模型准确率,但是需要消耗较大的计算开销。为了减小安全多方计算技术的计算开销,Bonawitz等人[18]结合随机数生成器和秘密共享生成掩码,可快速加密用户梯度,并且使得服务器只能获取全体用户的梯度之和,而无法获取单个用户的梯度信息。Zhang等人[19]基于门限秘密共享保护模型梯度信息,只有当服务器收集到足够多的用户梯度后才能解密得到全局梯度,并进一步提出了一种异步优化方案来提高秘密共享的效率。由此可见,基于安全多方计算的联邦学习方法主要致力于如何以较小的计算开销实现对数据的隐私保护。
3 联邦学习与区块链的结合研究
联邦学习需要一个中心服务器来协调处理用户的参数,因此可能遭受单点故障攻击。而区块链具有集体维护特性,可以代替中心服务器完成参数聚合操作,不仅有效避免了单点故障攻击,还为训练过程提供了可审计能力。因此,近年来陆续有学者将区块链和联邦学习相结合,应用于数据安全共享。在该结构中,各用户将本地数据映射为机器学习模型,然后基于区块链的共识机制交换模型,而无任何集中的数据训练或协调,实现了数据价值的安全共享。Kim等人[20]提出了一个设备间的数据共享模型,将设备上的模型参数经过验证和共识后记录到区块链中,提高了安全性。Qu等人[21]结合区块链和联邦学习设计了一个去中心化的认知计算平台,以解决工业4.0中的数据孤岛问题,同时改进马尔可夫决策过程来防范内部用户发起的中毒攻击。但是上述方法均使用工作量证明作为共识协议,会造成大量不必要的计算开销,无法适用于计算资源受限的本地用户。为此,Lu等人[22]采用委托股权证明作为共识协议,并提出了一个由许可区块链和本地有向无环图组成的混合区块链结构,同时设计异步联邦学习方法来提高车联网数据共享的效率。
上述方法均将明文的模型参数作为事务记录存储在区块链中,而区块链账本的透明性与数据共享的隐私要求相矛盾,具体而言就是攻击者可以通过获取区块链中存储的模型参数来推断训练数据的信息。为了进一步提高隐私安全性,Weng等人[23]使用Paillier算法加密用户的模型参数后再上传至区块链,模型更新完毕后由t个用户协作完成解密。但是当训练次数过多时,该方法将消耗大量的计算开销。Lu等人[24]和Qi等人[25]分别针对工业互联网和智慧交通领域的数据安全共享需求,运用本地差分隐私技术,在原始数据上添加噪声后再进行特征提取和共享,可以防止隐私攻击。但是如何平衡隐私保护力度与数据效用仍然是差分隐私技术面临的痛点。
4 结语
日益严峻的数据安全威胁是数字经济时代面临的重要挑战。如何兼顾发展和安全,实现多用户间的数据共享,是充分发挥数据价值的重要课题。以联邦学习为代表的隐私计算技术为共享过程中的数据“可用不可见”提供了有效的解决方案。本文主要介绍了联邦学习的应用背景和技术原理,并总结分析了现阶段联邦学习与其他技术相结合的研究现状。联邦学习的下一步研究方向包括以下几个方面:
(1)模型鲁棒性问题。在原始联邦学习框架中,都是假设各个用户会诚实地上传本地训练的梯度,但是在实际网络环境下,可能存在部分拜占庭用户上传虚假的甚至恶意的梯度来误导联邦学习过程,因此,需要研究鲁棒性联邦学习模型。当前已有部分学者提出拜占庭鲁棒聚合算法,但是在适用范围和训练效率方面仍有待进一步研究。
(2)通信开销问题。联邦学习虽然无须传输原始数据,但是在模型结构较为复杂的情况下通常需要进行上百甚至上千轮次的训练,对于本地用户的通信带宽提出了较高的要求。目前已有部分学者提出了梯度压缩、梯度稀疏化等多种策略来减少通信开销,但是均会对模型收敛速度或者准确性造成较大的影响。如何提出一种更为合理的通信压缩方案,是决定联邦学习能否应用于边缘计算场景的关键。
(3)隐私保护方案与模型性能的平衡。为了应对针对梯度的隐私攻击手段,差分隐私和安全多方计算被广泛用于保护用户的本地梯度。但是二者对模型准确性或训练效率均造成不同程度的影响。如何减少隐私保护方案对模型性能的影响,是联邦学习落地应用的关键问题。