基于现场层设备的报文的安全策略匹配方法和现场层设备与流程

文档序号:11206381阅读:299来源:国知局
基于现场层设备的报文的安全策略匹配方法和现场层设备与流程

本发明涉及工业互联网操作系统技术领域,尤其涉及基于现场层设备的报文的安全策略匹配方法和现场层设备。



背景技术:

目前交换机芯片内对报文的安全策略匹配多采用二叉树结构进行维护和查找,在以太网交换机芯片中,进行安全策略匹配时会经常涉及到快速查找acl(访问控制列表,accesscontrollist)、路由表等功能,这时候查找效率会影响到芯片的性能。目前交换机芯片对报文进行安全策略匹配的方法中,对表的查找操作需要在树中进行多级查找,针对同一报文的不同层级的安全策略没有进行关联。因此,在进行安全策略匹配时,匹配过程复杂且匹配速度较慢,需要多次访问表项存储区才能完成一次匹配操作,且随着待匹配字段长度的增加或表项的数量增加,匹配时间也随之增加;对于已建立的安全策略的表,当用户想修改表项时,例如添加或删除某个表项时会对表中其他条目产生影响,对表项的维护较为复杂。

可见,上述对表的查找操作方法需要在树中进行多级查找,存在以下技术问题:

安全策略匹配过程复杂,且待匹配表项维护复杂,在匹配过程中匹配速度较慢和匹配效率较低的技术问题。



技术实现要素:

本发明实施例通过提供一种基于现场层设备的报文的安全策略匹配方法和现场层设备,用于解决现有技术中安全策略匹配过程复杂,且待匹配表项维护复杂,在匹配过程中匹配速度较慢和匹配效率较低的技术问题。

第一方面,本发明一实施例提供了一种基于现场层设备的报文的安全策略匹配方法,所述现场层设备包括工业流程控制管理模块、异构现场设备集成模块、工业管理软件加载模块和现场总线通讯协议模块,所述工业管理软件加载模块初始化加载所述现场层设备的运行程序;所述工业流程管理模块接收用户下发的报文并将所述报文发送给所述现场总线通讯协议模块,所述现场总线通讯协议模块对报文进行安全策略匹配并把针对所述报文的操作结果发送给所述异构现场设备集成模块;所述现场总线通讯协议模块包括多组三态内容寻址存储器tcam(ternarycontentaddressablememory)和多组随机存取存储器ram,一组tcam与一组ram(ramdomaccessmemory)对应连接;所述现场总线通讯协议模块对所述报文进行安全策略匹配的方法包括:

按照所述报文的处理流程的先后顺序每组tcam接收与tcam层级对应的匹配关键字;

接收到匹配关键字的任一组tcam将所述匹配关键字与自身存储的第一安全策略字段进行匹配,获得匹配结果;

所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息,其中,所述策略信息包括安全策略关联id和第一安全策略动作信息,任一组tcam接收到的匹配关键字,基于自身所在层级的前一层级的ram输出的策略信息中的所述安全策略关联id生成;

汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。

可选的,在所述按照所述报文的处理流程的先后顺序每组tcam接收与tcam层级对应的匹配关键字之前,所述方法还包括:

每组tcam接收下发的第一安全策略字段;其中,所述每组tcam中存储的第一安全策略字段为用户下发的安全策略中与所述每组tcam所在的层级相对应的字段。

可选的,所述每组tcam接收下发的第一安全策略字段,包括:

在所述每组tcam接收下发的第一安全策略字段时,每条安全策略分为不同层级的第一安全策略字段;

在多条安全策略对应同一层级的多个第一安全策略字段全部相同时,所在层级的tcam的一存储空间存储与自身层级对应的一个第一安全策略字段,所述一个第一安全策略字段是所述同一层级的多个第一安全策略字段合并而成的。

