提出了一种安全聚合算法,Secure Aggregation算法,可以使得在多方学习(如联邦学习)中各方client在不暴露各自梯度的情况下实现梯度的聚合。
实验
我们提出了安全计算向量之和的算法,它满足常数迭代轮次、低通信代价、对故障具有鲁棒性、且有一个可信度受限的server。server有两种角色:一是想其他参与方发送信息,二是计算最终结果。
鉴于联邦学习系统的缺点(对于隐私的要求以及终端不同步的问题),急切需要一种安全聚合算法来解决这些问题:
- 操作高维数据;
- 提高通信效率;
- 对终端用户的失联的鲁棒性;
- 在以server为中心且不被授权的网络模型中实现尽可能强的安全性。
密码学
分别讲了秘密共享、密钥协商、认证加密、伪随机数生成、数字签名、公钥基础设施的知识。
几个算法介绍:
S S . s h a r e ( s , t , U ) : \bold{SS.share}(s,t,\mathcal{U}): SS.share(s,t,U):共享算法,输入为秘密 s s s,代表用户ID的 n n n个域元素的集合 U \mathcal{U} U,和一个阈值 t ≤ ∣ U ∣ t\le |\mathcal{U}| t≤∣U∣,输出为共享 s u s_u su的集合,其中 u ∈ U u\in \mathcal{U} u∈U。
S S . r e c o n ( { ( u , s u ) } u ∈ V , t ) : \bold{SS.recon}(\{(u,s_u)\}_{u\in \mathcal{V}}, t): SS.recon({
(u,su)}u∈V,t):,重构函数,输入为阈值 t t t,参与共享的用户子集 V ⊆ U \mathcal{V}\subseteq \mathcal{U} V⊆U且满足 ∣ V ∣ ≥ t |\mathcal{V}|\ge t ∣V∣≥t,输出为域元素 s s s。
K A . p a r a m ( k ) : \bold{KA.param}(k): KA.param(