佟为明,梁建权,李中伟,金显吉
(哈尔滨工业大学 电气工程及自动化学院,黑龙江 哈尔滨 150001)
高级量测体系AMI(Advanced Metering Infrastructure)是智能电网发展的一个关键环节,并被视为电网智能化的第一步[1-3]。无线传感器网络WSNs(Wireless Sensor Networks)是一种新兴的无线通信技术,它在AMI中已经被广泛应用于智能电表(IM)及其他智能设备中[4-6]。在AMI中,大量的信息通过WSNs进行采集、传输,从而提高了电网的感知能力和智能控制能力,给电网的发展、规划和维护提供了可靠的信息支撑。
AMI需要保证电力消费与供应数据的准确性,防止数据被篡改和窃电行为的发生。然而,由于传感器节点资源受限的特点,用其传输大规模数据会占用较多的通信资源和内存资源,容易造成网络拥塞,给智能电网通信的准确性、实时性及安全性带来不利的影响。为了减少网内数据传输量、提高传输效率、延长网络寿命,WSNs在正常工作时通常都会对采集的数据进行网内聚合处理,再将聚合后的数据发送至基站[7]。因此,为了保证AMI应用服务数据在通信过程中的完整性和机密性,数据的隐私聚合技术应运而生。
现有的在WSNs中应用的安全数据聚合方案[8-12]基本上都是基于加法同态加密实现的,即最终解密所得的数据是所有采集数据的和,这显然与AMI中的数据应用不符。文献[13-14]提出了数据可恢复的安全数据聚合方案,但是2个文献中的方案都是基于椭圆曲线密码ECC(Elliptic Curve Cryptography)实现的,在实现过程中需要将明文数据映射成椭圆曲线上的点,而在椭圆曲线上的点反映射回明文数据时需要暴力解决椭圆曲线离散对数问题,计算量非常大,这对资源受限的传感器节点而言,实现非常困难。
针对上述问题,现提出一种基于对称同态加密HE(Homomorphic Encryption)的数据可恢复安全数据聚合方案(ERCDA),并用中国剩余定理 CRT(Chinese Remainder Theorem)实现数据完整性验证,最后对所提方案的安全性及其他性能进行了详细分析。
AMI的通信体系主要分为三部分:广域网(WAN)、邻域网(NAN)和用户户内网(HAN),其网络结构如图1所示。WSNs通信主要应用于NAN和HAN中,主要涉及的设备有IM、汇聚节点(AN)和数据集中器(LGW),IM和AN以及AN和LGW之间能直接进行通信,IM和LGW之间的通信需要经过AN转发。整个WSNs通信部分就是实现安全数据聚合方案的网络模型。
图1 基于WSNs的AMI通信结构Fig.1 Communication architecture of AMI based on WSNs
本文所提安全数据聚合算法的实现过程如下:IM负责采集每个HAN中各种智能用电设备的耗能功率及用电数据,对这些数据进行同态加密,同时生成验证标签,处理完后将加密数据和验证标签发送至AN;每个AN负责收集以其为簇头的簇内IM的加密数据,并对加密数据进行聚合,将聚合后的数据发送至网关节点LGW;LGW通过解密得到采集数据的聚合数据或各IM的原始采集数据。数据的完整性验证通过CRT实现,主要实现过程为:利用CRT可以计算出一个数据和,将该数据和与解密所得的数据和进行比较,判断2个数据和是否一致,如果不一致则说明数据在传输过程中遭到篡改或数据已经过期,拒绝接收数据,否则进行下一步数据处理。
(1)同态加密。
同态加密最初由Rivest等人于1978年提出[15],该算法可以允许密文之间直接进行运算操作。对于基于对称加密的同态加密算法而言,假设Ek(·)为加密运算,Dk(·)为解密运算,k为加解密密钥,则加法同态加密可以表示为:
乘法同态加密可以表示为:
其中,a、b 为各项明文数据;k1、k2、k3为加解密密钥。
由于乘法同态加密需要消耗更多的资源,鉴于WSNs节点资源有限,本文采用加法同态加密来实现数据聚合。
(2)CRT。
CRT[16]是密码学中常用的一种理论,其主要原理如下。
假设有 N 个素数 pi(iϵ[1,N]),所有素数的乘积为, 有任意一组整数{m1,m2,…,mN},则同余方程组 X=mi(mod pi)(iϵ[1,N]),在[0,M-1]范围内存在以下唯一的X,可表示为:
其中,ai为CRT系数。
ai可以通过Qiqi计算得到,其中Qi=P/pi为除了pi以外其他所有素数的乘积,qi为Qi模pi的乘法逆元素,即qiQi=1(mod pi)。在本文的安全数据聚合中,CRT被用于检测数据完整性。
假设第i个IM(IMi)所采集的数据为datai,选择一个大素数M,M须大于,其中 D=max(datai),n 是以 ANj为簇头的簇内 IM 数,iϵ[1,n]。随机选取一组素数 pv,vϵ[1,N],所有素数的乘积为满足P>M。为了减少数据的传输量,本文算法将参数M、pv、P及同态加密时用到的密钥预置于各IM和LGW中。
(1)数据的同态加密。
为了使LGW能够恢复IMi的采集数据,在IMi中先对采集数据datai进行编码,编码过程为:
其中,mi为IMi的采集数据经过编码后的数据,称为IMi的编码明文;“‖”表示连接符,连接左右两边的数;ε=l(i-1)为所加 0的位数,l为采集数据用二进制表示时的位数。
采集数据编码完成后,利用加法同态加密对其进行加密,如式(5)所示。
其中,Ci为通过同态加密得到的密文数据,称为IMi的同态加密数据;kBti为加解密密钥,由IMi与LGW共享的链路密钥 kBi进行哈希运算获得,即 kBti=Hash(kBi,t),满足 kBtiϵ[0,M-1]。
(2)验证标签的产生。
a.用IMi采集的数据datai与素数pv进行模运算,得到一组余数 eiv,即 eiv=datai(mod pv),并将 eiv进行编码:
其中,Eciv为余数eiv经过编码后的数据。
b.将编码后的余数相加,得到一个lN位二进制数:
c.将IMi生成的二进制数进行加密,得到各自的验证标签:
其中,rtL为数据新鲜性验证参数,大小为rt(一个哈希序列)的低80位数。
IMi在进行完数据的同态加密和验证标签的生成后,将由密文数据和验证标签组成的报文消息(Ci,Tagi)发送至 ANj。
ANj在接收到IMi发送来的报文消息后,将所有的密文和验证标签进行聚合,聚合阶段的具体实施过程如下。
(1)同态加密数据的聚合。
ANj将IMi的Ci进行求和得到聚合密文:
(2)验证标签的聚合。
ANj将IMi的验证标签Tagi进行聚合处理得到聚合验证标签:
聚合完成后,汇聚节点ANj将聚合密文C和聚合验证标签Tag组成报文消息(C,Tag)发送到LGW。
LGW在接收到报文消息(C,Tag)后,对数据进行解密,并进行完整性和新鲜性验证。
(1)数据的解密。
由于LGW保存了与IMi共享的所有链路密钥kBi,因此可以通过解密得到编码明文mi的和msum为:
将msum进行解码可以获得所有采集数据datai:
式(12)表示各IM采集数据datai的值等于截取编码明文和msum中的第(i-1)l位至第il-1位组成的l位二进制数。
LGW对所有IM采集的数据datai进行求和:
(2)验证标签的解密。
LGW对接收到的聚合验证标签进行解密:
再将所得的Ec进行解码,解码过程为:
其中,ev为l位的二进制数,vϵ[1,N]。
(3)数据的完整性校验。
根据预置的素数pv先求出CRT系数Qv和qv,然后将求得的 Qv、qv和 ev代入式(3)可得:
将通过CRT计算所得的sum′和解密所得的sum进行比较,如果2个数据值相等,则说明校验成功,可以对数据进行下一步处理;如果2个数据值不相等,则说明数据遭到篡改,校验不成功,丢弃该组数据。
通过一个简单的数据聚合实例来描述本文所提方案的实现过程,证明方案的可实现性。假设AMI中的一个WSNs由1个LGW、1个AN和4个IM节点(分别为IM1、IM2、IM3和 IM4)组成。在某一采集周期内各IM采集的用电量分别为90 kW·h、100 kW·h、80 kW·h和120 kW·h。M为160位的素数,二进制位数l取10。
(1)数据加密。
为了能够方便地叙述加密过程,将各IM的链路密钥 kBi分别取为37、41、33 和 57,kBti分别取为25、31、23和34,数据新鲜性验证参数rtL取为17。各IM用电量经过式(4)编码和式(5)加密后可得编码明文mi和加密数据Ci,如表1所示。
表1 经过编码和加密后的IM用电量数据Table 1 Encoded and encrypted power consumption data of IMs
(2)验证标签生成。
假设预置于各IM中的素数pv为p1=5,p2=11,p3=13,P=715。先求出各IM的用电数据模pv的余数eiv,然后利用式(6)可以求出其编码值Eciv,对应数据如表2所示。
表2 余数eiv的编码值EcivTable 2 Eciv,codes of remainder eivfor different IMs
将表2中的数据代入式(7)可以求出Eci的值,将Eci代入式(8)可以得到验证标签Tagi,对应数据如表3所示。
表3 余数编码和Eci和验证标签TagiTable 3 Eci,code of remainder,and its verification tag Tagifor different IMs
(3)数据的聚合。
利用式(9)计算表1中的加密数据Ci可以得到聚合密文C,利用式(10)计算表3中的验证标签Tagi可以得到聚合标签Tag,所有计算所得的数据见表4。
表4 聚合密文C和聚合验证标签TagTable 4 Aggregated ciphertext C and aggregated verification tag Tag
(4)解密及验证。
利用式(11)对表4中的聚合密文C进行解密得到 msum,再将 msum代入式(12)可得 data1=msum[0,9]、data2=msum[10,19]、…、data4=msum[30,39],对各用电量数据datai用式(13)计算出明文数据的和sum,如表5所示。从表5中可以看出,本文方案所得用电量数据和实际值一致。
表5 解密和解码后数据datai和明文数据的和Table 5 Decrypted and decoded dataiand calculated sum
在进行数据完整性验证时,首先将表4中的聚合验证标签Tag代入式(14)可以得到解密后的聚合验证标签Ec;再将得到的Ec代入式(15)可以得到CRT所需的 ev为e1=Ec[0,9]、e2=Ec[10,19]、e3=Ec[20,29]。所有计算所得的数据见表6。
表6 解密和解码后的验证标签Table 6 Decrypted and decoded verification tag
通过各IM中预置的素数p1、p2、p3,可以计算出P,根据 CRT 原理可得 Q1=143,Q2=65,Q3=55,q1=3,q2=10,q3=3。将这些参数代入式(16)可得 sum′=390。由于在本实例中数据在传输时没有被篡改,数据是完整的,因此经过CRT计算所得的sum′与表5中解密所得的sum相等。如果在传输过程中数据被篡改,则sum和sum′不相等。
整个过程说明本文所提方案可以正确实现数据的安全聚合,并能够正确恢复各IM的采集数据。
分2种情况对本文所提方案在数据的机密性和隐私性保护方面进行分析。
(1)攻击者没有俘获任何节点。
当网络中没有任何节点被俘获时,攻击者不能破解任何节点的密钥,攻击者只能通过窃听信道来获取网络中传输的数据从而达到破坏的目的。在本文方案中,攻击者只有同时破解密钥kBti和大素数M才能解密密文,kBti和大素数M都为160 bit数据,因此密文被破解的实际概率为2-320。同时,kBti又是通过哈希运算获得,即 kBti=Hash(kBi,t),哈希函数的单向性增加了本文方案的安全性。因此,在没有节点被俘获的情况下攻击者的成功率非常低,能满足安全性要求。
(2)攻击者俘获部分节点。
当系统中有IM节点被俘获时,由于在本文提出的安全数据聚合算法中,各IM在进行数据同态加密时用的是其本身和LGW的链路密钥,因此单个IM的密钥信息泄漏对其他IM的数据隐私威胁有限。
当被俘获的节点为AN时,由于IMi传输给AN的是加密信息,且AN中不存储加密的密钥,攻击者想要破解密文只有同时破解密钥kBi和大素数M,密文被破解的概率几乎可以忽略不计。因此,AN被俘获不会影响采集数据的机密性和隐私性。
综上所述,本文所提的方案具有较好的数据机密性和隐私性保护性能。
(1)数据完整性保护。
本文利用CRT理论来验证数据传输时有无遭到篡改,即利用CRT计算的数据和sum′与接收到的数据和sum的比较结果来完成数据完整性检测。而能否实现完整性验证取决于利用CRT求解出的唯一解是否就是采集数据的数据和,具体证明过程如下。
a.假设 IMi的采集数据为datai,iϵ[1,n]。系统为每个 IM 预置 g 个素数 pj,jϵ[1,g],素数的乘积为P,P 满足:P≥n·max(datai)+1。
b.求出各 IM 的余数组:eij=datai(mod pj)。
c.将每个IM的余数组中的第j个元素求和:。
d.将所有采集数据的和记为。
e.计算式(17)可以看出,sum 和 ej模 pj同余,即sum=ej(mod pj),jϵ[1,g]。该同余式完全符合 CRT 的原理,因此在[0,P-1]范围内存在唯一的 sum,可以通过式(3)求出,即经过CRT求出的唯一解就是采集数据的数据和。
因此,如果数据datai在传输或聚合过程中遭到篡改就会导致验证不通过。例如,在第3节的实例中,如果在传输过程中攻击者改动了报文中IM3的加密数据C3,如被篡改为0000010001,在LGW节点中通过解密计算出的数据和sum就变为399,而经过CRT计算出的sum′还是390,因此可以判断数据遭到篡改。如果在传输或聚合过程中攻击者篡改的是Tagi或Tag,最后在LGW节点中经过CRT计算所得的sum′就不等于390,因此也可以判断出数据遭到篡改。综上可知,本文所提方案能够满足数据完整性要求。
(2)数据新鲜性保护。
加密函数进行加密时的密钥kBti是通过哈希运算获得,即 kBti=Hash(kBi,t),并且加入了时间参数 t,哈希函数的单向性增加了kBti的安全性,并且随着t的变化kBti也在更新。因此,如果发生重放攻击,在LGW中的kBti和攻击节点的kBti不一致,解密得出的sum就会不一致,从而导致数据完整性验证失败,故本文所提方案能有效保证数据的新鲜性。同时,随着t的变化kBti也在变化,使得明文和密文之间不存在固定的关系,因此能够抵抗惟密文攻击和已知明文攻击。
IM作为嵌入式设备,其资源十分有限,因此在保证算法安全性的前提下尽可能减少节点的计算和通信消耗是每一种聚合算法所追求的目标。为了更好地评估本文所提方案的算法性能,将本文所提方案与文献[13]提出的RCDA-HOMO方案在通信开销、计算开销这2个方面进行比较。其中,对称加密算法中的密钥和ECC算法中的密钥都采用160 bit。
算法的计算开销主要包括加密及验证标签生成、聚合和解密及验证3个阶段的总开销,由于解密及验证阶段发生在根节点,一般假设根节点资源充足,因此在本文不予考虑。本文只对各方案的加密及验证标签生成和聚合这2个阶段的计算开销进行分析,采用计算所花费的时间来衡量计算开销指标。假设1次大数乘法运算所需时间为tmul,大数加法运算的时间相较于其他运算可以忽略,1次求模运算所需时间为tmod,1次模乘运算所需时间为tm,1次模加运算所需时间为tam,1次椭圆曲线标量乘运算所需时间为tme,1次椭圆曲线上的点加运算所需时间为tae,1次哈希函数运算时间为thash。
(1)本文方案的计算开销。
在本文方案中,数据加密时进行1次模加运算,生成密钥时进行1次哈希运算,验证标签的生成进行3次求模运算;在聚合阶段,密文和验证标签的聚合采用求和取模运算,共进行2次模加运算。
因此,本文方案的加密及标签计算开销为:。本文方案的数据聚合开销为:。
(2)RCDA-HOMO方案的计算开销。
在RCDA-HOMO方案中,计算验证标签包括1次标量乘运算和1次哈希运算;数据加密时采用的是ECC算法,包括2次椭圆曲线点乘运算和1次椭圆曲线点加运算;明文映射到椭圆曲线时进行1次椭圆曲线点乘运算;密文聚合时需要进行2(f-1)次椭圆曲线点加运算,f为簇成员节点的数量;验证标签的聚合时进行加法运算。
因此,RCDA-HOMO方案的加密及标签计算开销为:。RCDA-HOMO方案的数据聚合开销为:。
通过以上对各方案的计算开销分析可以看出,由于存在不同数学运算方法,因此无法直接进行比较。参照文献[17]给出的计算方法,将椭圆曲线上的标量乘和点加运算开销都转换到基本单位(160 bit的模乘运算开销tmm)。换算以后的具体计算开销如表7所示。从表中可以看出,本文方案的计算开销比RCDAHOMO方案少很多。
表7 2种方案的计算开销对比Table 7 Comparison of computation cost between two schemes
在所有的安全数据聚合方案中,数据的传输方式为:终端节点将加密数据发送给聚合节点,聚合节点再将密文转发给sink节点。假设使用通信方式是相同的,因此每次传输的数据包大小一致,则影响通信开销大小的主要因素是密文数据的长度。由于聚合前后的数据长度不影响通信开销大小,因此只对终端节点发送到聚合节点的密文数据长度进行分析,对各方案的通信开销分析如下。
(1)本文方案的通信开销。
在本文方案中,由于采用的密钥和M都为160bit数据,因此求得的Ci和Tagi都为20 Byte,IM向聚合节点发送的报文(Ci,Tagi)一共为40 Byte。
(2)RCDA-HOMO方案的通信开销。
在RCDA-HOMO方案中,采用的是在有限域F160上的椭圆曲线,每个椭圆曲线上的点可表示为160bit,即20 Byte。RCDA-HOMO方案的消息格式为ci‖σi,其中 ci=(Ri,Si),Ri和 Si为椭圆曲线上的 2 个点,因此ci为40Byte,生成的验证标签σi为34Byte。所以,终端节点发送给聚合节点的数据长度一共为74 Byte。
通过以上分析可知,本文方案的通信开销比RCDAHOMO方案小。
本文针对AMI在进行数据聚合时,由于有些应用需要获取各用户IM对应的数据,提出一种具有数据可恢复的安全数据聚合方案。通过对方案的性能的分析可以得出以下结论:
a.本文方案的AN能够在不解密的情况下实现各IM的数据聚合,并能在LGW中准确恢复各IM的数据;
b.本文方案能够确保数据在传输过程中的机密性、数据隐私性、数据完整性和数据新鲜性,且能够抵抗惟密文攻击和已知明文攻击;
c.将本文方案与同样具有数据恢复功能的RCDA-HOMO聚合方案在计算开销和通信开销上进行比较,开销计算结果表明本文方案在这2项性能上具有更好的表现。
参考文献:
[1]张国荣,陈夏冉.能源互联网未来发展综述[J].电力自动化设备,2017,37(1):1-7.ZHANG Guorong,CHEN Xiaran.Future development of energy internet[J].Electric Power Automation Equipment,2017,37(1):1-7.
[2]WANG W,XU Y,KHANNA M.A survey on the communication architectures in smart grid[J].Computer Network,2011,55(15):3604-3629.
[3]王守相,葛磊蛟,王凯.智能配电系统的内涵及其关键技术[J].电力自动化设备,2016,36(6):1-6.WANG Shouxiang,GE Leijiao,WANG Kai.Main contents and key technologies of smart distribution system[J].Electric Power Automation Equipment,2016,36(6):1-6.
[4]ZHENG G,GAO Y,WANG L.Realization of automatic meter reading system based on ZigBee with improved routing protocol[C]∥2010 Asia-Pacific Power and Energy Engineering Conference.Chengdu,China:IEEE,2010:1-6.
[5]EROL-KANTARCI M,MOUFTAH H T.Wireless sensor networks for cost-efficient residential energy management in the smart grid[J].IEEE Transactions on Smart Grid,2011,2(2):314-325.
[6]NGUYEN M T,NGUYEN L L,NGUYEN T D.A practical implementation ofwireless sensornetwork based smarthome system for smart grid integration[C]∥2015 International Conference on Advanced Technologies for Communications(ATC).Ho Chi Minh,Vietnam:IEEE,2015:604-609.
[7]TANG X,XU J.Extending network lifetime for precision constrained data aggregation in wireless sensor networks[C]∥25th IEEE InternationalConferenceon ComputerCommunications.Barcelona,Spain:IEEE,2006:1-12.
[8]PAPADOPOULOS S,KIAYIAS A,PAPADIAS D.Secure and efficient in-network processing of exact SUM queries[C]∥2011 IEEE 27th International Conference on Data Engineering(ICDE).Hannover,Germany:IEEE,2011:517-528.
[9]OZDEMIR S,CAM H.Integration of false data detection with data aggregation and confidential transmission in wireless sensor networks[J].IEEE /ACM Transactions on Networking,2010,18(3):736-749.
[10]OZDEMIR S,XIAO Y.Integrity protecting hierarchical concealed data aggregation for wireless sensor networks[J].Computer Networks,2011,55(8):1735-1746.
[11]赵小敏,梁学利,蒋双双,等.安全的WSN数据融合隐私保护方案设计[J].通信学报,2014,35(11):154-161.ZHAO Xiaomin,LIANG Xueli,JIANG Shuangshuang,et al.Design of secure privacy-preserving data aggregation scheme for wireless sensor network[J].Journal on Communications,2014,35(11):154-161.
[12]周强,杨庚,陈蕾,等.基于同态MAC的无线传感网安全数据融合方案[J].电子与信息学报,2014,36(7):1743-1748.ZHOU Qiang,YANG Geng,CHEN Lei,et al.Secure data aggregation scheme based on homomorphic MAC for wireless sensor networks[J].Journal of Electronics&Information Technology,2014,36(7):1743-1748.
[13]CHEN C M,LIN Y H,LIN Y C,et al.RCDA:recoverable concealed data aggregation for data integrity in wireless sensor networks[J].IEEE Transactions on Parallel and Distributed Systems,2012,23(4):727-734.
[14]丁超,杨立君,吴蒙.一种同时保障隐私性与完整性的无线传感器网络可恢复数据聚合方案[J].电子与信息学报,2015,37(12):2808-2814.DING Chao,YANG Lijun,WU Meng.A recoverable privacypreserving integrity-assured data aggregation scheme for wireless sensor networks[J].Journal of Electronics&Information Technology,2015,37(12):2808-2814.
[15]RIVEST R L,ADLEMAN L,DETROUZOS M L.On data banks and privacy homomorphism[J].Foundations of Secure Computation,1978:169-179.
[16]WU C H,HONG J H,WU C W.RSA cryptosystem design based on the Chinese remainder theorem[C]∥Proceedings of the ASP-DAC 2001.Asia and South Pacific Design Automation Conference,2001.Yokohama,Japan:IEEE,2001:391-395.
[17]MYKLETUN E,GIRAO J,WESTHOFF D.Public key based cryptoschemes for data concealment in wireless sensor networks[C]∥2006 IEEE International Conference on Communications.Barcelona,Spain:IEEE,2006:2288-2295.