专利名称:基于tcp/ip的工业控制网络的安全策略实现方法及系统的制作方法
技术领域:
本发明涉及通信技术、计算机技术和自动控制技术,具体是一种基于TCP/IP协议的工业控制网络的安全策略实现方法及其采用该方法的系统。
背景技术:
与以往的现场总线是专用网络不同,以太网、无线局域网、蓝牙等基于TCP/IP协议的网络技术均在商业计算机领域已经获得或正在获得广泛和成功的应用,并逐渐直接应用于工业现场设备间的通信,形成基于TCP/IP的工业控制网络(这里简称为ICN网络,ICN即Industrial Control Network)。这样,随之而来的工业控制网络安全问题也成为广大工控专家和用户非常关心的问题。
基于TCP/IP的以太网具有开放性好、软硬件资源丰富、应用广泛以及价格低廉等特点,工厂现场设备间的通信和控制基于以太网技术来实现后,基于以太网的工业控制网络再与计算机网络相连接,导致新的、一系列安全问题的出现。因为在这种类型的体系结构中,自动化单元作为整个工厂或企业的Intranet的一个IP扩展,每一个连接到自动化单元网络的仪表器件都能够与网络中的其它任何仪表或计算机通信,这将使得基于网络在任何地方都可以发起对自动化仪表的访问。
作为一个开放系统,其潜在的安全风险是不可避免的。因此,ICN设备生产厂家必须采取必要的安全措施和工具,以保证在这个开放的环境中能够安全地操作,保护内部的系统、资源和正常的生产秩序。ICN系统安全主要解决工业以太网内部资源与数据通信的安全性问题,以保障系统正常的运行,或在受到攻击时能够迅速地发现并采取相应的安全措施,使系统的安全损失减少到最小。并在受到攻击后能够迅速地恢复。
如图1所示,ETHERNET POWERLINK Standardization Group和65C/314/RVN的报文识别定义方法是在链路层的帧格式中通过修改其TYPE或LENGTH字段,以区别于现有的类型定义字段,作为其报文类型标识。假定我们通过修改链路层的帧格式中的TYPE或LENGTH字段来作为ICN的标识,则由于网络中链路层的特殊性,即在不同介质和不同链路层协议下,其帧格式封装各不相同。如在Ethernet II中是类型字段,用来指出以太网帧内数据所含的上层协议;而在IEEE802.3中是长度字段,该字段的最小值为46,最大值为1500。因此,每一种物理介质我们都需要有一个中间过程(或者其它处理措施),把不同的帧格式转化为图1所示的格式,以保证整个体系结构的一致性。这必然带来处理过程的时间开销和空间开销。转化后的帧格式,必然需要为相应的LEGHT/TYPE字段定义一个特殊的数值,以标识这是一个建立在某种物理介质上的ICN协议数据帧。但是以太网帧中已经用掉了LENGTH/TYPE字段大量数值,同时一些其它的网络协议也在这个字段用掉了一些数值比如IPX协议等,这样就可能会出现该字段值被用尽的问题。另外,每当兼容一种物理网络,就需要重新赋值定义,带来扩展性的问题。无线、蓝牙等网络技术必须按照它自己的底层协议进行相互间的通信,如果改成了图1的格式,它们自己内部之间的等同于数据链路层的通信帧也必须按照ICN协议帧的通信格式进行修改,这可以说是不可能实现的。因此,如果在此处修改,首先是增加了复杂性,且可能存在兼容性问题(即有可能和其它利用此字段的协议冲突,如蓝牙、802.11等);其次,针对不同的链路层帧格式要予以考虑,而帧格式的非通用格式的表现形式也限制了在这里修改为ICN标识后的通用性;再者,还需考虑ICN标识的不同种类的应用和对上层协议的引用等问题。
发明的内容对于基于TCP/IP的工业控制网络系统,根据组网方案和应用层次的不同,一般可分为现场设备层、监控层和管理层,应根据基于TCP/IP的工业控制网络系统面临的安全风险及其出现的层次,和可能受到的攻击类别,分级实施不同的安全策略和措施。综合考虑工业控制网络通信的实时性、现场设备资源的有限性与安全管理问题,本发明从现场设备层、过程监控层和管理层等三个网络层次,来考虑基于TCP/IP的工业控制网络的分层安全策略实现方法及其采用该方法的系统。我们利用在IP层加入ICNHeader定义ICN的帧格式,通过独创性的ICNHeader结构,运用安全功能块技术,结合其它已有的网络与信息安全方法可有效地解决基于TCP/IP的工业控制网络安全问题。
首先,建立ICN通信模型,取其物理层、数据链路层、网络层、传输层、应用层,并在应用层之上增加用户层,以及在网络层和传输层增加ICN实时通信管理接口,共构成六层结构的通信模型。并通过标准的、可扩展的IP报文扩展机制定义ICN帧格式,即在IP层加入ICNHeader来定义ICN帧格式。将原始IP数据报格式化为加ICN字头的IP数据报,增加报头ICNHeader,将IP首部的IP协议位改为ICN标识位。对报头ICNHeader作相关定义,在IP层加入报文头ICNHeader来定义ICN帧格式,提出了独创性的ICNHeader结构。
其次,采用了安全功能块,通过定义安全功能块为一个应用程序提供一个或多个安全服务进程,对安全功能块组态,实现两个设备之间的安全通信。基于安全服务功能块的安全服务映射包括事件输入(event input)、事件输出(event output)、数据输入(datainput)和数据输出(data output)。
对基于TCP/IP的工业控制网络的分层安全策略,重点是现场设备层网络的安全策略和过程监控层网络的安全措施。
现场设备层网络的安全策略包括1)在ICN设备链接对象属性中增加访问密码,该密码需放在ICN报文中,以保护链接对象所表示的链路通信关系。该密码在系统组态时由用户指定,不允许在线修改,2)增加ICNHeader,通过报文头实现a)通过报文过滤(检查该报文头),识别ICN报文与非ICN报文访问,b)时间戳控制及其它安全措施由用户选择;过程监控层网络的安全策略包括1)在ICN网桥设备链接对象属性中增加访问密码,2)增加ICNHeader,通过报文头实现a)通过报文过滤(检查该报文头),识别ICN报文与非ICN报文访问,b)选择时间戳控制机制,c)其它安全措施由用户选择;3)定义ICN安全功能块,安全功能块是标准的功能块,它只对ICN应用层报文进行安全处理;管理层网络的安全策略包括管理层网络涉及ICN网络与非ICN网络的跨网络访问,由ICN代理和防火墙共同来实现,根据ICN系统的性质、按照《中华人民共和国国家标准——计算机信息系统安全保护等级划分准则》的规定选用各种已有的通信安全技术来保证整个网络的安全。
本发明取得的有益效果首先,协议简单,容易实现,系统开销小,实时性好。
其次,可扩展性好,可以随网络层协议的发展而进行随意扩展,且可以方便的兼容未来的网络层协议。
第三,直接封将成IP协议,即除在IP协议首部的8位协议字段增加ICN标识外,其它没有作修改,可与其它IP数据报一样进行传输。因此只要是标准IP兼容的底层协议(包括不同的物理介质,如802.3/802.11/802.15等),都能正常通信,不需要作任何修改。
第四,特别是解决了ICN协议的安全问题。它不必集中较高层实现大量安全协议,网络层提供安全服务可以为它及上层传输协议(包括TCP和UDP等)“无缝”地提高安全保障。同时,兼容性好,网络层支持以子网为基础的安全,容易实现VPN和内联网。
图1表示通过修改链路层的帧格式中的TYPE或LENGTH字段来标识ICN报文的结构示意2表示基于TCP/IP的工业控制网络的分层安全策略结构示意3表示ICN通信模型图4表示ICNHeader的结构图5表示安全功能块模型示意6表示ICN系统安全通信框架示意7表示安全服务执行控制表ECC图8表示安全功能块算法调用执行控制表的状态机示意图具体实施方式
对于基于TCP/IP的工业控制网络系统,根据组网方案和应用层次的不同,一般从系统的拓扑结构来看,可分为现场设备层、监控层和管理层,对不同的应用层次应采取不同的安全技术措施。
如图2所示,基于TCP/IP的工业控制网络系统一般可分为现场级网络(由现场设备构成,以实现现场控制为主要目的网络)、监控级网络(实现现场级网络、操作站、工程师站、ICN代理等设备的互联)与管理级网络(监控级网络之上,以管理与调度为主要目的网络)三个层次。
1.现场设备层网络的安全措施在同一ICN网段上的现场设备间的安全保护机制,一般可通过ICN网桥来保证网段内部的安全,同时,设备间还可采用以下安全保护机制。
1)在ICN设备链接对象属性中增加访问密码(两个字节),该密码需放在ICN报文中,以保护链接对象所表示的链路通信关系。该密码在系统组态时由用户指定,不允许在线修改。
2)增加ICN报文头(ICNHeader),通过报文头实现a)通过报文过滤(检查该报文头)识别ICN报文与非ICN报文访问,从而赋予不同的操作处理权限。
b)是否采用时间戳控制及其它安全措施由用户确定。
2.过程监控层网络的安全措施监控层网络一般需要跨ICN网段进行通信,这时建议由ICN网桥和ICN代理共同来实现ICN网络安全保护,安全保护机制包括。
1)在ICN网桥设备链接对象属性中增加访问密码(两个字节)。
2)增加ICN报文头(ICNHeader),通过报文头实现a)通过报文过滤(检查该报文头),识别ICN报文与非ICN报文访问,从而赋予不同的操作处理权限。
b)时间戳控制机制c)是否采用其它安全措施由用户选择。
3)定义ICN安全功能块,通过对ICN功能块组态来保证工业控制网络的信息安全。
3.管理层网络的安全措施管理层网络涉及ICN网络与非ICN网络的跨网络访问,建议由ICN代理和防火墙共同来实现,可根据ICN系统的性质、按照《中华人民共和国国家标准——计算机信息系统安全保护等级划分准则》(GB17859-1999)的规定来选用各种已有的通信安全技术来保证整个网络的安全。
访问密码的设置,设置访问密码主要用于识别连接对象,以增加ICN现场设备运行过程中的通信安全性。
采用在链接对象中增加一个4字节的安全标识字段,该字段的值由系统组态时,随机生成一对密码标识,分别放在通信发起方和接收方的链接对象里。系统运行过程中,如果两个功能块发生通信关系,则要先判断这个密码是否匹配,如果匹配则证明是合法通信,否则为非法通信,另做处理。
链接对象定义格式如下
安全密文码的产生方法推荐以伪随机数产生技术和内部时钟值相结合,生成安全密文码。
在本发明中我们在IP层考虑ICN的标识问题,即采用一种标准的、可扩展的IP报文扩展机制,在IP报文中添加ICNHeader来进行标识。另外,本定义的ICN安全功能块对ICN网络提供灵活、可组态的安全控制策略。ICN安全功能块可以根据不同的安全级别定义不同的安全策略,供用户组态,用户组态时ICN安全功能块作为可选组件供用户组态。
图3所示为ICN通信模型,参照ISO/OSI通信参考模型,取其物理层、数据链路层、网络层、传输层、应用层,并在应用层之上增加用户层(采用IEC61499/61804标准),以及在网络层和传输层增加ICN实时通信管理接口,共构成六层结构的通信模型。并通过标准的、可扩展的IP报文扩展机制定义ICN帧格式,即在IP层加入ICNHeader来定义ICN帧格式。如图4所示为ICNHeader的结构,将原始IP数据报格式化为加ICN字头的IP数据报,增加报头ICNHeader,将IP首部的IP协议位改为ICN标识位。对报头ICNHeader作相关定义,ICNHeader结构说明版本号(VER)这个4比特字段定义了ICN字头的版本,提供版本识别。当前版本为1。
安全标志位用于识别ICN报文类别,其定义为0000未加处理的ICN报文;1000采用时间戳安全处理的ICN报文,后面扩展4个子节,作为时间戳字段;1001基于时间戳的完整性校验,后面扩展4个子节,作为时间戳字段;1111完全采用IPSec安全方案,扩展字段扩展为IPSec安全字头。
IP协议位这个8比特字段定义使用ICN字头封装的IP首部的8位协议字段,与标准IP协议中的协议位相对应。
校验和将ICNHeader部分的前面16比特用反码算术运算相加,得到一个16比特的结果,再将此和取反码,放入此字段。
扩展字段对报文加时间戳控制时或用IPSec安全方案时,在ICNHeader的协议类型后面扩展4个字节。此4个字节作为时间戳字段时,此时间戳字段在ICN选择安全功能块算法时,可以识别其时效性,从而保证安全。当然,此时间戳字段必须经过适当的加密,其加密算法可选安全功能块中定义的不同级别的安全算法。此4个字节作为IPSec安全方案字段时扩展字段扩展为IPSec安全字头。
通过ICN附加报头,可以识别ICN与非ICN报文,从而过滤报文。在ICN报文的基础上,通过安全标志位,联系安全功能块,经过解包和封包过程,达到增强安全的目的。
解包过程ICN在网络层对IP数据报进行分析,根据IP字头协议字段检测该数据报是否是ICN报文,如果检测到不是ICN报文就按照正常IP数据报文处理,即交给IP首部中的8位协议字段所示的上层协议进行处理。如果是ICN报文就将该报文交由ICNHeader处理程序对其进行相应的处理,其后则可用与正常IP数据报文处理方式进行处理。
封包过程ICN应用层数据传到网络层,ICNHeader处理程序将IP头中的协议类型信息拷贝下来后,添加ICN版本信息、校验和,从而形成ICNHeader,并将IP头中协议类型改为一定值(例如70)。然后将ICNHeader添加到IP头的后边,形成新的IP报文。
安全服务功能块可以为一个应用程序提供一个或多个安全服务进程,基于安全服务功能块的安全服务映射包括事件输入(event input)、事件输出(event output)、数据输入(data input)和数据输出(data output)。通过定义安全功能块为一个应用程序提供一个或多个安全服务进程,从而可通过组态实现两个设备之间的安全通信。安全功能块结构模型如图5所示。ICN的资源是一个逻辑设备,功能块本身就属于资源的组成部分,安全功能块是标准的功能块,它只对ICN应用层报文进行安全处理。安全服务功能块利用一个执行控制表(ECC)来控制功能块算法的执行。安全服务功能块的外部接口符合IEC 61499标准的基本功能块类型要求,而安全服务功能块的输入和输出有特殊的语义规则,接口定义与服务接口功能块相同。
利用安全服务功能块实现工业控制网络安全基本思路如图6所示。即在需要安全通信的两个设备之间把安全功能块组态到两个设备上。而在不需要安全通信时则无需对安全功能块进行组态。ICN安全服务功能块在ICN系统中只作为一种普通的功能块处理,符合IEC61499标准,如图6所示,只是在其中封装了安全控制策略算法。
ICN安全功能块对ICN网络提供灵活、可组态的安全控制策略。ICN安全功能块可以根据不同的安全级别定义不同的安全策略,供用户组态。用户组态时ICN安全功能块作为可选组件供用户组态时选用。
安全服务事件接口声明分事件输入(event input),事件输出(event output)。分别见表1和表2表1安全服务功能块事件输入
表2安全服务功能块事件输出
安全服务数据接口声明分数据输入(data input)和数据输出(data output)。分别见表3和表4。
表3安全服务功能块数据输入
表4安全服务功能块数据输出
注意缺省值可以根据实际安全级别需要设定。
安全服务算法声明安全服务算法可以是满足控制网络实时性要求的简单的身份验证算法,也可以是满足公网传输的基于公钥、私钥结构的加密/解密等算法。可采用以下算法1、完整性校验算法完整性校验算法对ICN报文未经许可的修改和处理必须通过选用的算法可以检测出来。ICN报文信息即使以正确的方式到达的,安全数据仍然可能被破坏。因此数据完整性是达到要求的安全集成级别的一个基本的组成部分。采用适当的方法,比如奇偶校验,帧校验,循环冗余校验(CRC)和类似的消息冗余形式可以利用。所有这些方法提供一套实现残余错误率比假定的比特错误率低的方法。一种检测质量保障机制就是该信息的汉明(HD)距离。汉明距离给出了一个消息在毁坏被检测出来前该消息必定受到破坏的最小比特数。
可选择不同的算法来对总线系统的数据完整性进行评价。这些计算结果可能导致硬件和软件设计在提供完整性方面的更多努力,或者整个控制系统的可靠性和证据方面的更多努力。
2、通信安全算法通过公网(Internet或跨网段的Intranet等)传输的ICN报文必须经过一定的加密算法,才能保证ICN报文不被监听,截获等。
1)组态时简单身份识别ICN网络组态时,可选择运行安全功能块进行简单的身份识别。对于ICN设备来说,其物理号ID之于整个系统是唯一的。通过安全功能块获取设备ID,在监控设备中核实该ID的合法性,拒绝对不在合法设备ID数据库中的设备进行组态。从而达到防护目的。当然,此处可以考虑对设备物理ID进行简单的加密,比如定期用不同的等长密码进行异或,然后在此基础上识别,这样安全可靠性提高。
2)加密算法的选择在当前加密算法的使用中,对称分组加密算法应用广泛。对于三重DES,IDEA,Blowfish,RC5,CAST以及RC2等算法也可考虑,采用软加密算法,其运算要求比较高,可以根据不同的情况考虑安全功能块。
3、安全策略算法执行控制声明安全服务功能块的算法调用序列可以声明在功能块类型规范里。如果安全服务功能块类型算法符合如上所述通信安全算法,安全服务功能块的算法调用序列是执行控制表ECC的形式,其中ECC由执行控制状态(EC state),执行控制转移(EC transition)和执行控制行动(EC action)组成。安全服务的执行控制表ECC如图7所示。安全服务功能块类型在发生一个相关事件时执行一个初始化算法,比如INIT算法。
4、安全服务算法的调度算法和安全服务功能块实例有关的执行被请求所调用到资源的计划功能来计划算法操作的执行。安全服务功能块类型的实例的算法调用被它的执行控制表(ECC)操纵的功能性设备所完成。执行控制表(ECC)操作遵循以下规则1)资源必须一直为每个事件输入(EI变量附加存储元素)保持。见如图8所示的事件输入状态机1和其说明表1。
2)ECC操作要展示所有如图8所示操作状态机2和说明表2里所定义的属性。
3)EC下一个转移条件直到算法完成本身EC状态进程才可以生效。
说明表1 说明表2
事件输入状态机状态和转移ECC操作状态机状态和转移5、安全服务算法执行安全控制策略算法可以是满足控制网络实时性要求的简单的身份验证算法,也可以是满足公网传输的基于公钥、私钥结构的加密/解密等算法。安全服务功能块的算法执行由该算法语言的有限操作序列的执行组成。其中编写算法为执行的资源和申请的域采用实现一独立(Implementation-dependent)原则。算法的终止为执行完序列中最后一个操作。如果一个算法执行一个状态机,算法的重复执行需要识别到和能执行状态转换。
在本发明中我们在IP层考虑ICN的标识问题,即采用一种标准的、可扩展的IP报文扩展机制,在IP报文中添加ICNHeader来进行标识。另外,本定义的ICN安全功能块对ICN网络提供灵活、可组态的安全控制策略。ICN安全功能块可以根据不同的安全级别定义不同的安全策略,供用户组态。用户组态时ICN安全功能块作为可选组件供用户组态。
以上只是本发明的优选实施例说明,本发明的保护范围基于本领域技术人员的理解结合权利要求进行限定。
权利要求
1.一种实现基于TCP/IP的工业控制网络安全的方法,建立ICN通信模型,根据组网方案和应用层次的不同,分为现场设备层、监控层和管理层,根据基于TCP/IP的工业控制网络系统面临的安全风险及其出现的层次,和可能受到的攻击类别,分级实施不同的安全策略和措施,其特征在于采用分层安全策略;在IP层加入报文头ICNHeader来定义ICN帧格式;定义安全功能块的结构,通过对安全功能块组态为一个应用程序提供一个或多个安全服务进程,实现两个设备之间的通信安全。
2.如权利要求1所述的方法,其特征在于所述分层安全策略包括现场设备层网络的安全策略,过程监控层网络的安全策略,以及管理层网络的安全策略。
3.如权利要求2所述的方法,其中现场设备层网络的安全策略包括1)在ICN设备链接对象属性中增加访问密码,该密码需放在ICN报文中,以保护链接对象所表示的链路通信关系。该密码在系统组态时由用户指定,不允许在线修改。2)增加报文头ICNHeader,通过报文头实现a)通过报文过滤,识别ICN报文与非ICN报文访问;b)时间戳控制及其它安全措施由用户选择;所述过程监控层网络的安全策略包括1)在ICN网桥设备链接对象属性中增加访问密码,2)增加报文头ICNHeader,通过报文头实现a)通过报文过滤,识别ICN报文与非ICN报文访问,b)选择时间戳控制机制,c)其它安全措施由用户选择,3)定义ICN安全功能块,安全功能块是标准的功能块,它只对ICN应用层报文进行安全处理;所述管理层网络的安全策略包括根据ICN系统的性质、按照《中华人民共和国国家标准——计算机信息系统安全保护等级划分准则》的规定选用各种已有的通信安全技术来保证整个网络的安全。
4.如权利要求1或2所述的方法,其特征在于其中所述的报文头ICNHeader的结构包括版本号提供版本识别;安全标志位提供识别ICN报文类别;IP协议位与标准IP协议中的协议位相对应;校验和用于对ICNHeader进行校验,通过ICN附加报头,可以识别ICN和非ICN报文,从而过滤报文。
5.如权利要求1或2所述的方法,其特征在于加入ICNHeader的方法进一步包括ICN在网络层对IP数据报进行分析,根据IP字头协议字段检测该数据报是否是ICN报文,如果是ICN报文就将该报文交由ICNHeader处理程序对其进行相应的处理,ICN应用层数据传到网络层,ICNHeader处理程序将IP头中的协议类型信息拷贝下来后,添加ICN版本信息、校验和,从而形成ICNHeader,并将IP头中协议类型改为一定值,然后将ICNHeader添加到IP头的后边,形成新的IP报文。
6.如权利要求1或2所述的方法,其特征在于其中所述安全功能块定义为安全服务功能块可以为一个应用程序提供一个或多个安全服务进程,基于安全服务功能块的安全服务映射包括事件输入、事件输出、数据输入和数据输出,它只对ICN应用层报文进行安全处理。
7.如权利要求6所述的方法,安全服务功能块利用一个执行控制图来控制功能块算法的执行,安全服务功能块的外部接口符合IEC 61499标准的基本功能块类型要求,而安全服务功能块的输入和输出有特殊的语义规则,接口定义与服务接口功能块相同。
8.一种实现基于TCP/IP的工业控制网络安全的系统,在系统中建立ICN通信模型,包括物理层、数据链路层、网络层、传输层、应用层,其特征在于在应用层之上增加用户层,在网络层和传输层增加ICN实时通信管理接口,采用分层安全策略,在IP层加入报文头ICNHeader来定义ICN帧格式,通过对安全功能块组态实现两个设备之间的安全通信,为一个应用程序提供一个或多个安全服务进程。
9.如权利要求8所述的系统,其特征在于所述分层安全策略包括现场设备层网络的安全策略,过程监控层网络的安全策略,以及管理层网络的安全策略。
10.如权利要求8或9所述的系统,其特征在于其中所述的报文头ICNHeader的结构包括版本号提供版本识别;安全标志位提供识别ICN报文的类别;IP协议位与标准IP协议中的协议位相对应;校验和用于对ICNHeader进行校验,通过ICN附加报头,可以识别ICN和非ICN报文,从而过滤报文。
11.如权利要求8或9所述的系统,其特征在于其中所述安全功能块定义为安全服务功能块可以为一个应用程序提供一个或多个安全服务进程,基于安全服务功能块的安全服务映射包括事件输入、事件输出、数据输入和数据输出,它只对ICN应用层报文进行安全处理。
全文摘要
本发明涉及一种基于TCP/IP的工业控制网络的安全策略实现方法及其实现基于TCP/IP的工业控制网络安全的系统,主要包括在IP层加入报头ICNHeader来定义ICN的帧格式,提出了独创性的ICNHeader结构,介绍ICNHeader的处理方法;首次提出了安全功能块的概念,定义了安全功能块的结构与实现原理,通过对安全功能块组态为一个应用程序提供一个或多个安全服务进程,实现两个设备之间的通信安全;采用基于TCP/IP的工业控制网络的分层安全策略,包括现场设备层网络的安全策略、过程监控层网络的安全措施和管理层网络的安全策略。
文档编号H04L29/06GK1558608SQ20041002167
公开日2004年12月29日 申请日期2004年1月13日 优先权日2004年1月13日
发明者王平, 平 王 申请人:重庆邮电学院