首页> 中国专利> 一种面向电力IEC104规约的TCP透明代理实现方法

一种面向电力IEC104规约的TCP透明代理实现方法

摘要

本发明公开了一种面向电力IEC104规约的TCP透明代理实现方法,包括如下步骤:S1,客户端网关加密设备获取IEC104客户端发送的带序列号的报文信息,发送给服务器网关加密设备,进而发送给IEC104服务器;S2,客户端网关加密设备生成网关序列号,和服务器网关加密设备建立隧道,并不定时自主向服务器网关加密设备传送带网关序列号的通信报文;S3,IEC104客户端发送带序列号的报文信息,客户端网关加密设备根据序列号生成网关序列号,并对报文信息进行加密,组合生成处理信息,传送给服务器网关加密设备;S4,服务器网关加密设备对网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。该方法有效地解决了IEC104报文信息明文传输的安全性问题。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-30

    授权

    授权

  • 2017-10-17

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20160115

    实质审查的生效

  • 2017-03-22

    专利申请权的转移 IPC(主分类):H04L29/06 登记生效日:20170303 变更前: 变更后: 申请日:20160115

    专利申请权、专利权的转移

  • 2017-03-22

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20160115

    著录事项变更

  • 2016-06-29

    公开

    公开

说明书

技术领域

本发明涉及一种TCP透明代理实现方法,尤其涉及一种面向电力IEC104规约的TCP透明代理实现方法,属于电力系统通信安全技术领域。

背景技术

随着计算机网络技术在电力自动化中的普遍应用,其利用以太网介质的网络通信规约进行数据交换在电力自动化系统中得到广泛的应用,目前在调度自动化系统与各变电站自动化系统之间,及变电站自动化系统内测控系统的通信传输多采用IEC60870-5-104通信协议(简称IEC104协议)。IEC104协议作为一种国际标准协议,具有实时性好、可靠性高、数据流量大、便于信息量扩充、支持网络传输等优点,其内容和功能涵盖了保护方面的定义。104规约不仅可以用在调度和厂站之间,而且完全可以应用于变电站自动化系统内部,现有的IEC104协议已经被国内外电力自动化主流供应商如国电南瑞、北京四方、SIEMENS等应用到电力自动化系统当中。

IEC104协议是一种国际标准的协议,规定了协议传输过程中报文的格式要求和传输时序要求,它是一个明文传输标准,信息安全防护较差;且该协议比较开放和标准化,其受到攻击的威胁大,安全性也差。IEC104协议以TCP作为传输层协议,而TCP/IP协议本身就存在安全性问题,如伪造IP地址、源路由选择欺骗等,并且TCP/IP协议采用明文传输,将会导致应用程序的数据在网络上是公开的,很容易被窃听、伪造和篡改。可见,远动信息的安全传输已成为不可回避的实际问题,作为电力自动化系统数据源和实施控制行为的远动信息,如果由于传输的安全原因引起误动、拒动、上传数据的紊乱等,将给电力系统的安全稳定运行带来严重威胁,有时甚至引发灾难性事故。因此,保证远动信息传输的安全性将十分重要。

为了解决上述问题,在申请号为201110361177.0的中国发明专利申请中,公开了一种实现IEC104报文传输的方法和系统,其中,方法包括如下步骤:S1,根据预传输IEC104报文所携带的标志位判断其是否为I帧、U帧还是S帧,若为I帧,则S2,若为U帧或者S帧,则转至S4;S2,发送方对I帧的应用服务数据单元通过ECC算法进行加密;S3.接收方对加密后的应用服务数据单元进行解密,以还原出明文的应用服务数据单元;S4,对预传输IEC104报文的发送方通过数字签名进行身份验证。根据IEC104报文的帧格式,分别采用ECC加密算法和通过数字签名进行身份验证相结合的方式对报文进行处理,一定程度上解决了IEC104报文明文传输的安全性问题,提高了报文传输的可靠性。

发明内容

针对现有技术的不足,本发明所要解决的技术问题在于提供一种面向电力IEC104规约的TCP透明代理实现方法。

为实现上述发明目的,本发明采用下述的技术方案:

一种面向电力IEC104规约的TCP透明代理实现方法,包括如下步骤:

S1,客户端网关加密设备获取IEC104客户端发送的带序列号的报文信息,将所述报文信息发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器;

S2,客户端网关加密设备根据所述序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道,客户端网关加密设备不定时自主向服务器网关加密设备传送带网关序列号的通信报文;

S3,IEC104客户端发送带序列号的报文信息给客户端网关加密设备,客户端网关加密设备结合本地发送的报文信息,将获取所述序列号进行处理生成网关序列号,并对获取的报文信息进行加密,组合生成处理信息,将所述处理信息传送给服务器网关加密设备;