可选的,至少一个所述策略信息中还包括第二安全策略关联动作信息,至少一组tcam中任一组tcam使用的匹配关键字中还包括自身所述层级的前一层级ram输出的所述第二安全策略关联动作信息。

可选的,所述汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,包括:

汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行重封装后转发。

第二方面,本发明一实施例提供了一种现场层设备,包括:

工业流程控制管理模块、异构现场设备集成模块、工业管理软件加载模块和现场总线通讯协议模块;

所述工业管理软件加载模块用于初始化加载所述现场层设备的运行程序,所述工业流程管理模块用于接收用户下发的报文并将所述报文发送给所述现场总线通讯协议模块,所述现场总线通讯协议模块用于对报文进行安全策略匹配并把针对所述报文的操作结果发送给所述异构现场设备集成模块;

所述现场总线通讯协议模块包括安全策略处理逻辑单元、多组三态内容寻址存储器tcam和多组随机存取存储器ram,一组tcam与一组ram对应连接,所述安全策略处理逻辑单元与每组tcam和每组ram分别连接;

所述现场总线通讯协议模块对所述报文进行安全策略匹配时,每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字;

接收到匹配关键字的任一组tcam将所述匹配关键字与自身存储的第一安全策略字段进行匹配,获得匹配结果;

所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息,其中,所述策略信息包括安全策略关联id和第一安全策略动作信息,任一组tcam接收到的匹配关键字,基于自身所在层级的前一层级的ram输出的策略信息中的所述安全策略关联id生成;

所述安全策略处理逻辑单元用于汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。

可选的,在每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字之前,每组tcam接收下发的第一安全策略字段;其中,所述每组tcam中存储的第一安全策略字段为用户下发的安全策略中与所述每组tcam所在的层级相对应的字段。

可选的,所述每组tcam接收下发的第一安全策略字段,包括:

在所述每组tcam接收下发的第一安全策略字段时,每条安全策略分为不同层级的第一安全策略字段;

在多条安全策略对应同一层级的多个第一安全策略字段全部相同时,所在层级的tcam的一存储空间存储与自身层级对应的一个第一安全策略字段,所述一个第一安全策略字段是所述同一层级的多个第一安全策略字段合并而成的。

可选的,至少一个所述策略信息中还包括第二安全策略关联动作信息,至少一组tcam中任一组tcam使用的匹配关键字中还包括自身所述层级的前一层级ram输出的所述第二安全策略关联动作信息。

可选的,所述安全策略处理逻辑单元具体用于:

汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行重封装后转发。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

(1)针对网络中各层次下发的安全策略之间可以通过安全策略关联id号进行级联,相比于不进行级联的安全策略,其优点是实现窄位宽tcam的宽字段匹配,进而实现范围更大,精确性更好的安全策略匹配。此外,在多级tcam联合过程中,前一级匹配的获得的策略信息中的安全策略关联动作信息可以用于决定下一级匹配所使用匹配关键字的构成,进而实现特征信息的灵活匹配。

(2)tcam中单个周期即可完成输入信息与存储信息之前的匹配,存储信息的多少、掩码种类以及待匹配字段的长度均对匹配速度没有影响,匹配速度快。

(3)在tcam中添加、删除和修改单个待匹配表项,不会对其他待匹配表项产生影响,待匹配表项维护比较简单;单个待匹配表项同时支持多种范围特征报文的匹配,单个待匹配表项覆盖范围较大。

附图说明

图1a为本发明实施例中工业互联网操作系统的功能架构图;

图1b为本发明实施例中安全策略匹配方法的第一流程图;

图2为本发明实施例中现场总线通讯协议模块的第一示意图;

图3为本发明实施例中现场层设备的第一示意图。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

