?一、角色劃分與職責
角色 | 身份 | 核心任務 | 密鑰權限 |
---|---|---|---|
客戶端 | 數據所有者 (如醫院、用戶) | 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內部完成解密后返回明文。
四、安全邊界與設計關鍵
角色 | 可見信息 | 不可見信息 | 攻擊風險 |
---|---|---|---|
客戶端 | 自身原始數據 | 他人數據、全局結果 | 數據泄露(上傳時) |
服務器 | 所有密文 | 任何明文、私鑰 | 密文篡改/重放攻擊 |
聚合節點 | 最終解密結果 | 單個客戶端原始數據 | 私鑰竊取(最高危) |
安全增強措施:
-
客戶端:數據添加差分隱私噪聲(如拉普拉斯噪聲)
-
服務器:密文數字簽名(防篡改)
-
聚合節點:私鑰分片保管(閾值加密,需多機構協作解密)