智能电网中轻量级隐私保护数据聚合方案
2022-05-13王姝妤陈建伟张桢萍
王姝妤,陈建伟,张桢萍
(1.福建师范大学计算机与网络空间安全学院,福建 福州 350117;2.福建省网络安全与密码技术重点实验室,福建 福州 350117;3.福建师范大学数字福建大数据安全技术研究所,福建 福州 350117)
智能电网作为下一代电网,通过整合先进的信息处理和通信技术,提供高效、智能的电力信息交换,最大限度地提高能源使用效率,满足现代人生活的需求[1-2].电力不能像其他自然资源那样易于存储,因而电力供应商需要实时分析电力的需求和消耗,以实现可靠且经济的电力分配.智能电网中智能电表定期测量和报告用电量,这有助于更好地检测、控制和预测电力消耗,从而节省电力供应商和消费者的成本[3].
智能电网给人们生活带来便利的同时,周期性的电量数据收集也引发了人们对隐私泄露的担忧[4-5].细粒度的电量数据可以推断出用户是否在家,电器使用状况,甚至他们的日常生活习惯等等.谷歌曾推出一项名为Powermeter的服务[6],订阅该服务的用户可以接收到自家安装的智能电表的实时使用统计数据,并以可视化定制网页的形式展现出来.但这也使得用户感到深深的担忧,第三方统计电量数据可能会侵犯到用户的个人隐私.因此,如何保护用户隐私是一个重要的研究课题.
近年来,智能电网中的隐私保护数据聚合应用[7-9]受到了许多研究者的关注.基于此模式已有很多数据聚合方案[10-20]被提出,但仍然存在一些问题.文献[10-14]采用Paillier同态加密算法对智能电表提交的电量数据进行聚合计算,而不泄露单个电量数据,保护了用户的隐私,但Paillier同态加密算法需要较大的计算开销.文献[15-19]采用掩码的方式或者ECC椭圆曲线加密方案来对智能电表的电量数据进行聚合计算,提高了计算和通信效率.然而,这些方案没有对智能电表和聚合器的身份进行验证,无法确保聚合的电量数据正确性以及接收方身份的合法性.文献[20-22]在数据聚合方案中对智能电表和聚合器的身份进行了验证,但是这些方案都需要依赖于一个可信权威中心,而在实践中找到一个让所有用户都信任的权威中心是不容易的.此外,上述方案[10-22]也难以抵抗系统实体对象间的合谋攻击.
为了应对上述挑战问题,本文提出了一种轻量级的隐私保护数据聚合方案.该方案首先采用基于双线性对的IDMAKE2协议对聚合器和智能电表进行身份验证;然后利用加法同态加密算法加密电量数据保证用户的隐私性;同时,使用Boneh-Lynn-Shacham签名算法[23]来确保数据的完整性.此外,方案不依赖可信权威中心,并且可以抵抗内部实体对象间的合谋攻击.
1 预备知识
1.1 加法同态加密
本文方案采用了一个有效的加法同态加密算法[24],它主要由以下3个部分组成.
(1)加密.对明文m[0,S-1]进行加密,其中S为模,选择一个加密密钥K[0,S-1],计算密文c为
c=EncK(m)=m+KmodS.
(2)解密.给定密文c及其加密密钥K,执行即可得到明文
m=DecK(m)=c-KmodS.
(3)加法同态.设,c1=EncK1(m1),c2=EncK2(m2),K=K1+K2modS,将密文聚合得到m1+m2的密文
C=EncK1(m1)+EncK2(m2)=EncK(m1+m2).
1.2 基于口令认证的密钥协商协议
基于口令认证的密钥协商协议(PAKE)最早是由Bellovin和Merritt[25]提出的.在该协议中,如果2个实体对象拥有相同的密码,它们将生成1个共同的会话密钥,如果密码不同,则任何人都不能从该协议的输出中获得关于另一个人的密码的任何信息.在此基础上,其他人提出了一些提高PAKE安全性的协议[26-27],本文采用文献[26]中提出的IDMAKE2协议来为本方案提供验证,这是一个基于双线性对的密钥协议.
1.3 双线性对
(2)非退化性.存在u,v∈K,使得e(u,v)≠1.
(3)可计算性.给定任意的u,v∈G,存在有效的多项式时间算法来计算e(u,v).
2 模型和设计目标
2.1 系统模型
本文方案的系统模型如图1所示,其中主要包含3种实体对象:在相应的家庭区域网络(HANs)中的众多智能电表(SM)、第三方聚合器(TPA)和电力中心(EPC),HANs内部的SM之间通过安全信道进行通信.
图1 系统模型Fig.1 System model
(1)SM是EPC在HANs中为每个用户安装的智能设备.它计量用户消耗的电量数据,并对电量数据进行加密处理,发送给TPA.
(2)TPA将EPC下发的收集指令转发给每个SM,另一方面,TPA聚合来自不同SM的加密数据,并将聚合数据转发给EPC.
(3)EPC负责收集、处理和分析SM上传的电量数据,通过这些数据来优化配电策略.为了实现安全通信,EPC必须验证TPA和每个SM的身份,并生成相应的会话密钥.
2.2 安全模型
本文采用“半诚实”的安全模型,即假设所有实体对象都是“诚实且好奇的”.智能电网系统可能会面临内部和外部攻击.
(1)外部攻击.外部攻击者可以窃听通信通道,试图通过监听信道流量和信息来推断用户的私人数据.或进行伪造攻击,即伪造和修改用户的私人数据.
(2)内部攻击.本文假设任何SM都不信任其他实体对象(如其他SM、TPA或者EPC).因此,一些实体对象可能会通过合谋来推断其他合法SM的私人数据,从而产生3种合谋的情况:①SM之间合谋.②SM与TPA合谋.③EPC与TPA合谋.假设最多有N-2个SM会参与合谋,否则它们可以直接推断模型中其他合法SM的私人数据.
2.3 设计目标
本文将在智能电网的背景下提出一个隐私保护的数据聚合方案,其包含以下目标.
(1)隐私性.一个安全的数据聚合方案应该保证用户数据的私密性.必须确保攻击者无法获得用户的隐私.
(2)验证性.任何设备在加入系统前都要由EPC对其身份的合法性进行验证,以防止攻击者可能会伪装成合法用户发送非法数据.
(3)抗合谋.本文方案应该抗合谋攻击,即防止不受信任的实体对象可能会通过合谋来推断其他合法SM的电量数据.
(4)完整性.本文方案要保证电量数据的完整性.数据都是在公共通道传输的,因此必须验证数据在传输过程中是否遭到篡改.
3 提出方案
这一节将详细描述本文提出的方案.表1给出了方案使用的主要符号及其含义.
表1 主要符号及其含义Tab.1 List of main notations
3.1 系统初始化
3.1.1 系统参数生成
EPC生成并发布系统参数,步骤如下:
步骤2:EPC为了验证TPA和SMi的身份,根据TPA的IDTPA和SMi的IDi,使用系统主密钥KEPC分别计算相应的私钥和公钥:skTPA=KEPC·pkTPA,pkTPA=H2(IDTPA)和ski=KEPC·pki,pki=H2(IDi).
步骤3:EPC选择一个数字S>N·{mi}max作为加法同态加密的模数,根据历史数据其可以是一个经验值.
步骤4:EPC公开系统参数{G,GT,l,q,e,P,Ppub,H1,H2,S},KEPC作为系统主密钥由EPC保存,分别发送(skTPA,pkTPA)和(ski,pki)给TPA和SMi.
3.1.2 共享密钥协商
每个用户(Ui∈U)生成N-1个共享密钥{ri,1,ri,2,…,ri,i-1,ri,i+1,…,ri,N},每个共享密钥都小于S,并安全地分发给相应的用户.与此同时用户Ui还接受其他用户分发的共享密钥(数量为N-1){r1,i,r2,i,…,ri-1,ri+1,…,rN,i},最终用户Ui得到的共享密钥集为{ri,1,ri,2,…,ri,i-1,ri,i+1,…,ri,N;r1,i,r2,i,…,ri-1,i,ri+1,i,…,rN,i}.
3.2 身份验证
3.2.1 TPA身份验证
EPC对TPA进行身份验证,图2展示了这一过程,具体步骤如下:
图2 TPA身份验证过程Fig.2 TPA identity authentication process
步骤3:EPC选择一个随机数NTPA,并计算KPAT=DTPA·KEPC和AuthTPA=H1(IDTPA,NTPA,Ppub,DTPA,E,KPAT).然后,EPC发送(NTPA-AuthTPA)给TPA.
步骤5:验证成功后,TPA和EPC建立会话密钥KT-E=H1(NTPA,DTPA,E,KTPA)=H1(NTPA,DTPA,E,KPAT).
3.2.2 SMi身份验证
EPC对SMi进行身份验证(图3),具体步骤如下:
步骤3:EPC为SMi选择一个随机数Ni,并计算KIDi=Di·KEPC和AuthIDi=H1(IDi,Ni,Ppub,Di,Fi,KIDi).然后,EPC根据每个用户的IDi,分别发送(Ni,AuthIDi)给相应的SMi.
图3 SMi身份验证过程Fig.3 SMi identity authentication process
3.3 收集指令下发
身份验证完成后,EPC为了解用户用电需求,生成收集指令并发送给每个SM.
步骤2:TPA接收到{Vi}后,提取β并计算ε=H2(KT-E‖AuthTPA‖β),并根据IDi将Vi分配给相应的SMi.
3.4 数据收集
SMi接受指令后,对电量数据mi进行加密并生成签名,然后将加密后的数据发送给TPA.
Ci=Encki(mi)=zi+mi+RimodS.
(1)
步骤3:SMi将数据报告{Ci,IDi,TS,σi,PKi}发送给TPA.
3.5 数据聚合
在这个阶段TPA验证并聚合SMi发送的密文Ci.具体步骤如下:
步骤1:在TPA接收到SMi发送的数据报告后,TPA首先执行批验证来验证接收到的签名,即验证下列公式:
(2)
如果式(2)成立,这意味着签名是有效的.公式推导过程如下
步骤2:如果签名验证成功,TPA对所获得的密文Ci进行聚合,并获得聚合后的数据
(3)
步骤3:TPA生成签名σTPA=H2(C‖KT-E‖TS‖,其中TS表示当前时间戳.
步骤4:TPA将数据报告{C,TS,σTPA}发送给EPC.
3.6 数据解密
收到TPA发送来的数据报告后,EPC通过以下步骤来解密聚合密文:
图4 举例说明Fig.4 Illustration
(4)
4 安全分析
本节将证明本文方案能实现第2节所提出的设计目标.
4.1 安全身份验证
在本文方案系统初始化阶段,EPC采用系统主密钥KEPC分别计算TPA和SMi的私钥和公钥skTPA=KEPC·pkTPA,pkTPA=H2(IDTPA)和,ski=KEPC·pki,pki=H2(IDi),用于后续的身份验证.
因此,本文方案采用的IDMAKE2协议可以提供安全的身份验证,通过EPC验证TPA和SM身份的合法性,可以检测到来自恶意未经验证的SM的非法数据.
4.2 数据的隐私性
此外,由上面的分析可知加密密钥Ri是SMi与其他所有SM交互后产生的,zi也是由EPC产生并根据SMi的会话密钥加密传输的.由于外部攻击者无法同时妥协系统中所有的SM,即外部攻击者无法获得目标SMi的所有共享密钥rj,i和zi,所以他无法恢复目标SMi的电量数据.
4.3 抗合谋
系统中实体对象可能会通过合谋来推断其他合法SM的电量数据.设U′为k个参与合谋SM的集合,2≤k≤N-2.
定理1U′无法推断出其他合法SM的电量数据.
定理2EPC与U′合谋无法推断出其他合法SM的电量数据.
定理3EPC与TPA合谋无法推断出任何SM的电量数据.
证明 EPC与TPA合谋,EPC可以获得单个SMi的加密数据Ci=zi+mi+Ri,TPA可以获得SMi的zi,但由于无法获知Ri,无法推断出任何SM的电量数据.
4.4 数据的完整性
SMi使用对应的私钥SKi和ε生成签名σi,TPA使用KT-E生成签名σTPA.由于攻击者不知道SKi、ε和KT-E,所以无法生成正确的信息.因此,本文方案可以保证所有用户的私人数据完整性以及合法性.
4.5 安全特性比较
为了分析本文方案安全特性,本节考虑在身份验证、用户隐私、无可信权威中心、数据完整性、轻量级聚合等方面与4个在智能电网领域中具有代表性的隐私保护数据聚合方案(如表2所示)进行比较.本文方案可以确保表2中列出的所有安全目标,而其余方案只能保证其中的一部分.例如,在文献[15]、[19]和[28]方案中,当数据聚合时,不验证SM的身份和合法性.一个不受信任或非法的SM可能伪造数据,这将导致聚合结果不准确.
表2 与相关方案进行安全特性的比较Tab.2 Security comparison of related schemes
5 性能分析
本节从计算开销和通信开销两方面对所提出的方案进行性能分析,并将其与文献[14]中基于Paillier的方案(称为PDAFT)和文献[19]中基于ECC的方案(称为P2MDA)进行比较.仿真实验在一台Intel Core i5-1135G7的CPU、16GB的内存、安装有Windows 10系统的笔记本电脑上进行,并使用Java中的JPBC函数库构造加密函数.在实验对比中,设定SM的数量N从100逐步增加到400,Paillier加密中的质数长度、本文方案中的模S都为512 bits,ECC方案中的G长度为160 bits,并通过操作运行时间来衡量计算开销,一些操作的运行时间如表3所示,对于一些简单的操作(例如:加法、减法操作)可忽略不计.为了减少对比误差,实验取值均为1 000次实验结果的平均值.
表3 主要操作的运行时间Tab.3 Running time of main operations
5.1 计算开销
表4给出了3种方案在不同阶段的计算开销对比.
表4 计算开销对比Tab.4 Comparison of computational overhead
在数据收集阶段,本文方案中SM生成数据报告的计算开销为2Tm+TH2.在P2MDA方案中,SM使用ECC椭圆曲线加密算法加密电量数据并生成签名,产生的计算开销为4Tecc.在PDAFT方案中,SM使用Paillier同态加密算法加密得到密文,产生的计算开销为TE.
在数据聚集阶段,3种方案中的EPC或者CC的计算开销为如下:在本文方案中,EPC需要一个哈希函数验证签名,解密为减法操作可忽略不计,计算开销为TH2.在P2MDA方案中,CC需要4个ECC中的缩放乘法运算,计算开销为4Tecc.在PDAFT方案中,CC需要一个Paillier解密操作,计算开销为TD.
从表4可以看出,与P2MDA方案和PDAFT方案相比,本文方案的计算开销有较为明显的优势.
5.2 通信开销
图5 通信开销对比Fig.5 Comparison of communication overhead
所有方案的主要通信开销由SM与TPA(或者SM与GW)之间和TPA与EPC(或者GW与CC)之间的通信开销组成.为了便于比较,设IDi和TS的大小为64 bits,哈希函数H2O为160 bits.在本文方案中,SM发送{Ci,IDi,TS,σi,Wi}给TPA,SM与TPA之间的通信开销为512+64+160+160=896 bits.TPA发送{C,TS,σTPS}给EPC,TPA与EPC之间的通信开销为512+32+160=704 bits.因此,当有N个SM时总通信开销是896N+704 bits.在方案P2MDA中,SM发送{C1,i,C2,i,IDi,Li,vi,T}给GW,SM与GW之间的通信开销为160+160+32+160+160+32=704 bits.GW发送{C1,C2,IDGW,LGW,vGW,T}给CC,GW与CC之间的通信开销为160+160+32+160+160+32=704 bits.因此,当有N个SM时总通信开销是704N+704 bits.在方案PDAFT中,SM发送Cr给GW,SM与GW之间的通信开销为2 048 bits.GW发送Cr给CC,GW与CC之间的通信开销为2 048 bits.因此,当有N个SM时总通信开销是2 048N+2 048 bits.图5显示了3种方案的通信开销对比情况.从图5可以看出,本文方案的通信开销比PDAFT低,比P2MDA略高.当N=400时,本文方案比PDAFT低56.34%,比P2MDA高21.38%.之所以本文方案通信开销比P2MDA高,是因为本文方案为了抗合谋攻击需要更大的密钥空间,导致通信量增加,而P2MDA没有抗合谋攻击的功能.
6 结论
本文设计了一种轻量级的隐私保护数据聚合方案.该方案采用基于双线性对的IDMAKE2协议和加法同态加密算法,实现了参与对象的身份验证,用户数据的隐私保护和电量数据的高效聚合.此外,本文方案不需要可信权威中心,并且可以抵抗合谋攻击.安全分析和性能实验表明该方案能够很好地满足设计目标的要求.