基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf

上传人:e1 文档编号:275790 上传时间:2018-02-07 格式:PDF 页数:12 大小:1.32MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410460804.X

申请日:

2014.09.11

公开号:

CN104184744A

公开日:

2014.12.03

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/06申请日:20140911|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

东南大学

发明人:

李冰; 徐寅; 刘勇; 姜伟; 董乾; 赵霞; 王刚

地址:

214135 江苏省无锡市新区菱湖大道99号

优先权:

专利代理机构:

江苏永衡昭辉律师事务所 32250

代理人:

王斌

PDF下载: PDF下载
内容摘要

本发明公开了一种基于IPv6的IPSec安全联盟硬件查找装置,该硬件查找装置包括:IP数据包接收模块,用于接收网口传输过来的IPv6数据包,对其进行缓存并对数据包内预制参数进行提取;压缩模块,用于对IP数据包接收模块输出的数据进行位宽压缩处理;CAM查找匹配模块,用于对压缩后的数据信息进行查找和匹配;安全联盟存储模块,用于根据索引地址输出安全联盟信息。本发明采用可编程逻辑器件(FPGA)实现整个处理流程,具有高速查找的特点,提供了一种IPv6下IPSec安全联盟硬件查找实现方法和装置,有效的提高了安全联盟数据库查找的速度,提高了整个IPSec处理的效率。

权利要求书

1.  一种基于IPv6的IPSec安全联盟硬件查找装置,其特征在于,包括:
IP数据包接收模块、压缩模块、CAM查找匹配模块和安全联盟存储模块,其中:
所述IP数据包接收模块,用于接收网口传输过来的IPv6数据包,并对接收到的IPv6数据包进行缓存,随后提取所述IPv6数据包内的三元组信息,其中:所述三元组信息包括:目的IP地址、SPI值和IPSec安全协议类型;
所述压缩模块,用于对IP数据包接收模块输出的提取字段数据进行位宽压缩处理;
所述CAM查找匹配模块,用于对所述压缩模块输出的压缩后的字段数据信息与初始配置在CAM中的数据进行查找和匹配,并根据匹配结果生成索引地址;
所述安全联盟存储模块,用于所述CAM查找匹配模块输出的索引地址输出存储在RAM中的安全联盟信息。

2.
  根据权利要求1所述的装置,其特征在于,所述IP数据包接收模块进一步包括:
数据缓存子模块和三元组参数提取子模块,其中:
所述数据缓存子模块,用于将一个单位长度的IPv6数据包存储至缓存fifo中;
所述三元组参数提取子模块,用于定位和提取缓存的IPv6包中所述三元组信息,包括目的IP地址、SPI值和IPSec安全协议类型。

3.
  根据权利要求1所述的装置,其特征在于,所述压缩模块采用异或hash算法实现结构。

4.
  根据权利要求1所述的装置,其特征在于,所述CAM查找匹配模块进一步包括:
异或比较子模块和优先编码子模块,其中:
所述异或比较子模块,用于将所述压缩模块输出的压缩后的字段数据信息与配置在存储器中的初始字段数据信息逐位异或,生成三元组信息长度的标志位;
所述优先编码子模块,用于将所述异或比较子模块生成的标志位进行优先编码,生成所述索引地址。

5.
  一种基于IPv6的IPSec安全联盟硬件查找方法,其特征在于,包括以下步骤:
将配置数据分别写入CAM存储单元和安全联盟SAD存储单元中;
通过IP数据包接收模块接收网口传输过来的IPv6数据包,并对接收到的IPv6数据包进行缓存,随后提取所述IPv6数据包内的三元组信息,其中:所述三元组信息包括:目的IP地址、SPI值和IPSec安全协议类型;
通过压缩模块对拼接的三元组信息进行hash压缩处理,并将生成的数据送入CAM查找模块;
通过CAM查找匹配模块对压缩模块的输出进行解析处理,并输出匹配结果和匹配地址;
如果CAM查找结果为“存在”,则驱动安全联盟存储模块输出相应安全联盟内容,如果CAM查找结果为“不存在”,则拉低安全联盟存储模块的读使能信号。

说明书

