在同态加密系统中,参与角色以及各角色的功能作用流程图,私钥和公钥分发流程,可能遇到的攻击

一、角色划分与职责

角色 身份 核心任务 密钥权限
客户端 数据所有者 (如医院、用户) 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、为什么私钥不能由聚合节点自己生成?

若聚合节点自行生成密钥,会引入两大风险:

  1. 单点信任危机:聚合节点可能窃取客户端数据(如故意分发错误公钥,使客户端加密数据可被其解密)。

  2. 审计不可追溯:私钥生成无第三方监督,发生数据泄露时无法厘清责任。

最佳实践

私钥生成与分发必须由与数据利益无关的可信权威方(TA) 执行,确保:

  • 客户端加密的数据只有TA指定的聚合节点能解密

  • 聚合节点无法篡改密钥体系

6 、私钥在聚合节点的安全管理

聚合节点持有私钥后,需严防泄露:

1. 存储安全
  • 硬件级隔离

    私钥存储在 HSM(硬件安全模块)TEE(可信执行环境) 中,永不导出

    (如英飞凌的HSM芯片支持FIPS 140-2 Level 3认证)

  • 分片备份

    私钥通过 Shamir秘密共享 分片,由多个机构保管(需超过阈值数量的分片才能重构)。

2. 使用安全
  • 解密操作在硬件内完成:私钥全程不出安全芯片。

  • 访问控制:解密需多因素认证(如生物识别+物理令牌)

三、流程图(联邦学习)

关键点

  1. 服务器全程无密钥 → 无法解密任何数据。

  2. 聚合节点只接触最终聚合结果 → 无法获取单个客户端原始数据。

  3. 私钥在HSM内不可见 → 即使聚合节点被入侵,私钥仍安全。

当私钥存储在 HSM(硬件安全模块) 中且"不可见"时,聚合节点进行解密的本质是 将密文输入HSM,由HSM内部完成解密运算后输出明文。整个过程聚合节点无法接触私钥本身,但能获得解密结果。以下是详细原理:


一、HSM 如何实现"私钥不可见但能解密"
1. 核心原理:硬件级安全隔离
  • 私钥永不暴露

    私钥在HSM出厂时或初始化阶段被注入到防篡改的安全芯片 中,并存储在熔断存储器 (Fused Storage)内,物理上无法通过引脚或软件读取

  • 解密黑盒操作

    HSM对外提供标准API(如PKCS#11),聚合节点调用C_Decrypt接口传入密文,HSM内部完成解密后返回明文。

四、安全边界与设计关键

角色 可见信息 不可见信息 攻击风险
客户端 自身原始数据 他人数据、全局结果 数据泄露(上传时)
服务器 所有密文 任何明文、私钥 密文篡改/重放攻击
聚合节点 最终解密结果 单个客户端原始数据 私钥窃取(最高危)

安全增强措施

  • 客户端:数据添加差分隐私噪声(如拉普拉斯噪声)

  • 服务器:密文数字签名(防篡改)

  • 聚合节点:私钥分片保管(阈值加密,需多机构协作解密)

相关推荐
菜包eo9 天前
如何使用数字化动态水印对教育视频进行加密?
音视频·同态加密
胡乱编胡乱赢1 个月前
同态加密类型详解:部分同态加密,全同态加密
算法·区块链·同态加密·全同态·部分同态
漠月瑾-西安2 个月前
1.2.2.1.4 数据安全发展技术发展历程:高级公钥加密方案——同态加密
同态加密·数据安全探索录·数据安全发展技术发展历史·高级公钥加密
sprklestars3 个月前
PFLM: Privacy-preserving federated learning with membership proof证明阅读
去中心化·区块链·同态加密
sprklestars4 个月前
Secure and Privacy-Preserving Decentralized Federated Learning同态加密联邦学习文献阅读
去中心化·区块链·同态加密
Miyazaki_Hayao5 个月前
《Somewhat Practical Fully Homomorphic Encryption》笔记 (BFV 源于这篇文章)
笔记·区块链·同态加密
黄金龙PLUS5 个月前
十分简单的流密码算法RC4
算法·网络安全·密码学·哈希算法·同态加密
无须logic ᭄6 个月前
CrypTen项目实践
python·机器学习·密码学·同态加密
黄金龙PLUS7 个月前
对称密码算法(分组密码算法 序列密码算法 密码杂凑算法)中的基本操作
算法·网络安全·密码学·哈希算法·同态加密