在实际应用中,工业互联网操作系统是实现网络化工业控制、云工业控制、可视化工厂和工业大数据分析等的基础系统,也是实现控制信息流、管理信息流和供应链信息流之间交互融合的统一系统,是实现工业现场可控性的可靠保障。如图1a所示的工业互联网操作系统的功能架构图中,工业互联网操作系统至少包括:应用层、云控制层和现场层,其中,应用层至少包括:统一的工业建模标准模块31、软件定义工业流程模块32和工业可视化管理模块33;云控制层至少包括:实时数据库模块21、工业私有云平台22和工业大数据分析平台23;现场层至少包括:现场总线通讯协议模块14、工业流程控制管理模块11、异构现场设备集成模块12和工业管理软件加载模块13。此外,工业互联网操作系统还包括涵盖应用层、云控制层和现场层的工业数据安全模块。对于现场总线通讯协议模块14,现有技术中存在安全策略匹配过程复杂,且待匹配表项维护复杂,在匹配过程中匹配速度较慢和匹配效率较低的技术问题。

为了解决上述技术问题,本发明实施例中的技术方案的总体思路如下:一种基于现场层设备的报文的安全策略匹配方法和现场层设备,其特征在于,所述现场层设备包括工业流程控制管理模块、异构现场设备集成模块、工业管理软件加载模块和现场总线通讯协议模块,所述工业管理软件加载模块初始化加载所述现场层设备的运行程序;所述工业流程管理模块接收用户下发的报文并将所述报文发送给所述现场总线通讯协议模块,所述现场总线通讯协议模块对报文进行安全策略匹配并把针对所述报文的操作结果发送给所述异构现场设备集成模块;所述现场总线通讯协议模块包括多组三态内容寻址存储器tcam和多组随机存取存储器ram,一组tcam与一组ram对应连接;所述现场总线通讯协议模块对所述报文进行安全策略匹配的方法包括:按照所述报文的处理流程的先后顺序每组tcam接收与tcam层级对应的匹配关键字;接收到匹配关键字的任一组tcam将所述匹配关键字与自身存储的第一安全策略字段进行匹配,获得匹配结果;所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息,其中,所述策略信息包括安全策略关联id和第一安全策略动作信息,任一tcam接收到的匹配关键字,基于自身所在层级的前一层级的ram输出的策略信息中的所述安全策略关联id生成;汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。

本发明以下实施例中报文的处理流程可以是对报文进行层信息的解析处理、或者对报文进行其他信息的提取的处理,具体处理流程可以根据实际的安全策略匹配的需要进行设定,在本发明实施例中不做具体限定。

如图1b所示,本发明实施例一提供了一种基于现场层设备的报文的安全策略匹配方法,其特征在于,所述现场层设备包括工业流程控制管理模块、异构现场设备集成模块、工业管理软件加载模块和现场总线通讯协议模块,所述工业管理软件加载模块初始化加载所述现场层设备的运行程序;所述工业流程管理模块接收用户下发的报文并将所述报文发送给所述现场总线通讯协议模块,所述现场总线通讯协议模块对报文进行安全策略匹配并把针对所述报文的操作结果发送给所述异构现场设备集成模块;所述现场总线通讯协议模块包括多组三态内容寻址存储器tcam和多组随机存取存储器ram,一组tcam与一组ram对应连接;所述现场总线通讯协议模块对所述报文进行安全策略匹配的方法包括:

s101,按照所述报文的处理流程的先后顺序每组tcam接收与tcam层级对应的匹配关键字;

s102,接收到匹配关键字的任一组tcam将所述匹配关键字与自身存储的第一安全策略字段进行匹配,获得匹配结果;

s103,所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息,其中,所述策略信息包括安全策略关联id和第一安全策略动作信息,任一tcam接收到的匹配关键字,基于自身所在层级的前一层级的ram输出的策略信息中的所述安全策略关联id生成;

s104,汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。

在本发明实施例中,汇聚的方式一般与具体的应用场景有关,本发明实施例不做具体限定。例如,对于丢弃标识一般采用“或”的方式进行聚合,只要有一个层级标识丢弃,报文就会被丢弃。对于镜像标识可以根据每一级的结果将报文镜像多份,也可以按优先级只按优先级最高的策略进行镜像(一份)。

