内生安全的工业控制网络动态防御方法转让专利

申请号 : CN201710338986.7

文献号 : CN107065750B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 员天佑倪志高杨永辉姚导箭周小伟刘金安宝冉

申请人 : 中国工程物理研究院计算机应用研究所

摘要 :

本发明公开了一种内生安全的工业控制网络动态防御方法,其特征在于,通过对加密算法进行动态可重构,并结合密钥及认证口令的动态变化,在网络传输层对IP报文进行安全重构,以在节点设备之间建立内生安全的专署数据传输信道。本发明提供一种内生安全的工业控制网络动态防御方法,其针对传统工业控制网络安全防御体系存在的问题,在开放的以太网通讯链路上构建多模、动态、透明的安全专署信道,有效阻止来自网络的非授权访问,中间人攻击和重播攻击,变被动防御为主动防御,变边界安全为内生安全。本发明还提供一种应用内生安全的工业控制网络动态防御方法进行数据传输的方法。

权利要求 :

1.一种内生安全的工业控制网络动态防御方法,其特征在于,通过对加密算法进行动态可重构,并结合密钥及认证口令的动态变化,在网络传输层对IP报文进行安全重构,以在节点设备之间建立内生的安全专属数据传输信道;

其中,所述密钥及认证口令的动态变化方法包括:

通过初始密钥的动态随机变化,利用标准的AES密钥扩展算法,产生48个32位动态子密钥;

对第一个动态子密钥与最后一个动态子密钥进行异或运算,以得到动态认证口令;

在工业控制网络中各节点之间通过同步协调方法确保动态重构过程及结果的一致性。

2.如权利要求1所述的内生安全的工业控制网络动态防御方法,其特征在于,在对加密算法进行动态可重构的方法中,所述加密算法的轮循次数在8~12之间动态随机变化,并在工业控制网络中各节点之间通过同步协调方法确保动态重构过程及结果的一致性。

3.如权利要求1所述的内生安全的工业控制网络动态防御方法,其特征在于,密钥及认证口令的动态生成算法包括:将64位的用户预置口令进行拆分,高32位作为线性反馈位移寄存器的起始条件,低32位参与后续运算;

通过LFSR线性反馈位移寄存器生成一个32位伪随机数;

将伪随机数与用户预置口令的低32位分别进行“与”、“或”、“非”和“异或”逻辑运算,得到4组中间值C1、C2、C3、C4;

将4组中间值进行合并,产生一个128位的初始密钥;

利用标准的AES密钥扩展算法,产生48个32位动态子密钥;

将第一个动态子密钥与最后一个子动态密钥进行异或运算,以得到用于数据源合法性验证的动态认证口令S。

4.如权利要求2所述的内生安全的工业控制网络动态防御方法,其特征在于,所述同步协调的方法包括:在各网络节点的多模判决装置中植入相同的动态密钥生成算法和动态可重构加密算法;

选取工业控制网络中任意一个节点的多模判决装置作为管理节点,以对其它节点的动态重构过程进行同步控制;

管理节点的多模判决装置不定期启动动态重构事件,以自动生成一个8~12之间的伪随机数一,用作加密算法的轮循次数,以及生成一个64位的伪随机数二,用作生成动态密钥的种子值,以得到用于动态重构的基础信息,并通过广播报文将该基础信息加密发送给网络中其它节点的多模判决装置上;

其它节点的多模判决装置从广播报文中获取基础信息,以根据轮循次数重构AES加密算法,并根据密钥种子值生成统一的动态密钥和认证口令,实现节点之间的同步协调。

5.如权利要求1所述的内生安全的工业控制网络动态防御方法,其特征在于,所述安全专属数据传输信道的建立,通过串联在各节点设备以太网通讯链路上的多模判决装置硬件实现。

6.如权利要求5所述的内生安全的工业控制网络动态防御方法,其特征在于,所述多模判决装置包括:一具有动态可重构功能的FPGA;

两个连接在FPGA上的独立网络芯片;

一个功能设置拨码开关;

两片存储器件;

三个内置在FPGA中的独立的数据处理引擎。

7.如权利要求1所述的内生安全的工业控制网络动态防御方法,其特征在于,在IP报文进行安全重构的方法中,包括:通过位于数据传输源端的多模判决装置,在通讯链路上截获其对应节点发出的IP原始报文;

