一种基于现场可编程门阵列的防火墙装置的制作方法

文档序号:17147759发布日期:2019-03-19 23:08阅读:157来源:国知局
一种基于现场可编程门阵列的防火墙装置的制作方法

本发明涉及一种基于现场可编程门阵列的防火墙装置,即一种采用fpga(fieldprogrammablegatearray)现场可编程门阵列器件的防火墙装置,属于计算机网络安技术领域。



背景技术:

防火墙是位于外部网络和内部网络之间的信息安全防护设备,它按照预先定义好的安全策略和规则,监视和控制外部用户对内部资源的访问,对进出内、外网络的通讯数据进行解析和过滤,从而可最大限度地阻挡互联网上的各种非法访问和网络攻击。

网络中的数据是由一个个数据包组成,防火墙对每个数据包的解析和过滤要耗费系统资源。已有的防火墙的结构如图1所示,是在x86通用cpu中央处理器硬件平台和通用操作系统环境下,利用专门的分组信息过滤软件来实现的。随着网络流量和网络应用种类的不断增长,对网络数据流的实时分析和过滤所面临的压力越来越大,受通用cpu串行处理能力和pci总线速度的制约,现有防火墙很难应对目前的网络数据内容过滤和实时处理的要求,难以适应当前快速增长的网络速度。此外,基于x86通用处理器硬件平台和通用操作系统的防火墙,其安全性主要依赖于通用cpu和操作系统,因此存在较大的硬件恶意后门和软件安全漏洞的安全风险。



技术实现要素:

本发明的目的是提出一种基于现场可编程门阵列的防火墙装置,用于进行数据包过滤,其中的现场可编程门阵列(以下简称fpga)器件作为独立的子系统,以并行处理方式对数据包进行解析和过滤,以大幅度降低防火墙的安全过滤延迟,提高防火墙的处理能力

本发明提出的基于现场可编程门阵列的防火墙装置,包括:

中央处理器,用于对现场可编程门阵列器件进行初始化、配置和管理,对现场可编程门阵列器件的运算逻辑、连线资源和i/o模块进行配置,构建用于数据包收发、分类以及固定字段模式匹配的专用任务运算电路,对网络规则表维护升级,并将嵌入式数据包过滤软件装载到现场可编程门阵列器件,中央处理器通过内部总线与内存相连;

内存,用于暂时存放中央处理器中的运算数据,以及中央处理器与外部存储器交换的数据;

外存,用于存放防火墙装置运行的程序和数据,外存与中央处理器之间通过高速串行计算机扩展总线相连;

高速串行计算机扩展总线接口,用于现场可编程门阵列器件与中央处理器的互相连接;

现场可编程门阵列器件,用于运行嵌入式数据包过滤软件,并根据规则表对进出现场可编程门阵列器件的网络数据包进行监视和过滤,在网络数据包的网络层中使用专用任务运算电路实现数据包的收发、分类以及固定字段模式匹配,在网络数据包的应用层中利用嵌入式软件解析和过滤网络数据包,若数据包满足规则表内的规则,则现场可编程门阵列器件将该数据包通过内部网络接口发送给内部网络,若数据包不满足规则表内的规则,则现场可编程门阵列器件直接丢弃该数据包,现场可编程门阵列器件通过高速串行计算机扩展总线接口与中央处理器相连,现场可编程门阵列器件通过外部网络接口与互联网相连,现场可编程门阵列器件通过内部网络接口与内部网络相连;

外部网络接口,用于接收外部网络数据,并将外部网络数据传送给现场可编程门阵列器件;

内部网络接口,用于将现场可编程门阵列器件过滤后的网络数据发送到内部网络。

本发明提出的基于现场可编程门阵列的防火墙装置,其优点是:

本发明防火墙装置中的fpga器件,通过外部网络接口接收外部网络数据,对接受到的网络数据包与规则表规则进行比对。如果数据包满足规则表规则,fpga器件则将该数据包通过网络接口发送给内部网络。如果数据包不满足规则表规则,fpga器件则直接丢弃该数据包。由于fpga器件以独立子系统的方式在网络层使用硬件实现数据包的收发、分类以及固定字段模式匹配,在应用层采用并行处理方式解析和过滤网络数据包,因此可以大幅度降低防火墙的安全过滤延迟,使防火墙的处理能力达到千兆以上。此外,本发明提出的fpga防火墙装置中的通用cpu和操作系统不参与网络数据包的解析和过滤,只进行fpga的配置与管理,因此其安全性与通用cpu和操作系统无关,可免受硬件恶意后门和软件安全漏洞的威胁。

