林丹生
摘 要:随着网络技术的快速发展,远程安全通讯的需求日益强烈,针对工业控制系统而言,安全可靠的远程通信是工业控制系统正常稳定运行的前提。VPN技术是实现远程安全通信的有效解决方案,其基于对称密码算法实现数据的高速加密,基于非对称密码算法实现通信实体的身份认证以及数字签名,有效实现了远程通信数据的机密性保护和完整性保护。随着业务系统可靠性需求的提升,VPN网关双机热备功能成为远程通信需要重点解决的问题,针对工业控制系统VPN网关的双机热备功能进行了设计,首先讨论了工业控制系统VPN网关的部署架构,其次详细设计了VPN网关的双机热备各软件功能模块,实际应用证明,VPN网关的双机热备设计可以有效提高网络链路的可靠性,有效保障企业业务系统的可用性。
关键词:工业控制系统;网关;双机热备;
中图分类号:TP39 文獻标识码:A
Design of Dual-machine Hot-standby Function
for VPN Gateway in Industrial Control System
LIN Dan-sheng?覮
(Electric Power Research Institute of Guangdong Power Grid Co.,Ltd,Guangzhou,Guangdong 510080,China)
Abstract:With the rapid development of network technology,the need for long-distance secure communication is increasingly demanded. For the industrial control system,the safe and reliable remote communication is the precondition of the industrial control system. As an effective solution to realize the remote secure communication,the VPN technology can realize the high-speed encryption of data based on the symmetric cryptographic algorithm,can realize the identity authentication and digital signature based on the asymmetric cryptographic algorithm,and finally realize the confidentiality protection and integrity protection of remote communication. With the improvement of the reliability requirement of the business system,the dual-machine hot standby function of VPN equipment has become a key problem to be solved in remote communication. Based on the design of the Dual-machine hot-standby function of the VPN gateway,this paper discussed the deployment architecture of the VPN gateway,designed the state detection module,the state maintenance module and the data synchronization module in detail for the hot-standby function. It is proved that the Dual-machine hot-standby design of the VPN gateway can not only improve the reliability of the network link,but also ensure the availability of the business system.
Key words:industrial control system;gateway;dual-machine hot standby
随着网络技术的快速发展,互联网出现了空前的繁荣,针对企业而言,分支机构的扩大,人员流动性的加剧导致远程安全连接系统的需求愈发强烈[1]。电力企业点多面广,地域分散,存在大量的远程数据交互需求,如:电力监控系统采用专用数据网络实现调度主站与变电站的通信[2],计量终端通过无线的方式与计费主站通信[3][4],监测终端通过无线方式与设备在线监测中心通信等[5]。为保障电力监控系统控制指令不被篡改,管理信息系统不被攻击,电网企业采用了大量的措施来保障系统网络通信的安全[6]。
相对于租用网络专线,VPN技术可以有效解决网络通信的安全性问题。VPN技术在本质上都属于隧道技术,其采用数据包封装、加密、签名或者验签等手段,在公共网络通道上搭建一条虚拟专用网络,达到数据隐藏以及身份鉴别等目的[7],实现了网络通信的安全保障,常见VPN技术如下表所示:
表1 常用VPN技术及其原理
随着网络规模的增大、用户数量的增多,传统VPN技术出现了性能瓶颈,一旦设备故障,将影响业务系统的正常稳定运行,此类问题对于控制类的工业控制系统是不可忍受的[10]。为保障业务系统的安全稳定运行,本文针对VPN网关设备的双机热备算法研究与设计,详细设计了算法中的状态探测功能、状态维护功能以及数据同步功能等。实践证明:该种冗余算法设计可以有效保障业务系统的稳定性以及安全性。
1 VPN网关的部署架构
VPN网关的典型部署架构如下图1所示,其广泛应用于系统数据通信的机密性和完整性保
护[8][9][10]。VPN网关一般部署在防火墙之后,支持网桥部署模式和网关部署模式[12]。
无论是网桥模式还是网关模式,VPN网关必须配套使用,分别用于业务数据的加密以及解密。在网关设备内部,数据包出站处理流程和入站处理流程分别如下。
图1 VPN网关的部署架构
出站数据处理流程:VPN网关根据数据包的源目的地址查找安全规则,根据对应的加密隧道规则对原始数据包再封装,增加IPSEC头、新IP头信息,最后根据VPN网关的路由表,将新封装的数据包转发出去[9],如下图2所示。
图2 VPN网关出站数据处理流程
入站数据处理流程:VPN网关根据数据包的源目的地址查找安全规则,根据对应的加密隧道规则对数据包进行解密以及解封装[9],并根据解封装之后的目的IP地址查找设备的路由表,并最后将数据包转发至内网主机。
图3 VPN网关入站数据处理流程
常用的双机热备功能有2种部署模式,分别为主-主模式和主-备模式[13]。
在主-主的部署模式下,两台设备同时运行,分别响应不同用户的服务请求。设备的前端需要部署负载均衡设备,通过负载均衡设备分配业务请求数据,任何一台设备出现故障,均可以通过负载均衡设备将数据业务转交至另一台设备承担。
在主-备的部署模式下,兩台设备同时运行,但是在同一时间内只有一台设备对外提供服务。备机通过主备机之间的状态检测机制判断主机的运行状态,当主机出现故障时,备机立即接管成为VPN,并对外提供服务。
2 双机热备功能
为实现VPN的双机热备功能,主备VPN网关之间需要采用心跳线或者通信线相连实现设备状态信息探测、运行状态维护以及安全策略同步。除此之外,主备机之间需要对外虚拟出一个IP地址对外提供服务。主备VPN网关的设备配置一致,通过内部算法选举出主机以及备机[14],VPN网关的双机热备功能架构如图4所示:
图4 双机热备工作原理图
双机热备功能主要由状态探测功能、状态维护功能、数据同步功能组成。探测模块实现主备机运行状态的探测,状态维护功能根据主备机间的运行状态选举制维护设备自身的运行状态;同步模块实现VPN网关间的SA、SPD等信息的同步。
2.1 状态探测机制
VPN网关可以通过接口状态探测、数据链路探测以及加密卡状态探测3中机制探测对端设备的运行状态,并根据探测结果修改VPN网关的运行状态,如下图5所示
图5 探测处理流程
接口状态检测:VPN网关通过媒体独立接口(mii)检查接口链路状态,被检查的接口是由管理员配置;内外网口检测时,若发现外网口断开后,VPN网关会将内网口禁用掉。若探测到内网口断开后,VPN网关会将外网口也禁用掉。
加密卡状态检测:VPN网关通过获取VPN网关的加密卡工作状态信息,检测其是否正常加解密。若加密卡出现问题,将本机切为备机,并断开链路。
数据链路探测:VPN网关通过发送网路链路探测包进行链路探测,这样可以检测VPN网关上下游设备另一端到VPN网关的链路通断状况。若检测失败,VPN网关切换为只解密,不加密状态。
2.2 状态转移机制
VPN网关的运行状态有4种,分别为初始态(Init)、主机态(Master)、备机态(Slave)、错误态(Fault),各状态的描述如下所示:
初始态(Init):双机热备程序刚启动时,设备处于此状态。此状态下VPN网关发送心跳请求报文,根据收到应答报文的状态,进行主备状态选举。
主机态(Master);此状态的VPN网关拥有事先分配好的虚地址,各功能运行正常,具备密钥协商等一切VPN网关功能,其判断条件为:
1)若在超时时间内未收到对端的应答报文。
2)收到应答报文,本机为非抢占模式,但通告中状态为异常。
3)收到应答报文,本机为抢占模式,且本机状态为正常,本机心跳口ip地址大于通告中心跳口ip地址。
备机态(Slave):此状态的VPN网关各功能运行正常,进行正常的加解密,但是不拥有虚地址,其判断条件为:
1)收到应答报文,本机不为抢占模式,通告中状态为正常。
2)收到应答报文,本机为抢占模式,本机状态为正常,但本机心跳口ip地址小于通告中心跳口ip地址。
错误态(Fault):VPN网关运行异常时将切换至此状态。在此状态下,VPN网关守护进程将等待VPN网关恢复到正常,一旦VPN网关工作正常,立刻切换到Init状态,等待选举。
相应的,VPN网关通过执行状态迁移函数进行运行状态切换,设备状态迁移函数一共有六种,如下表所示。
表2 状态迁移函数
VPN主机将通过不停向备机发送心跳信息维持主备机之间的状态,并将根据主机以及备机的运行状态进行状态切换,设备的状态机如下图6所示:
3.3 数据同步功能
数据同步功能是VPN网关的重要功能,其包括配置同步子功能以及隧道状态同步子功能。数据的处理如图7所示:
图6 双机热备功能的状态机
图7 數据同步功能流程图
配置同步子功能可以实现配置的完全同步和增量同步。当主备VPN网关配置失步时,由配置最新方向另一方同步所有配置信息;如果其中一台VPN网关的配置发生修改,则将修改的命令依先后次序保存在配置同步数据表,另一台VPN网关同步该数据表并执行相应命令,也即实现配置的增量同步[15]。
当VPN主机的隧道状态发生变化时(如SA协商成功、删除、失效、抗重放序列号增加了指定值等),VPN主机通过用户接口通知隧道状态同步模块,并由该模块向VPN备机的隧道状态同步模块发送同步消息,使得VPN备机的隧道状态同步[16]。
当VPN备机有数据通过但无SA时,VPN备机通过隧道状态同步模块向VPN主机隧道状态同步模块发送SA同步请求,如果VPN主机已存在该SA,则将SA同步到VPN备机,如果VPN主机不存在该SA,则VPN主机启动密钥协商,并将协商好的SA同步到VPN备机。通过此同步机制,保证了主VPN备机隧道状态一致,从而最大限度地保证主VPN备机状态的快速切换。
3 应用效果
基于上述设计,本文搭建了如下测试环境,并开展了VPN网关的功性能验证,如图8所示。
图8 VPN系统测试环境
分子机构的终端与总部的服务器存在网络通信业务需求。总部环境搭建有2台VPN网关模拟设备的双机热备环境,分子机构搭建有1台VPN网关实现与总部VPN网关建立VPN连接,网络交换机模拟互联网环境。在该实验环境下,我们通过分别断开断点A或者断点B来模拟VPN网关的故障,测试结果如下:
表2 实验结果
实验结果显示:无论VPN网关是否处于Master状态,任何一台处于双机热备的VPN网关故障,总部与分支机构的VPN网关之间的隧道均不会断开,终端与服务器的链路也不会断开,该种VPN网关的双机热备功能可以有效保护业务系统的连续性。
5 结 论
设计了VPN双机热备算法研究与设计。首先探讨了VPN网关的业务需求,VPN网关双机热备的业务需求,其次,设计了算法中的状态探测机制、状态转移机制以及数据同步功能等。通过该类算法的设计,可以有效实现VPN网关的主备功能,最大限度保障业务系统的连续性。
参考文献
[1] 周前. 一种新型的应急卫星通信VPN技术研究[J].计算机技术与发展,2018,28(02):163—166.
[2] 崔悦,刘紫玲,丁宝帅,等. 电力调度自动化网络安全与实现策略研究[J]. 山东工业技术,2018(18):148.
[3] 卢健豪. 电能计量装置状态监测技术的研究[D]. 广州:广东工业大学,2017.
[4] 王金翠. 电网计量自动化系统安全防护分析[J]. 自动化应用,2018(06):120—121.
[5] 邢明伟. 输电线路状态在线监测系统的设计与实现[D]. 西安:西安理工大学,2017.
[6] 刘明凤.电力二次系统网络信息安全防护的设计研究[J].信息系统工程,2017(05):70.
[7] 郭彦涛. 面向国密新标准的IPsec VPN服务器软件研究[D].西安:西安电子科技大学,2017.
[8] 乔建强,孙耀杰,陈冰.移动通信端到端加密安全方案设计[J].网络安全技术与应用,2015(07):92+94.
[9] 张利. IPSec VPN模式下数据无线传输的保密系统研究和设计[D].保定:华北电力大学,2010.
[10] 杨文凯. SSL VPN安全关键技术研究[D].成都:西南交通大学,2010.
[11] 马祥厚,刘晓垒.工业控制系统网络安全防护体系研究[J].信息系统工程,2018(08):77.
[12] 曹利峰,杜学绘,陈性元.一种新的IPsec VPN的实现方式研究[J].计算机应用与软件,2008(07):66—67+118.
[13] 孙中诺.防火墙双机热备设计与应用[J]. 电子技术与软件工程,2018(03):229.
[14] 孟祥飞. 防火墙双机热备系统的设计与实现[D]. 哈尔滨:哈尔滨工业大学,2017.
[15] 陈贵宝. 高性能高可用的数据中心同步软件的研究与实现[D]. 西安:西安电子科技大学,2017.
[16] 肖辉. 电厂控制系统冗余机关键技术设计与实现[D]. 哈尔滨:哈尔滨工业大学,2012.