-
高级量测体系(advanced metering infrastructure,AMI)是当前我国能源互联网快速发展背景下建设现代化智能电网的重要参与成分,其本质是对电力用户信息进行测量、分析和处理的高级网络系统[1-2]. 供电企业通过在电力系统中构建AMI从而实现电力市场的多方智能交互,这是实现能源合理配置的必要基础. 在智能电网中存在大量的智能终端采集设备,而AMI中的数据传输主要产生在不同终端和服务器之间. 而一旦传输数据的安全性受到威胁,很有可能给电网造成难以估量的重大损失. 为了保证AMI在数据传输过程中的安全性,有必要针对敏感数据进行安全防护.
国内外学者针对AMI的安全防护开展了大量研究. 文献[3]着重研究了AMI的数据风险,基于家庭内网网关实现签名后再利用楼宇网关恢复信息,经过完整性校验与聚合以后实现安全管控;文献[4]研究了基于同态加密算法的数据聚合方法,通过多重编码完成数据加密;文献[5]考虑到智能电表的资源有限性,基于白名单提出了一种云安全防护方法;文献[6]提出了基于Paillier加密的同态加密以及替代复合加密工作的安全数据聚合方法.
现有AMI具有主站集中云化部署,终端智能化变为边缘计算节点的特点,为了满足当前电网计量业务安全防护的迫切需求,本研究针对电力系统中智能终端采集设备成分较多的二次费控系统,在深入研究现有费控二次系统安全防护体系的基础上,在AMI采集监测系统框架下提出一种改进SM2国密算法的密钥交换协议作为系统的边界防护手段,确保AMI数据传输的机密性与完整性.
全文HTML
-
由于费控二次系统是电网AMI应用的典型场景,因此本研究主要针对费控二次系统展开讨论. 费控二次系统是指实现对电厂、变电站、公变、专变和低压用户等发电侧、供电侧、配电侧和售电侧电气数据采集、监测与分析功能的系统主站、通信通道和计量自动化终端[7-10].
图 1是当前费控二次系统安全防护总体逻辑结构,给出了费控二次系统安全区域的划分、安全区域之间横向互联的逻辑结构、安全区纵向互联的逻辑结构以及网络安全防护设备的总体部署. 按照安全分区原则,费控二次系统各业务系统和功能模块分别置于不同的安全区:在生产控制大区,控制区的主要业务包括带控制的功能模块(如控制服务、负荷控制、低压集抄等模块);非控制区的主要业务包括计量自动化系统主站数据服务(存储计量自动化系统全量数据)和不带控制的功能模块(如厂站电能量计量、配变监测等模块). 在管理信息大区,生产管理区的主要业务包括全球广域网(world wide web,WEB)发布、镜像数据服务等功能模块.
-
为了实现AMI中智能终端身份防伪、与数据防篡改的目的,在AMI的采集监测系统安全框架下进行密钥交换协议的设计.
采集监测类系统的安全框架主要是针对用电终端无线传输安全防护需求进行设计(图 2),在设计过程中还需要同时在设计过程中还需要同时考虑安全Ⅰ,Ⅱ,Ⅲ区中计量自动化系统所在的内部网络分区的安全防护需求以及各业务系统主机安全防护需求.
针对用电终端无线传输安全防护需求,在中心侧业务系统入口处部署安全通信网关,对接入业务系统的集中器等终端进行身份认证,并通过协议阻断、格式检查和协议分析等技术防止终端侧非法数据的跨网入侵. 此外,网关与接入终端之间通过密钥协商建立一条加密传输通道,对终端与业务系统之间的业务报文进行传输保护. 在集中器上安装安全通信模块,提供认证与加密服务,实现数据传输的机密性、完整性保护,防止攻击者从终端及终端回传数据的网络链路中侵入中心系统.
1.1. 费控二次系统架构
1.2. AMI采集监测系统框架
-
由于SM2算法具有运算维度小、加密效率高等优点,因此本研究选用SM2算法用于加密. SM2算法实质上是一种椭圆曲线迪菲-赫尔曼密钥交换(elliptic curve diffie-hellman key exchange,ECDH)算法,其所涉及的参数见表 1[11-12].
假设用户P和Q在进行密钥协商时取得的数据长度是klen比特,用户P表示的是会话发起方,同时用户Q表示的是会话响应方. 两者通过以下流程获取会话密钥.
用户P
P1:随机生成aP∈[1,n-1];
P2:计算EC点RP=[aP]T=(x1,y1);
P3:将RP传输给用户Q;
用户Q
Q1:随机生成aQ∈[1,n-1];
Q2:计算EC点RQ=[aQ]T=(x2,y2);
Q3:从RQ筛选出域元素x2,并对x2=2c+x2 & (2c-1)进行计算;
Q4:计算tQ=(eQ+x2·aQ)mod n;
Q5:验证RP是否为椭圆曲线方程上的一点,若不满足则协商失败;若满足,则从RP中取出域元素x1,并计算x1=2c+x1&(2c-1);
Q6:计算EC点V=[h·tQ](SP+[X1]RP)=(x1,yr),若V为椭圆曲线上的无穷远点,则协商失败;
Q7:计算KQ=KDF(xa‖yV‖UP‖UQ,klen);
Q8:将RP的坐标(x1,y1)和RQ的坐标(x2,y2)的转换为比特串,并计算SQ=Hash(0×02‖yc‖Hash(xV‖UP‖UQ‖x1‖y1‖x2‖y2)),此为可选项;
Q9:将RQ和SQ发送给用户P;
用户P
P4:从RP中取出域元素x1,并计算x1=2c+(x1 & (2c-1));
P5:计算tP=(eP+x1·aP)mod n;
P6:验证RQ为椭圆曲线方程上的一点,若不满足则协商失败;若满足,则从RQ中取出域元素x2,并计算x2=2c+(x2 & (2c-1));
P7:计算EC点U=[b·tP](SQ+[x2]RQ)=(xU,yU),若U表示的是EC上的无穷远点,则表示协商结果为失败;
P8:计算KP=KDF(xν‖yν‖UP‖UQ,klen);
P9:将RP的坐标x1y1和RQ的坐标x2y2变换成为比特串,并计算S1=Hash(0×02‖yu‖Hash(xu‖UP‖Us‖x1‖y1‖x2‖y2)),然后检验S1=S3是否存在,若为否,则示协商结果为失败;
P10:计算SP=Hash(0×03‖yU‖Hash(xU‖UP‖UQ‖x1‖y1‖x2‖y2)),然后令SP输送给用户Q,此为可选项.
用户Q
Q10:计算S2=Hash(0×03‖yV‖Hash(xV‖UP‖U8‖x1‖y1‖x2‖y2)),然后检验S2=SP是否存在,若为否,则表示协商结果为失败,此非必选项.
此时用户双方在完成密钥协商后分别求解得到会话密钥,且KP=KQ,其具体流程见图 3.
-
在AMI设备通信过程,为了确保AMI数据传输过程中的安全性,本研究引入数字证书实现对传送报文的签名验证,确保连接的终端合规,最终通过密钥交换协议对证书进行检验. 其中会话发起方通过己方私钥对随机生成数完成SM2加密,同时利用SM3完成证书公钥的Hash运算并对结果采用SM2私钥签名,最后将签名和证书传送给可以完成身份认证的会话响应方,会话响应方验签成功后反馈回己方的数字证书,从而保证双向认证,确保安全[13-14]. 但是由于费控二次系统智能终端采集设备的运算性能不足,考虑到密钥交换过程中部分信息的传递即可实现整个过程而不需要花费大量的开销. 因此本研究针对费控二次系统对SM2按如下流程进行改进.
用户P
P1:用户P产生随机数aP,会话可辨别标识Se.
P2:用Q的公钥对aP加密,并与Se和IDP连接运行,得到P2=EFP(rP)‖Se‖IDP.
P3:对连接结果进行Hash运算,得到P3=H(aP‖Se‖IDP).
P4:用dP对P3签名,得到P4=EdP(H(aP‖Se‖IDP)).
P5:连接P2‖P4,得到xP5=Epg(aP)‖Se‖IDP‖EdP(H(rP‖Se‖IDP)).
P6:将P5发送到用户Q.
用户Q
Q1:得到P的报文,验签得到信息aP,Se,IDP.
Q2:用户Q生成随机数aQ,并计算UP,UQ.
Q3:生成会话密钥K,SQ,S2.
Q4:用P的公钥对aQ加密,并连接Se,IDQ和SQ,得到Q4=EpP(rQ)‖Se‖IDQ‖SQ.
Q5:对连接结果进行Hash运算,得到Q5=H(aQ‖Se‖IDQ‖SQ).
Q6:用eQ对Q签名,得到Q6=Ed8(H(aQ‖Se‖IDQ‖SQ).
Q7:连接xQ4‖Q6,得到Q7=EPλ(aQ)‖Se‖IDQ‖SQ‖EaQ(H(aQ‖Se‖IDQ‖SH)).
Q8:将Q7发送到用户P.
用户P
P7:得到Q发送的报文,验签得到信息:rQ,IDQ,SQ.
P8:计算UP,UQ,并生成会话密钥K,S1.
P10:比较S1和SQ.
P11:生成SP并发送给用户Q.
用户双方通过身份认证和密钥协商实现通信互联后,AMI数据开始传输,若由于数据不合规而未能完成以上步骤将会获取错误验证码,智能终端采集设备将重新开始以上流程直到完成验证,因此通信安全得以确保.
2.1. SM2算法基本流程
2.2. 算法改进
-
为了从机理上证明本研究提出的方法在安全防护方面的可行性,考虑到适应当前的主流攻击方式,本研究将从双向身份认证[15]、重播攻击[16]、中介攻击[17]、信息注入攻击[18]和长期窃听[19]等5个角度分析方法的安全性.
-
在本研究的协议方案中,智能终端采集设备私钥通常由内部安全芯片所包含的随机发生器生成并存储,同时通过受信任的第三方CA基于公钥发出用户证书,故而终端需要合法才可以获得对应私钥. 会话发起方发送加密信息给会话响应方后,会话响应方通过检验获取的随机数与私钥求解得到的随机数的一致性来验证会话发起方的合法性;同理,会话发起方也可以借此检验会话响应方的合法性,从而实现双向身份认证.
-
重播攻击的定义是攻击方向目标主机传送目标曾获取过的数据包来冒充认证过的通信用户,从而破坏认证并完成数据截取. 而本研究的方案可以在双向认证过程中将过去的随机数和历史信息中的随机数进行对比,通过判断新鲜度检测出重播攻击并舍弃,从而有效克制重播攻击.
-
中介攻击主要是攻击方充当信息传输中介实现通信用户之间的通信过程,从而在此过程中实现对于数据信息的截取和篡改,影响正常的通信过程. 而在本研究的方法中,充当信息中介的攻击方在截取会话发起方的认证信息后会因为没有获取到会话响应方的私钥而不能得到随机数以及序列号,从而无法冒充会话发起方窃取协商过程中的数据信息. 同理,充当信息传输中介的攻击方也不能冒充会话响应方向会话发起方传输信息.
-
当通信用户之间相互认证通过并完成密钥的协商以后,智能终端采集设备的计量信息将开始传送,而由于会话密钥仅由用户所拥有,因此攻击方不能对其截取和解密,从而防止非法信息注入通信数据.
-
由于本研究的方法在开展通信时需要完成用户双方的身份认证并在密钥协商后得到新的会话密钥,在此过程中随着新的通信通道不断生成,会话密钥也随之更新,攻击方不能快速得到新的会话密钥因此难以实现长期窃听.
-
在传统的SM2中,通信用户在通信过程中需要交换EC点和Hash函数杂凑值,根据国家密码管理局规定,EC点长度应为64 bytes,而Hash函数杂凑值的长度应为32 bytes,故而在通信过程中共计需要传输192 bytes的数据.
而本研究的方法中通信用户在通信过程中需要交换生成的随机数、会话可识别标识以及身份认证标识. 前两者的长度均为8 bytes,后者的长度为16 bytes,因此基于本研究的方法实现密钥交换仅需72 bytes,相比于传统方法减少120 bytes,显著降低了开销损耗,确保了数据安全性.
-
为了进一步验证方法的优越性,本研究测试了不同数量的智能终端设备开展通信传输时密钥交换的稳定性. 测试环境参数见表 2.
本研究测试了费控二次系统智能终端采集设备数量N为1,100,500,1 000和5 000时密钥交换的执行时间,所得结果见图 4. 由图 4可以看出,当智能终端采集设备数量增大时,总的执行时间也在稳步提升而未出现显著变化,这表明本研究提出的方法能够有效应对多终端接入AMI时发起的通信连接请求并稳定执行任务,具有较好的稳定性.
3.1. 安全性分析
3.1.1. 双向身份认证
3.1.2. 重播攻击
3.1.3. 中介攻击
3.1.4. 信息注入攻击
3.1.5. 长期窃听
3.2. 开销分析
3.3. 效率测试
-
本研究针对电网二次费控系统,提出一种改进SM2国密算法的密钥交换协议,通过安全性分析、开销分析和效率测试对本研究提出方法进行验证,实验结果表明该方法在保障电网AMI数据安全方面具有较高的可行性. 能够确保AMI中终端用户在通信过程中数据的机密性与安全性,有力保障了电网的信息通信安全,有助于我国能源互联网的建设. 下一步将继续开展防护技术的优化,进一步提升防护效率和防护范围,以应对更多的新型安全攻击.