一种安全的工业控制系统通信方法

文档序号:8489993阅读:261来源:国知局
一种安全的工业控制系统通信方法
【技术领域】
[0001] 本发明涉及一种工业控制系统中设备之间进行数据通信使用的安全方法,属于网 络信息安全技术领域。
【背景技术】
[0002] 随着工业化和信息化融合进程的不断推进,将电子信息技术广泛应用到工业生产 的各个环节将成为必然趋势。工业控制系统也将逐渐打破了W往的封闭性,采用标准、通用 的通信协议及硬软件系统,从而面临病毒、木马、黑客入侵、拒绝服务等传统的信息安全威 胁。而且由于工业控制系统多被应用在电力、交通、石油化工、核工业等国家重要基础设施 行业中,其安全事故造成的社会影响和经济损失会更为严重。工业控制安全势必将提升为 国家安全战略,并得到国家各个层面的重视。
[0003] 工业控制系统通常包含人机交互客户端(HumanMachineInterfaceClient)、主 终端单元/人机交互服务端(MasterTerminalUnit/HumanMachineInterfaceServer)、 远程终端单元(RemoteTerminalUnit)和区域设备(FieldDevice)等组件。由于各个组 件在网络中通常分布在不同的物理区域,所W该些设备之间的通信需要依赖于特定的通信 协议,从而完成控制命令和数据的传输。目前在工业控制领域已经提出了一系列通信协议, 例如Mo化us、DNP3. 0和IEC60870。虽然该些协议得到了广泛应用,但是由于此类协议在设 计之初主要用于隔离环境下的工业控制系统,没有考虑安全性,所W缺乏认证、授权和加密 等安全防护机制。随着第H代工业控制系统趋于网络化和智能化,一般的通信协议将无法 保障系统的安全性,恶意攻击者可W对系统中的数据进行窃取、篡改和伪造,甚至修改设备 参数使整个工业控制系统无法正常运转。

【发明内容】