在上述方法中,后一层级tcam接收的匹配关键字包括与自身相连接的前一层级ram输出的策略信息中的安全策略关联id,这样,同一报文对应的不同层级的安全策略字段就可以关联起来。

在所述步骤s101之前,所述方法还可以包括:每组tcam接收下发的第一安全策略字段;其中,所述每组tcam中存储的第一安全策略字段为用户下发的安全策略中与所述每组tcam所在的层级相对应的字段。具体地,每条安全策略分为不同层级的第一安全策略字段;在多条安全策略对应同一层级的多个第一安全策略字段全部相同时,所在层级的tcam的一存储空间存储与自身层级对应的一个第一安全策略字段,所述一个第一安全策略字段是所述同一层级的多个第一安全策略字段合并而成的,这样极大的扩展了存储的容量。

对于现场总线通讯协议模块包括的多组三态内容寻址存储器tcam和多组随机存取存储器ram,一组tcam中可以包括一个或多个tcam,同样,一组ram中也可以包括一个或多个ram,具体的tcam和ram的数量根据需要存储的安全策略字段所占用的存储空间的大小决定。

例如,如果100条安全策略对于某一层级的一个tcam的100个第一安全策略字段都是相同的,则将这100个第一安全策略字段作为一个安全策略字段存储在该tcam中,这样相当于节省了tcam的存储空间,进而在占用相同存储空间的情况下提升了所支持的安全策略的数量。同样,其他的tcam在存储第一安全策略字段时,也可以采用这种存储方式。理想情况下系统所支持的最大安全策略数量相当于各个tcam条目数的总和。

一个tcam也可以划分成不同的面积,存储与自身层级对应的不同的第一安全策略字段,所述第一安全策略字段用于匹配所述报文的相应处理流程中的特征字段。另外,一组tcam和一组ram可以集成在一个芯片中,或者一组tcam和一组ram分别集成在不同的芯片中,除了芯片的形式,一组tcam和一组ram也可以是其他的具体呈现方式(例如pcb电路板等)。此处仅为举例,不做具体限定。

在执行完步骤s101和s102之后,继续执行步骤s103和步骤s104,所述步骤s103和s104具体可以通过两种方式实现:

方式一:任一组tcam接收到的匹配关键字包括前一层级tcam获得的策略信息中的安全策略关联id;所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息;

汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。对所述报文进行操作包括对所述报文进行转发、丢弃、镜像或者重定向的操作。

方式二:任一组tcam接收到的匹配关键字包括前一层级tcam获得的策略信息中的安全策略关联id,其中至少一组tcam接收到的匹配关键字除包括前一层级tcam获得的策略信息中的安全策略关联id外,还可以包括前一层级ram输出的策略信息中的安全策略关联动作信息。即至少一个所述策略信息中还包括第二安全策略关联动作信息,至少一组tcam中任一组tcam使用的匹配关键字中还包括自身所述层级的前一层级ram输出的所述第二安全策略关联动作信息;

汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息和第二安全策略关联动作信息,对所述报文进行操作,获得操作结果。对所述报文进行操作包括对所述报文进行转发、丢弃、镜像或者重定向的操作。

以图2为例,对上述两种方式进行具体说明,假设现场总线通讯协议模块包括3组tcam和3组ram,(根据报文的处理流程的具体需要,tcam和ram的组数可以为2组、3组甚至更多,此处仅为举例,并不仅限于3组),分别为tcam_1和ram_1,tcam_2和ram_2,tcam_3和ram_3;安全策略处理逻辑单元201与3组tcam和3组ram分别连接。

在该现场总线通讯协议模块中,报文的处理流程以层信息的处理为例(但并不限于层信息的处理),假设一条报文对应的报文表项包括二层信息(例如:mac,vlan)、三层信息(例如:源、目的ip、tos等字段)和四层信息(例如:源、目的端口号),在本发明实施例中,分别将二层信息、三层信息和四层信息需要匹配的第一安全策略字段分别存储在不同层级的的tcam中。

