一、角色划分与职责
角色 | 身份 | 核心任务 | 密钥权限 |
---|---|---|---|
客户端 | 数据所有者 (如医院、用户) | 1. 加密原始数据 2. 上传密文至服务器 3. 接收并解密结果(可选) | 持有公钥 |
服务器 | 计算服务提供方 (如云平台) | 1. 接收客户端密文 2. 在密文上执行同态运算 3. 返回计算结果密文 | 无密钥(仅操作密文) |
聚合节点 | 结果解密方 (协调方/监管方) | 1. 接收服务器聚合结果 2. 用私钥解密 3. 分发最终结果(如更新全局模型) | 持有私钥 |
关键原则 :
客户端 提供数据但不知全局信息,服务器 执行计算但不知明文,聚合节点解密结果但不知原始数据细节。
二、具体任务分解
1. 客户端的任务

-
数据加密:
-
加法同态(如Paillier):直接加密整数/定点小数(如梯度值
0.3 → 加密为 E(300)
) -
全同态(如CKKS):需先将浮点数编码为多项式(如
[0.3, 0.5] → 编码为复数向量 → 加密
)
-
-
安全要求:
-
永不泄露私钥(私钥仅聚合节点持有)
-
验证服务器身份(防止中间人攻击)
-
2. 服务器的任务

-
核心操作(无密钥参与):
-
加法同态 :对密文做乘法(如
E(g₁) × E(g₂) = E(g₁+g₂)
) -
全同态 :在密文上计算电路(如
E(data) → 同态CNN → E(prediction)
)
-
-
限制:
-
无法解密任何数据(满足"计算盲性")
-
需优化计算(如CKKS的SIMD批处理提升效率)
-
3. 聚合节点的任务

-
关键权限:
- 唯一持有私钥,需硬件级保护(如HSM模块)
-
校验责任:
-
验证结果合理性(如梯度总和是否在预期范围)
-
审计日志记录(满足合规要求)
-
4、私钥的生成与分发流程
(1 )密钥生成方:权威机构(Trusted Authority, TA)
-
角色定位 :
独立于客户端、服务器、聚合节点之外的可信第三方(如监管机构、联盟管理委员会)。
-
核心任务 :
✅ 生成同态加密密钥对(公钥
pk
+ 私钥sk
)✅ 安全分发公钥给客户端,私钥给聚合节点

(2)安全分发机制
分发对象 | 密钥类型 | 分发方式 | 安全要求 |
---|---|---|---|
客户端 | 公钥 pk |
公开或加密信道传输 | 防篡改(如数字签名证书) |
聚合节点 | 私钥 sk |
硬件安全模块(HSM)物理交付 或 安全多方计算(MPC)分片 | 绝不经网络明文传输 |
5、为什么私钥不能由聚合节点自己生成?
若聚合节点自行生成密钥,会引入两大风险:
-
单点信任危机:聚合节点可能窃取客户端数据(如故意分发错误公钥,使客户端加密数据可被其解密)。
-
审计不可追溯:私钥生成无第三方监督,发生数据泄露时无法厘清责任。
最佳实践 :
私钥生成与分发必须由与数据利益无关的可信权威方(TA) 执行,确保:
客户端加密的数据只有TA指定的聚合节点能解密。
聚合节点无法篡改密钥体系。
6 、私钥在聚合节点的安全管理
聚合节点持有私钥后,需严防泄露:
1. 存储安全
-
硬件级隔离 :
私钥存储在 HSM(硬件安全模块) 或 TEE(可信执行环境) 中,永不导出 。
(如英飞凌的HSM芯片支持FIPS 140-2 Level 3认证)
-
分片备份 :
私钥通过 Shamir秘密共享 分片,由多个机构保管(需超过阈值数量的分片才能重构)。
2. 使用安全
-
解密操作在硬件内完成:私钥全程不出安全芯片。
-
访问控制:解密需多因素认证(如生物识别+物理令牌)
三、流程图(联邦学习)

关键点:
-
服务器全程无密钥 → 无法解密任何数据。
-
聚合节点只接触最终聚合结果 → 无法获取单个客户端原始数据。
-
私钥在HSM内不可见 → 即使聚合节点被入侵,私钥仍安全。
当私钥存储在 HSM(硬件安全模块) 中且"不可见"时,聚合节点进行解密的本质是 将密文输入HSM,由HSM内部完成解密运算后输出明文。整个过程聚合节点无法接触私钥本身,但能获得解密结果。以下是详细原理:
一、HSM 如何实现"私钥不可见但能解密"
1. 核心原理:硬件级安全隔离
-
私钥永不暴露 :
私钥在HSM出厂时或初始化阶段被注入到防篡改的安全芯片 中,并存储在熔断存储器 (Fused Storage)内,物理上无法通过引脚或软件读取。
-
解密黑盒操作 :
HSM对外提供标准API(如PKCS#11),聚合节点调用
C_Decrypt
接口传入密文,HSM内部完成解密后返回明文。
四、安全边界与设计关键
角色 | 可见信息 | 不可见信息 | 攻击风险 |
---|---|---|---|
客户端 | 自身原始数据 | 他人数据、全局结果 | 数据泄露(上传时) |
服务器 | 所有密文 | 任何明文、私钥 | 密文篡改/重放攻击 |
聚合节点 | 最终解密结果 | 单个客户端原始数据 | 私钥窃取(最高危) |
安全增强措施:
-
客户端:数据添加差分隐私噪声(如拉普拉斯噪声)
-
服务器:密文数字签名(防篡改)
-
聚合节点:私钥分片保管(阈值加密,需多机构协作解密)