所述多模判决装置基于获取的IP原始报文数据段,在其尾部分别加入用于身份认证和访问控制的认证口令信息,用于重播攻击防护的时间标记信息以及用于完整性保护的摘要信息;

所述多模判决装置利用动态密钥及加密算法,对插入到数据段尾部的相关信息进行加密,以形成重构后的安全报文。

8.如权利要求7所述的内生安全的工业控制网络动态防御方法,其特征在于,插入到IP原始报文数据段尾部的相关信息还包括安全报文分片标识;

其中,所述安全报文分片是将长度大于1500字节的IP原始报文分成两片,将第一片、第二片的分片标识分别配置为01H、10H,并将报文长度不超过1500字节的分片标识配置为

00H。

9.一种应用如权利要求1-8任意一项所述工业控制网络动态防御方法在工控设备之间建立安全专属数据传输信道的实现方法,其特征在于,包括:在源端的多模判决装置获取其对应节点设备发送的IP报文,以在报文的数据区尾部依次插入动态认证口令信息、时间标记信息以及摘要信息,并对这些信息进行加密,形成安全报文,再通过公开的互联网络进行数据传输;

在目标端的多模判决装置截获发往目标对象的安全报文,通过报文中的动态认证口令信息、时间标记信息以及摘要信息进行合法性、完整性、时效性判定,过滤掉各种非法数据包,将合法数据报文还原后转发给与其对应的节点设备,以在节点设备之间建立多模、动态、透明的安全专属数据传输信道。

说明书 :

内生安全的工业控制网络动态防御方法

技术领域

[0001] 本发明涉及一种面向工控安全领域的工业控制网络动态防御方法。更具体地说,本发明涉及一种在工控设备之间建立多模、动态、透明的安全专属数据传输信道的具体方法。

背景技术

[0002] 随着信息化与工业化的深度融合以及“工业4.0”,“智能制造”,和“互联网+”的推出和发展,工业控制网络不在是一个封闭的“孤岛”,需要和互联网、物联网深度融合,对于安全性十分脆弱的控制网络而言势必带来巨大的安全风险。
[0003] 传统的安全防御措施在面对控制网络实时性、可靠性要求高,控制设备即节点设备的专用性强,难于部署安全策略等具体问题时,只能采取以分区隔离为主的纵深防御技术,在控制网、企业网和外部网之间通过防火墙进行层层隔离。
[0004] 但控制网络本身仍是一个开放的系统,具体表现为:通讯协议开放,数据明文传输,数据合法性、完整性验证不足,控制设备之间缺乏身份认证和访问控制等,对跨防火墙攻击和内网攻击难以奏效,所采取的防护策略也以传统的、基于先验知识的被动防御为主,缺少变化,防御效果有待提高。

发明内容