基于IPv6的IPSec安全联盟硬件查找装置及方法
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于IPv6的IPSec安全联盟硬件查找装置及方法。  
背景技术
随着网络技术的不断革新,网络发展面临着新的挑战和机遇,网络安全的重要性越来越凸显。为了提高网络信息交互的安全性,互联网工程任务组(IETF)于1988年提出了针对网络层的IPSec协议,来弥补网络协议本身不提供安全性的缺点。另一方面,随着互联网用户数量的指数级增长,IPv4协议诸多不足逐渐显现。IETF在1994年推出了下一代网际协议IPv6,经过十余年的发展,IPv6相关技术逐渐成熟,并且已经由试验阶段走向了实用阶段。为了保证IPv6的安全特性,IEFT已规定在IPv6中强制实施IPSec安全协议。 
IPSec体系包括两个重要的数据库:安全联盟数据库(SAD)和安全策略数据库(SPD)。安全联盟数据库存储的安全联盟(SA)是IPSec的基础,其涵盖了IPSec协议处理的诸多重要参数,规定了保护什么样的数据包,谁来保护以及怎么保护等问题。SAD和SPD是IPSec处理过程中需要不断查询访问的两个数据库,对查找速度有很高的要求。目前这两个数据库的实现方式有两种,软件查找和硬件查找。软件查找具有实现简单的特点,但是数据吞吐量受到了限制。 
有鉴于此,针对目前提供了一种软件查找数据库的方法的不足,采用可编程逻辑器件(FPGA)实现安全联盟数据库SAD的硬件查找设计,通过采用CAM加RAM的组合方式,可以在2个时钟周期里输出每条安全联盟SA的内容,大大提高了IPSec处理效率,解决了目前软件查找方法存在的缺点。 
发明内容
本发明要解决的技术问题是基于IPSec的处理流程,提出一种能够高速的实现基于IPv6的IPSec安全联盟查找的硬件实现装置。通过本装置提出了一种CAM加RAM的组合方式实现IPv6下IPSec安全联盟数据库的快速查找的实现方法,以有效的提高IPSec的处理效率,从而满足高速网络性能要求。 
为了解决上述技术问题,本发明公开了一种基于IPv6的IPSec安全联盟硬件查找装置,包括:IP数据包接收模块、压缩模块、CAM查找匹配模块和安全联盟存储模块。其中,IP数据包接收模块用于接收网口传输过来的IPv6数据包,对其进行缓存并对数据包内预制参数进行提取;压缩模块用于对IP数据包接收模块输出的数据进行位宽压缩处理;CAM查找匹配模块用于对压缩后的数据信息进行查找和匹配;安全联盟存储模块用于根据索引地址输出安全联盟信息。 
本发明提供的一种基于IPv6的IPSec安全联盟硬件查找装置的一个实例中,IP数据包接收模块进一步包括:数据缓存子模块和三元组参数提取子模块。其中,数据缓存子模块用于将一个单位长度的数据包存储至缓冲单元中;三元组参数提取子模块用于提取IPv6包中的三元组信息,包括目的IP地址、SPI值和IPSec安全协议类型。 
本发明提供的一种基于IPv6的IPSec安全联盟硬件查找装置的一个实例中,压缩模块采用异或hash算法,通过移位和运算操作来有效的减少拼接的三元组位宽长度。 
本发明提供的一种基于IPv6的IPSec安全联盟硬件查找装置的一个实例中,CAM查找匹配模块进一步包括:异或比较子模块和优先编码子模块。其中,异或比较子模块将压缩模块的输出与配置在存储器中的信息逐位异或,生成若干标志位;优先编码子模块将异或比较子模块生成的标志位进行优先编码,生成安全联盟存储模块的索引地址。 
为了解决上述技术问题,本发明还公开了一种基于IPv6的IPSec安全联盟硬件查找方法,包括以下步骤: 
将配置数据分别写入CAM存储单元和安全联盟SAD存储单元中;
IP数据包接收模块接收IPv6数据包并暂存,并对数据包进行三元组信息提取;
压缩模块对拼接的三元组信息进行hash压缩处理,生成的数据送入CAM查找模块;
CAM查找匹配模块对压缩模块的输出进行解析处理,输出匹配结果和匹配地址;
如果CAM查找结果为“存在”,则驱动安全联盟存储模块输出相应安全联盟内容,如果CAM查找结果为“不存在”,则拉低安全联盟存储模块的读使能信号。
本发明提供了一种基于IPv6的IPSec安全联盟硬件查找装置,采用可编程逻辑器件(FPGA)实现安全联盟数据库SAD的硬件查找设计,通过采用CAM加RAM的组合方式,可以在2个时钟周期里输出每条安全联盟SA的内容,大大提高了IPSec处理效率,解决了目前软件查找方法存在的缺点。本设计稍加变动,也可应用于IPv4的IPSec处理中。 
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。 
附图说明
图1示出本发明的总体结构图; 
图2示出本发明IP数据包接收模块具体实施方式的结构框图;
图3示出本发明CAM查找匹配模块具体实施方式的结构框图;
图4示出本发明三元组参数提取子模块的状态跳转图;
图5示出本发明安全联盟存储模块的具体参数存储的结构框图;
图6示出本发明提供的一种基于IPv6的IPSec安全联盟硬件查找装置的一个具体实施例的流程图。 
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。 
技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。 
技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。 
图1示出本发明的一种基于IPv6的IPSec安全联盟硬件查找装置的总体结构示意图。如图1所示,一种基于IPv6的IPSec安全联盟硬件查找装置100包括:IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104。 
其中,IP数据包接收模块101用于接收网口传输过来的IPv6数据包,对其进行缓存并对数据包内预制参数进行提取;例如,一个长度为1500字节IPv6数据包输入时,IP数据包接收模块按照每个时钟32位的数据传输位宽分4个字节存储至数据缓存单元中,待整个IPv6数据包传输完毕后拉低状态寄存器,以示阻塞数据的继续输入,IP数据接收模块中的三元组参数提取子模块进行数据包解析,提取三元组信息,包括:128位的目的地址,32位的SPI参数和8位的IPSec协议类型。 
压缩模块102用于对IP数据包接收模块输出的数据进行位宽压缩处理;例如,IP数据包接收模块输出的三元组信息拼接成168位数据,这时可以根据异或哈希算法将数据压缩成合适的位宽,例如100位。整个压缩过程主要通过多次的移位和异或运算实现。 
CAM查找匹配模块103用于对压缩后的数据信息进行查找和匹配;例如,三元组信息被压缩成100位后,CAM查找匹配模块被驱动工作,压缩模块的输出作为CAM的输入信息并进行数据匹配,匹配结果将作为安全联盟存储模块的读使能信号,CAM的输出将作为安全联盟的读地址。 
安全联盟存储模块104用于根据索引地址输出安全联盟信息;例如,当CAM匹配到结果时,表示安全联盟SA存在,此时根据CAM的输出地址读取相应的安全联盟的信息,紧接着拉高状态寄存器位,以示可以进行下一个数据包的输入和处理;当CAM没有匹配输出时,表示安全联盟SA,此时直接拉高状态寄存器位进行下一个数据包的处理。 
图2示出本发明IP数据包接收模块具体实施方式的结构框图。如图2所示,一种基于IPv6的IPSec安全联盟硬件查找装置200包括:IP数据包接收模块201、数据缓存子模块202、三元组参数提取子模块203、压缩模块204、CAM查找匹配模块205和安全联盟存储模块206。 
其中,IP数据包接收模块201、压缩模块204、CAM查找匹配模块205和安全联盟存储模块206分别和图1中的IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104一致,此处不再赘述其技术内容。 
数据缓存子模块202用于对当前完整的IPv6数据包进行缓存;例如,IPv6数据包长度为800个字节,由于系统传输位宽为32位,每个时钟周期缓存4个字节长度的数据包,经过200个时钟周期,数据包暂存完毕,状态寄存器拉低阻塞数据包继续输入,三元组参数提取子模块进行工作。 
三元组参数提取子模块203用于对缓存的数据包进行解析,提取128位目的地址,32位SPI的值和8位IPSec协议值。例如,当前数据包包含全部的扩展头(6种),三元组信息依次从40字节基本头部中提取出128位目的地址,从AH或者ESP扩展头部中提取SPI值,从扩展头信息中提取IPSec议协议值。 
图3示出本发明CAM查找匹配模块具体实施方式的结构框图。如图3所示,一种基于IPv6的IPSec安全联盟硬件查找装置300包括:IP数据包接收模块301、压缩模块302、CAM查找匹配模块303、异或比较子模块304、优先编码子模块305和安全联盟存储模块306。其中,IP数据包接收模块301、压缩模块302、CAM查找匹配模块303和安全联盟存储模块306分别和图1中的IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104一致,此处不再赘述其技术内容。 
异或比较子模块304将压缩模块的输出与配置在存储器中的信息按位异或,生成若干标志位;例如,当压缩模块的三元组输出信息为100位时,100位的数据跟预配置在CAM中的数据按位异或,生成1位的标志位,后驱动优先编码子模块。 
优先编码子模块305将异或比较子模块生成的标志位进行优先编码,生成安全联盟存储模块的索引地址;例如,三元组输出信息为64位时,优先编码子模块会根据异或比较子模块产生的标志位进行编码,生成6位的地址信息。 
图4示出本发明三元组参数提取子模块的状态跳转图。如图4所示,一种基于IPv6的IPSec安全联盟硬件查找装置共包含7个状态。 
状态401,idle状态,当系统在缓冲数据或者一次解析数据包过程结束后,跳转到该状态。在数据包缓冲结束,根据40字节基本头部中的“下一首部”字段跳转到不同状态。 
状态402,hop_by_hop状态,在该状态下,查找hop_by_hop头部的“下一个头”字段暂存,并计算该头部的长度。 
状态403,destination状态,在该状态下,查找destination头部的“下一个头”字段暂存,并计算该头部的长度。 
状态404,routing状态,在该状态下,查找routing头部的“下一个头”字段暂存,并计算该头部的长度。 
状态405,fragmentation状态,在该状态下,查找fragmentation头部的“下一个头”字段暂存。 
状态406,ah状态,在该状态下,首先将该包使用AH协议的信息存储到IPSec协议寄存器中,然后查找ah头部的“下一个头”字段暂存,计算该头部的长度,根据SPI字段在该扩展头中的位置将其信息复制到指定的存储单元。 
状态407,esp状态,在该状态下,首先将该包使用ESP协议的信息存储到IPSec协议寄存器,然后提取esp扩展头的前32位,即ESP协议对应的32位SPI值,将其信息复制到指定的存储单元。最后,状态跳回至idle状态。 
图5示出本发明安全联盟存储模块的具体参数存储的结构框图。如图5所示,安全联盟存储模块具体参数存储结构500包括:标志信息位501,序列号计数器502,安全参数索引(SPI)503,抗重放窗口504,加密算法IV 505,认证算法密钥506,加密算法密钥507。 
其中,标志信息位置501包括:操作模式、序列号溢出位、IPSec协议位、认证算法编号、加密算法IV长度、认证算法密钥长度、加密算法密钥长度。 
图6示出本发明提供的一种基于IPv6的IPSec安全联盟硬件查找方法的一个具体实施例的流程图。如图6所示,所述基于IPv6的IPSec安全联盟硬件查找方法的处理流程600包括:步骤601,步骤602,步骤603,步骤604,步骤605,步骤606,步骤607,步骤608,步骤609。 
步骤601,初始化配置数据,包括CAM存储模块的数据和安全联盟存储模块的数据。 
步骤602,状态位检测。配置数据步骤完成以后,IP数据包接收模块被激活。首先检测状态寄存器中的状态位,当状态位为高时,表示可以输入IPv6数据包,当状态位为低,此时阻塞数据包输入。 
步骤603,缓存一个数据包,拉低状态位。例如,一个长度为1500字节IPv6数据包输入时,IP数据包接收模块每个时钟传递32位数据并分4个字节存储至数据缓存单元中,待整个IPv6数据包传输完毕后拉低状态寄存器,以示阻塞数据的继续输入,后续的处理模块被激活。 
步骤604,对数据包进行解析,提取里面的三元组信息。例如,当前数据包包含4种扩展头(hop_by_hop、destination、routing、ah),三元组信息依次从40字节基本头部中提取出128位目的地址,从ah扩展头部中提取SPI值,IPSec协议寄存器写入只采用AH协议的信息。 
步骤605,xor hash压缩。例如,IP数据包接收模块输出的三元组信息拼接成168位数据,这时可以根据异或哈希算法将数据压缩成合适的位宽,例如100位,90位等。整个压缩过程主要通过多次的移位和异或运算实现。 
步骤606,将hash压缩结果输入CAM,进行查找匹配。 
步骤607,CAM中是否有关键字匹配。例如,CAM查找匹配模块被驱动工作后,压缩模块的输出作为CAM的输入数据进行匹配,匹配结果分两种:有匹配结果时,CAM输出将作为安全联盟存储模块的读地址;无匹配时,安全联盟的读使能被拉低,同时状态寄存器被拉高。 
步骤608,将CAM输出作为安全联盟存储模块的索引地址,输出安全联盟的值。例如,当CAM有匹配结果时,安全联盟存储模块的读使能被拉高,根据CAM的输出地址,相应的SA内容被读出。 
步骤609,拉高状态位。一次索引过程结束后,状态寄存器被拉高,以示下一个数据包可以进入并处理。 
本发明提供了一种基于IPv6的IPSec安全联盟硬件查找装置及方法,采用可编程逻辑器件FPGA实现了整个查找过程,实现过程中可以根据硬件特点做适当调整,如压缩模块的算法选择等。 
本发明提供了一种基于IPv6的IPSec安全联盟硬件查找装置及方法,该装置可以应用在网络安全设备中,实现快速的匹配查找,对于提高整个系统的工作效率具有十分重要的意义。 
技术领域技术人员可以理解,本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。所述设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、随即存储器(RAM)、只读存储器(ROM)、电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光线卡片。可读介质包括用于以由设备(例如,计算机)可读的形式存储或传输信息的任何机构。例如,可读介质包括随即存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号)等。 
技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。 
技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。 
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 