假设一条报文的二层信息需要匹配的二层特征的安全字段存储在tcam_1中,该报文的三层信息需要匹配的三层特征的安全字段存储在tcam_2中,该报文的四层信息需要匹配的四层特征的安全字段存储在tcam_3中。

本实施例中上述方式一的具体实现方式如下:

解析出报文的二层信息,利用该二层信息生成tcam_1使用的匹配关键字,将该匹配关键字发送给tcam_1,该匹配关键字在tcam_1中存储的第一安全策略字段中进行二层特征的匹配,获得匹配结果;tcam_1将匹配结果发送给ram_1,将该匹配结果在ram_1中进行索引,输出策略信息(包括安全策略关联id和第一安全策略动作信息)。

基于输出的策略信息,生成tcam_2使用的匹配关键字。具体地,解析出报文的三层信息,并根据ram_1发送的策略信息生成tcam_2使用的匹配关键字(包括三层信息和tcam_1输出的策略信息中的安全策略匹配id);该匹配关键字在tcam_2中存储的第一安全策略字段中进行三层特征的匹配,获得匹配结果;tcam_2将匹配结果发送给ram_2,将该匹配结果在ram_2中进行索引,输出策略信息(包括安全策略关联id和第一安全策略动作信息)。

可采用与处理报文的三层信息的相同的方式,处理报文的四层信息;以此类推。

在对该报文的匹配完成后,汇聚ram_1、ram_2和ram_3输出的第一安全策略动作信息确定对该报文的操作方式,具体可以对所述报文进行转发、丢弃、镜像或者重定向等操作。

例如,汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行重封装后转发。具体地,在某些应用场景下,安全策略需要将加入特定标识的报文镜像到特定端口,在该应用场景中,与一组tcam对应的一组ram中不仅包含镜像端口信息还包含要加入报文的相应特征标识信息(例如特定的vid号),当获得的汇聚结果表征需要对所述报文进行重封装时,将该特征信息(vid号)封装进报文后进行转发。

本实施例中上述方式二的具体实现方式如下:

假设ram_3中存储的安全策略字段中还包括有关联到下一级的第二安全策略关联字段。报文在tcam_1和ram_1、tcam_2和ram_2,中的处理过程与方式一中的过程相同,

在处理四层信息时,解析出报文的四层信息,并使用ram_2发送的策略信息提取第二安全策略关联字段(即策略信息中特定字段)进行生成tcam_3使用的灵活安全策略匹配所需的匹配关键字(包括tcam_2输出的策略信息中的安全策略匹配id);该匹配关键字在tcam_3中存储的第一安全策略字段中进行四层特征的匹配,获得匹配结果;ram_3中存储有第二安全策略关联字段,tcam_3将匹配结果发送给ram_3,将该匹配结果在ram_3中进行索引,输出策略信息,所述策略信息包括安全策略关联id、第一安全策略动作信息,由于ram_3中存储有第二安全策略关联字段,所述策略信息中还包括有给tcam_3的下一层级tcam(图2中未示出)的第二安全策略关联动作信息。例如,第二安全策略关联字段为偏移字段offset,该字段含义为,从dmac(directmemoryaccesscontroller,直接内存访问控制器)算起以字节为单位的偏移值,并从该偏移位置处提取一个32bit的字段,将该字段作为下一层级匹配关键字的一部分用于之后的匹配操作。这样做既可实现根据报文的四层信息灵活选取后续匹配所使用的字段。比如,当目的端口号为80端口时,即http(hypertexttransferprotocol,超文本传输协议)访问报文,那么可以将特征字段的提取位置设置在url(uniform/universalresourcelocator,统一资源定位符)出现的地方,进而实现对某个特定域名的访问控制。

