智能变电站二次系统通信规约安全增强
2015-12-31汪晨邵志鹏黄秀丽
汪晨,邵志鹏,黄秀丽
(国网智能电网研究院信息通信研究所,江苏 南京 210003)
1 引言
国内变电站主要有传统变电站和IEC61850标准[1]的智能变电站,由于智能变电站设备能够进行互操作,且电网公司也在大力推广智能变电站,因此,智能变电站将是发展趋势[2,3]。
随着智能电网[4-6]的广泛应用,电力信息化开放程度越来越高,信息安全受到重视[7,8]。目前,变电站安全防护措施主要为变电站二次系统安全防护,它更像是个隔离防护设备,能够防护变电站内部系统与变电站外界的安全,而对于变电站内部的二次系统通信规约安全防护却无能为力。根据统计显示,80%的网络攻击源于内部网络。传统的直连方式安全问题并不突出,主要原因在于攻击者不易接入系统,且易被发现。而具备互操作的智能变电站,攻击者一旦接入站内网络,即可展开攻击,且不易被发现。
基于IEC61850标准的智能变电站内部在通信规约设计上,并未进行安全设计。攻击者一旦接入站内网络,便可以随心所欲地进行破坏工作。为了弥补IEC61850的安全问题[9,10],IEC62351标准[11-13]中给出了变电站通信规约安全的定义,参考文献[14-16]从不同角度研究和探讨IEC62351标准,但都有一个不足之处,对指导实际开发变电站安全设备还不具备足够的指导,如IEC62351标准中提出的GOOSE/SMV时间要求为4 ms,而实际变电站环境中时间在微秒级才能够实时处理报文。
电力是国家重要的基础设施,安全稳定运行是最基本的要求。本文结合IEC62351标准与变电站实际运行情况,对智能变电站二次系统通信规约进行安全增强研究与设计开发,以指导变电站站内通信规约安全设备的开发。规约安全增强包括MMS(manufacturing message specification,制造报文规范)规约的关联认证和防重放攻击、传输层加密通信、GOOSE(generic object oriented substation event,面向通用对象的变电站事件)/SMV(sampled measured value,采样测量值)规约的签名认证和防重放攻击、站内密钥分配、安全增强后的报文分析。最后,对增强的规约设备运行的时延或数据处理做简要分析。
2 通信规约安全增强
2.1 规约安全增强框架
变电站二次系统通信规约安全增强框架依据IEC62351标准,结合变电站实际,对IEC61850标准智能变电站站内通信规约MMS和GOOSE/SMV进行安全增强,如图1所示。
(1)MMS 规约安全增强
MMS规约安全增强体现为应用层的应用认证和传输层的通信加密。应用层在MMS关联过程对MMS客户与服务进行双向签名认证和防重放攻击,传输层在TCP基础上,引入SSL/TLS协议进行通道加密。
(2)GOOSE/SMV 规约安全增强
GOOSE/SMV规约安全增强对报头进行CRC检验,对报文体进行签名认证,对报文进行重放攻击。
(3)密钥分配
对(1)和(2)中的签名认证和通信加密涉及的密钥进行分配以及规约增强后报文分析设备的密钥分配。
本文还将对签名认证算法在GOOSE/SMV运行的实时嵌入系统中运行的时间参数进行分析。
2.2 MMS通信规约安全增强
MMS规约安全增强一是在应用层增加MMS关联认证和防重放攻击功能,二是在传输层之上使用定制的SSL/TLS协议,如图2所示。
MMS规约在应用层上使用ACSE(association control service element,关联控制服务元素),ACSE的关联请求单元(AARQ)和关联响应单元(AARE)声明了认证功能单元的描述,但未有实现内容,且默认情况下认证功能单元不启用。在传输层上仅使用传统的TCP。
本文在具备认证功能单元的ACSE基础上,启用ACSE的认证功能单元,设计认证功能单元数据结构,设计认证过程。在认证过程同时,引入防重放攻击功能,使得MMS应用层同时具备认证与防重放攻击功能。在传输层引入定制SSL/TLS协议。
图1 规约安全增强框架
图2 MMS规约安全增强
图3是增强的MMS交互过程,其中阴影部分为安全增强部分,相较于普通的MMS,增强了传输层的加密通道功能和应用层的认证及防重放攻击功能。
图3 MMS规约安全增强通信过程
2.2.1 MMS关联认证及防重放攻击
为了能够兼容之前的MMS规约,通过以下3个步骤完成MMS规约的关联认证:
·启用ACSE的认证功能单元;
·设计认证数据结构;
·设计双方认证流程。
ACSE认证功能单元如图4所示,AARQ-apdu和AARE-apdu分别对应ACSE的关联请求与关联响应数据结构。认证功能单元启用标识未启用时,认证机制和认证结构同时不被使用。ACSE默认情况下不启用认证功能单元启用标识,认证机制名为双方选定,认证数据结构默认仅为一个声明。
安全增强的MMS关联认证功首先启用sender-acserequirements和responder-acse-requirements两个域值,且值为authentication(0);然后定义认证数据结构,并将认证数据结构的标识符作为认证机制值。认证数据结构定义如图5所示。
图5(a)为认证数据结构的抽象接口,图5(b)为定义的认证数据结构。认证数据结构主要有以下3项内容。
(1)SignatureCertificate:签名验证证书
SignatureCertificate::=OCTET STRING(size(0..8192))
SignatureCertificate最大可携带8 192 byte内容。在关联认证过程,签名方发送签名时间时,主动将验证签名的证书通过域SignatureCertificate发送给验证方。SignatureCertificate内容应按照基本编码规则编码的X.509证书。
(2)SignedValue:签名值
SignedValue::=OCTET STRING(size(0..256))
SignedValue为发送方用自己的私钥对时间值摘要的签名。
(3)Time:认证值创建时间
图4 AARQ和AARE认证功能单元
图5 MMS关联认证数据结构定义
Time为开始创建认证值的时间,用GeneralizedTime格式表示的格林威治时间(GMT)值。Time同时可以防重放攻击使用。
防重放攻击使用关联认证的时间值,在签名验证通过后,使用最近一次的历史时间值与Time做差比较,超过阈值,则拒绝接收对方的请求或响应。只在允许的时间范围内方可接收对方的请求或响应。
认证与防重放攻击过程如图6所示。
图6 MMS关联认证与防重放过程
详细步骤如下。
(1)关联请求发起者
步骤1 设置sender-acse-requirements为authentication(0)、认证机制值为认证数据结构ID。
步骤2 获取系统时间Time,使用散列算法对Time进行摘要运算,HTime=Hash(Time)。
步骤3 加载私钥Key和证书 (带CA签名的公钥)Cert,并使用私钥对HTime进行签名,SignedValue=Encrypt(Key,HTime),其中,Encrypt表示通过密钥给值HTime进行加密。
步骤4 先将证书Cert、Time和SignedValue封装成认证数据结构;再将认证数据结构赋给called-authenticationvalue,完成AARQ-apdu其他域的操作,并将AARQ-apdu发送至接收者。
(2)关联响应者
步骤1 提取关联请求者的AARQ-apdu。
步骤2 判定是否存sender-acse-requirements,且值为authentication(0),若不存在,或是值不为 authentication(0),则报关联功能未启用错误,拒绝关联。
步骤3 提取认证机制值,若不存在且不等于认证数据结构的ID值,则报关联认证机制不一致错误,拒绝关联。
步骤4 分别提取认证数据结构值的证书Cert、时间值 Time、签名值 SignedValue。
步骤5 加载CA证书,使用CA证书验证关联请求者的证书Cert是否有效,若无效,报证书无效错误,并拒绝关联。
步骤6 先使用证书Cert解密签名值SignedValue,HTime’=Decrypt(Cert,SignedValue),再使用散列算法对时间 Time进行运算,HTime’’=Hash(Time); 比较 HTime’和HTime’’,若不相等,则报签名不正确错误,拒绝关联;此步骤中的Decrypt表示使用Cert对SignedValue进行解密操作。
步骤7 提取防重放攻击阈值T,最近关联时间LTime;其中,T可配置且参考值为 10 min,LTime初始值为0,表示无历史关联时间。
步骤8 计算LTime和Time差值是否在阈值范围内,若是,报重放攻击错误,拒绝关联。
步骤9 关联成功。
关联成功后,关响应者同样会发起关联认证,然后关联请求者接收关联认证,此过程上述步骤类似,区别在于sender-acserequirements被responder-acse-requirements替代、calledauthentication-value被responding-authentication-value替代以及时间、公钥与证书内容不相同等,在此不再描述。
(2)传输层 SSL/TLS 增强
传输层TCP之上使用SSL/TLS协议实现安全加密隧道,由于变电站内部环境的特殊性,对SSL/TLS有以下要求:
· 加密套件不能为null;
·SSL/TLS版本需要为SSL3.1之上;
·启用密码重协商机制,且重协商值可配置;
· 支持多证书机构,证书长度建议不要超过8 192 byte,证书撤销和取消过程中,不应该导致已有连接终止;
· 为了统一通信,端口设定为3782。
本文不讨论SSL/TLS具体内容,详见RFC2246[17]。
2.3 GOOSE/SMV通信规约安全增强
GOOSE/SMV规约使用在实时性要求非常高的合并单元和智能终端上,虽然IEC62351标准提出小于4 ms,但在实际过程中,要远远小于此值。如合并单元的SMV报文以周期80次采样为例,则1s要处理4000帧,1帧仅250 μs。因此,GOOSE/SMV暂不采用加密,仅采用签名和防重放攻击增强。
GOOSE/SMV签名安全增强如图7所示,它包含两个部分:一是对报文头部进行CRC校验,二是对报文进行签名。CRC校验防护报文头部被篡改,签名验证确保报文内容不被篡改,且能够确认报文的可信来源。签名内容包含CRC校验值,同时保护报文头部。
图7 GOOSE/SMV安全增强方法
GOOSE/SMV签名安全增强内容如图8所示,图8(a)为IEC61850标准的报文结构,图8(b)为安全增强的报文结构,安全增强体现在以下几个方面。
·使用标准报文的保留2字段,存放CRC校验值,CRC校验内容为 TPID、TCI、EtherType和 APPID域的8 byte内容。CRC校验采用CRC16算法。
·保留1字段保存扩展部分的长度,扩展部分包含有签名值。
·扩展部分主要包含签名值,此外,扩展部分还包含了一个保留域和商家私有信息域。本文不仅考虑签名值,将忽略保留域和商家私有信息的处理。
图8 GOOSE/SMV报文结构
扩展的定义数据结构如图9所示,reserved和private暂仅提供声明,signature为签名值,长度最大可以支持2 048 bit的签名长度。
图9 扩展数据结构定义
签名算法可采用RSA算法与HMAC算法,但由于RSA算法的实时性太差(加解密时间为毫秒量级),因此在硬件未升级前提下建议使用HMAC,以保证实时性要求,确保在不影响业务前提下,尽量保证安全。
防重放防护GOOSE/SMV装置被重放攻击同样必要。单帧故障重放攻击会对GOOSE报文产生非常严重的影响,因为GOOSE报文为动作报文;而连续多帧的重放攻击对SMV具备同样严重的影响,因为接收的数据不足以反映正常的设备状态。
GOOSE报文中具有时间参数,可以直接使用;而SMV报文中没有时间参数,需要首先添加时间结构,才能使用。SMV时间结构如图10所示,security域为SAV报文结构中的保留域,为了兼容性,在security域上添加时间域。
图10 SMV时间添加的结构
包含签名与防重放的GOOSE/SMV规约安全增强的交互流程如图11所示,图11(a)为普通过程,图11(b)为安全增强过程,其中阴影部分为安全增强功能。
详细步骤如下。
(1)发送端
步骤1 构造APDU。
步骤2 构造报文扩展(extension)的TLV结构。扩展结构主要为认证(authentication)的TLV结构,其中T为标签,L表示值V的长度,V表示值;构造TLV结构时,V的长度依据签名算法输出值长度确定,且初始值预设为0。
步骤3 extension长度计算。计算extension的TLV结构的长度,并填充至保留1字段。
步骤4 填充EtherType和APPID字段;填充链路信息,即源 MAC地址、目的MAC地址、TPID、TCI。
步骤5 CRC计算。
步骤6 签名值计算。
步骤7 发送报文。
(2)接收端
步骤1 接收报文,并解析报文结构。
步骤2 验证签名。
步骤3 验证CRC。
步骤4 防重放攻击验证。
2.4 密钥分配
在通信规约安全增强中,提供了两种形式的加密算法:非对称加密算法和对称加密算法。非对称加密算法应用于MMS身份认证和GOOSE/SMV签名认证;加密算法应用于MMS隧道建立后的加密过程以及GOOSE/SMV采用HMAC方式的签名认证。变电站中,除设备通信外,还有网络分析设备,还需要考虑这些网络设备的处理问题。
(1)通信设备密钥分配
现代加密多采用算法可公开,密钥不公开。对于非对称加密,公钥可公开,私钥不公开。在规约安全增强过程中,涉及MMS关联认证和加密通道、GOOSE/SMV签名认证。
MMS关联认证、SSL/TLS隧道,使用非对称的加密算法,且对实时性要求不是特别紧急,可采用私钥自己保留,公开由CA统一签发证书。私钥可采用硬件或软件保存,建议采用硬件保存;公钥通过CA签名后,公开给对端。
图11 GOOSE/SMV安全增强交互过程
GOOSE/SMV签名认证由于非对称算法目前不能够满足实时性要求,可采用HMAC算法,使用对称密钥。对称密钥分配是关键,而对于变电站实际设备,频繁更新密钥并不实际,可采取预设密钥,且密钥以加密形式保存在装置中。待设备性能满足使用非对称算法时,可采用非对称的密钥分配。
(2)报文分析设备处理
在没有安全增强的变电站中,报文分析设备可以直接分析报文,但在安全增强的变电站中,报文分析设备需要有密钥才可以分析报文。
①MMS关联认证与加密通信
MMS关联认证与加密通信,使用非对称的加密算法,对于需要有私钥进行验证签名的方式MMS关联认证,并无可取办法,因为只有私钥才可以认证签名,提供私钥给报文分析设备,显示不符合非对称加密的安全原则。可采取离线分析方法,并辅以管理方式将私钥备份集中于统一安全设备中,安全设备提供接口,接口能够直接对报文进行签名验证,返回验证结果,而密钥对报文分析请求者是透明的存在。
MMS加密通信采用的是SSL/TLS方式,实际加密密钥是SSL/TLS在构建通道时协商的一次性共享密钥。本文简要介绍一种临时密钥分发方式来解决在SSL/TLS通信过程中,通信密钥至报文分析设备的分配过程,其可达到准实时分析,如图12所示。
图12 临时密钥分发过程
通信双方通过SSL/TLS构建加密通道时,协商好通信密钥后,服务端将协商的密钥和链接信息发送至临时密钥管理中心;临时密钥管理中心保存有不同时段、不同链路的临时密钥信息以及报文分析设备所在链路信息,并实时将关联的链路密钥推送至报文分析设备;报文分析设备本地缓存临时密钥,当采集到数据后,先依据时间与链路从本地查询密钥,若未找到,则再向临时密钥管理中心请求最新密钥。临时密钥缓存中保存有推送密钥和请求密钥。
②GOOSE/SMV签名认证
GOOSE/SMV可采用非对称(如RSA)和HMAC两种方式进行签名认证,但由于硬件限制,非对称签名认证实时性不能满足要求。将来若实时性满足要求,可采取MMS关联认证离线分析方式。HMAC认证签名方式使用共享密钥,可采取提供接口及加密的共享密钥打包提供给报文分析设备,报文分析设备通过接口来验证签名而不能直接访问密钥。
2.5 嵌入式安全增强算法性能分析
采用SSL/TLS开源算法,并针对嵌入式系统RP1001(CPU 为 mpc8321,主频 333 MHz,内存 256 MB)对 MMS 进行规约安全定制开发,改造后提供MMS应用层的关联认证接口 (签名和身份认证)以及传输层TLS加密隧道功能。MMS关联的认证只在关联时判别,对运行中的性能没有影响。表1为规约改造前后的读取动态数据测试的3组结果。
表1 MMS传输层改造前后时延分析
从表1中可以看出,接收接口的耗时增加很多,单装置运行中主要用到发送报告服务,不会召唤动态模型,且MMS通信在系统中是相对慢速任务,因此MMS的安全改造对装置的运行总体影响不大,特别是对发送的影响,但对于接收,还需要继续优化处理,减少接收时延。
采用PolarSSL开源算法[24],在嵌入式PowerPC系统中对 RSA、HMAC、SHA-1和 SHA-256进行改进,以满足GOOSE/SMV签名使用。表2和表3为使用SHA-1和SHA-256做摘要的RSA,HMAC算法在RP1202板(GOOSE和 SMV发送,中断周期为 833 μs)和 RP1204板(SMV接收,中断周期为250 μs)中的测试时间均值。
从表2、表3中可知,RSA算法为毫秒级,明显不能满足实时要求(时间远远超过一个中断)。对于HMAC算法,时间在几十微秒至一百多微秒。
对于GOOSE报文,一般使用3~4个控制块,标准情况下发送约为 200 μs,接收约为 150 μs,产生耗时 200 μs,加上签名时间,未达到833 μs的中断周期,能够满足要求。
表2 HMAC算法
表3 RSA算法
对于SMV报文,标准报文处理大约需要120 μs,833 μs中断周期的RP1202板时,HMAC-SHA256能够满足要求,但250 μs中断周期的RP1204板时,若采用HMAC-SHA256时,将有可能产生分组丢失现象。因为HMAC-SHA256情况下签名需要 128 μs时,时间相加后在 230 μs(128 μs+120 μs),接近 250 μs。而 128 μs给定的是平均时间,在峰值时将会导致丢帧。
3 结束语
本文通过参考IEC62351标准,并与实际变电站设备相结合,研究变电站MMS规约的关联认证以及关联防重放攻击和为传输层构建加密隧道、GOOSE/SMV规约的签名认证和防重放攻击、站内密钥分配和加密报文在线或离线分析方法。从报文的完整性、机密性、不可抵赖性和防重放安全特性上,对变电站规约进行安全防护,增强变电站内部规约通信安全。同时,探讨并验证对实时性要求非常高的GOOSE/SMV报文签名认证在现有条件下可采用的签名算法。
本文的研究成果虽然在安全算法、嵌入式硬件以及性能分析的选择不够全面,但研究成果在实验条件和试点环境已具备基本的变电站安全功能,可为变电站安全工程实践推进做参考。要实践变电站安全的工程应用,还需要很长的路要走。变电站二次系统的稳定运行是基本条件,要想将变电站安全工程应用化,基本前提就是安全功能在实时性上不能影响业务的运行。目前的变电站规约安全研究与应用,在算法和稳定性上不能完全满足工程应用要求。为了能够落地变电站规约安全应用,有必要对规约安全功能进行优化,减少安全功能带来的时间影响;有必要深入研究嵌入式系统密钥如何分配及管理;同时,嵌入式系统硬件性能的提升也将大大推进变电站规约的安全应用。
[1]IEC61850.Communication Networks and Systems in Substation[S].2004.
[2]辛耀中,王永福,任雁铭.中国IEC 61850研发及互操作试验情况综述[J].电力系统自动化,2007,31(12):1-6.
XIN Y Z,WANG Y F,REN Y M.Survery on research,development and interoperability test of IEC 61850 in China[J].Automation of Electric Power Systems,2007,31(12):1-6.
[3]熊浩清,杨红旗,李会涛.智能变电站发展前景分析[J].河南电力,2011(3).
XIONG H Q,YANG H Q,LI H T.Analysis of development future of smart substation[J].Henan Power,2001(3).
[4]刘振亚.建设坚强智能电网支撑又好又快发展[J].电网与清洁能源,2009,25(9):1-3.
LIU Z Y.Build strong smart grid as pillar of sound and rapid development[J].Power System and Clean Energy,2009,25(9):1-3.
[5]肖世杰.构建中国智能电网技术思考 [J].电力系统自动化,2009,33(9):1-4.
XIAO S J.Consideration of technology for constructing Chinese smart grid[J].Automation of Electric Power Systems,2009,33(9):1-4.
[6]余贻鑫,栾文鹏.智能电网[J].电网与清洁能源,2009,25(1):7-11.
YU Y X,LUAN W P.Smart grid[J].Power System and Clean Energy,2009,25(1):7-11.
[7]陈来军,梅生伟,陈颖.智能电网信息安全及其对电力系统生存性的影响[J].控制理论与应用,2012,29(2):240-244.
CHEN L J,MEI S W,CHEN Y.Smart grid information security and its influence on power system survivability[J].Control Theory&Applications,2012,29(2):240-244.
[8]陈涛,王旭.智能电网信息安全风险分析与思考 [J].电力信息与通信技术,2012,10(12):97-100.
CHEN T,WANG X.Smart grid information security risk analysis and reflection [J]. Electric Power Information Technology,2012,10(12):97-100.
[9]莫 峻,谭建成.基于IEC61850的变电站网络安全分析[J].电力系统通信,2009,30(198):12-16.
MO J,TAN J C.Research on network security in substations based on IEC 61850[J].Telecommunications for Electric Power System,2009,30(198):12-16.
[10]盛兆勇.IEC61850安全性分析及解决方案研究[D].青岛:中国海洋大学,2013.
SHENG Z Y.Research on security and solutions of IEC 61850[D].Qingdao:Ocean University of China,2003.
[11]IEC 62351:data and cCommunication security[S].2005.
[12]IEC 62351-6:Security for IEC 61850[S].2005.
[13]IECTC57 security standards for the power system's information infrastructure-beyond simple encryption[EB/OL].[2015-09-10].http://www.pcsforum.org/library/files/1129579675White_Paper_on_Security Standards_in_IEC_TC57_ver_5.pdf.
[14]梁峰,丁杰.基于IEC62351的变电站通信安全技术的研究[J].电力系统自动化,2007,31(增刊):157-261.
LIANG F,DING J.Research on substation communication secure technologies based on IEC 62351 standard[J].Automation of Electric Power Systems,2007,31(Sup):157-261.
[15]丁杰,奚后玮,陈爱民,等.基于IEC62351安全体系的变电站自动化系统[J].电网技术,2006,30(增刊):345-348.
DING J,XI H W,CHEN A L,et al.Research on substation automation system based on IEC 62351 security standards[J].Power System Technology,2006,30(Sup):345-348.
[16]龙林德,李晶,刘莉莉.基于IEC 62351的变电站自动化系统通信安全的研究[J].长沙通信职业技术学院学报,2010,9(3):1-6.
LONG L D,LI J,LIU L L.Research on communication security of substation automation system based on IEC 62351[J].Journal of Changsha Telecommunications and Technology Vocational College,2010,9(3):1-6.
[17]RFC2246[S/OL].[2015-09-20].http://tools.ietf.org/html/rfc2246