基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf_第1页
第1页 / 共12页
基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf_第2页
第2页 / 共12页
基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf》由会员分享,可在线阅读,更多相关《基于IPV6的IPSEC安全联盟硬件查找装置及方法.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104184744A43申请公布日20141203CN104184744A21申请号201410460804X22申请日20140911H04L29/0620060171申请人东南大学地址214135江苏省无锡市新区菱湖大道99号72发明人李冰徐寅刘勇姜伟董乾赵霞王刚74专利代理机构江苏永衡昭辉律师事务所32250代理人王斌54发明名称基于IPV6的IPSEC安全联盟硬件查找装置及方法57摘要本发明公开了一种基于IPV6的IPSEC安全联盟硬件查找装置,该硬件查找装置包括IP数据包接收模块,用于接收网口传输过来的IPV6数据包,对其进行缓存并对数据包内预制参数进行提取;压缩模。

2、块,用于对IP数据包接收模块输出的数据进行位宽压缩处理;CAM查找匹配模块,用于对压缩后的数据信息进行查找和匹配;安全联盟存储模块,用于根据索引地址输出安全联盟信息。本发明采用可编程逻辑器件(FPGA)实现整个处理流程,具有高速查找的特点,提供了一种IPV6下IPSEC安全联盟硬件查找实现方法和装置,有效的提高了安全联盟数据库查找的速度,提高了整个IPSEC处理的效率。51INTCL权利要求书1页说明书6页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图4页10申请公布号CN104184744ACN104184744A1/1页21一种基于IPV6的IPSEC。