另外,在针对某个范围目的ip地址进行封堵时,例如对于一个ip地址条目192.168.1.0~192.168.1.255,使用一个tcam中的一个第一安全策略字段即可覆盖该条目中的全部ip地址(将该条目中ip地址低8bit的掩码设置为有效),而不用针对每个ip地址单独进行设置。

该实施例针对网络中各层次下发的安全策略之间可以通过安全策略关联id号进行级联,相比于不进行级联的安全策略,其优点是实现窄位宽tcam的宽字段匹配,进而实现范围更大,精确性更好的安全策略匹配。此外,在多级tcam联合过程中,前一级匹配的获得的策略信息中的安全策略关联动作信息可以用于决定下一级匹配所使用匹配关键字的构成,进而实现特征信息的灵活匹配。

如图3所示,本发明实施例二提供了一种现场层设备,包括:

工业流程控制管理模块11、异构现场设备集成模块12、工业管理软件加载模块103和现场总线通讯协议模块14;

所述工业管理软件加载模块13用于初始化加载所述现场层设备的运行程序,所述工业流程管理模块11用于接收用户下发的报文并将所述报文发送给所述现场总线通讯协议模块104,所述现场总线通讯协议模块14用于对报文进行安全策略匹配并把针对所述报文的操作结果发送给所述异构现场设备集成模块12;

所述现场总线通讯协议模块14包括安全策略处理逻辑单元201、多组三态内容寻址存储器tcam101-10n和多组随机存取存储器ram111-11n,一组tcam与一组ram对应连接,所述安全策略处理逻辑单元201与每组tcam和每组ram分别连接;

所述现场总线通讯协议模块14对所述报文进行安全策略匹配时,每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字;

接收到匹配关键字的任一组tcam将所述匹配关键字与自身存储的第一安全策略字段进行匹配,获得匹配结果;

所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息,其中,所述策略信息包括安全策略关联id和第一安全策略动作信息,任一组tcam接收到的匹配关键字,基于自身所在层级的前一层级的ram输出的策略信息中的所述安全策略关联id生成;所述安全策略处理逻辑单元201用于汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。

在该现场总线通讯协议模块中,汇聚的方式一般与具体的应用场景有关,本发明实施例不做具体限定。例如,对于丢弃标识一般采用“或”的方式进行聚合,只要有一个层级标识丢弃,报文就会被丢弃。对于镜像标识可以根据每一级的结果将报文镜像多份,也可以按优先级只按优先级最高的策略进行镜像(一份)。

该设备中,后一层级tcam接收的匹配关键字包括与自身相连接的前一层级ram输出的策略信息中的安全策略关联id,这样,同一报文对应的不同层级的安全策略字段就可以关联起来。

该现场总线通讯协议模块中,在每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字之前,每组tcam接收下发的第一安全策略字段;其中,所述每组tcam中存储的第一安全策略字段为用户下发的安全策略中与所述每组tcam所在的层级相对应的字段,这样极大的扩展了tcam的容量。

该现场总线通讯协议模块中,一组tcam中可以包括一个或多个tcam,同样,一组ram中也可以包括一个或多个ram,具体的tcam和ram的数量根据需要存储的安全策略字段所占用的存储空间的大小决定。

例如,如果100条安全策略对于某一层级的一个tcam的100个第一安全策略字段都是相同的,则将这100个第一安全策略字段作为一个安全策略字段存储在该tcam中,这样相当于节省了tcam的存储空间,进而在占用相同存储空间的情况下提升了所支持的安全策略的数量。同样,其他的tcam在存储第一安全策略字段时,也可以采用这种存储方式。理想情况下系统所支持的最大安全策略数量相当于各个tcam条目数的总和。

一个tcam也可以划分成的不同的面积存储与自身层级对应的不同的第一安全策略字段,所述第一安全策略字段用于匹配所述报文的相应处理流程中的特征字段。另外,一组tcam和一组ram可以集成在一个芯片中,或者一组tcam和一组ram分别集成在不同的芯片中,除了芯片的形式,一组tcam和一组ram也可以是其他的具体呈现方式(例如pcb电路板等)。此处仅为举例,不做具体限定。