S4,服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。

其中较优地,所述IEC104客户端根据本地发送的报文信息,生成自动递加的序列号。

其中较优地,在步骤S1中,所述客户端网关加密设备在获取所述IEC104客户端发送的带序列号的报文信息之前,所述IEC104客户端通过所述客户端网关加密设备和所述服务器网关加密设备与所述IEC104服务器建立TCP连接。

其中较优地,在步骤S2中,所述客户端网关加密设备根据所述序列号生成网关序列号,包括如下步骤:

获取IEC104客户端发送的报文信息的序列号;

获取由客户端网关加密设备本地发送的报文信息的数量;

通过公式:C=A+B;得到网关序列号;其中,A为IEC104客户端发送的报文信息的序列号;B为客户端网关加密设备本地发送的报文信息的数量。

其中较优地,在步骤S2中,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道,包括如下步骤:

客户端网关加密设备获取网关序列号,将网关序列号和隧道建立请求报文一起发送给服务器网关加密设备;

服务器网关加密设备根据接收到的隧道建立请求报文做出回应,并发送回应报文;

客户端网关加密设备获取回应报文和网关序列号,将网关序列号和隧道成功建立确认报文一起发送给服务器网关加密设备,客户端网关加密设备和服务器网关加密设备之间建立隧道。

其中较优地,在步骤S2中,所述通信报文包括管控报文和隧道保活心跳报文;

其中,所述管控报文用于对所述服务器网关加密设备进行远程管理和设备状态监控;

所述隧道保活心跳报文用以保证所述IEC104客户端和所述IEC104服务器之间信息传送时隧道的可用性。

其中较优地,在步骤S3中,对获取的报文信息进行加密之前,所述客户端网关加密设备对获取的报文信息进行解析,并对所述报文信息的完整性进行识别,当识别出的报文信息不是完整信息时,继续等待所述IEC104客户端的报文信息发送,直至报文信息完整时,对报文信息进行加密处理。

其中较优地,在步骤S4中,服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,包括如下步骤:

服务器网关加密设备获取处理信息中的网关序列号;

获取由客户端网关加密设备本地发送的报文信息的数量;

通过公式:A=C-B;得到IEC104客户端发送的报文信息的序列号;其中,C为处理信息中的网关序列号;B为客户端网关加密设备本地发送的报文信息的数量。

本发明所提供的面向电力IEC104规约的TCP透明代理实现方法,当IEC104客户端首次向IEC104服务器发送带序列号的报文信息之后,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息建立隧道。之后,IEC104客户端根据本地发送的报文信息,生成自动递加的序列号,发送带序列号的报文信息给客户端网关加密设备,客户端网关加密设备为了使序列号不冲突,结合本地发送的报文信息,将获取的IEC104客户端的报文信息的序列号进行处理,并对获取的报文信息进行加密,组合生成处理信息,并将其传送给服务器网关加密设备。服务器网关加密设备对获取的处理信息中的序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。该方法有效地解决了IEC104报文信息明文传输的安全性问题,提高了报文传输的可靠性。

附图说明

图1为本发明所提供的面向电力IEC104规约的TCP透明代理实现方法的流程图;

图2为本发明所提供的一个实施例中,IEC104客户端和IEC104服务器之间进行通信的流程图。

具体实施方式

下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。

TCP透明代理为部署在TCP服务器与客户端中间链路上的设备或者模块,可以监听到TCP连接的所有数据包,并具有对数据进行处理转发的功能。当前的TCP透明代理只能实现TCP传输层面的代理,欠缺对IEC104协议解析及处理的能力,并且无法对上层数据部分进行数据修改,添加数据内容等操作。在本发明所提供的面向电力IEC104规约的TCP透明代理实现方法中,作为TCP连接中的中间网关设备(客户端网关加密设备和服务器网关加密设备),实现类似透明代理的功能,在网关上监听两端建立的IEC104连接,借用已经建立的连接进行中间网关设备自有数据的发送及传输,并维护TCP连接完整性以及正确性。如图1所示,本发明所提供的面向电力IEC104规约的TCP透明代理实现方法,包括如下步骤:首先,客户端网关加密设备获取IEC104客户端发送的带序列号的报文信息(ICE104规约),将其发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器。其次,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息建立隧道,并不定时自主向服务器网关加密设备传送带网关序列号的通信报文。然后,IEC104客户端根据本地发送的报文信息,生成自动递加的序列号,继续发送带序列号的报文信息给客户端网关加密设备,客户端网关加密设备为了使序列号不冲突,结合本地发送的报文信息的数量,将获取的IEC104客户端的报文信息的序列号进行处理生成网关序列号,并对获取的报文信息进行加密,组合生成处理信息,并将其传送给服务器网关加密设备。服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器,不仅实现了ICE104规约的安全传输,而且保证了传输过程中ICE104规约序列号的一致性。下面对这一过程做详细具体的说明。