[0005] 本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
[0006] 本发明还有一个目的是提供一种内生安全的工业控制网络动态防御方法,其针对传统工业控制网络安全防御体系存在的问题,在开放的以太网通讯链路上构建多模、动态、透明的安全专属信道,有效阻止来自网络的非授权访问,中间人攻击和重播攻击,变被动防御为主动防御,变边界安全为内生安全。
[0007] 本发明还有一个目的是提供一种应用内生安全的工业控制网络动态防御方法进行数据传输的方法,该方法能够在不影响控制系统应用协议和数据包路由的情况下,在控制设备之间建立多模、动态、透明的安全专属信道,有效规避控制网络开放性带来的各种安全风险,通过控制网络自身的主动防御机能,摆脱对防火墙和安全网关的依赖。
[0008] 为了实现本发明的这些目的和其它优点,提供了一种内生安全的工业控制网络动态防御方法,通过对加密算法进行动态可重构,并结合密钥及认证口令的动态变化,在网络传输层对需传输的IP报文进行安全重构,以在节点设备之间建立内生安全的专署数据传输信道。
[0009] 优选的是,其中,在对加密算法进行动态可重构的方法中,所述加密算法的轮循次数在8-12之间的动态随机变化,以实现加密算法的动态重构,并在工业控制网络中各节点之间通过同步协调方法确保动态重构过程及结果的一致性。
[0010] 优选的是,其中,密钥及认证口令的动态变化方法包括:
[0011] 通过初始密钥的动态随机变化,利用标准的AES密钥扩展算法,产生48个32位动态子密钥;
[0012] 基于第一个动态子密钥与最后一个动态子密钥进行异或运算,以得到动态认证口令;
[0013] 在工业控制网络中各节点之间通过同步协调方法确保动态重构过程及结果的一致性。
[0014] 优选的是,其中,密钥及认证口令的动态生成算法包括:
[0015] 将64位的用户预置口令进行拆分,高32位作为线性反馈位移寄存器的起始条件,低32位参与后续运算;
[0016] 通过LFSR线性反馈位移寄存器生成一个32位伪随机数;
[0017] 将伪随机数与用户预置口令的低32位分别进行“与”、“或”、“非”和“异或”逻辑运算,得到4组中间值(C1、C2、C3、C4);
[0018] 将4组中间值进行合并,产生一个128位的初始密钥;
[0019] 利用标准的AES密钥扩展算法,产生48个32位动态子密钥W0~W47;
[0020] 对W0与W47动态子密钥进行异或运算,以得到用于数据源合法性验证的动态认证口令S。
[0021] 优选的是,其中,所述同步协调的方法包括:
[0022] 在各网络节点的多模判决装置中植入相同的动态密钥生成算法和动态可重构加密算法;
[0023] 选取工业控制网络中任意一个节点的多模判决装置作为管理节点,以对其它节点的动态重构过程进行同步控制;管理节点的多模判决装置不定期启动动态重构事件,以自动生成一个8~12之间的伪随机数一,用作加密算法的轮循次数,以及生成一个64位的伪随机数二,用作生成动态密钥的种子值,以得到用于动态重构的基础信息,并通过广播报文将该基础信息加密发送给网络中其它节点的多模判决装置上;
[0024] 其它节点的多模判决装置从广播报文中获取基础信息,以根据轮循次数重构AES加密算法,并根据密钥种子值生成统一的动态密钥和认证口令,实现节点之间的同步协调。
[0025] 优选的是,其中,所述安全专属数据传输信道的建立,通过串联在各节点设备以太网通讯链路上的多模判决装置硬件实现。
[0026] 优选的是,其中,所述多模判决装置包括:
[0027] 一具有动态可重构功能的FPGA;
[0028] 两个连接在FPGA上的独立网络芯片;
[0029] 一个功能设置拨码开关;
[0030] 两片存储器件;
[0031] 三个内置在FPGA中的独立的数据处理引擎。
[0032] 优选的是,其中,在IP报文进行安全重构的方法中,包括:
[0033] 通过位于数据传输源端的多模判决装置,在通讯链路上截获其对应节点发出的IP原始报文;
[0034] 所述多模判决装置基于获取的IP原始报文数据段,在其尾部分别加入用于身份认证和访问控制的认证口令信息,用于重播攻击防护的时间标记信息以及用于完整性保护的摘要信息;
[0035] 所述多模判决装置利用动态密钥及加密算法,对插入到数据段尾部的相关信息进行加密,以形成重构后的安全报文。
[0036] 优选的是,其中,插入到IP原始报文数据段尾部的相关信息还包括安全报文分片标识;
[0037] 其中,所述报文分片是将长度大于1500字节的IP原始报文分成两片,将第一片、第二片的分片标识分别配置为01H、10H,并将报文长度不超过1500字节的分片标识配置为00H。
[0038] 一种应用所述工业控制网络动态防御方法进行数据传输的方法,包括:
[0039] 在源端的多模判决装置获取其对应节点设备发送的IP报文,以在报文的数据区尾部依次插入动态认证口令信息、时间标记信息以及摘要信息,并对这些信息进行加密,形成安全报文,再通过公开的互联网络进行数据传输;
[0040] 在目标端的多模判决装置截获发往目标对象的安全报文,通过报文中的动态认证口令信息、时间标记信息以及摘要信息进行合法性、完整性、时效性判定,过滤掉各种非法数据包,将合法数据报文还原后转发给与其对应的节点设备,以在节点设备之间建立多模、动态、透明的安全专属信息传输信道。
[0041] 本发明所提出的内生安全的工业控制网络动态防御方法,依次包括如下内容:
[0042] 其一,安全报文构造方法,具体指在源端截获控制设备发送的IP报文,在数据区尾部依次插入用于身份认证和访问控制的“动态认证口令”,用于重播攻击防护的“时间标记”和用于完成性保护的“摘要”,并对这些关键信息进行加密,形成安全报文,再通过公开网络传输。
[0043] 其二,安全报文解析、验证、还原方法,具体指在目端截获发往目标对象的安全报文,通过合法性、完整性、时效性判定,过滤掉各种非法数据包,将合法数据报还原后转发给控制设备。
[0044] 其三,安全机制动态重构方法,具体指安全传输协议所采用的加密算法、密钥和认证口令动态随机变化,使安全协议自身具备多模、动态、随机的主动防御特性。
[0045] 其四,动态重构环节的同步控制方法,具体指管理节点定时启动动态重构事件,生成用于重构的基本信息,并通过广播报文将信息传递给其它节点,使其利用相同的种子文件(算法)生成一致的动态密钥、认证口令和加密算法。
[0046] 本发明至少包括以下有益效果:
[0047] 其一,本发明的内生安全的动态防御方法,其能够在不影响控制系统应用协议和数据包路由的情况下,在控制设备之间建立多模、动态的安全专属信道,有效规避控制网络开放性带来的各种安全风险,通过控制网络自身的主动防御机能,摆脱对防火墙和安全网关的依赖。
[0048] 其二,本发明的内生安全的动态防御方法,该方法通过认证口令、密钥和加密算法的动态变化,变被动防御为主动防御,使基于先验知识的攻击行为难以奏效,进一步提高控制网络的安全防御性能。
[0049] 其三,本发明的内生安全的动态防御方法,该方法通过串联在以太网通讯链路上的专用硬件设备实现,对控制设备透明,不改变工业控制系统的固有特性,易推广实施,其提出的基于FPGA的硬件实现方法和外挂式的串联工作模式,在最大程度上确保了控制网络的实时性,有效规避了控制设备(如PLC)内核封闭难以部署安全策略的实际问题。
[0050] 本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

