(1. 北京科东电力控制系统有限责任公司 北京市 100192;2. 全球能源互联网研究院 北京市 102209;3.国网咸宁供电公司 湖北省咸宁市 437100)
摘要:针对风电场场内无线通信存在的安全风险,设计一套安全防护方案,用于风电场监控系统与风电机组之间的控制链路安全通信,采用基于双向身份认证的安全通信协议,满足基于无线通信的风机控制安全防护需求。
关键词:风电场安全;网络安全;双向透明通信;数字
证书
0 引言
随着国家绿色经济的快速发展,风电新能源发电场站建设得到快速发展[1],由于风电场占地广环境复杂,风机建设相对分散,有些地区存在通信网络布线困难的问题,风电场控制中心与风机之间采用了无线网络通信[1]。通过 GPRS 技术进行无线通信,具有安装快速方便、免于布线、数据采集和传输速率高、易于实现远距离遥测数据分析等优点,极大降低了运行维护成本。[2]
风电场的监控需要采集、处理和传送风机旋转设备的加速度、温湿度等测量数据,并对整体数据进行深度分析,得以实时掌握风电机组的运行状态,SCADA系统利用无线通信技术,通过部署在风电机组中的终端对风电机组进行有效监测。[3]
一方面,由于无线公网安全性差,易受攻击[4],以及电信公司本身存在运营风险和内部管理风险都会给无线公网通信的业务系统带来一定网络安全风险;另一方面,SCADA系统普遍使用IEC60870-5系列规约通信,这种规约设计没有考虑网络安全问题,存在旁路控制、身份假冒、窃听、篡改等网络安全风险[5],以及终端设备自身存在软硬件的安全漏洞风险[6]。
由于早期建设的风电场通信系统存在不能满足现有的安全防护需求,缺少一定安全防护设计,给风电场无线通信业务带来安全风险。
本文基于风电场现有业务研究设计了一套配电自动化终端安全应用方案,在监控系统和发电机组通信链路中增加安全防护设施,实现了基于双向身份认证的安全通信。其中,透明代理通信技术的应用能够有效地避免了原有的监控系统和风电机组进行改造,同时支持远程管理使用户能够方便地对风电机组安全进行监管。
1、系统架构
在风电场监控系统SCADA通过无线网络与风电机组(WTGS)中的PLC等组件进行通信。本方案基于双向身份认证和通信加密的安全防护原则,设计风电场无线通信安全防护技术体系,包括3个组件:
1)安全通信网关(SCG)采用专用安全硬件设备,负责执行控制中心安全策略,对终端提供安全接入。
2)安全通信模块(SCM)采用专用安全硬件装置,具备密钥安全存储、安全算法运算等功能,负责执行终端安全策略,对终端提供网络通信安全防护。
3)安全监控平台(SMP)负责安全策略管理,对SCG和SCM安全态势进行监控管理。
系统部署架构如图1所示。
图1系统部署构架
1)SCG串接部署在SCADA系统之前;
2)SCM串接部署在WTGS之前;
3)SCG与SCM通过无线网络采用安全通信协议,基于数字证书实现双向身份认证,基于密钥协议机制实现数据加密通信;
4)在升压站部署SMP,管理员制定安全策略,派发给SCG与SCM设备执行,并且对SCM进行远程监控管理,实现对配电终端安全态势的综合管理。
2、双向透明通信
为了避免原有系统改造且满足部署便捷的需求,SCG与SCM均采用无IP地址、串接部署方式。SCG与SCM基于SCADA与WTGS建立的TCP连接,采用数据包截获与TCP重组技术实现双向透明通信。图2为双向透明通信过程。
如图2,在SCADA与WTGS建立TCP连接后,一方面,SCG和SCM截获SCADA与WTGS的通信报文,利用TCP报文重组技术对报文进行明文或密文转换;另一方面,SCG和SCM之间基于SCADA与WTGS的IP地址和TCP连接构建新的TCP
图2 双向透明通信过程
报文,用于隧道建立/维护、对SCM监管理等通信。
由于需要在SCADA与WTGS已建立的TCP连接上插入管控报文,需要在SCG和SCM中建立一个双向序列号表(BST),对双向TCP连接的序列号与确认号进行维护。
以SCG通信为例,每次收到SCADA系统的TCP包更新TCP序列号SEQ_F和ACK_F,以此生成向SCADA系统发包时序列号与确认号。每次收SCM的TCP包时更新TCP序列号SEQ_T和ACK_T,向SCM转发业务数据包或监控数据包时以此生成序列号和确认号。在此基础上,SCG与SCM之间实现安全通信与监控管理,对SCADA与WTGS实现透明通信。
3、安全通信
SCG与SCM之间的安全通信主要包括以下
过程:
1)初始化。SCM上线后获取SCG通信证书和系统初始化配置参数。
2)会话密钥协商。SCG与SCM建立安全通信隧道前协商会话密钥。
3)数据加密通信。SCG与SCM使用会话密钥代理SCADA系统与终端进行通信。
4)远程监控管理。SMP对SCM进行监控管理。
3.1、初始化
SCG与SCM通信使用数字证书实现双向身份认证,为了降低SCM设备部署工作难度和安全风险,要求如下:
1)统一使用指定CA签发数字证书,SCM设备在出厂时预置指定CA根证书;
2)通信过程不交换双方数字证书,SCG内置终端信息库,预置终端IP地址信息及CA签发的SCM数字证书文件;SCG数字证书通过初始化过程以在线方式下载到SCM设备中。
系统上线后,SCADA与WTGS可按照原有方式进行明文通信,SCG与SCM按照透明模式直接转发双方通信数据包,获取SCADA与WTGS的IP地址。
基于SCADA与WTGS建立的TCP连接,SCMi上线初始化流程如图3所示。
图3SCM上线初始化过程
设:Kpri(*)表示某设备私钥,Kpub(*)表示某设备公钥,H(M)表示对信息M生成哈希摘要,E(K,M)表示使用密钥K对信息M加密算法,‖表示两段信息组合,G(*)表示共享密钥生成算法。
1)SCMi构造包含唯一SCMIDi信息的数据包,使用私钥对摘要信息H(SCMIDi)进行加密签名,发往主站。
2)SCG截获数据包,解析IP地址和数据包,使用对应SCMi证书中的公钥对信息进行认证,在终端信息库中将终端IP地址与SCMIDi进行绑定。使用SCMi公钥对SCG证书和安全策略P加密并下发给SCMi。
3)SCMi对下发信息进行验证解密,使用指定CA根证书对SCG证书进行验证,并存储SCG证书和安全策略P,返回响应信息M。
若M中包含验证正确信息,则初始化流程完成,SCG与SCMi开始启动会话密钥协商,建立安全通信隧道。
3.2、会话密钥协商
会话密钥协商是安全通信的第一阶段,完成两个功能:SCG与SCMi之间的身份认证、生成共享的会话密钥。协商过程通常由SCG主动发起,过程如图4所示。
图4会话密钥协商过程
详细描述如下:
1)SCG产生随机数r1,构建信息A并发送给SCMi;
2)SCMi对A解密并验证SCG的签名,产生随机数r2,合成会话密钥DK,同时构建信息B并发送给SCG;
3)SCG对B解密并验证SCMi的签名,生成会话密钥DK',并且构建信息C并发送给SCMi;
4)SCMi计算D并比较C与D是否相同。若C和D相同,说明DK与DK'相同,返回协商成功信息R;若C和D不相同,则SCMi返回协商失败告警信息,并且按照类似上述步骤由SCMi重新发起协商。
为了增强会话密钥的安全性,需要制定会话密钥安全管理策略,设置密钥有效期,在超出有效期
后需要重新进行会话密钥协商,更换会话密钥。
3.3、数据加密通信
会话密钥协商成功,SCG与SCM生成共享会话密钥DK,建立加密通信隧道。数据通信过程参照图3。
SCADA与WTGS发出内容为APDU的数据报文,SCG截获SCADA系统发送给WTGS的TCP报文,解析应用报文负荷APDU(应用规约数据单元),计算当前时间戳TS,使用SCG私钥对数据和时间戳的摘要进行签名:DS=E(Kpri(SCG),H(APDU‖TS)),再使用DK对数据、时间戳和签名进行加密得到E(DK,APDU‖TS‖DS),并会基于BST中的序列号重构TCP报文,再发送给WTGS。
SCM截获由SCADA系统发来的报文,使用DK进行解密获得APDU、TS和DS内容,验证TS有效性,并且使用SCG公钥对DS进行验签,通过后基于BST中的序列号重构TCP报文,将APDU内容发送给WTGS。
整个通信中,源IP与目的IP地址不变,TCP序列号按照SCG和SCM中维护的BST进行变换。
3.4、远程监控管理
SMP具有对所有SCM进行远程监控管理,具有安全策略发布和状态检测功能。
SMP管理员制定终端安全防护策略,向指定SCM或全部SCM发布安全策略,SCM执行安全策略对终端提供安全防护。
SMP检测SCM状态信息,包括:SCM是否在线、SCM资源使用情况、SCM与SCG之间隧道建立状态及保活心跳、网络接口状态、以及通信流量等信息。
在通信过程中,MCCU中的内容采用预置的管理密钥进行对称加密,采用时间戳、数字签名增强安全性。
4、安全性分析
1)假冒攻击。
假设攻击冒充终端攻击主站,SCG与SCM使用统一CA签发的数字证书,SCM的数字证书需要导入到SCG中。在攻击通信过程中,SCG没有假冒SCM的数字证书,无法建立安全隧道。
假设攻击冒充主站攻击终端,在SCM中预置了CA根证书,在初始化上线时已下载的SCG的数字证书。由于SCM没有假冒SCG的数字证书,无法与假冒SCG建立安全隧道。
2)外部攻击。
假设攻击者窃听SCG和SCM之间的通信信息:E(DK,APDU‖TS‖DS),由于通信信息使用对称密钥DK加密,攻击者无法获取对称密钥,需要面对破解对称密钥算法的难题。
3)重放攻击。
假设攻击者收集了SCG和SCM之间以前的通信信息,然后攻击者在SCG与SCM更新会话密钥之前选择时机发送以前收集的信息:E(DK,APDU‖TS‖DS)。接收方在解密验签之后则很容易通过TS判断不是当前时间而丢弃这个信息,因此重放攻击对本协议无效。
5、结语
本文针对风电场在通信与管理方面存在安全问题,设计一套基于透明代理技术的安全防护应用方案,通过建立双向序列号表实现透明安全代理方法。一方面,基于数字证书认证实现双向身份认证,基于会话密钥协商实现数据通信加密,保障了风电机组接入的安全通信;另一方面,建立一套安全监控管理方法,实现对风电机组的安全状态进行有效管理。最后,文中通过对方案协议进行安全性分析。本方案的应用优势在于不仅提升了风电场系统通信的安全性,还在于避免系统进行大规模改造,有效降低运营维护成本,具有良好的实用性。后续本方案将在对现有的风电场安全改造建设中推广应用,进一步检验其实用性。
参考文献:
[1]谢源, 高志飞, 汪永海.海上风力发电机组远程状态监测系统设计[J].测控技术, 2016,35(4):27-30,34.
[2]吕跃刚, 张溢波.GPRS无线通信技术在风机状态监测中的应用[J].仪器仪表用户, 2016,23(8):38-41.
[3]韦永清, 胡明清.风电机组无线通讯的研究[J].科技展望, 2017年第1期:16-16.
[4]代卫星, 秦卫东.一种无线公网通信安全的解决方案[J].广东电力, 2009,22(8):46-48,79.
[5]孙中伟,马亚宁,王一蓉,等.基于EPON的配电网自动化通信系统及其安全机制[J].电力系统自动化,2010,34(8):72-75.
[6]林永峰,陈亮,张国强.配电自动化终端信息安全风险测评方法研究[J].自动化与仪表,2015(12):11-14.
作者简介:
马静雅(1987),女,工程师,主要研究方向为电力系统通信专业管理。
黄毕尧(1982),男,高工,主要研究方向为电力通信专业。
刘立国(1978),男,工程师,主要研究方向为电力系统通信专业。
李建岐(1969),男,教授级高工,主要研究方向为电力自动化。
蒋海明(1983),男,高级工程师,从事电力系统通信运行工作。
基金项目:国家电网公司科技项目(SGRIXTMMXS [2016] 586号)。
论文作者:马静雅1,黄毕尧2,刘立国1,李建岐2,蒋海明3
论文发表刊物:《电力设备》2017年第30期
论文发表时间:2018/3/12
标签:通信论文; 密钥论文; 终端论文; 报文论文; 双向论文; 信息论文; 系统论文; 《电力设备》2017年第30期论文;