S1,客户端网关加密设备获取IEC104客户端发送的带序列号的报文信息,将其发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器。

客户端网关加密设备在获取IEC104客户端发送的带序列号的报文信息之前,IEC104客户端通过客户端网关加密设备和服务器网关加密设备与IEC104服务器建立TCP连接。如图2所示,在本发明所提供的实施例中,IEC104客户端通过三次握手与IEC104服务器建立连接,IEC104客户端通过客户端网关加密设备将SYN发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器。其中,SYN(synchronous)是TCP/IP建立连接时使用的握手信号。IEC104服务器使用SYN+ACK应答表示接收到了这个消息,通过服务器网关加密设备发送给客户端网关加密设备,由客户端网关加密设备发送给IEC104客户端。最后IEC104客户端再以ACK消息响应,通过客户端网关加密设备将ACK消息发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器。这样在IEC104客户端和IEC104服务器之间建立起可靠的TCP连接。之后,IEC104客户端向IEC服务器发送带序列号的报文信息。客户端网关加密设备获取IEC104客户端发送的带序列号的报文信息,将其发送给服务器网关加密设备,由服务器网关加密设备发送给IEC104服务器。

S2,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道,并不定时自主向服务器网关加密设备传送带网关序列号的通信报文。

IEC104客户端通过客户端网关加密设备和服务器网关加密设备向IEC104服务器发送报文信息之后,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道(通信隧道)。客户端网关加密设备和服务器网关加密设备可以通过隧道传输报文信息。其中,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,具体包括如下步骤:

首先,获取IEC104客户端发送的报文信息的序列号A;然后,获取由客户端网关加密设备本地发送的报文信息的数量B;最后,通过公式:C=A+B;得到网关序列号。此时生成的网关序列号继承之前IEC104客户端自动生成的序列号,保证信息发送过程中序列号顺序排列,而不至于引起混淆冲突。

获得网关序列号之后,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道,具体包括如下步骤:

首先,客户端网关加密设备获取网关序列号,将网关序列号和隧道建立请求报文一起发送给服务器网关加密设备;然后,服务器网关加密设备根据接收到的隧道建立请求报文做出回应,并发送回应报文;最后,客户端网关加密设备获取回应报文和网关序列号,将网关序列号和隧道成功建立确认报文一起发送给服务器网关加密设备,客户端网关加密设备和服务器网关加密设备之间建立隧道。之后,IEC104客户端和IEC104服务器之间传送的报文信息需要经客户端网关加密设备和服务器网关加密设备进行加密解密处理,才能进行传送和接收,提高了IEC104客户端和IEC104服务器之间信息传送的安全性。

客户端网关加密设备和服务器网关加密设备之间建立隧道之后,客户端网关加密设备模拟TCP重传和确认机制,不定时自主向服务器网关加密设备传送带网关序列号的通信报文。其中,通信报文包括管控报文和隧道保活心跳报文。管控报文用于对服务器网关加密设备进行远程管理和设备状态监控;客户端网关加密设备不定时自主向服务器网关加密设备传送管控报文,服务器网关加密设备根据自身状态发送回应报文,以实现客户端网关加密设备对服务器网关加密设备的监控和管理。当没有收到回应报文时,说明服务器网关加密设备工作异常,便于客户端网关加密设备及时对其进行处理。隧道保活心跳报文用以保证IEC104客户端和IEC104服务器之间信息传送时,隧道的可用性。客户端网关加密设备不定时自主向服务器网关加密设备传送隧道保活心跳报文,服务器网关加密设备根据自身状态发送回应报文,当没有收到回应报文时,说明客户端网关加密设备和服务器网关加密设备之间的隧道异常,及时进行隧道的重新建立,保证IEC104客户端和IEC104服务器之间信息传送时隧道的可用性。

S3,IEC104客户端根据本地发送的报文信息,生成自动递加的序列号,继续发送带序列号的报文信息给客户端网关加密设备,客户端网关加密设备为了使序列号不冲突,结合本地发送的报文信息的数量,将获取的IEC104客户端的报文信息的序列号进行处理生成网关序列号,并对获取的报文信息进行加密,组合生成处理信息,并将其传送给服务器网关加密设备。