[0051] 图1为本发明的一个实施例内生安全的工业控制网络动态防御方法中安全报文格式的结构示意图;
[0052] 图2为本发明的一个实施例内生安全的工业控制网络动态防御方法中安全报文构造流程图;
[0053] 图3为本发明的一个实施例内生安全的工业控制网络动态防御方法中安全报文处置流程图;
[0054] 图4为本发明的一个实施例内生安全的工业控制网络动态防御方法中动态重构机制的流程示意图;
[0055] 图5为本发明的一个实施例内生安全的工业控制网络动态防御方法中多模判决装置系统结构组成示意图;
[0056] 图6为本发明的一个实施例内生安全的工业控制网络动态防御方法中动态口令及密钥生成算法的流程示意图。

具体实施方式

[0057] 下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0058] 应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
[0059] 根据本发明的一种内生安全的工业控制网络动态防御方法的实现形式,现结合以下6个实例对本发明做进一步的说明。
[0060] 在实例1中,结合图1给出了安全报文格式,具体来说安全报文是在TCP/IP报文101的基础上进行定义的,在数据区102后段依次插入“认证口令”103、“时间标记”104、“摘要”105和“分片标识”106等附加信息,形成新的数据区107,并对新数据进行加密,最终形成安全报文108。
[0061] 在具体实施中,安全报文字段定义如图1所示:
[0062] IP报头:20字节,在安全报文构造过程中,只有“总长度”与“头部校验和”字段根据数据区长度值发生改变,其它字段保持不变;
[0063] 认证口令:4字节,用于数据源合法性认证,利用该字段进行访问控制,阻止非法访问数据包的传递;
[0064] 时间标记:6字节,用于数据源的时效性验证,利用该字段进行重放攻击防护;
[0065] 摘要:16字节,用于数据源的完整性验证,防止数据篡改和伪造;
[0066] 在实例2中,结合图2给出了源端的安全报文构造流程,具体来说包括以下步骤:
[0067] 第一步201:从以太网通讯链路上截获控制设备发送的原始IP报文。
[0068] 第二步202:在原数据区尾部依次插入“动态认证口令”和“时间标记”;
[0069] 第三步203:利用MD5算法对报文中的源地址、目的址、TCP报头、原数据区和已经插入的附加字段等进行散列运算,生成摘要值,并将其插入“时间标记”之后。
[0070] 第四步204:利用动态密钥和AES加密算法,对新报文的数据区进行加密,形成安全报文;
[0071] 第五步205:报文分片,如果报文长度大于1500字节则将其分为两片,第一片分片标识设为“01H”,第二片分片标识设为“10H”,如果报文长度不超过1500字节,则分片标识设为“00H”(标示没有分片)直接进入第六步;
[0072] 第六步206:计算报文长度,修改IP报头的“总长度”和“首部校验和”字段,其它字段保持不变;
[0073] 第六步207:将安全报文发向网络,由交换机进行传输。
[0074] 在实例3中,结合图3给出了目端的安全报文处置流程,具体来说包括以下步骤:
[0075] 第一步301:从网络上截获交换机发给目标设备的IP报文(安全报文);
[0076] 第二步302:分片组装。首先根据分片标识判断该报文是否进行了分片,无则进入第三步,有则将该报文存入缓存区,并扫描缓存区中有无与之匹配的分片,有责将其组装后进入第三步,无则返回监听状态;
[0077] 第三步303:对数据区解密;
[0078] 第四步304:根据摘要值对数据包进行完整性验证,有篡改则丢弃该数据包;
[0079] 第五步305:根据认证口令对数据包进行合法性验证,不合法则丢弃该数据包;
[0080] 第六步306:根据时间标记对数据包进行时效性验证,时间一致性不满足要求则丢弃数据包;
[0081] 第七步307:删除数据包中的附加信息,还原IP报文;
[0082] 第八步308:将还原后的原始IP报文发送给目标设备。
[0083] 在实例4中,结合图4给出了动态重构方法的实现过程,具体来说包括以下内容:
[0084] 在所有的“工业网络多模判决装置”中植入相同的动态密钥生成算法、AES加密算法和用户预置口令;
[0085] 选取某个“工业网络多模判决装置”作为管理节点对动态重构过程进行同步和控制。具体实施步骤如下:
[0086] 第一步:管理节点在循环定时器401驱动下,定时触发动态重构事件,通过随机数发生器402生成的两个伪随机数,一个404用于生成动态密钥的种子值,一个405用于加密算法的轮循次数;
[0087] 第二步:管理节将随机数1和用户预置口令406作为动态密钥生成算法407的种子值输入,经过计算生成动态密钥409和认证口令410;
[0088] 第三步:管理节点根据随机数2对AES加密算法408的轮循次数进行重新设置,完成加密算法重构;
[0089] 第四步:完成自身重构后将两个随机数通过广播报文411,加密传输给其它设备;
[0090] 第五步:其它设备收到广播报文后采执行与管理节点相同的动态重构算法,生成完全一致的动态密钥和动态认证口令,同时完成加密算法的动态重构。
[0091] 在实例5中,结合图6给出了动态口令及密钥生成算法的实现过程,具体来说包括以下步骤:
[0092] 第一步:将64位的用户预置口令501进行拆分,高32位作为线性反馈位移寄存器502的起始条件,低32位参与后续运算;
[0093] 第二步:通过LFSR线性反馈位移寄存器502生成一个32位伪随机数503;
[0094] 第三步:将伪随机数与用户预置口令的低32位分别进行“与”、“或”、“非”和“异或”逻辑运算504,得到4组中间值505;
[0095] 第四步:将4组中间值C1、C2、C3、C4进行合并,产生一个128位的初始密钥输入506;
[0096] 第五步:利用标准的AES密钥扩展算法507,产生48个动态子密钥508;
[0097] 第六步:对第一个动态子密钥和最后一个动态子密钥进行异或运算509,得到动态认证口令510。
[0098] 在实例6中,结合图5给出了多模判决装置的系统结构,具体包括:
[0099] 一具有动态可重构功能的FPGA芯片601,用于算法及流程的硬件实现;
[0100] 两个连接在FPGA上的独立网络芯片602,用于IP报文的接受和发送;
[0101] 一片SDRAM603用于数据包缓存;
[0102] 一片flash604用于用户配置信息的永久存储;
[0103] 一个拨码开关605,用于节点类型的设置;
[0104] 三个内置在FPGA中的独立的数据处理引擎,其中607用于安全报文的构造,608用于安全报文处置,609用于安全体系动态重构。
[0105] 这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明的内生安全的工业控制网络动态防御方法及相关算法的应用、修改和变化对本领域的技术人员来说是显而易见的。
[0106] 尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。