该现场总线通讯协议模块中,每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字。每组tcam按照所述报文的处理流程的先后顺序接收与tcam层级对应的匹配关键字;任一组tcam接收到的匹配关键字除包括前一层级tcam获得的策略信息中的安全策略关联id外,还可以包括前一层级ram输出的策略信息中的安全策略关联动作信息。

基于匹配关键中包括的内容的不同,该现场总线通讯协议模块中的具体匹配方式可以通过两种方式实现:

方式一:

任一组tcam接收到的匹配关键字包括前一层级tcam获得的策略信息中的安全策略关联id;所述接收到匹配关键字的任一组tcam将所述匹配结果发送至与自身连接的一组ram中进行索引,输出策略信息;

安全策略处理逻辑单元汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行操作,获得操作结果。对所述报文进行操作包括对所述报文进行转发、丢弃、镜像或者重定向的操作。

方式二:

任一组tcam接收到的匹配关键字包括前一层级tcam获得的策略信息中的安全策略关联id,其中至少一组tcam接收到的匹配关键字除包括前一层级tcam获得的策略信息中的安全策略关联id外,还可以包括前一层级ram输出的策略信息中的安全策略关联动作信息。即至少一个所述策略信息中还包括第二安全策略关联动作信息,至少一组tcam中任一组tcam使用的匹配关键字中还包括自身所述层级的前一层级ram输出的所述第二安全策略关联动作信息;

安全策略处理逻辑单元汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息和第二安全策略关联动作信息,对所述报文进行操作,获得操作结果。对所述报文进行操作包括对所述报文进行转发、丢弃、镜像或者重定向的操作。

以图2为例,对上述两种方式进行具体说明,假设现场总线通讯协议模块包括3组tcam和3组ram,(tcam和ram的组数可以为2组、3组甚至更多,此处仅为举例,并不仅限于3组),分别为tcam_1和ram_1,tcam_2和ram_2,tcam_3和ram_3;安全策略处理逻辑单元201与3组tcam和3组ram分别连接。

在该现场总线通讯协议模块中,报文的处理流程以层信息的处理为例(但并不限于层信息的处理),假设一条报文对应的报文表项包括二层信息(例如:mac,vlan)、三层信息(例如:源、目的ip、tos等字段)和四层信息(例如:源、目的端口号),在本发明实施例中,分别将二层信息、三层信息和四层信息需要匹配的第一安全策略字段分别存储在不同层级的tcam中。

假设一条报文的二层信息需要匹配的二层特征的安全策略字段存储在tcam_1中,该报文的三层信息需要匹配的三层特征的安全策略字段存储在tcam_2中,该报文的四层信息需要匹配的四层特征的安全策略字段存储在tcam_3中。

本实施例中上述方式一的具体实现方式如下:

安全策略处理逻辑单元201解析出报文的二层信息,利用该二层信息生成tcam_1使用的匹配关键字,将该匹配关键字发送给tcam_1,该匹配关键字在tcam_1中存储的第一安全策略字段中进行二层特征的匹配,获得匹配结果;tcam_1将匹配结果发送给ram_1,将该匹配结果在ram_1中进行索引,输出策略信息(包括安全策略关联id和第一安全策略动作信息)。ram_1将自身输出的策略信息发送给安全策略处理逻辑单元201。

安全策略处理逻辑单元201解析出报文的三层信息,并根据ram_1发送的策略信息生成tcam_2使用的匹配关键字(包括三层信息和tcam_1输出的策略信息中的安全策略匹配id);该匹配关键字在tcam_2中存储的第一安全策略字段中进行三层特征的匹配,获得匹配结果;tcam_2将匹配结果发送给ram_2,将该匹配结果在ram_2中进行索引,输出策略信息(包括安全策略关联id和第一安全策略动作信息)。ram_2将自身生成的策略信息发送给安全策略处理逻辑单元201。

