一种基于fpga的网络安全连接封堵处理方法

文档序号:7896232阅读:243来源:国知局
专利名称:一种基于fpga的网络安全连接封堵处理方法
技术领域
本发明涉及网络安全领域,具体涉及一种基于FPGA的网络安全连接封堵处理方 法。
背景技术
目前,在企业内部办公网络中,对网络访问控制,内容过滤,内容审计,以及网络安 全等领域中,需要对网络使用情况进行监控。一般采用旁路监听的方式来减轻网关或路由 器的负担。但旁路的控制需要增加额外的单元,增加额外成本。

发明内容

本发明提供一种采用FPGA实现了网络协议中安全连接封堵处理的方法,可解放 CPU的利用率,从而提高主机的性能。一种基于FPGA的网络安全连接封堵处理方法,包括网络数据存储器,用户规则存 储器,特征比较器;基于FPGA状态机控制实现,步骤如下A、接收外部网络数据包,将数据包暂存于网络数据存储器;B、检测网络数据包的特征值,包括源目IP地址,源目端口以及协议,并监控报文 的控制比特;C、对于特征值与设定的源目IP地址,源目端口以及协议一致的数据包,命中的数 据包查询对应的动作,根据规则过滤结果,分析包头信息及过滤动作,判断是否发送封堵包 以及发送哪种类型的封堵包;D、发送根据发包动作构造伪造的数据包,打断网络连接。本发明的一种优选技术方案在于所述封堵包是根据前端模块过滤结果以及提供 的包头信息组包产生。本发明实现安全连接封堵处理,并在读写数据包时采用了乒乓操作,增大对数据 流量的处理速度。通过发送伪造的数据包中断非法的TCP连接,可以有效地中断一些非法 网站的连接,以提高网络的安全性能。


图1为封堵包模块的结构框2为封堵包数据结构;图3为过滤规则图4为组包设计的状态机
具体实施例方式本发明采用FPGA实现了网络协议中安全连接封堵处理的方法,可解放CPU,从而提高主机的性能,该方法主要检测网络数据包的源目IP地址,源目端口以及协议,并监控 报文的控制比特,对于与设定的源目IP地址,源目端口以及协议一致的数据包,命中的数 据包根据规则过滤结果,分析包头信息及过滤动作,判断是否发送封堵包以及发送哪种类 型的封堵包。通过发送伪造的数据包使一个TCP连接中断,可以有效地中断一些非法网站 的连接,以利于保护网络的安全性能。产生的封堵包是根据前端模块过滤结果以及提供的包头信息来组包。考虑到封堵 包要求快速发出,而且封堵包长度很小(IP包长为40字节),肯定不需要分片,因此,封堵包 模块直接通过发送接口发送出去,保证数据发送较及时。各个模块功能如下GenBlockingPkt 生成封堵包,并根据不同的端口将数据写入缓冲区;其中端口 0、1(同一个时钟域)的数据写入第O个缓冲区;端口 2、3(同一个时钟域)的数据写入第1 个缓冲区。BlockingPktBufffrCtrl BlockingPktBuf 封堵包缓冲区,每个包的数据长度为54字节(14+20+20),因此 可用 分布式RAM实现。BlockingPktBufRdCtrl 封堵包缓冲区读控制模块。与TxCtrl模块交互,实现将 数据从缓冲区中读出,经TxCtrl模块发送出去。RAMSelCtrl模块内部设计了两块RAM,每块RAM对应两个端口,由软件通过写寄 存器控制RAM的选择,本模块实现由两块RAM到四个端口的对应。各个状态机执行的动作如下IDLE 初始状态,当有封堵包产生包请求过来,且两块RAM中有空闲时,则跳转到 下一状态,需要根据发包动作,确定需要发送包的类型、双向还是单向等信息;PRESTATE 计算 TTL、Window、Identification 等域的值,保持一个周期;WRDATA 将前端模块传递过来的包头信息,按照缓冲区数据定义填入RAM中,注意 同时需要计算IP头Checksum和TCP Checksum,考虑到计算CheckSum需要多个周期,而且 需要折叠相加,因此在此状态只进行计算,并不将Checksum结果填入RAM中;固定周期,共 13个周期即可;IPCHKSUM 将 IP 头 CheckSum 字段填入 RAM 中,一个周期;TCPCHKSUM 将TCP CheckSum字段填入RAM中,同时发出数据包准备好的信号,一 个周期;当还有别的包需要发送时,则跳转到NEXTPKT状态,否则跳转到IDLE ;NEXTPKT 当有RAM处于空闲状态时,则跳转到PRESTATE ;否则等待。N0PKTSEND:没有数据需要发送,直接返回。特别需要注意的是,本模块需要计算两个checksum =IP和TCP。在GTP时钟下实现RAM的读操作,在设计中用到了两个不同的RAM分别对应不同 时钟域。
权利要求
1.一种基于FPGA的网络安全连接封堵处理方法,其特征在于包括网络数据存储器, 用户规则存储器,特征比较器;基于FPGA状态机控制实现,步骤如下A、接收外部网络数据包,将数据包暂存于网络数据存储器;B、检测网络数据包的特征值,包括源目IP地址,源目端口以及协议,并监控报文的控 制比特;C、对于特征值与设定的源目IP地址,源目端口以及协议一致的数据包,命中的数据包 查询对应的动作,根据规则过滤结果,分析包头信息及过滤动作,判断是否发送封堵包以及 发送哪种类型的封堵包;D、发送根据发包动作构造伪造的数据包,打断网络连接。
2.如权利要求1所述一种基于FPGA的网络安全连接封堵处理方法,其特征在于所述 封堵包是根据前端模块过滤结果以及提供的包头信息组包产生。
全文摘要
本发明提供了一种基于FPGA的网络安全连接封堵处理方法和装置。装置包括网络数据存储器,用户规则存储器,特征比较器。接收外部网络数据包,将数据包暂存于网络数据存储器;检测网络数据包的特征值,包括源目IP地址,源目端口以及协议,并监控报文的控制比特;对于特征值与设定的源目IP地址,源目端口以及协议一致的数据包,命中的数据包查询对应的动作,根据规则过滤结果,分析包头信息及过滤动作,判断是否发送封堵包以及发送哪种类型的封堵包;发送根据发包动作构造伪造的数据包,打断网络连接。本发明实现安全连接封堵处理,并在读写数据包时采用了乒乓操作,增大对数据流量的处理速度。通过发送伪造的数据包中断非法的TCP连接,可以有效地中断一些非法网站的连接,以提高网络的安全性能。
文档编号H04L29/06GK102098289SQ201010597790
公开日2011年6月15日 申请日期2010年12月17日 优先权日2010年12月17日
发明者张磊, 张英文, 李静, 白宗元, 纪奎 申请人:天津曙光计算机产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1