设计动机
联邦学习场景下设计安全聚合协议的动机:
- 处理高维参数或梯度向量;
- 降低传输通信开销;
- 应对用户中途退出鲁棒;
- 用户隐私安全;
协议设计过程
- 一重掩码
用户u和v ( u , v ∈ U u, v \in \mathcal{U} u,v∈U)协商掩码: s u , v s_{u,v} su,v;
用户u输入 x u x_u xu,加入掩码 ∑ v ∈ U s u , v \sum_{v \in \mathcal{U}} s_{u,v} ∑v∈Usu,v,输出 y u y_u yu发送给服务器;
例如 ∣ U ∣ = 3 |\mathcal{U}|=3 ∣U∣=3,设置如下:
v 1 v_1 v1 | v 2 v_2 v2 | v 3 v_3 v3 | |
---|---|---|---|
u 1 u_1 u1 | 0 | + s 1 , 2 s_{1,2} s1,2 | + s 1 , 3 s_{1,3} s1,3 |
u 2 u_2 u2 | - s 1 , 2 s_{1,2} s1,2 | 0 | + s 2 , 3 s_{2,3} s2,3 |
u 3 u_3 u3 | - s 1 , 3 s_{1,3} s1,3 | - s 2 , 3 s_{2,3} s2,3 | 0 |
缺点:
- 二次通信开销:
∣
U
∣
×
∣
x
∣
|\mathcal{U}| \times |x|
∣U∣×∣x∣;
解决办法:协商掩码表 → \rightarrow → 协商伪随机数生成器的随机种子 - 不能应对用户中途退出;
两种情况:①用户确切退出;
解决办法:服务器向其他用户索要掩码;
然而,若其他用户在响应期间掉线,无法回馈与退出用户相关的掩码值,则会陷入死循环;
进一步解决办法:(t-n)门限秘密共享,t个用户保证一定的安全性,而又不需要n个(每个)用户都响应,避免进入死循环;(支持少部分用户中途退出)
②用户 u u u发送 y u y_u yu给服务器很慢,并未实际退出;
若服务器向其他用户发送请求,获得与该用户相关的掩码值 s u , v , ∣ v ∣ ≥ t s_{u,v}, |v| \ge t su,v,∣v∣≥t,服务器则可以从 y u y_u yu获得 x u x_u xu。
解决办法:加入二重掩码。
- 二重掩码
用户 u u u不同时公开或响应发送 b u b_{u} bu和 s u , v s_{u,v} su,v,则服务器始终会受到至少一个掩码影响,不可能从 y u y_u yu获得 x u x_u xu。
安全聚合协议
- 用户与用户间、用户与服务器之间交互传递包含二重掩码的网络参数;
- 共U个用户,U1个用户参与广播密钥,U2个用户参与分享密钥,U3个用户参与上传掩盖输入,U4个用户通过一致性验证,U5个用户参与最终的参数上传(包含二重掩码),服务器负责去掩码和参数聚合。
参考文献
- Practical Secure Aggregation for Federated Learning on User-Held Data, NIPS workshop, 2016.
- Practical Secure Aggregation for Privacy-Preserving Machine Learning, ACM SIGSAC Conference on Computer and Communications Security (CCS), 2017. 完整版本
- Secure Analytics: Federated Learning and Secure Aggregation,2018.
- 联邦学习之安全聚合SMPC