什么是 安全聚合(Secure Aggregation)?
安全聚合(Secure Aggregation)是一类密码协议:协调方可以计算参与者向量的聚合值,通常是求和,同时在声明的威胁与掉线模型下无法获知每个参与者的明文贡献。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
让掩码只在聚合结果中抵消
Client 通过认证的成对密钥建立共享 Secret,再扩展成符号相反的伪随机 Mask。每个上传向量由本地 Update 加掩码组成,所有已接受向量相加时,存活 Client 的每对掩码都会抵消。实用 SecAgg 原始协议再结合 Secret Sharing,让 Server 能移除掉线 Client 的掩码,却不能恢复存活 Client 的明文输入。
下方 Go 示例只演示掩码抵消不变量;生产安全依赖完整的认证密码协议。
把隐私绑定到 Cohort、阈值与 Transcript
Server 必须绑定一个 Round、Participant Set、Vector Shape、Numeric Encoding 与 Threshold。系统应认证消息、防止 Replay 与 Equivocation,在掉线后继续满足最小 Cohort,并清除临时 Key Material。Quantization 与 Modular Arithmetic 需要明确边界,避免 Wraparound。记录协议结果和参与人数时,不应保留 Secret Share 或明文更新。
区分机密性、鲁棒性与差分隐私
安全聚合向 Aggregator 隐藏单个值,但也可能让恶意更新更难检查。Robust Aggregation、Clipping、Attestation 或异常处置负责兼容设计下的完整性。差分隐私限制发布 Aggregate 对一个贡献的泄露,SecAgg 则限制 Server 能看到哪些中间值;二者组合后仍要分析执行顺序、信任假设和失败模式。
主要特点
- 只暴露获授权的 Cohort Aggregate,而不是明文贡献
- 使用密码掩码或相关安全计算技术
- 需要明确合谋、掉线与最小 Cohort 假设
- 要求有界数值编码并避免聚合溢出
- 保护机密性,但不会天然拒绝投毒更新
- 补充而不是替代差分隐私与访问控制
常见用途
- 聚合移动设备 Cohort 的联邦模型更新
- 在不暴露各方输入时计算跨机构统计量
- 以最小上报阈值采集分布式遥测
- 防止 Honest-but-Curious 协调方查看单个梯度
- 把机密求和作为隐私保护流水线的一层
示例
Loading code...常见问题
安全聚合怎样隐藏单个更新?
每个 Client 上传一个 Masked Vector。成对掩码符号相反,因此在已接受向量求和时抵消,却能遮蔽单条消息。支持掉线的协议把恢复材料做 Secret Sharing,使系统可以移除掉线方残留掩码,而不暴露存活方的明文贡献。
安全聚合与差分隐私相同吗?
不同。安全聚合控制计算过程中的可见性,让协调方只看到 Aggregate;差分隐私控制输出分布对一个受保护贡献泄露多少。精确 Aggregate 仍可能暴露信息,因此系统经常在明确的信任与记账假设下组合两者。
安全聚合能阻止模型投毒吗?
不能单独阻止。恶意 Client 可以像诚实 Client 一样加密或掩码有害更新,而且隐藏输入会限制 Server 检查。完整性还需要参与方认证、Clipping、输入边界、鲁棒聚合、Attestation、异常处置与回滚等兼容控制。
为什么最小 Cohort 大小很重要?
单个参与者的 Sum 就是其原值,小规模或反复重叠的 Cohort 还可能受到差分攻击。协议与 Scheduler 应强制达到完成阈值,限制 Cohort 操纵;当隐私假设不成立时必须中止,而不是发布结果。
部署安全聚合前应测试什么?
应测试认证 Setup、防 Replay 与 Equivocation、合谋假设、每个阶段的掉线、阈值执行、密钥清除、数值编码、溢出、重复提交、过期 Round、拒绝服务和恢复行为,并确认 Log 与 Metadata 不会重新制造协议试图消除的单体可见性。