基于并行同态加密和STC 的高效安全联邦学习

第54卷 第4期2021年4月
通信技术
Communications Technology
Vol.54 No.4
Apr. 2021
宁资理文献引用格式:肖林声,钱慎一.基于并行同态加密和STC的高效安全联邦学习[J].通信技术,2021,54(4):922-928.
XIAO Linsheng,QIAN Shenyi.Efficient and Secure Federated Learning based on Parallel
Homomoriphic Encryption and STC[J].Communications Technology,2021,54(4):922-928.
doi:10.3969/j.issn.1002-0802.2021.04.023
基于并行同态加密和STC的高效安全联邦学习*
肖林声,钱慎一
(郑州轻工业大学,河南 郑州 450007)
摘 要:联邦学习(Federated learning,FL)作为一种可以保护用户隐私安全的机器学习的框架,受到了越来越多的关注。一些研究表明,联邦学习中分布式用户共享的梯度也会泄露用户的隐私信息。因此,将同态加密算法、MapReduce并行化以及稀疏三元(Sparse Ternary Compression,STC)梯度选择算法相结合,设计了高效且安全的联邦学习协议。此外,使用一种高效的方法构造消息验证码来验证服务器返回结果的有效性。实验结果表明:在相同条件下,提出的安全技术在计算方面引入少量额外的开销,即可取得和明文训练一样水平的模型准确率。
关键词:联邦学习;并行化;同态加密;STC
中图分类号:TP309.7 文献标识码:A 文章编号:1002-0802(2021)-04-0922-07
Efficient and Secure Federated Learning based on Parallel
Homomoriphic Encryption and STC
XIAO Linsheng, QIAN Shenyi
(Zhengzhou University of Light Industry, Zhengzhou Henan 450007, China)
Abstract: Federated Learning (FL), as a machine learning framework that can protect user privacy and security, has received more and more attention. Some explorations have shown that the gradient shared by distributed users in federated learning can also leak users’ private information. Therefore, the homomorphic encryption algorithm, MapReduce parallelization, and Sparse Ternary Compression (STC) gradient selection algorithm are combined to design an efficient and secure federated learning protocol. In addition, an efficient method is used to construct a message verification code to verify the validity of the result returned by the server. The experimental results indicate that under the same conditions, the proposed security technology introduces a small amount of additional overhead in calculations, and can achieve the same level of model accuracy as plaintext training.
Keywords: FL (Federated Learning); parallelization; homomorphic encryption; STC
0 引 言
联邦学习(Federated Learning)[1-3]最早由HB McMahan团队提出。联邦学习在一定程度上保证了隐私的安全,但还存在许多不足,如攻击者可以使用共享的梯度来逆向推演,从而得到用户的隐私数据和敏感信息;如果仅适用现有简单
* 收稿日期:2020-12-10;修回日期:2021-03-25 Received date:2020-12-10;Revised date:2021-03-25基金项目:国家自然科学基金(No.61672470)
Foundation Item: The National Natural Science Foundation of China (No.61672470)
图1 联邦学习系统结构
模型训练过程如下:
(1)基于私有数据集,用户C i 在本地训练θ,得到梯度向量g i :
g i =Train (θ,D i ) (1)(2)服务器S 接收从用户上传的梯度向量g i ;(3)在服务器S 中,将所有获得的梯度向量聚合1
m
S i i ==∑g g
(2)
(4)计算完成后得到聚合梯度向量g S ,并将其返回给所有m ,然后用户使用聚合梯度更新本地模型:
图2 稀疏三元压缩算法
消息验证码(Message Authentication Code,MAC)
是确认信息完整性并认证的技术[14]
,是一种与密向Hash 函数,如文献[15]中提出Sign ,Verify )这3个元素组成了验证密钥的算法为G ,密钥sk ←G (1κ)κ为安全参数,且安全参数是给则使用sk 和信息x 生成验证码Verify 是将sk 、x 和MAC 集合起来,MAC )=Accept 是不是成立。
Verify 需要满足:
1),),()=
=Accept MAC x x sk Sign κ (4)本文参考文献[16]中使用消息验证码的思想和梯度选择的索引信息,验证聚合结果的有效性。
本文基于并行同态加密和STC 算法,针对联邦学习算法中的隐私安全和通信开销问题,提出了安全且高效的训练协议。一方面提出协议πHEFL ,使得诚实用户的梯度信息受到加密算法的保护,而攻击者
无法获得。另一方面,提出了可以在保护用户梯度隐私的前提下抵抗恶意篡改攻击的协议保证聚合结果的可用性。
假设用户的数目m ≥3且服务器被半诚实攻击者腐化,而所有的用户中有被半诚实攻击者腐化的用户存在。
2.1 协议πHEFL
协议πHEFL 是在半诚实的攻击者威胁下保护单个用户梯度的隐私性。该协议流程如图首先,每个用户按照式(1)训练模型得到梯度向量g 。其次,用户调用缩算法,选出绝对值最大的K 个梯度并将其量化为包含{-μ,0,μ}的三元向量。最后,用户通过并行同态加密算法将选择并量化的梯度向量加密生成密文向量C ,并将加密完成的梯度向量上传到服务器。注意,梯度的索引信息也要上传。
服务器在收到用户上传的密文后,根据索引的信息,使用全同态加密中的Eval (evk 运算算法,将梯度在加密状态下进行聚合得到聚合结果g S ,后将g S 和索引信息的并集返回协议的形式如下。
输入:隐私数据集D i 、待训练模型输出:训练完成的模型θ
①用户均和服务器建立安全的连接;②每个用户在本地生成随机数;
图3 协议πHEFL的流程
2.2 协议πHE
MAC
FL
协议πHEFL能够保护用户的梯度信息,但是不能阻止攻击者在不直接泄露用户隐私的情况下腐化服务器并对结果进行修改。
假设攻击者腐化服务器S,记S使用Eval(evk, C,c
1
,…,c n)聚合生成g S,但是攻击者可能会生成任意的噪声向量r,之后攻击者便可以将噪声和密文一起计算:
g´S=Eval(evk,C,c
1
,…,c n,r) (5)从而使得最终聚合的结果受到噪声r的干扰。
利用梯度的索引和量化的梯度值来构造验证码MAC来抵抗恶意攻击者的攻击。
这里要修改安全性假设:需要两个服务器,且这两个服务器不可同时被恶意攻击者腐化,其中一个服务器S1负责聚合梯度,另一个服务器S2负责计算和存储验证码MAC。
和协议πHEFL一样,用户首先在本地训练θ并使用STC算法得到量化梯度,记为:
TK=[{ind,g[ind]}k] (6)
这里的g[ind]是量化完成后的值,后利用索引信息和梯度的量化值g[ind]计算验证码MAC:
[]
ind
MAC ind g ind
∑(7)利用同态加密算法将MAC加密,并上传MAC 的密文M到所有的服务器。服务器收到用户上传的
MAC密文后,使用密文运算算法Eval(evk,C,c
1
,…,c n)将所有的MAC求和得到MAC S:
1
m
S i
i
MAC MAC
=
=∑(8)对于梯度值,使用密文运算算法Eval(evk,C,
c
1
,…,c n),并使用式(2)来聚合梯度。
聚合完成后,服务器将聚合结果的密文、对应的索引信息IND S以及各个服务器中的MAC S返回用户。
用户在本地解密聚合梯度的真实值g S,并在本地进行验证:
(1)两个服务器的MAC S都相等;
(2)用户计算:
'[]
S
S S广州国土资源和房屋管理局
ind IND
MAC ind g ind
冷水浴 下载
∑(9)
图4 协议πHE MAC FL的工作流程
水中声速协议πHE MAC FL的具体算法如下。
输入:数据集D i和模型θ;
输出:训练完成的模型θ;
①用户均和服务器建立安全的连接;
②每个用户在本地生成随机数;
③用户在本地训练模型,计算梯度;
④用户调用STC稀疏三元压缩法,选择Top-K 梯度并将其量化为三元向量;
⑤用户使用式(7)计算验证码MAC;
⑥调用并行同态加密算法分别加密梯度和验 证码;
⑦将梯度的密文C上传到服务器S1,将验证码MAC分别发给服务器S
1
和S2;
⑧服务器S1聚合梯度,且和服务器S2一起按照式(9)求和得到MAC S;
⑨用户下载并恢复梯度,同时下载所有服务器
MAC S;
⑩如果通过所有的验证,则用户更新本地模型;否则,广播错误并终止训练进行下一轮训练,达到要求的情况下停止训练并输出模型。
下面分析过程的正确性。
(1)如果服务器没有进行任何恶意篡改,那么两个服务器所接收的MAC相同,那么得到的MAC S 也相同。
(2)这里假设只有两个用户(为了方便,此处先不考虑隐私保护P1、P2,且记P1、P2选择且量化的梯度向量为g1和g2,对应的索引集为IND1和IND2。根据协议,IND S=IND1∪IND2。
对于索引ind来说,∀ind∈IND S,有以下3情况:
2
1
2
1
2
1
,
,
,
IND
ind
IND
ind
IND
ind
IND
ind
IND
ind
IND
ind
(10)式(9)可以分解为:
11
22
1
焦化行业准入条件2
1
'
12
12
12
[]
[][
[[][]]
莘县实验初中
[][
S
S S
ind IND
ind IND ind IND
ind IND ind IND
ind IND
ind IND
ind IND
MAC ind g ind
ind g ind ind g ind
ind g ind g ind
ind g ind ind g i
∈∉
∉∈
=×=
×+×
×+=
×+×
∑∑
2
12
ind IND
nd
MAC MAC
+
(11)由式(8)可得MAC S=MAC1+MAC2,MAC MAC´S,因此协议πHE MAC FL在一定程度上抵御了结果不被服务器恶意篡改。
3 实验和结果
选择的数据集中有37万条数据,是2012—2018年的投诉信息,分为78个大类信息和249小类信息。每一个信息包含78个属性。每次训练迭代中用户需要和服务器交互计算1次,以此完成

本文发布于:2024-09-23 09:30:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/53849.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:梯度   用户   服务器   信息   训练   聚合
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议