导读隐私聚合技术是专用于解决MPC安全多方求和问题的一种特殊协议。能够解决该问题的协议有很多种,包括基于加法同态加密的协议,线性秘密分享的协议等等。本文中的隐私聚合是指基于Google在CCS2017上提出的用于解决联邦学习中梯度安全聚合问题的协议在联邦场景下的优化。
初识
在联邦学习领域中,我们遇到的一个主要问题是,如何保证在分布式训练中梯度聚合时各客户端梯度的数据安全性。服务器若是直接拿到明文梯度进行聚合,虽然是对梯度进行操作,没有直接操作原数据并不会直接泄露隐私数据,但是对于攻击者来说,由于梯度本身就包含原数据的一些信息,通过梯度进行攻击,还是很容易攻击到客户端的隐私数据。
因此,保证各客户端在梯度聚合阶段自己梯度的安全就非常重要。
Google在CCS2017上提出了一种协议用来解决梯度聚合的安全问题,其核心思想是对于每一个客户端的梯度加上混淆项,由于混淆项是和其他客户端共同协商特殊构造的且只有自己知道,在聚合时,每个客户端传给服务器的梯度中的混淆项都可以消除掉,使得服务器可以在拿到真实的梯度聚合结果的前提下无法攻击到各客户端的真实梯度值。由于每一个客户端发来的都是混淆过的梯度,且梯度中的混淆项只有客户端自己知道,在其他客户端和服务器不合谋的前提下,可以保证各客户端梯度的隐私性。
徐明星新书《趣说金融史》正式发布 科普金融发展之道:金色财经现场报道,9月23日,欧科云链创始人徐明星携手著名财经作家李霁月、行业观察者顾泽辉力作《趣说金融史》一书,跨越5000年金融历史,重读金钱故事,并预测新的金融时代。该书由中信出版社出版,将于近期正式发售。据了解,本书可以更好地呈现金融的起源与发展,帮助人们理解货币、金融与未来经济。作为区块链行业领军企业——欧科云链的创始人,徐明星深知技术探索对经济社会的重要推动作用,他曾先后出版过《图说区块链》、《区块链:重塑经济与世界》、《通证经济》、《链与未来》等行业权威著作,解读区块链等新型技术的推动下,金融与社会的升级之道,对经济社会发展做出了重大贡献。其中,《区块链:重塑经济与世界》曾作为新中国70周年重点推荐图书之一被相关书店推荐。[2021/9/23 17:00:57]
隐私聚合协议
想要站在巨人的肩膀上,首先要学会攀爬。我们需要先学习一下Google是如何做的,概括学习《PracticalSecureAggregationforPrivacy-PreservingMachineLearning》这篇会议论文。
IMF今日发布的加密货币科普视频实为两年前旧闻,且存在诸多疏漏:国际货币基金组织IMF今日在推特上发布了一条关于加密货币的科普视频,这段时长两分钟的视频最初发布于2018年6月。该视频称加密货币是“货币进化的下一步”,但没有特别提到DLT、区块链,甚至是代币名称等术语。BTC、XRP和ETH只出现在说明加密交易的图形中。尽管这段视频到目前为止已经获得了超过13.7万的点击量和2900个赞,但来自加密社区的许多反应都是批评的,他们指出了信息中的漏洞和似乎具有误导性的措辞。
Reddit用户nanooverbtc称:“他们犯了很多错误,比如把私钥称为密码。”该视频也没有讨论挖矿或加密货币供应。Kraken策略师Pierre Rochard等知名人士表示:“可证明的稀缺性是比特币有趣的原因,你忘了提这一点。”(Cointelegraph)[2020/8/24]
▲?相关概念
混淆公式:
人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]
聚合公式:
声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]
阈值秘密分享:
秘密分享是指数据拆散成多个无意义的数,并将这些数分发到多个参与方那里。每个参与方拿到的都是原始数据的一部分,一个或少数几个参与方无法还原出原始数据,只有全部参与方的数据凑在一起时才能还原出原本数据。阈值秘密分享则是将还原的条件放宽,参数方个数达到阈值时数据就可以还原。
▲?协议流程
中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]
第0轮:客户端初始化相关安全参数,生成公私钥对用于后续流程,并发送公钥给服务器。服务器收集足够客户端的公钥数据,并记录这一阶段的存活客户端为u1。
第1轮:服务器广播收到的公钥给所有客户端。客户端拿到其他客户端的公钥,并随机生成生成混淆项bu;将自己的私钥su以及bu通过秘密分享生成客户端总数量的碎片,并使用碎片对应客户端的的公钥cu加密,返回给服务器。服务器收集足够客户端加密的碎片数据,并记录这一阶段的存活客户端为u2。
第2轮:服务器将收集到的客户端加密的碎片数据转发到对应的客户端。客户端收到后根据混淆公式对自己的数据进行混淆,并将混淆后的数据发送给服务器。服务器将u3广播给每个客户端,并记录这一阶段的存活客户端为u3。
第3轮:客户端收到u3,检查客户端个数是否大于等于安全参数t,小于则终止协议。若大于等于t则对u3进行签名将签名发送给服务器。服务器收集到足够客户端的签名,并记录这一阶段的存活客户端为u4。
第4轮:服务器向客户端广播收集到的签名列表。客户端收到签名列表,验证签名列表大于等于安全参数t,否则中止协议。如果大于等于安全参数t则进行验签。验签出错则中止协议。验签结束后,对于u2和u3的差集中的客户端,即离线客户端,向服务器发送离线客户端的私钥su的碎片,对于u2中的客户端,即在线客户端,向服务器发送在线客户端bu的碎片。服务器将收集到每个客户端的bu碎片进行还原,将收集到的离线客户端的su碎片进行还原,然后将收到的所有混淆数据根据聚合公式进行聚合,并使用恢复su减去离线客户端的混淆项,最终消去所有混淆项获得真实的聚合结果。具体的方式可参看原论文的详细协议流程。
Google这篇论文的背景是移动端作为客户端提供数据参与联邦学习的训练,因此每个客户端都是有很大的可能性随时离线的。由于每个客户端的梯度都在聚合之前进行了混淆,如果有客户端在梯度混淆后还未发给服务器就离线了,会导致在聚合阶段,其他客户端梯度中的混淆项无法被消除,服务器拿到的梯度聚合值是错误的,影响最终训练的结果。
为解决这个问题,协议引入了阈值秘密分享技术在聚合前,将自己混淆项的一部分分享给其他客户端,这样服务器可以在客户端离线后从其他在线客户端恢复离线客户端的混淆项。但如果服务器可以随意恢复任意客户端的混淆项从而拿到梯度的真实值,这样即使解决了离线客户端的问题,也失去了隐私保护的特性。为了防止服务器随意还原客户端梯度的混淆项,协议中引入了另一个随机生成的混淆项,并同样将新引入的混淆项通过秘密分享技术分享给其他客户端。
每个客户端在第4轮被请求某个客户端的碎片时,如果该客户端离线则只提供su的碎片,如果该客户端在线则只提供bu的碎片,对于离线客户端中会影响聚合结果的混淆项可以通过该客户端的su恢复出来,而对于在线客户端发来梯度中的两个混淆项无法都还原出来。通过设置秘密分享时的阈值大小为安全参数之上,使得就算服务器向一批客户端获取某个客户端的su,向另一批客户端获取这一客户端的bu,客户端的总数量使得服务器也无法同时获取su和bu,保证客户端真实梯度的安全性。
阈值的安全参数根据不同的敌手模型如下图所示。
优化和扩展
该协议主要是面向移动端联邦学习中的梯度聚合,因此在联邦场景下可以将解决离线客户端问题的第二个混淆项bu,秘密分享和还原的阶段去除,可以省去大幅的开销,并且更适合于联邦场景下的隐私计算。
由于该协议中的混淆项,是客户端与其他所有参与协议的客户端一起协商计算产生的,对于参与协议客户端较多的情况下整个协议的性能会大幅下降,针对于这种情况,KalikinkarMandal等人提出了新的方案进行改进,方案引入了正则图和邻居用户的概念,每个客户端之和在他邻居中的客户端协商秘钥产生掩码以解决该问题。
基于上述协议解决了MPC中的多方加减法运算,但其实借鉴上述协议思路,可以改造出适用于乘法和除法运算的协议,即项协议中的混淆公式和聚合公式中的加减依次替换为乘除就可以解决MPC中的多方乘除运算,但由于对多个混淆项交替进行了乘除运算,在最终聚合时会产生一定的精度损失,针对精度损失的问题则可以修改混淆公式,避免直接做除法运算,而在最终聚合时进行除法计算抵消混淆项。
作者简介
刘敬
数据网格实验室算法工程师
致力于研究MPC通用和专用算法
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。