3、安全联盟硬件查找装置,其特征在于,包括IP数据包接收模块、压缩模块、CAM查找匹配模块和安全联盟存储模块,其中所述IP数据包接收模块,用于接收网口传输过来的IPV6数据包,并对接收到的IPV6数据包进行缓存,随后提取所述IPV6数据包内的三元组信息,其中所述三元组信息包括目的IP地址、SPI值和IPSEC安全协议类型;所述压缩模块,用于对IP数据包接收模块输出的提取字段数据进行位宽压缩处理;所述CAM查找匹配模块,用于对所述压缩模块输出的压缩后的字段数据信息与初始配置在CAM中的数据进行查找和匹配,并根据匹配结果生成索引地址;所述安全联盟存储模块,用于所述CAM查找匹配模块输出的索引地址输出存。

4、储在RAM中的安全联盟信息。2根据权利要求1所述的装置,其特征在于,所述IP数据包接收模块进一步包括数据缓存子模块和三元组参数提取子模块,其中所述数据缓存子模块,用于将一个单位长度的IPV6数据包存储至缓存FO中;所述三元组参数提取子模块,用于定位和提取缓存的IPV6包中所述三元组信息,包括目的IP地址、SPI值和IPSEC安全协议类型。3根据权利要求1所述的装置,其特征在于,所述压缩模块采用异或HASH算法实现结构。4根据权利要求1所述的装置,其特征在于,所述CAM查找匹配模块进一步包括异或比较子模块和优先编码子模块,其中所述异或比较子模块,用于将所述压缩模块输出的压缩后的字段数据信息与配置。