[0004] 针对上述技术不足,本发明的主要目的是针对目前一般工业控制系统通信协议存 在的安全缺陷,基于H层通信模型提出了一种安全的工业控制系统通信协议的方法。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] -种安全的工业控制系统通信方法,包括W下步骤:
[0007] 主站点的应用层将命令/数据封装成应用层报文;安全传输层接收到应用层报文 后进行加密并封装成传输层报文;数据链路层将接收到的传输层报文转换为数据链路层 峽,发送至从站点;
[0008] 从站点接收到命令/数据后,首先由数据链路层进行拆封为传输层报文,并发送 到安全传输层;安全传输层将传输层报文解密并拆封为应用层报文并发送到应用层;应用 层对报文进行提取得到命令/数据。
[0009] 所述主站点的应用层将命令/数据封装成应用层报文包括W下步骤:
[0010] 在命令/数据前添加用于标识的对象标题,并在整个命令/数据的最前端添加请 求报头/响应报头形成应用层报文。
[0011] 所述请求报头包括应用控制段、功能码;所述响应报头包括应用控制段、功能码和 内部信号;所述应用控制段从低位至高位依次为开始位、结束位、确认码、分段的序号。
[0012] 所述安全传输层接收到应用层报文后进行加密并封装成传输层报文包括W下步 骤:安全传输层在接收到应用层报文后,首先对报文内的命令/数据进行切分,然后使用对 称加密算法对每个命令/数据块进行加密,并在后面附加消息认证码;然后在整个命令/数 据的前端添加传输报文头形成传输层报文;
[0013] 所述传输层报文包括依次的传输报文头、加密的用户数据、消息认证码。
[0014] 所述传输报文头从低位至高位依次为结束位、开始位、报文序号、加密算法类型、 哈希函数类型、消息认证码验证反馈或保留位、保留位。
[0015] 所述数据链路层将接收到的传输层报文转换为数据链路层峽包括W下步骤:数据 链路层接收到传输层报文后,对加密的命令/数据进行切分,然后在每个命令/数据块后附 加循环兀余码,并在整个命令/数据块前端添加数据链路峽头形成数据链路层峽。
[0016] 所述数据链路峽头的峽格式为顺序的起始标识、内容区长度、峽控制字节、目的地 址、原地址、循环兀余码。
[0017] 所述峽控制字节的峽格式包括依次的方向位、原发标志位、峽计数位、峽计数或保 留位、峽计数有效位或数据流控位、功能代码。
[0018] 所述由数据链路层进行拆封为传输层报文包括W下步骤:
[0019] 数据链路层通过循环兀余码验证峽数据是否被破坏;如果被破坏,则丢弃该峽,女口 果没被破坏,提取峽格式中的多个命令/数据块并将其拼接为完整的传输层报文。
[0020] 所述安全传输层将传输层报文解密并拆封为应用层报文包括W下步骤:
[0021] 安全传输层接收到传输层报文,使用设定的秘钥通过消息认证码验证报文完整, 然后解密密文获得明文数据;提取报文中的多个分块的命令/数据,拼接为应用层报文。
[0022] 本发明具有W下有益效果及优点:
[0023] 1.本发明可W保护控制命令和通信数据的完整性及机密性,增强系统的安全保护 能力。
[0024] 2.本发明将协议按照H层结构建立,各层松散禪合,具有较高的灵活性。
[0025] 3.本发明的协议峽格式及报文格式最大程度上减少了兀余信息,保证了通信的高 效性和实用性。
【附图说明】
[0026] 图1为本发明的安全通信协议的协议找示意图;
[0027] 图2为站点间通信报文顺序示意图;
[0028] 图3为协议执行流程示意图;
[0029] 图4为应用请求格式图;
[0030] 图5为应用响应格式图;
[0031] 图6为请求报头格式图;
[0032] 图7为响应报头格式图;
[0033] 图8为应用控制段格式图;
[0034] 图9为传输层报文格式图;
[0035] 图10为传输报文头数据位格式图;
[0036] 图11为数据链路峽格式图;
[0037] 图12为峽头控制字节数据位格式图。
【具体实施方式】
[0038] 下面结合实施例对本发明做进一步的详细说明。
[0039] 本发明设计了一种基于H层网络模型的安全工业控制系统通信协议,该协议由数 据链路层、安全传输层和应用层共同组成,如图1。
[0040] 本发明的通信协议包括W下步骤:
[0041] (1)主站点应用层完成控制命令和数据的封装。系统管理员通过人机交互客户端 发出远程设备状态变更指令,例如改变发动机转速、改变传感器采集频率;
[0042] (2)主站点安全传输层接收应用层的请求报文或响应报文,对报文进行安全封装, 加密数据并附加消息认证码,完成封装后传递到数据链路层;
[0043] (3)主站点数据链路层负责将协议找高层(安全传输层)提供的数据转换成数据链 路层峽,W便通信信道传输;
[0044] (4)从站点数据链路层对其它设备发送到本站点的二进制数据进行拆封并传递到 协议找局层;
[0045] (5)从站点安全传输层接收数据链路层传递来的数据,根据消息认证码验证数据 的完整性巧日果验证失败则丢弃数据包并发出警告消息,验证成功则进行解密操作),解密 数据进一步拆封报文并传递到应用层。
[0046] (6)从站点应用层获取主站点发送的命令数据,并将其交给区域设备完成执行操 作。
[0047] W主站点的管理员发送命令到从站点执行为例,具体说明该协议的执行流程如下 (图 3):
[0048] (1)主站点应用层
[0049] 管理员在主站点客户端输入远程设备需要执行的命令,应用层对输入的一个或多 个命令数据添加对象标题进行标识,之后在整个数据的最前端添加请求报头形成应用层报 文,如图4所示。如果站点发送的数据为响应数据时,则应该将请求报头改为响应报头,女口 图5所示。请求报头和响应报头的格式说明如图6和图7,报头的应用控制码格式如图8所 /J、- 〇
[0050] (2)主站点安全传输层
[0051] 安全传输层在接收到应用层传来的报文后,首先按照255字节的分组长度对其进 行切分,然后使用对称加密算法对每个数据块进行加密,同时计算加密数据块的消息认证 码并附加在其后。之后在数据的前端添加传输报头形成传输层报文,如图9所示。传输报 头的数据位格式如图10所示。
[0052] (3)主站点数据链路层
[0053] 数据链路层在接收到安全传输层传来的报文后,按照16字节的分组长度对其进 行切分,然后对每块数据附加循环兀余码,同时在数据前端添加数据链路峽头形成数据链 路层峽
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1