CN100502348C - 网络安全处理装置及其方法 - Google Patents
网络安全处理装置及其方法 Download PDFInfo
- Publication number
- CN100502348C CN100502348C CNB031329810A CN03132981A CN100502348C CN 100502348 C CN100502348 C CN 100502348C CN B031329810 A CNB031329810 A CN B031329810A CN 03132981 A CN03132981 A CN 03132981A CN 100502348 C CN100502348 C CN 100502348C
- Authority
- CN
- China
- Prior art keywords
- data
- data message
- processing
- module
- network safety
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种网络安全处理的装置及其方法。本发明采用了通用数据总线和内存总线进行数据报文和SA(安全关联)数据的传输,使得对SA数据的访问不会影响到系统对其他数据的访问,从而提高了系统数据总线的效率和减小了网络安全处理器的等待时间。而且,本发明还采用了本地存储器进行SA数据的保存,使得系统的容量可以根据需要灵活调整,以便于支持更多的链接。另外,本发明中加解密/Hash(哈希)单元中使用两个Hash运算单元,并设置了压缩处理模块和解压处理模块,使得对于安全性更高的IPSec(因特网网络安全协议)绑定处理和带压缩处理的操作可以一次处理完成,提升了网络安全处理的装置整体处理性能。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络安全处理装置及其方法。
背景技术
随着网通信技术的发展,接入IP(网际协议)网络的用户日益增多,为此,保证网络通信的安全便成为了通信网络中需要解决的重要问题。目前,在IP网络安全中,较多地采用了IPSec(因特网网络安全协议)实现网络安全,IPSec安全认证技术包括两种安全协议,即认证头(AH)协议和封装安全载荷(ESP)协议,这两种协议和互联网密钥交换协议(IKE)共同使用便可以达到保证网络通信安全可靠的目的。
所述的AH协议提供的功能是对整个IP报文的认证,包括对数据的完整性和数据来源的验证,即如果报文被篡改或不是特定的对象发出,认证将不会通过;所述的ESP协议提供的功能是对报文载荷的加密和认证;目前所采用的绑定的IPSec操作就是对同一个IP报文使用ESP和AH协议进行处理,从而使得可以同时对IP报文进行加密和认证,充分地保证了网络中传输的报文的安全性和保密性。
基于IPSec的数据包中是通过建立安全联盟(SA)承载相应的SA数据,SA是两个通信实体经协商建立起来的一种协定,SA承载的数据定义了用来保护数据包安全的IPSec协议、加解密/认证算法、密钥以及密钥的有效存在时间等。对于接收方,通过数据包头信息包含的IP目的地址、IP安全协议类型(AH或ESP)和SPI(安全参数索引)中查找对应的SA数据,根据SA数据的内容,对IP数据报文进行加密和认证,以保证数据的保密性(不会被破解)和可靠性、完整性(没有被篡改)。因特网密钥交换(IKE)是IPSec最为重要的部分,在用IPSec保护一个IP数据包之前,必须先建立一个SA,并在IP数据包的SA中添加相应的SA数据,IKE用于动态建立SA。IKE代表IPSec协议进行SA协商,并协商获得SA数据。
因对报文进行加密和认证需要较大的运算量,所以在对安全性能要求较高的通信系统中,通常使用专门设计的网络安全处理器对在网络中传输的基于IPSec协议实现的报文进行处理。在进行IP报文的加密和认证处理时,网络安全处理器需要把IP数据报文和报文的SA数据均读到处理器内部,识别IP报文后,根据报文对应的SA数据对报文进行处理,并更新SA数据中的部分内容,然后将处理完成的数据报文发送出去。
现结合图1和图2对目前所采用的对IP报文的加密和认证处理过程进行说明,具体包括以下步骤,:
步骤21:在通信的双方在进行协商之后,主机将协商的SA数据存放与主机内存中,也就是SA数据和系统共享内存;
步骤22:在收到数据报文发现需要进行加密处理时,通过报文描述符的方式把数据报文和SA数据通知DMA(直接存储器访问)模块;
步骤23:DMA模块根据描述符的信息,通过DMA方式将SA数据通过PCI(周边器件互联)总线读到输入缓存中进行缓存,然后将数据报文通过通用数据总线读到图1的网络安全处理器中的输入缓存中进行缓存;
步骤24:将所述的SA数据和数据报文读取到输入缓存之后,网络安全处理器接着将SA数据和数据报文从输入缓存中读出,并由包头处理模块对报文进行头处理;
如果是对数据报文进行IPSec绑定处理时,则在第二次进行SA数据和数据报文的读取过程中,需要根据SA数据将数据报文从输入缓存中读出,并依次进行如下的处理;
步骤25:头处理完成之后,加解密/Hash(哈希)单元对报文进行加密或认证处理,处理后发送给包尾处理模块;
步骤26:包尾处理模块根据加解密/Hash单元处理完成的结果进行报文的尾部处理,并把处理完成的数据报文放在输出缓存中进行缓存;
步骤27:对于处理完成的数据报文,DMA模块将数据报文通过通用数据总线返回给主机;同时,DMA模块在回写完成数据之后,再通过通用数据总线更新主机内存中SA数据的内容,完成一次包处理过程。
如果需要处理绑定的IPSec处理,就需要重复上述步骤22~27的操作。即如果要支持绑定的IPSec处理,数据报文要通过数据总线进出芯片多次,这必将导致系统性能的降低。
由上述针对现有技术的描述可以看出,由于报文存放于主机内存中,DMA模块需要通过一条通用数据总线或其他总线搬运数据报文和SA数据,导致该条总线拥塞及加密速率较低。同时,由于在进行加密认证等运算之前,必须先读取到SA数据的内容,然后再读取数据报文,这样往往导致硬件加速器内部的加密引擎处于等待状态,系统的加密处理性能无法得到大幅度的提升。而且,由于SA数据存放于主机内存,如果系统要支持更多的链接,则需要存放更多的SA数据在主机内存中,而一般网络设备的主机内存的容量是有限的,因此将导致系统的链接容量受限于主机内存的大小。
另外,现有技术中采用与系统数据共享内存的机制,即主机的其他业务卡的数据收发也要通过访问主机内存实现,这时,频繁的因加密操作引起的主机内存的访问,将导致整个系统性能的降低。
而且,现有技术也不支持IPComp(IP报文压缩协议),如果系统需要对数据报文进行压缩,则需要增加专门的压缩处理器。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种网络安全处理装置及其方法,以克服现有技术所存在的问题,实现对数据报文的加密和认证过程更为简便,且不影响主机的系统性能。
本发明的目的是这样实现的:
本发明提供了一种网络安全处理装置,包括:
输入缓存模块:接收到需要进行加密和认证处理的数据报文和相应的SA(安全关联)数据,并进行缓存后发送给包头处理模块;
包头处理模块:接收数据报文和SA数据,并对数据报文的头进行处理后随SA数据一同发送给加解密/Hash(哈希)单元:
加解密/Hash单元:接收经过包头处理后的数据报文和SA数据,并根据SA数据对数据报文进行绑定的IPSec(因特网网络安全协议)处理,然后发送给包尾处理模块;
包尾处理模块:接收加解密/Hash单元发来的数据报文,对数据报文尾部进行处理后发送给输出缓存模块;
输出缓存模块:接收包尾处理模块发来的数据报文,并进行缓存处理,然后发送出去。
所述的输入缓存模块和输出缓存模块分别通过DMA(直接存储器访问)模块和通用数据总线与主机内存相连,并通过DMA模块和内存总线与本地存储器相连。
所述的本地存储器为SDRAM(同步静态随机访问存储器),或者为DDRSDRAM(双倍速率的同步静态随机访问存储器);
且该装置还包括本地存储器,用于保存接收到的需要进行加密和认证处理的数据报文和相应的SA数据。
本发明所述的网络安全处理装置还包括:
所述的输入缓存模块与包头处理模块间还连接设置有压缩处理模块,该模块接收输入缓存发来的数据报文并进行压缩处理后发送给包头处理模块;
所述的包尾处理模块与所述的输出缓存模块间连接设置有解压处理模块,该模块接收包尾处理模块发来的数据报文,并进行解压缩处理后发送给输出缓存模块。
所述的包头处理模块为:接收数据报文和SA数据,并一次性为数据报文插入用于绑定的IPSec处理的安全头,同时随SA数据一同发送给加解密/Hash单元。
所述的加解密/Hash单元包括:
ESP(封装安全载荷)处理模块:接收包头处理模块发来的数据报文和SA数据,并根据SA进行相应的加解密和/或认证处理后给AH(认证头)处理模块;
AH处理模块:接收ESP处理模块发来的数据报文和SA数据,并根据SA数据进行相应的Hash(哈希)运算处理后发送给包尾处理模块。
本发明还提供了一种网络安全处理方法,包括:
a、将经过协商获得的SA数据通过系统的通用数据总线和网络安全处理装置下发到本地存储器中,并将接收的数据报文保存于系统主机内存中;
b、网络安全处理装置将通过通用数据总线调用系统主机内存中的数据报文,还将调用的数据报文保存于本地存储器中,并通过内存总线调用本地存储器中的SA数据;
c、网络安全处理装置根据调用获得的SA数据和数据报文进行相应的网络安全处理,并发送。
所述的网络安全处理方法还包括:
根据经过网络安全处理后数据报文通过通用数据总线更新主机内存中的数据报文,并根据经过网络安全处理后的SA数据通过内存总线更新本地存储器中的SA数据。
所述的步骤a还包括:
通信双方经协商确定的SA数据直接通过通用数据总线和网络安全处理装置的DMA模块下发到本地存储器中。
所述的步骤b包括:
如果所述的通用数据总线选用带宽为1~2Gbps的PCI(周边器件互联)总线,则主机CPU便将数据报文的地址信息和SA数据在本地SDRAM中的地址信息下发给网络安全处理装置,并由网络安全处理装置的DMA根据相应的地址信息进行相应的数据报文和SA数据的调用;
如果所述的通用数据总线选用的是带宽最大可达10Gbps的POS-PHY(POS物理层接口)总线,且在主机中存在SA数据地址信息和数据报文的对应关系,则主机CPU仅向网络安全处理装置下发一个SA数据的地址信息,对应的数据报文前面紧跟着SA数据的地址信息,并由网络安全处理装置根据SA数据的地址信息获取SA数据;
如果通用数据总线选择的是更高速的POS-PHY总线,且SA数据的地址信息和数据报文的对应关系保存于网络安全处理装置侧,则网络安全处理装置收到数据报文后,将根据所述的对应关系查找得到该数据报文对应的SA数据的地址信息,并根据SA数据的地址信息获得相应的SA数据。
所述的步骤c包括:
c1、输入缓存模块接收调用获得的SA数据和数据报文,并进行缓存处理后发送给包头处理模块;
c2、包头处理模块对数据报文的头进行处理,并将处理后的数据报文与SA数据一起发给加解密/Hash单元;
c3、加解密/Hash单元根据SA数据对数据报文进行相应加解密处理,并发送给包尾处理模块;
c4、包尾处理模块对数据报文的尾进行相应的处理后,通过输出缓存进行发送。
所述的步骤c1还包括:
将经输入缓存模块缓存的待发送的数据报文,即外出方向的数据报文根据设定的压缩格式进行压缩处理后发送给包头处理模块;
所述的步骤c4还包括:
将经包尾处理模块处理后的待接收的数据报文,即进入方向的数据报文进行相应的解压缩处理后通过输出缓存进行发送。
所述的步骤c2包括:
包头处理模块一次性为数据报文插入用于ESP处理和AH处理的安全头,并可选地进行填充字符处理;
将处理后的数据报文与SA数据一起发给加解密/Hash单元。
所述的步骤c3包括:
首先由ESP处理模块根据SA数据对数据报文进行加解密和/或认证处理,然后,由AH处理模块根据SA数据对数据报文进行Hash(哈希)运算处理,并发送给包尾处理模块。
所述的步骤c4还包括:
通过输出缓存及DMA模块更新本地存储器中的SA数据,并将经过安全处理后的数据报文返回给主机。
所述的步骤c4还包括:
将数据报文回写至主机内存,且将本地SDRAM中SA数据的更新后,通过中断方式将处理结果上报给主机。
所述SA数据的更新包括:如果处理的是进入方向的数据报文,则需要更新SA数据的序列号;如果处理的是外出方向的数据报文,则需要更新SA数据的Mask(反重放序列号掩码)和序列号。
由上述本发明提供的技术方案可以看出,利用本发明对报文进行加密和认证过程中分别采用了通用数据总线和内存总线进行SA数据和数据报文的传输,因此对SA数据的调用将不会影响到系统对其他数据的调用,即不会对系统的数据总线造成影响;这样,还使得对数据报文的调用可以实时进行,而不必等到SA数据调用完成之后,而且在报文处理结束之后,在返回数据报文的同时可以通过另一条总线更新SA数据,这样就大大减小了网络安全处理器的等待时间。
另外,本发明还采用了专门的本地RAM(随机存储器)保存SA数据,使得系统的容量可以根据需要灵活调整,如果应用环境需要支持更多的链接,就可以使用大的SDRAM(同步静态随机访问存储器)或DDR SDRAM(双倍速率的同步静态随机访问存储器),保证可以支持的链接数量与主存容量的大小无关。而且,本发明中加解密/Hash单元中使用两个Hash运算单元,以保证ESP处理和AH处理可以一次完成,并设置了压缩处理模块和解压处理模块,使得对于安全性更高的IPSec绑定处理和带压缩处理的操作可以一次处理完成,不需要软件调度和多次处理,整体处理性能得到加倍提升。
附图说明
图1为现有技术中网络安全处理装置的结构示意图;
图2为现有技术中网络安全处理方法的流程图;
图3为本发明中网络安全处理装置的应用结构示意图;
图4为本发明中网络安全处理装置的结构示意图;
图5为本发明中网络安全处理方法的流程图。
具体实施方式
本发明所述的网络安全处理装置及其方法是分别采用了内存总线和通用数据总线对SA数据和数据报文进行读取,即首先通过通用数据总线将SA数据和数据报文读到网络安全处理装置的本地存储器中,然后网络安全处理装置通过内存总线在本地存储器中调用相应的SA数据和数据报文,并进行相应的网络安全处理;而且,本发明提供的网络安全处理装置中的加解密/Hash单元中同时可以完成对数据报文的ESP处理和AH处理,简化了网络安全处理过程,同时,本发明所提供的网络安全处理装置中还设置了相应的压缩处理模块和解压处理模块,使得网络安全处理装置可以支持对报文的压缩和解压缩功能。
本发明所述的网络安全处理装置通常设置于安全路由器、VPN(虚拟专用网)网关及防火墙等设备中。如图3所示,所述的网络安全处理装置通常通过通用数据总线与主机及主机内存通信,获取相应的信息,同时还通过内存总线与本地存储器相连,本地存储器即为图中的SDRAM(同步的静态随机访问存储器);其中所述的网络安全处理装置的具体结构则如图4所示,具体包括:
输入缓存模块:通过内存部分从本地SDRAM获取需要进行加密和认证处理的数据报文和相应的SA(安全关联)数据,并进行缓存后发送给包头处理模块;
包头处理模块:接收输出缓存模块发来的数据报文和SA数据,并对数据报文的头进行处理后随SA数据一同发送给加解密/Hash单元;所述的包头处理模块的处理包括插入安全头、填充字符等,以便于加解密/Hash单元对数据报文的正常处理;
加解密/Hash(哈希)单元:接收经过包头处理后的数据报文和SA数据,并根据SA数据对数据报文进行绑定的IPSec处理,然后发送给包尾处理模块;
为了满足绑定的IPSec处理需要,所述的加解密/Hash单元进一步包括ESP(封装安全载荷)处理模块和AH(认证头)处理模块,对于需要需要进行的IPSec处理时,则依次根据SA数据对数据报文进行ESP和AH处理,使得绑定的IPSec处理一次便可以完成,其中:
所述的ESP处理模块:接收包头处理模块发来的数据报文和SA数据,并根据SA进行相应的加解密和/或认证处理后给AH处理模块;所述的加密和认证均为可选,即根据SA数据的要求可以分为三种处理情况:加密处理、认证处理及加密和认证处理;
所述的AH处理模块:接收ESP处理模块发来的数据报文和SA数据,并根据SA数据进行相应的Hash(哈希)运算处理后发送给包尾处理模块,即针对整个数据报文进行Hash运算,并把认证值回写到AH首部,AH首部在头处理时是预留的(共96位),因为进行头处理的时候还无法得到认证值,只有在整个报文处理完成之后才可以求出该认证值,并将其填充到AH首部。
包尾处理模块:接收加解密/Hash单元发来的数据报文,对数据报文尾部进行处理后发送给输出缓存模块;
尾部处理通常包括将进入方向填充的字符去掉等;
输出缓存模块:接收包尾处理模块发来的数据报文,并进行缓存处理,然后发送出去,即通过通用数据总线将处理后的数据报文发送到主机内存,并更新主机内存中的SA数据。
考虑到在实际通信应用过程中,经常需要对报文进行压缩处理后发送,因此,本发明所述的网络安全处理装置还增加设置了压缩处理模块和解压处理模块,所设置的压缩处理模块和解压处理模块采用的压缩协议可以根据需要确定,如采用IPComp等,具体为:
所述的输入缓存模块与包头处理模块间连接设置有压缩处理模块,该模块接收输入缓存发来的数据报文并进行压缩处理后发送给包头处理模块;
所述的包尾处理模块与所述的输出缓存模块间连接设置有解压处理模块,该模块接收包尾处理模块发来的数据报文,并进行解压缩处理后发送给输出缓存模块。
基于前面所述的网络安全处理装置,本发明还提供了一种网络安全处理方法,如图5所示,具体包括以下步骤:
步骤500:将协商获得的所述的SA数据通过系统的通用数据总线和网络安全处理装置下发到本地存储器中,还需要将接收的需要进行网络安全处理的数据报文的保存于系统主机内存中;
通常当设置有网络安全处理装置的路由器等设备接收需要进行网络处理的数据报文后,首先保存于设备的主机内存中,然后,通过通用数据总线及网络安全处理装置的DMA将数据报文保存于网络安全处理装置的本地存储器,即本地SDRAM中;
在本地SDRAM中还保存着协商获得的SA数据,所述的SA数据是通过通信双方协商确定的,通信双方通过建立的IPSec连接进行关于协商SA数据的通信,且在协商确定相应的SA数据后直接通过PCI桥接芯片、PCI总线和网络安全处理装置的DMA下发到本地SDRAM中;
本地SDRAM由网络安全处理装置进行管理,主机的CPU(中央处理单元)无法直接对其进行读写操作,如果主机需要访问本地SDRAM,也仅能通过网络安全处理装置对其进行间接访问;
所述的SA数据直接保存于本地SDRAM中使得网络安全处理装置每次对数据报文的处理无需再利用通用数据总线从主机内存中获取SA数据,减少了对通用数据总线的占用;
本发明中所述通用数据总线可以为PCI总线,也可以为POS_PHY(POS物理层接口)总线或FIFO Bus(先进先出总线)。
步骤501:网络安全处理装置通过自身的DMA模块和通用数据总线调用保存于主机内存中的数据报文,并传送到网络安全处理装置的输入缓存,同时,还通过内存总线调用本地存储器(即本地SDRAM)中的SA数据给输入缓存;
当一个数据报文需要进行IPSec处理时:
如果所述的通用数据总线选用带宽为1~2Gbps的PCI总线,则主机CPU便将数据报文的地址信息和SA数据在本地SDRAM中的地址信息下发给网络安全处理装置,下发的地址信息是用于网络安全处理装置的DMA根据相应的地址信息进行相应的数据报文和SA数据的调用;
如果所述的通用数据总线选用的是带宽最大可达10Gbps的POS-PHY等总线,且在主机中存在SA数据地址信息和数据报文的对应关系,则主机CPU仅向网络安全处理装置下发一个SA数据的地址信息及对应的主机中的数据报文,且对应的主机中的数据报文前面紧跟着SA数据的地址信息,以便于网络安全处理装置根据SA数据的地址信息得到SA数据后,处理该数据报文;
如果通用数据总线选择的是更高速的POS-PHY等总线,且SA数据的地址信息和数据报文的对应关系保存于网络安全处理装置侧(例如主机在协商之后事先把所述的对应关系下发到网络安全处理装置中),则网络安全处理装置收到数据报文后,将根据所述的对应关系查找得到该数据报文对应的SA数据的地址信息,从而获得相应的SA数据。
接着步骤501,网络安全处理装置将根据调用获得的SA数据和数据报文进行相应的网络安全处理,并发送,具体包括:
步骤502:输入缓存模块接收SA数据和数据报文,并进行缓存处理后发送给包头处理模块;
步骤503:将经输入缓存模块缓存的待发送的数据报文进行压缩处理后发送给包头处理模块;
接收到输入缓存发来的待发送出去的数据报文后,根据其中的SA数据确定是否需要对其进行压缩处理,如果需要则执行步骤503进行压缩处理,否则,直接执行步骤504,进行数据报文的头处理;
另外,对于待接收的数据报文则无需进行步骤503的压缩处理过程,而直接执行步骤504即可。
步骤504:包头处理模块对数据报文的头进行处理后,与SA数据一起发给加解密/Hash单元;
对数据报文的头处理包括插入安全头和填充字符等处理,其中:
所述的插入安全头,用于在接受方接收到该数据报文后,通过检测到安全头,可以判断该数据报文需要采用IPSec协议进行网络安全处理过,同样需要对其执行IPSec协议的网络安全处理流程,且在本发明中与现有技术不同的是一次性插入用于ESP处理和AH处理的安全头,以便于在加解密/Hash单元可以一次完成ESP处理和AH处理,使得网络安全处理更为简便;
所述的填充字符,IPSec协议中加密采用分组的对称的加密算法,加密分组的长度一般是8字节或16字节,如果接收的数据报文的长度不是8字节或16字节的整倍数,则需要对该数据报文进行填充字符处理,以满足IPSec协议处理的需要。
步骤505:加解密/Hash单元根据SA数据对数据报文进行相应加解密处理,并发送给包尾处理模块;首先由ESP处理模块根据SA数据对数据报文进行加解密和/或认证处理,然后,由AH处理模块根据SA数据对数据报文进行Hash(哈希)运算处理,并发送给包尾处理模块;
其中,对于待接收的数据报文,需要对其进行解密和/或认证处理,对于待发送的数据报文,则需要对其进行加密和/或认证处理,即:
从输入缓存来的数据的在加解密/Hash单元需要分为外出方向的数据报文处理和进入方向的数据报文的处理两种情况,所述的外出方向的数据报文处理是指对待发送的数据报文进行加密处理以保证传送过程中数据报文的安全,所述的进入方向的数据报文处理是指对收到的数据报文进行解密和校验处理判断接收的数据报文是否完整和合法;
所述的外出方向的数据报文处理包括:
首先,将数据报文直接送到加解密/Hash单元进行处理ESP处理,ESP处理包括加密和/或认证处理,且ESP处理不允许同时不作加密和认证处理;通常可以根据SA数据的内容确定对数据报文进行以下三种处理之一:
ESP加密和认证处理:将数据报文(如IP报文)的载荷送到加解密/Hash单元进行加密处理,并对加密的结果再通过Hash运算进行相应的认证处理;
ESP加密处理:将IP报文的载荷送到加密单元进行加密处理;
ESP认证处理:对IP报文的载荷通过Hash运算进行认证;
然后中,如果是绑定IPSec处理,则还需要将加密/Hash完成的报文送到Hash单元再次进行加入认证值处理,即是针对AH进行处理,即对整个IP报文进行Hash运算,并加入认证值;
所述的进入方向的数据报文处理包括:
将数据报文送到加解密/Hash单元进行处理;如果是绑定的IPSec处理,首先对数据报文进行Hash认证操作,进行校验认证值处理,然后,再将数据报文进行解密处理。
步骤506:包尾处理模块对数据报文的尾进行相应的处理后,发送给解压处理模块。
步骤507:解压处理模块将经包尾处理模块处理后的待接收的数据报文进行解压缩处理后,通过输出缓存进行发送;
接收到包尾处理模块发来的待接收的数据报文后,根据其中的SA数据确定是否需要对其进行解压处理,如果需要则执行步骤507进行解压处理,否则,直接执行步骤508;
另外,对于待发送的数据报文则无需进行步骤507的压缩处理过程,而直接执行步骤508即可。
步骤508:根据网络安全处理后的SA数据和数据报文更新本地SDRAM中的SA数据和主机内存中的数据报文;
如果所述的输出缓存达到快满状态,则DMA模块将发起一个数据回写的操作,将经过网络安全处理后的数据报文通过通用数据总线回写到主机内存中;
同时,完成了整个数据报文网络安全处理之后,DMA模块将输出缓存中的所有数据均通过通用数据总线写到主机内存中,同时发起一个SA数据更新操作,将SA数据中需要更新的域通过内存总线进行更新,例如,如果处理的进入方向的数据报文,则需要更新SA数据的序列号;如果处理的是外出方向的数据报文,则需要更新SA数据的Mask(反重放序列号掩码)和序列号。
本发明中还包括在所有的网络安全处理操作完成之后,即完成了数据报文回写至主机内存中,并完成了本地SDRAM中SA数据的更新后,通过中断方式将处理结果上报给主机,以便于主机了解网络安全的最终处理情况。
Claims (16)
1、一种网络安全处理装置,其特征在于包括:
输入缓存模块:接收到需要进行加密和认证处理的数据报文和相应的安全关联SA数据,并进行缓存后发送给包头处理模块;
包头处理模块:接收数据报文和SA数据,并对数据报文的头进行处理后随SA数据一同发送给加解密/哈希Hash单元;
加解密/哈希Hash单元:接收经过包头处理后的数据报文和SA数据,并根据SA数据对数据报文进行绑定的因特网网络安全协议IPSec处理,然后发送给包尾处理模块;
包尾处理模块:接收加解密/哈希Hash单元发来的数据报文,对数据报文尾部进行处理后发送给输出缓存模块;
输出缓存模块:接收包尾处理模块发来的数据报文,并进行缓存处理,然后发送出去;
且该装置还包括本地存储器,用于保存通过数据总线接收到的需要进行加密和认证处理的数据报文和相应的SA数据;且所述的输入缓存模块和输出缓存模块均通过直接存储器访问DMA模块和通用数据总线与主机内存相连,并通过DMA模块和内存总线与本地存储器相连;其中,当所述通用数据总线选用带宽为1~2Gbps的周边器件互联PCI总线时,主机CPU便将数据报文的地址信息和SA数据在本地存储器中的地址信息下发给网络安全处理装置,并由网络安全处理装置的DMA模块根据相应的地址信息进行相应的数据报文和SA数据的调用;当所述的通用数据总线选用的是带宽最大能够达到10Gbps的POS物理层接口POS-PHY总线,且在主机中存在SA数据地址信息和数据报文的对应关系时,则主机CPU仅向网络安全处理装置下发一个SA数据的地址信息及对应的主机中的数据报文,且对应的主机中的数据报文前面紧跟着SA数据的地址信息,并由网络安全处理装置根据SA数据的地址信息获取SA数据;当通用数据总线选择的是大于10Gbps的POS-PHY总线,且SA数据的地址信息和数据报文的对应关系保存于网络安全处理装置侧时,则网络安全处理装置收到数据报文后,将根据所述的对应关系查找得到该数据报文对应的SA数据的地址信息,并根据SA数据的地址信息获得相应的SA数据。
2、根据权利要求1所述的网络安全处理装置,其特征在于所述的本地存储器为同步静态随机访问存储器SDRAM。
3、根据权利要求1所述的网络安全处理装置,其特征在于所述的本地存储器为双倍速率的同步静态随机访问存储器DDR SDRAM。
4、根据权利要求1或2所述的网络安全处理装置,其特征在于:
所述的输入缓存模块与包头处理模块间还连接设置有压缩处理模块,该模块接收输入缓存发来的数据报文并进行压缩处理后发送给包头处理模块;
所述的包尾处理模块与所述的输出缓存模块间连接设置有解压处理模块,该模块接收包尾处理模块发来的数据报文,并进行解压缩处理后发送给输出缓存模块。
5、根据权利要求1或2所述的网络安全处理装置,其特征在于所述的包头处理模块为:接收数据报文和SA数据,并一次性为数据报文插入用于绑定的IPSec处理的安全头,同时随SA数据一同发送给加解密/哈希Hash单元。
6、根据权利要求1或2所述的网络安全处理装置,其特征在于所述的加解密/哈希Hash单元包括:
封装安全载荷ESP处理模块:接收包头处理模块发来的数据报文和SA数据,并根据SA对所述数据报文和SA数据进行相应的加解密和/或认证处理后给认证头AH处理模块;
AH处理模块:接收ESP处理模块发来的数据报文和SA数据,并根据SA数据对ESP处理模块发来的数据报文和SA数据进行相应的哈希Hash运算处理后发送给包尾处理模块。
7、一种网络安全处理方法,其特征在于包括:
a、系统将经过协商获得的安全关联SA数据通过系统的通用数据总线和网络安全处理装置下发到位于网络安全处理装置侧的本地存储器中,并将接收的数据报文保存于系统主机内存中;
b、网络安全处理装置将通过通用数据总线调用系统主机内存中的数据报文,还将调用的数据报文保存于本地存储器中,并通过内存总线调用本地存储器中的SA数据;具体地,如果所述的通用数据总线选用带宽为1~2Gbps的周边器件互联PCI总线,则主机CPU便将数据报文的地址信息和SA数据在本地存储器中的地址信息下发给网络安全处理装置,并由网络安全处理装置的DMA模块根据相应的地址信息进行相应的数据报文和SA数据的调用;如果所述的通用数据总线选用的是带宽最大能够达到10Gbps的POS物理层接口POS-PHY总线,且在主机中存在SA数据地址信息和数据报文的对应关系,则主机CPU仅向网络安全处理装置下发一个SA数据的地址信息及对应的主机中的数据报文,且对应的主机中的数据报文前面紧跟着SA数据的地址信息,并由网络安全处理装置根据SA数据的地址信息获取SA数据;如果通用数据总线选择的是大于10Gbps的POS-PHY总线,且SA数据的地址信息和数据报文的对应关系保存于网络安全处理装置侧,则网络安全处理装置收到数据报文后,将根据所述的对应关系查找得到该数据报文对应的SA数据的地址信息,并根据SA数据的地址信息获得相应的SA数据;
c、网络安全处理装置根据调用获得的SA数据和数据报文进行相应的网络安全处理,并发送。
8、根据权利要求7所述的网络安全处理方法,其特征在于,在执行步骤c后,该方法还包括:
网络安全处理装置采用经过网络安全处理后数据报文,通过通用数据总线更新主机内存中的数据报文,并采用经过网络安全处理后的SA数据,通过内存总线更新本地存储器中的SA数据。
9、根据权利要求7所述的网络安全处理方法,其特征在于所述的步骤a还包括:
通信双方经协商确定的SA数据直接通过通用数据总线和网络安全处理装置的DMA模块下发到本地存储器中。
10、根据权利要求7所述的网络安全处理方法,其特征在于所述的步骤c包括:
c1、网络安全处理装置中的输入缓存模块接收调用获得的SA数据和数据报文,并进行缓存处理后发送给包头处理模块;
c2、网络安全处理装置中的包头处理模块对数据报文的头进行处理,并将处理后的数据报文与SA数据一起发给加解密/哈希Hash单元;
c3、网络安全处理装置中的加解密/哈希Hash单元根据SA数据对数据报文进行相应加解密处理,并发送给包尾处理模块;
c4、网络安全处理装置中的包尾处理模块对数据报文的尾进行相应的处理后,通过输出缓存进行发送。
11、根据权利要求10所述的网络安全处理方法,其特征在于:
所述的步骤c1还包括:
将经输入缓存模块缓存的待发送的数据报文根据设定的压缩格式进行压缩处理后发送给包头处理模块;
所述的步骤c4还包括:
将经包尾处理模块处理后的待接收的数据报文进行相应的解压缩处理后通过输出缓存进行发送。
12、根据权利要求10所述的网络安全处理方法,其特征在于所述的步骤c2包括:
包头处理模块一次性为数据报文插入用于封装安全载荷ESP处理和认证头AH处理的安全头;或者,包头处理模块一次性为数据报文插入用于ESP处理和AH处理的安全头,并进行填充字符处理;
将处理后的数据报文与SA数据一起发给加解密/哈希Hash单元。
13、根据权利要求10所述的网络安全处理方法,其特征在于所述的步骤c3包括:
首先由封装安全载荷ESP处理模块根据SA数据对数据报文进行加解密和/或认证处理,然后,由认证头AH处理模块根据SA数据对数据报文进行Hash运算处理,之后,再发送给包尾处理模块。
14、根据权利要求10所述的网络安全处理方法,其特征在于所述的步骤c4还包括:
网络安全处理装置通过输出缓存及DMA模块更新本地存储器中的SA数据,并将经过安全处理后的数据报文返回给主机。
15、根据权利要求14所述的网络安全处理方法,其特征在于所述的步骤c4还包括:
网络安全处理装置将数据报文回写至主机内存,且将作为本地存储器的本地SDRAM中SA数据的更新后,通过中断方式将处理结果上报给主机。
16、根据权利要求15所述的网络安全处理方法,其特征在于所述SA数据的更新包括:如果处理的是进入方向的数据报文,则需要更新SA数据的序列号;如果处理的是外出方向的数据报文,则需要更新SA数据的反重放序列号掩码Mask和序列号,其中,所述的外出方向的数据报文是指需要进行加密处理的待发送的数据报文,所述的进入方向的数据报文是指需要进行解密处理的收到的数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031329810A CN100502348C (zh) | 2003-07-23 | 2003-07-23 | 网络安全处理装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031329810A CN100502348C (zh) | 2003-07-23 | 2003-07-23 | 网络安全处理装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1571399A CN1571399A (zh) | 2005-01-26 |
CN100502348C true CN100502348C (zh) | 2009-06-17 |
Family
ID=34469992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031329810A Expired - Fee Related CN100502348C (zh) | 2003-07-23 | 2003-07-23 | 网络安全处理装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100502348C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878055B (zh) * | 2005-06-07 | 2010-11-03 | 北京握奇数据系统有限公司 | 一种分离式大数据量加/解密设备及实现方法 |
CN100596062C (zh) * | 2007-08-16 | 2010-03-24 | 杭州华三通信技术有限公司 | 分布式报文传输安全保护装置和方法 |
CN102006285B (zh) * | 2010-11-02 | 2016-07-06 | 北京天融信科技股份有限公司 | 一种用于网络安全设备的报文处理方法及装置 |
US9165162B2 (en) * | 2012-12-28 | 2015-10-20 | Infineon Technologies Ag | Processor arrangements and a method for transmitting a data bit sequence |
CN108092942B (zh) * | 2016-11-21 | 2020-04-10 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法和装置 |
CN111835613B (zh) * | 2019-04-23 | 2022-07-08 | 厦门网宿有限公司 | 一种vpn服务器的数据传输方法及vpn服务器 |
CN110381034B (zh) * | 2019-06-25 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种报文处理方法、装置、设备及可读存储介质 |
-
2003
- 2003-07-23 CN CNB031329810A patent/CN100502348C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1571399A (zh) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468337B2 (en) | Secure data transfer over a network | |
US7502474B2 (en) | Network interface with security association data prefetch for high speed offloaded security processing | |
US7502925B2 (en) | Method and apparatus for reducing TCP frame transmit latency | |
US8351445B1 (en) | Network interface systems and methods for offloading segmentation and/or checksumming with security processing | |
US7685434B2 (en) | Two parallel engines for high speed transmit IPsec processing | |
US7676814B2 (en) | Four layer architecture for network device drivers | |
EP1192782B1 (en) | Classification engine in a cryptography acceleration chip | |
EP1203477B1 (en) | Protection of communications | |
CN101262405B (zh) | 基于网络处理器的高速安全虚拟专用网系统及其实现方法 | |
US7412726B1 (en) | Method and apparatus for out of order writing of status fields for receive IPsec processing | |
Miltchev et al. | A study of the relative costs of network security protocols | |
US20040225885A1 (en) | Methods and systems for efficiently integrating a cryptographic co-processor | |
US7526085B1 (en) | Throughput and latency of inbound and outbound IPsec processing | |
CN109714292A (zh) | 传输报文的方法与装置 | |
US20050198498A1 (en) | System and method for performing cryptographic operations on network data | |
CN100502348C (zh) | 网络安全处理装置及其方法 | |
US7818563B1 (en) | Method to maximize hardware utilization in flow-thru IPsec processing | |
US7624263B1 (en) | Security association table lookup architecture and method of operation | |
US8160089B1 (en) | Dynamic inter packet gap generation system and method | |
US7181616B2 (en) | Method of and apparatus for data transmission | |
US7958255B1 (en) | Partial coalescing of transmit buffers | |
US7564976B2 (en) | System and method for performing security operations on network data | |
EP2558946B1 (en) | Method and system for cryptographic processing core | |
CN101741827A (zh) | 网络安全处理装置及其方法 | |
US7787481B1 (en) | Prefetch scheme to minimize interpacket gap |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090617 Termination date: 20150723 |
|
EXPY | Termination of patent right or utility model |