5、在存储器中的初始字段数据信息逐位异或,生成三元组信息长度的标志位;所述优先编码子模块,用于将所述异或比较子模块生成的标志位进行优先编码,生成所述索引地址。5一种基于IPV6的IPSEC安全联盟硬件查找方法,其特征在于,包括以下步骤将配置数据分别写入CAM存储单元和安全联盟SAD存储单元中;通过IP数据包接收模块接收网口传输过来的IPV6数据包,并对接收到的IPV6数据包进行缓存,随后提取所述IPV6数据包内的三元组信息,其中所述三元组信息包括目的IP地址、SPI值和IPSEC安全协议类型;通过压缩模块对拼接的三元组信息进行HASH压缩处理,并将生成的数据送入CAM查找模块;通过CAM查找匹配模。

6、块对压缩模块的输出进行解析处理,并输出匹配结果和匹配地址;如果CAM查找结果为“存在”,则驱动安全联盟存储模块输出相应安全联盟内容,如果CAM查找结果为“不存在”,则拉低安全联盟存储模块的读使能信号。权利要求书CN104184744A1/6页3基于IPV6的IPSEC安全联盟硬件查找装置及方法技术领域0001本发明涉及网络安全技术领域,特别涉及一种基于IPV6的IPSEC安全联盟硬件查找装置及方法。背景技术0002随着网络技术的不断革新,网络发展面临着新的挑战和机遇,网络安全的重要性越来越凸显。为了提高网络信息交互的安全性,互联网工程任务组(IETF)于1988年提出了针对网络层的IPSEC协。

7、议,来弥补网络协议本身不提供安全性的缺点。另一方面,随着互联网用户数量的指数级增长,IPV4协议诸多不足逐渐显现。IETF在1994年推出了下一代网际协议IPV6,经过十余年的发展,IPV6相关技术逐渐成熟,并且已经由试验阶段走向了实用阶段。为了保证IPV6的安全特性,IEFT已规定在IPV6中强制实施IPSEC安全协议。0003IPSEC体系包括两个重要的数据库安全联盟数据库(SAD)和安全策略数据库(SPD)。安全联盟数据库存储的安全联盟(SA)是IPSEC的基础,其涵盖了IPSEC协议处理的诸多重要参数,规定了保护什么样的数据包,谁来保护以及怎么保护等问题。SAD和SPD是IPSEC处理。