如图2所示,在本发明所提供的一个实施例中,IEC104客户端通过客户端网关加密设备和服务器网关加密设备向IEC104服务器发送的序列号为1的报文信息。然后,客户端网关加密设备根据IEC104客户端报文信息的序列号1生成网关序列号2,通过向服务器网关加密设备发送带网关序列号的报文信息在客户端网关加密设备和服务器网关加密设备之间建立隧道。在本发明所提供的实施例中,客户端网关加密设备和服务器网关加密设备之间通过发送网关序列号为2和3的报文信息建立隧道。隧道建立成功之后,IEC104客户端继续向IEC104服务器发送报文信息,IEC104客户端根据本地发送的报文信息,生成自动递加的序列号,此时,序列号为2;继续发送序列号为2的报文信息给客户端网关加密设备。由于客户端网关加密设备在与服务器网关加密设备建立隧道的过程中已经发送了网关序列号为2的报文信息,为了使序列号不冲突,客户端网关加密设备结合本地发送的报文信息的数量,将获取的IEC104客户端的报文信息的序列号进行处理生成网关序列号4,并对获取的报文信息进行加密,组合生成处理信息,并将其传送给服务器网关加密设备。在本发明所提供的实施例中,对获取的报文信息进行加密之前,客户端网关加密设备对获取的报文信息进行解析,并对报文信息(IEC104规约)的完整性进行识别,当识别出的报文信息不是完整信息时,继续等待IEC104客户端的报文信息发送,直至报文信息完整时,对报文信息进行加密处理,保证了在IEC104客户端和IEC104服务器之间通信的完整性。

客户端网关加密设备和服务器网关加密设备作为中间透明代理,维护IEC104客户端及IEC104服务器之间报文信息的TCP序列号(序列号)。作为中间设备的透明代理,需要维护大量IEC104客户端及IEC104服务器的连接信息,所以对于TCP协议栈负载要求较大,为减轻处理负担,在本发明所提供的实施例中,客户端网关加密设备和服务器网关加密设备之间的TCP连接只实现部分TCP协议栈功能,而把大部分工作交还给IEC104客户端及IEC104服务器自身。客户端网关加密设备和服务器网关加密设备本身对于IEC104客户端及IEC104服务器之间传送的报文信息中不修改直接透传的数据部分并不维护接收发送的滑动窗口,不缓存该部分数据,并且对于该部分的重传等请求也直接透传给IEC104客户端及IEC104服务器,不过由于存在插入和修改过的报文信息,所以对于透传的数据包也需要进行网关序列号的生成。

S4,服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。

服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。其中,服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,具体包括如下步骤:

首先,服务器网关加密设备获取处理信息中的网关序列号C;然后,获取由客户端网关加密设备本地发送的报文信息的数量B;最后,通过公式:A=C-B;得到IEC104客户端发送的报文信息的序列号。如图2所示,在本发明所提供的一个实施例中,服务器网关加密设备获取客户端网关加密设备传送来的处理信息,对获取的处理信息中的网关序列号进行反处理,将IEC104客户端发送的报文信息的序列号还原成2,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。

在IEC104客户端与IEC服务器之间进行通信的过程中,客户端网关加密设备模拟TCP重传和确认机制,不定时自主向服务器网关加密设备传送带网关序列号的通信报文。一方面对服务器网关加密设备进行远程管理和设备状态监控;另一方面保证IEC104客户端和IEC104服务器之间信息传送时,隧道的可用性。

综上所述,本发明所提供的面向电力IEC104规约的TCP透明代理实现方法,当IEC104客户端首次向IEC104服务器发送带序列号的报文信息之后,客户端网关加密设备根据IEC104客户端报文信息的序列号生成网关序列号,通过向服务器网关加密设备发送带网关序列号的报文信息建立隧道。之后,IEC104客户端根据本地发送的报文信息,生成自动递加的序列号,继续发送带序列号的报文信息给客户端网关加密设备,客户端网关加密设备为了使序列号不冲突,结合本地发送的报文信息的数量,将获取的IEC104客户端的报文信息的序列号进行处理生成网关序列号,并对获取的报文信息进行加密,加密的报文信息和网关序列号组合生成处理信息,并将其传送给服务器网关加密设备。服务器网关加密设备对获取的处理信息中的网关序列号进行反处理,并对报文信息进行解密,将解密后的报文信息传送给IEC104服务器。该方法有效地解决了IEC104报文信息明文传输的安全性问题,提高了报文传输的可靠性。除此之外,客户端网关加密设备模拟TCP重传和确认机制,不定时自主向服务器网关加密设备传送带网关序列号的通信报文,不仅能对服务器网关加密设备进行远程管理和设备状态监控;还可以保证IEC104客户端和IEC104服务器之间信息传送时,隧道的可用性。

上面对本发明所提供的面向电力IEC104规约的TCP透明代理实现方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号