基于秘密分享实现
参考:基于秘密共享和同态加密的隐私数据融合方案-陈信
系统模型
三层架构:
- 电力供应商(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)\)次连接。