8、过程中需要不断查询访问的两个数据库,对查找速度有很高的要求。目前这两个数据库的实现方式有两种,软件查找和硬件查找。软件查找具有实现简单的特点,但是数据吞吐量受到了限制。0004有鉴于此,针对目前提供了一种软件查找数据库的方法的不足,采用可编程逻辑器件(FPGA)实现安全联盟数据库SAD的硬件查找设计,通过采用CAM加RAM的组合方式,可以在2个时钟周期里输出每条安全联盟SA的内容,大大提高了IPSEC处理效率,解决了目前软件查找方法存在的缺点。发明内容0005本发明要解决的技术问题是基于IPSEC的处理流程,提出一种能够高速的实现基于IPV6的IPSEC安全联盟查找的硬件实现装置。通过本装置提。

9、出了一种CAM加RAM的组合方式实现IPV6下IPSEC安全联盟数据库的快速查找的实现方法,以有效的提高IPSEC的处理效率,从而满足高速网络性能要求。0006为了解决上述技术问题,本发明公开了一种基于IPV6的IPSEC安全联盟硬件查找装置,包括IP数据包接收模块、压缩模块、CAM查找匹配模块和安全联盟存储模块。其中,IP数据包接收模块用于接收网口传输过来的IPV6数据包,对其进行缓存并对数据包内预制参数进行提取;压缩模块用于对IP数据包接收模块输出的数据进行位宽压缩处理;CAM查找匹配模块用于对压缩后的数据信息进行查找和匹配;安全联盟存储模块用于根据索引地址输出安全联盟信息。0007本发明。

10、提供的一种基于IPV6的IPSEC安全联盟硬件查找装置的一个实例中,IP数据包接收模块进一步包括数据缓存子模块和三元组参数提取子模块。其中,数据缓存子模块用于将一个单位长度的数据包存储至缓冲单元中;三元组参数提取子模块用于提取说明书CN104184744A2/6页4IPV6包中的三元组信息,包括目的IP地址、SPI值和IPSEC安全协议类型。0008本发明提供的一种基于IPV6的IPSEC安全联盟硬件查找装置的一个实例中,压缩模块采用异或HASH算法,通过移位和运算操作来有效的减少拼接的三元组位宽长度。0009本发明提供的一种基于IPV6的IPSEC安全联盟硬件查找装置的一个实例中,CAM查找。

11、匹配模块进一步包括异或比较子模块和优先编码子模块。其中,异或比较子模块将压缩模块的输出与配置在存储器中的信息逐位异或,生成若干标志位;优先编码子模块将异或比较子模块生成的标志位进行优先编码,生成安全联盟存储模块的索引地址。0010为了解决上述技术问题,本发明还公开了一种基于IPV6的IPSEC安全联盟硬件查找方法,包括以下步骤将配置数据分别写入CAM存储单元和安全联盟SAD存储单元中;IP数据包接收模块接收IPV6数据包并暂存,并对数据包进行三元组信息提取;压缩模块对拼接的三元组信息进行HASH压缩处理,生成的数据送入CAM查找模块;CAM查找匹配模块对压缩模块的输出进行解析处理,输出匹配结果。

12、和匹配地址;如果CAM查找结果为“存在”,则驱动安全联盟存储模块输出相应安全联盟内容,如果CAM查找结果为“不存在”,则拉低安全联盟存储模块的读使能信号。0011本发明提供了一种基于IPV6的IPSEC安全联盟硬件查找装置,采用可编程逻辑器件(FPGA)实现安全联盟数据库SAD的硬件查找设计,通过采用CAM加RAM的组合方式,可以在2个时钟周期里输出每条安全联盟SA的内容,大大提高了IPSEC处理效率,解决了目前软件查找方法存在的缺点。本设计稍加变动,也可应用于IPV4的IPSEC处理中。0012本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了。

13、解到。附图说明0013图1示出本发明的总体结构图;图2示出本发明IP数据包接收模块具体实施方式的结构框图;图3示出本发明CAM查找匹配模块具体实施方式的结构框图;图4示出本发明三元组参数提取子模块的状态跳转图;图5示出本发明安全联盟存储模块的具体参数存储的结构框图;图6示出本发明提供的一种基于IPV6的IPSEC安全联盟硬件查找装置的一个具体实施例的流程图。具体实施方式0014下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的。

14、限制。0015本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元说明书CN104184744A3/6页5件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组。

15、合。0016本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。0017图1示出本发明的一种基于IPV6的IPSEC安全联盟硬件查找装置的总体结构示意图。如图1所示,一种基于IPV6的IPSEC安全联盟硬件查找装置100包括IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104。0018其中,IP数据包接收模块1。

