杨春皓
(国网山西省电力公司万荣县供电公司,山西 运城 044000)
随着人工智能技术和物联网技术的不断发展,智能电网正在逐步取代传统的电力系统。智能变电站是智能电网的重要组成部分,它采用现代信息技术、物联网技术和人工智能技术,将传统的变电站升级为智能化、自适应、可靠、高效及环保的新型电力设施[1]。目前,智能变电站通过物联网技术将各种传感器、计量装置等连接起来,并将数据上传到云端,从而实现设备间的数据共享和交换,实时监测电力系统状态。这其中智能变电站的通信安全就显得尤为重要,一旦通信过程中遭受攻击造成数据损坏或者数据篡改,就会严重影响电力系统的安全、稳定运行[2]。目前,智能变电站立足于IEC 62351标准制定的通信防御,还存在一定的缺陷,因此提出一种多阶段传输方案,以完善智能变电站通信防护体系,为智能变电站的安全运行提供更好的保障。
目前,智能变电站通信网络主要是基于IEC 61850标准构建的“三层两网”结构,如图1所示。
图1 智能变电站通信网络结构
“三层”包括过程层、间隔层和站控层。过程层主要负责与信息采集设备之间完成数字化信息的转换与互联;间隔层主要是完成对过程层上传的数字信号进行分析,并将分析结果传输给站控层;站控层主要负责将站内信号和信息发送至远方调度,以供调度中心可以实现对全站信息的实时监控[3]。
“两网”包括过程层网络和站控层网络。过程层网络主要负责过程层与间隔层的网络连接,实现保护测控装置与过程层各类接口装置、传感器以及执行元器件间的数据共享与应用;站控层网络主要负责站控层和间隔层的网络连接,实现保护测控装置和站控层智能电子设备(Intelligent Electronic Device,IED)的数据共享与应用以及间隔层IED间的信息共享[4]。
目前,外部攻击是智能变电站通信过程中会遭受的最主要威胁,并且存在递进的3个阶段:一是发掘合适的智能变电站通信网络攻击路径;二是隐匿于智能变电站系统,实现机密信息的窃取,为后续攻击提供依据;三是对智能变电站通信通道薄弱环节展开攻击,达到破坏或中断变电站业务的效果。其中,攻击的具体方式包括对智能变电站正常指令的篡改、扰乱身份验证、释放拒绝服务(Denial of Service,DoS)攻击、利用面向通用对象的变电站事件(Generic Object Oriented Substation Event,GOOSE)报文漏洞干涉通信准确性等。
目前,智能变电站通信安全的防御策略基于IEC 62351标准制定,其针对3阶段外部攻击分别有对应的举措。例如:针对攻击路径发掘,智能变电站通过部署安全隔离装置、防火墙和入侵检测装置等技术加以防范;针对机密信息窃取,智能变电站通过采用加密技术加以抵御;针对通信通道攻击,智能变电站通过过采用消息完整性验证、身份认证、数字签名以及新鲜因子等技术加以防护[5]。然而依据IEC 62351标准制定的安全防护仍然存在不足,具体如下:一是标准指定的安全算法对智能变电站系统IED计算和处理能力有着较高的要求,否则会影响系统通信的实时性;二是标准缺乏对系统用户身份更为严格的认证要求;三是标准缺少抵御GOOSE报文遭受篡改和重放等攻击的应对手段。
针对智能变电站易受攻击的模式以及现有通信防御的不足,着重将通信信息分割成3个阶段传输,分别实现报文的通信主体身份认证、加密校验以及完整性验证,以保障智能变电站的通信安全。智能变电站通信信息多阶段传输的安全效能如表1所示。
表1 智能变电站通信信息多阶段传输的安全效能
关于报文通信主体身份安全认证,主要分为4个步骤,如图2所示。
图2 报文通信主体身份安全认证示意图
第一步,将发送端的主体身份信息通过SM3、SM2加密算法,生成数字签名值。
第二步,提取数字签名数值中的身份标识以及当前时间戳t1,打包发送至通信接收端。
第三步,接收端分离打包信息,依次分离出t1、身份标识、数字签名数值。如果分离结束的时间戳t2相较于此前接收到的时间戳t1,用时超过预先设定的分离时间,将驳回身份认证并发出验证失败警告;如果在预设时间内,则继续进行验证。
第四步,接收端使用验签公钥对分离出的数字签名值进行验证,如果验证通过,则主体身份通过认证;如果不能通过,则停止验证并发出验证失败警告。
关于报文加密校验,主要分为 6个步骤,如图3所示。
图3 报文加密校验示意图
第一步,以发送端记录的双方通信次数为输入值,依据特定函数计算生成一个函数值X。
第二步,发送端将通信信息的明文通过SM2加密算法,生成密文。
第三步,发送端将函数值X、密文、当前时间戳t3打包发送至通信接收端。
第四步,接收端对打包信息进行分离,依次分离出t3、信息密文、函数值X。如果分离结束的时间戳t4相较于此前接收到的时间戳t3,用时超过预先设定的分离时间,将驳回身份认证并发出验证失败警告;如果在预设时间内,则继续进行验证。
第五步,以接收端记录的双方通信次数为输入值,同样依据输入端使用的特定函数计算生成一个函数值Y,如果X=Y,则对密文进行解密;如果X≠Y,则发出验证失败警告。
第六步,接收端使用解密私钥对密文进行解密计算,从而获得信息明文。
关于报文完整性验证,主要分为 6 个步骤,如图4所示。
图4 报文完整性验证示意图
第一步,将发送端的信息明文通过SM3加密算法,生成消息摘要值M。
第二步,对摘要值M通过加密SM2算法计算,获得对应的数字签名值。
第三步,发送端将数字签名值、当前时间戳t5打包发送至通信接收端。
第四步,接收端对打包信息进行分离,依次分离出t5、数字签名值。如果分离结束的时间戳t6相较于此前接收到的时间戳t5,用时超过预先设定的分离时间,将驳回身份认证并发出验证失败警告;如果在预设时间内,则继续进行验证。
第五步,接收端使用验签公钥对分离出的数字签名值进行验证。如果验证通过,则可获得消息摘要值M;如果不能通过,则停止验证并发出验证失败警告。
第六步,将接收端还原的信息明文通过SM3加密算法,生成消息摘要值N,如果M=N,则说明GOOSE报文发送完整;如果M≠N,则发出验证失败警告。
智能变电站作为电力系统的枢纽,其通信安全十分重要。针对变电站现有的通信隐患,提出的多阶段信息传输方案会对智能变电站各项指令以及电力参数的传输提供安全防护,为从事智能变电站通信工作的人员提供积极的参考,从而推动智能变电站的可靠运行。