附图说明

图1是已有的通用cpu中央处理器防火墙装置结构示意图。

图2是本发明提出的基于现场可编程门阵列的防火墙装置的结构示意图。

具体实施方式

本发明提出的基于现场可编程门阵列的防火墙装置,其结构如图2所示,包括:

中央处理器,用于对现场可编程门阵列器件进行初始化、配置和管理,对现场可编程门阵列器件的运算逻辑、连线资源和i/o模块进行配置,构建用于数据包收发、分类以及固定字段模式匹配的专用任务运算电路,对网络规则表维护升级,并将嵌入式数据包过滤软件装载到现场可编程门阵列器件,中央处理器通过内部总线与内存相连;

内存,用于暂时存放中央处理器中的运算数据,以及中央处理器与外部存储器交换的数据;

外存,用于存放防火墙装置运行的程序和数据,外存与中央处理器之间通过高速串行计算机扩展总线相连;

高速串行计算机扩展总线接口,用于现场可编程门阵列器件与中央处理器的互相连接;

现场可编程门阵列器件,用于运行嵌入式数据包过滤软件,并根据规则表对进出现场可编程门阵列器件的网络数据包进行监视和过滤,在网络数据包的网络层中使用专用任务运算电路实现数据包的收发、分类以及固定字段模式匹配,在网络数据包的应用层中利用嵌入式软件解析和过滤网络数据包,若数据包满足规则表内的规则,则现场可编程门阵列器件将该数据包通过内部网络接口发送给内部网络,若数据包不满足规则表内的规则,则现场可编程门阵列器件直接丢弃该数据包,现场可编程门阵列器件通过高速串行计算机扩展总线接口与中央处理器相连,现场可编程门阵列器件通过外部网络接口与互联网相连,现场可编程门阵列器件通过内部网络接口与内部网络相连;

外部网络接口,用于接收外部网络数据,并将外部网络数据传送给现场可编程门阵列器件;

内部网络接口,用于将现场可编程门阵列器件过滤后的网络数据发送到内部网络。

本发明的基于fpga现场可编程门阵列防火墙装置,包括cpu中央处理器、内存、外存、高速串行计算机扩展总线接口(以下简称pcie)、现场可编程门阵列、外部网络接口和内部网络接口。cpu通过内部总线与内存相连,外存与cpu通过pcie总线相连,fpga现场可编程门阵列器件通过pice接口与cpu相连,fpga现场可编程门阵列器件通过外部网络接口与互联网相连,fpga现场可编程门阵列器件通过内部网络接口与内部网络相连。

本发明提出的fpga现场可编程门阵列器件防火墙装置中,cpu用于对fpga器件进行初始化和管理,对fpga的运算逻辑、连线资源和i/o模块进行配置,构建数据包收发、分类以及固定字段模式匹配等专用任务运算电路,对网络规则表维护升级,并将嵌入式数据包过滤软件及规则表装载到fpga中。本其中的内存用于暂时存放cpu中的运算数据,以及与外部存储器交换的数据。

本发明提出的基于现场可编程门阵列的防火墙装置的工作原理是:

装置上电时,cpu从外存读取fpga管理软件对fpga进行初始化,对fpga的运算逻辑、连线资源和i/o模块进行配置,构建数据包收发、分类以及固定字段模式匹配等专用任务运算电路,并将外存中的嵌入式数据包过滤软件和规则表装载到fpga。外部网络接口从外网接收网络数据,并将外部网络数据传送给fpga。fpga器件运行嵌入式数据包过滤软件,并根据规则表对进出fpga的网络数据包进行监视和过滤。如果数据包满足规则表规则,fpga器件则将该数据包通过内部网络接口发送给内部网络。如果数据包不满足规则表规则,fpga器件则直接丢弃该数据包。

本发明提出的现场可编程门阵列防火墙装置的一个实施例中,cpu采用intel(英特尔)酷睿i5-8300cpu芯片,fpga使用xilinx(赛灵思)公司的virtex-7fpga芯片,外部网络接口和内部网络接口采用broadcom(博通)公司的bcm5464千兆以太网接口芯片。

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