16、01用于接收网口传输过来的IPV6数据包,对其进行缓存并对数据包内预制参数进行提取;例如,一个长度为1500字节IPV6数据包输入时,IP数据包接收模块按照每个时钟32位的数据传输位宽分4个字节存储至数据缓存单元中,待整个IPV6数据包传输完毕后拉低状态寄存器,以示阻塞数据的继续输入,IP数据接收模块中的三元组参数提取子模块进行数据包解析,提取三元组信息,包括128位的目的地址,32位的SPI参数和8位的IPSEC协议类型。0019压缩模块102用于对IP数据包接收模块输出的数据进行位宽压缩处理;例如,IP数据包接收模块输出的三元组信息拼接成168位数据,这时可以根据异或哈希算法将数据压缩成合。

17、适的位宽,例如100位。整个压缩过程主要通过多次的移位和异或运算实现。0020CAM查找匹配模块103用于对压缩后的数据信息进行查找和匹配;例如,三元组信息被压缩成100位后,CAM查找匹配模块被驱动工作,压缩模块的输出作为CAM的输入信息并进行数据匹配,匹配结果将作为安全联盟存储模块的读使能信号,CAM的输出将作为安全联盟的读地址。0021安全联盟存储模块104用于根据索引地址输出安全联盟信息;例如,当CAM匹配到结果时,表示安全联盟SA存在,此时根据CAM的输出地址读取相应的安全联盟的信息,紧接着拉高状态寄存器位,以示可以进行下一个数据包的输入和处理;当CAM没有匹配输出时,表示安全联盟S。

18、A,此时直接拉高状态寄存器位进行下一个数据包的处理。0022图2示出本发明IP数据包接收模块具体实施方式的结构框图。如图2所示,一种基于IPV6的IPSEC安全联盟硬件查找装置200包括IP数据包接收模块201、数据缓存子模块202、三元组参数提取子模块203、压缩模块204、CAM查找匹配模块205和安全联盟存储模块206。0023其中,IP数据包接收模块201、压缩模块204、CAM查找匹配模块205和安全联盟存储模块206分别和图1中的IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104一致,此处不再赘述其技术内容。0024数据缓存子模块202用于对。

19、当前完整的IPV6数据包进行缓存;例如,IPV6数据包长度为800个字节,由于系统传输位宽为32位,每个时钟周期缓存4个字节长度的数据包,经过200个时钟周期,数据包暂存完毕,状态寄存器拉低阻塞数据包继续输入,三元组参数提取子模块进行工作。0025三元组参数提取子模块203用于对缓存的数据包进行解析,提取128位目的地址,说明书CN104184744A4/6页632位SPI的值和8位IPSEC协议值。例如,当前数据包包含全部的扩展头(6种),三元组信息依次从40字节基本头部中提取出128位目的地址,从AH或者ESP扩展头部中提取SPI值,从扩展头信息中提取IPSEC议协议值。0026图3示出本。

20、发明CAM查找匹配模块具体实施方式的结构框图。如图3所示,一种基于IPV6的IPSEC安全联盟硬件查找装置300包括IP数据包接收模块301、压缩模块302、CAM查找匹配模块303、异或比较子模块304、优先编码子模块305和安全联盟存储模块306。其中,IP数据包接收模块301、压缩模块302、CAM查找匹配模块303和安全联盟存储模块306分别和图1中的IP数据包接收模块101、压缩模块102、CAM查找匹配模块103和安全联盟存储模块104一致,此处不再赘述其技术内容。0027异或比较子模块304将压缩模块的输出与配置在存储器中的信息按位异或,生成若干标志位;例如,当压缩模块的三元组输。

21、出信息为100位时,100位的数据跟预配置在CAM中的数据按位异或,生成1位的标志位,后驱动优先编码子模块。0028优先编码子模块305将异或比较子模块生成的标志位进行优先编码,生成安全联盟存储模块的索引地址;例如,三元组输出信息为64位时,优先编码子模块会根据异或比较子模块产生的标志位进行编码,生成6位的地址信息。0029图4示出本发明三元组参数提取子模块的状态跳转图。如图4所示,一种基于IPV6的IPSEC安全联盟硬件查找装置共包含7个状态。0030状态401,IDLE状态,当系统在缓冲数据或者一次解析数据包过程结束后,跳转到该状态。在数据包缓冲结束,根据40字节基本头部中的“下一首部”字。

22、段跳转到不同状态。0031状态402,HOP_BY_HOP状态,在该状态下,查找HOP_BY_HOP头部的“下一个头”字段暂存,并计算该头部的长度。0032状态403,DESTINATION状态,在该状态下,查找DESTINATION头部的“下一个头”字段暂存,并计算该头部的长度。0033状态404,ROUTING状态,在该状态下,查找ROUTING头部的“下一个头”字段暂存,并计算该头部的长度。0034状态405,FRAGMENTATION状态,在该状态下,查找FRAGMENTATION头部的“下一个头”字段暂存。0035状态406,AH状态,在该状态下,首先将该包使用AH协议的信息存储到I。