安全策略处理逻辑单元201可采用与处理报文的三层信息的相同的方式,处理报文的四层信息;以此类推。

在对该报文的匹配完成后,安全策略处理逻辑单元201汇聚ram_1、ram_2和ram_3输出的第一安全策略动作信息确定对该报文的操作方式,具体可以对所述报文进行转发、丢弃、镜像或者重定向等操作。

例如,汇聚各层级ram输出的策略信息中的所述第一安全策略动作信息,对所述报文进行重封装后转发。具体地,在该应用场景中,与一组tcam对应的一组ram中不仅包含镜像端口信息还包含要加入报文的相应特征标识信息(例如特定的vid号),当安全策略处理逻辑单元201获得的汇聚结果表征需要对所述报文进行重封装时,在安全策略处理逻辑单元201中的重封装单元将该特征信息(vid号)封装进报文后,安全策略处理逻辑单元201对该报文进行转发。

本实施例中上述方式二的具体实现方式如下:

报文在tcam_1和ram_1、tcam_2和ram_2中的处理过程与方式一中的过程相同,

在处理四层信息时,安全策略处理逻辑单元201解析出报文的四层信息,并使用ram_2发送的策略信息提取第二安全策略关联字段(即策略信息中的特定字段)进行生成tcam_3使用的灵活安全策略匹配所需的匹配关键字(包括tcam_2输出的策略信息中的安全策略匹配id);该匹配关键字在tcam_3中存储的第一安全策略字段中进行四层特征的匹配,获得匹配结果;ram_3中存储有第二安全策略关联字段,tcam_3将匹配结果发送给ram_3,将该匹配结果在ram_3中进行索引,输出策略信息,所述策略信息包括安全策略关联id和第一安全策略动作信息,由于ram_3中存储的安全策略字段中还包括有关联到下一级的第二安全策略关联字段,所述策略信息中还包括有给tcam_3的下一层级tcam(图2中未示出)的第二安全策略关联动作信息。例如,第二安全策略关联字段为偏移字段offset,该字段含义为,从dmac算起以字节为单位的偏移值,并从该偏移位置处提取一个32bit的字段,将该字段作为下一层级匹配关键字的一部分用于之后的匹配操作。这样做既可实现根据报文的四层信息灵活选取后续匹配所使用的字段。比如,当目的端口号为80端口时,即http访问报文,那么可以将特征字段的提取位置设置在url出现的地方,进而实现对某个特定域名的访问控制。

另外,在针对某个范围目的ip地址进行封堵时,例如对于一个ip地址条目192.168.1.0~192.168.1.255,使用一个tcam中的一个第一安全策略字段即可覆盖该条目中的全部ip地址(将该条目中ip地址低8bit的掩码设置为有效),而不用针对每个ip地址单独进行设置。

该实施例针对网络中各层次下发的安全策略之间可以通过安全策略关联id号进行级联,相比于不进行级联的安全策略,其优点是实现窄位宽tcam的宽字段匹配,进而实现范围更大,精确性更好的安全策略匹配。此外,在多级tcam联合过程中,前一级匹配的获得的策略信息中的安全策略关联动作信息可以用于决定下一级匹配所使用匹配关键字的构成,进而实现特征信息的灵活匹配。

上述本发明实施例中的技术方案,至少具有还如下的技术效果或优点:

tcam中单个周期即可完成输入信息与存储信息之前的匹配,存储信息的多少、掩码种类以及待匹配字段的长度均对匹配速度没有影响,匹配速度快。

在tcam中添加、删除和修改单个待匹配表项,不会对其他待匹配表项产生影响,待匹配表项维护比较简单;单个待匹配表项同时支持多种范围特征报文的匹配,单个待匹配表项覆盖范围较大。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1