基於祕密分享實現
參考:基於祕密共享和同態加密的隱私數據融合方案-陳信
系統模型
三層架構:
- 電力供應商(PS)
- 基站(BS)
- 智能電錶(SM)
- 第三方聚合器(TPA)
- 可信第三方機構(TA):生成和分發隨機數
- 控制中心(CC)
敵手模型
- 可信:可信第三方機構(TA)、控制中心(CC)、電力供應商(PS)
- 半誠實:基站(BS)、智能電錶(SM)、第三方聚合器(TPA)
- 不可靠情況:智能電錶和聚合器宕機或網絡斷連
- 攻擊:家庭局域網攻擊、冒充智能電錶發送僞數據等
安全目標
- 保密性:數據全程(傳輸和聚合)保密
- 完整性:傳輸和聚合中可端對端驗證數據一致性,且能抵禦重放攻擊。
- 容錯性,可定位錯誤方便後續重傳。
具體方案
基於Shamir祕密共享的數據安全聚合方案
方案分爲四個階段:
- 初始化:可信第三方將隨機數分配給每個智能電錶
- 分發:智能電錶將數據發送給第3方聚合器
- 聚合:聚合器計算收到的祕密分片總和,控制中心恢復所有數據的總和。
- 更新:控制中心和智能電錶更新隨機數。
假設:一個電力供應商負責\(z\)個基站,第\(t\)個基站\(BS_t\)負責\(n\)個智能電錶,每個基站需要\(m\)個聚合器,總共\(N\)個智能電錶。
基於Shamir的祕密分享算法
初始化
分發
-
每個智能電錶使用的門限方案的多項式最大冪次是相同的,即\(k-1\),但係數均不同,並對其他電錶保密。
-
不同聚合輪次中應該函數(多項式係數更換)。
聚合
- 若聚合器沒有收到所有份額或收到的數據錯誤而沒有得到分片和,就不會向控制中心發送數據。
- 若基站在一個聚合時間間隔內未收集滿分片,會遍歷查詢已收到的數據包,並向本輪爲發送數據的聚合器請求重傳。
- 聚合器收到請求後,若本地已有結果,則重發該結果,若本地沒有,則向未發送的電錶請求重傳。
- 若聚合器還未收集滿分片,則返回失敗響應結果。
更新
每輪數據聚合後,智能電錶和聚合器的輪數+1,且控制器會更新隨機數,更新函數係數值。
總結
- 門限方案,可以有一定的容錯性。
- 使用祕密分享+隨機數,實現動態增刪。
- 通信開銷:初始化(\(N+1\) )+ 分發和聚合(\(z(nm+k)\))= \(N+1+z(nm+k)\)次連接。