23、PSEC协议寄存器中,然后查找AH头部的“下一个头”字段暂存,计算该头部的长度,根据SPI字段在该扩展头中的位置将其信息复制到指定的存储单元。0036状态407,ESP状态,在该状态下,首先将该包使用ESP协议的信息存储到IPSEC协议寄存器,然后提取ESP扩展头的前32位,即ESP协议对应的32位SPI值,将其信息复制到指定的存储单元。最后,状态跳回至IDLE状态。0037图5示出本发明安全联盟存储模块的具体参数存储的结构框图。如图5所示,安全联盟存储模块具体参数存储结构500包括标志信息位501,序列号计数器502,安全参数索引(SPI)503,抗重放窗口504,加密算法IV505,认证算。

24、法密钥506,加密算法密钥507。0038其中,标志信息位置501包括操作模式、序列号溢出位、IPSEC协议位、认证算法编号、加密算法IV长度、认证算法密钥长度、加密算法密钥长度。0039图6示出本发明提供的一种基于IPV6的IPSEC安全联盟硬件查找方法的一个具说明书CN104184744A5/6页7体实施例的流程图。如图6所示,所述基于IPV6的IPSEC安全联盟硬件查找方法的处理流程600包括步骤601,步骤602,步骤603,步骤604,步骤605,步骤606,步骤607,步骤608,步骤609。0040步骤601,初始化配置数据,包括CAM存储模块的数据和安全联盟存储模块的数据。00。

25、41步骤602,状态位检测。配置数据步骤完成以后,IP数据包接收模块被激活。首先检测状态寄存器中的状态位,当状态位为高时,表示可以输入IPV6数据包,当状态位为低,此时阻塞数据包输入。0042步骤603,缓存一个数据包,拉低状态位。例如,一个长度为1500字节IPV6数据包输入时,IP数据包接收模块每个时钟传递32位数据并分4个字节存储至数据缓存单元中,待整个IPV6数据包传输完毕后拉低状态寄存器,以示阻塞数据的继续输入,后续的处理模块被激活。0043步骤604,对数据包进行解析,提取里面的三元组信息。例如,当前数据包包含4种扩展头(HOP_BY_HOP、DESTINATION、ROUTING。

26、、AH),三元组信息依次从40字节基本头部中提取出128位目的地址,从AH扩展头部中提取SPI值,IPSEC协议寄存器写入只采用AH协议的信息。0044步骤605,XORHASH压缩。例如,IP数据包接收模块输出的三元组信息拼接成168位数据,这时可以根据异或哈希算法将数据压缩成合适的位宽,例如100位,90位等。整个压缩过程主要通过多次的移位和异或运算实现。0045步骤606,将HASH压缩结果输入CAM,进行查找匹配。0046步骤607,CAM中是否有关键字匹配。例如,CAM查找匹配模块被驱动工作后,压缩模块的输出作为CAM的输入数据进行匹配,匹配结果分两种有匹配结果时,CAM输出将作为安。

27、全联盟存储模块的读地址;无匹配时,安全联盟的读使能被拉低,同时状态寄存器被拉高。0047步骤608,将CAM输出作为安全联盟存储模块的索引地址,输出安全联盟的值。例如,当CAM有匹配结果时,安全联盟存储模块的读使能被拉高,根据CAM的输出地址,相应的SA内容被读出。0048步骤609,拉高状态位。一次索引过程结束后,状态寄存器被拉高,以示下一个数据包可以进入并处理。0049本发明提供了一种基于IPV6的IPSEC安全联盟硬件查找装置及方法,采用可编程逻辑器件FPGA实现了整个查找过程,实现过程中可以根据硬件特点做适当调整,如压缩模块的算法选择等。0050本发明提供了一种基于IPV6的IPSEC。

28、安全联盟硬件查找装置及方法,该装置可以应用在网络安全设备中,实现快速的匹配查找,对于提高整个系统的工作效率具有十分重要的意义。0051本技术领域技术人员可以理解,本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。所述设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指说明书CN104184744A6/6页8令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CDROM、和磁。

29、光盘)、随即存储器(RAM)、只读存储器(ROM)、电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光线卡片。可读介质包括用于以由设备(例如,计算机)可读的形式存储或传输信息的任何机构。例如,可读介质包括随即存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号)等。0052本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算。

30、机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。0053本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。0054以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说明书CN104184744A1/4页9图1图2说明书附图CN104184744A2/4页10图3图4说明书附图CN104184744A103/4页11图5说明书附图CN104184744A114/4页12图6说明书附图CN104184744A12。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1