CN104954222A - 基于ipsec协议的隧道模式esp硬件封装装置 - Google Patents
基于ipsec协议的隧道模式esp硬件封装装置 Download PDFInfo
- Publication number
- CN104954222A CN104954222A CN201510266420.9A CN201510266420A CN104954222A CN 104954222 A CN104954222 A CN 104954222A CN 201510266420 A CN201510266420 A CN 201510266420A CN 104954222 A CN104954222 A CN 104954222A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- field
- head
- esp
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于IPSEC协议的隧道模式ESP硬件封装装置,属于网络数据安全领域。该封装装置包括通过总线连接并使用乒乓模式工作的多个隧道模式ESP封装单元,所述隧道模式ESP封装单元包括:数据解析模块、一组加密模块、IPV4头重组模块、IPV6头重组模块、数据暂存模块、数据组装模块、认证模块、IP首部校验和模块。相比现有技术,本发明将要封装的数据包进行分段处理,通过改变每段的数据格式,添加起始位或长度校验字段,实现了安全高效的数据封装;本发明采用挂接多个封装模块实现乒乓操作模式,进一步提高了封装速度。
Description
技术领域
本发明涉及网络数据安全领域,尤其涉及一种基于IPSEC协议的隧道模式ESP硬件封装装置。
背景技术
随着计算机网络技术的发展,我们利用网络技术进行工作生活越来越快捷方便,如今的社会已经离不开网络,但随之而来的网络安全问题也不得不引起社会的关注,近些年来,网络安全问题日益突出和多样化,黑客利用网络对公司、政府进行数据截取,让公司、政府蒙受巨大损失,同时也使个人信息安全受到威胁。为了提高网络信息传输的安全,互联网工程任务组(IETF)在1988年提出了针对网络层的IPSEC(IP Security)协议,来弥补IP数据包本身不继承安全措施的缺点。
随着下一代网际协议IPV6的发展,市场上已形成:IPV4网际协议向IPV6网际协议过渡的格局,提出一种既能在IPV4协议上实施,又能兼容IPV6协议实施IPSEC协议的方式,才能满足市场需求。在实施IPSEC协议过程中,影响其实施速度的因素在于IPSEC数据包的封装速度,目前市场上大多采用软件方式进行IPSEC数据包封装,实施速度相对较慢,严重影响IPSEC数据包封装传输速度,因此有必要提供一种基于IPSEC协议硬件实现对数据包封装,优化硬件传输模式,可以在软件基础上大幅提高速度,同时也使数据传输变得更加安全。
目前针对IPSEC协议实施场景大体可分为3类:1.Site to Site(站点到站点或者网管到网管)2.End to End(端到端或者PC到PC)3.End to Site(端到站点或者PC到网关),而如今对于每个子网下PC机数量庞大,每次实施End to End模式下IPSEC协议,都会在相应PC机上实施一次,耗费太多时间,因此选用Site to Site模式下实施IPSEC协议可提升相应传输速度。在Site to Site模式下,IPSEC协议实施条件是在隧道模式下传输,因此有必要提供一种基于IPSEC协议的隧道模式ESP硬件封装装置。
发明内容
本发明所要解决的技术问题在于克服现有技术不足,提供一种基于IPSEC协议的隧道模式ESP硬件封装装置,可实现高效安全的数据包封装。
本发明基于IPSEC协议的隧道模式ESP硬件封装装置,包括通过总线连接并使用乒乓模式工作的多个隧道模式ESP封装单元,所述隧道模式ESP封装单元包括:
数据解析模块,用于接收经过SA匹配后的数据包,对数据包进行解析并按照解析结果将数据送至相应的后续模块;
一组加密模块,用于根据数据解析模块所解析出的SA匹配策略对IP数据报文段进行相应的加密;
IPV4头重组模块,用于为使用IPV4协议传输的数据包组装外部新IP头;
IPV6头重组模块,用于为使用IPV6协议传输的数据包组装外部新IP头;
数据暂存模块,用于暂时存储处理的数据,包括:IPV4或IPV6重组的新IP头、安全参数索引、序列号、初始化向量、认证算法密钥、新UDP头、原始IP头;
数据组装模块,用于将数据暂存模块及各加密模块所发送的分散数据组装成标准的IPSEC数据包;
认证模块,用于对数据进行身份验证和消息认证,并将认证后数据送到下层分片处理;
IP首部校验和模块,用于重新计算认证模块在认证过程中所修改的外部新IP头的首部校验和,并将计算出的首部校验和填充到外部新IP头的相应位置。
进一步地,所述数据解析模块包括:字段解析判断模块、关键字段存储模块、缓存模块,其中:
所述字段解析判断模块,用于对上层所传输数据进行解析,包括:同步帧中同步字段解析、数据长度解析、解释域帧解析;所述解释域帧解析包括:封装模式解析、网络地址转换字段解析、加密协议类型解析、路径最大传输单元解析、加密算法类型解析、认证算法类型解析、处理序列号溢出解析、网际协议版本解析;
所述关键字段存储模块,用于存储解析出的关键字段数据;
所述缓存模块,用于缓存经过字段解析判断模块处理的数据,供后续模块读取。
进一步地,所述数据组装模块包括:排序重组模块、数据存储模块,缓存模块,其中:
所述排序重组模块,用于根据所采用协议版本将接收到的数据排序组装成相应标准格式,然后排序发送;IPV4协议数据的标准格式为:外部IPV4新头||新UDP头||认证算法密钥||ESP首部||原始IP头||TCP首部||TCP数据部分||ESP尾部,IPV6协议数据的标准格式为:外部IPV6新头||新UDP头||认证算法密钥||ESP首部||原始IP头||有效载荷||ESP尾部;
所述数据存储模块,用于存储前后顺序不一致的数据帧,以及需要修改的字段;
所述缓存模块,用于缓存经过排序后的数据帧,供后续模块读取。
优选地,所述一组加密模块至少包括AES加密模块和3DES&DES加密模块。
优选地,所述认证模块可对数据进行MD5或 SHA1认证。
优选地,从数据解析模块发送到加密模块的数据格式包括:起始位、初始化向量IV位、ESP加密算法密钥位、IP数据报文位、填充位、以及结束位;其中,起始位包括:起始位字段、加/解密字段、加密类型字段、加密模式字段、数据包总长度字段;填充位包括:填充字段、填充长度字段、下一个头字段;结束位包括:结束位字段和长度验证字段。
优选地,从数据解析模块发送到数据暂存模块的数据格式包括:起始位、解释域字位、目的地址位、安全参数索引、序列号位、初始化向量位、认证算法密钥位、新UDP头位、原始IP头、结束位;其中,起始位包括:起始位字段和数据包总长度字段;解释域字位包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法编号位、IV标识位;结束位包括:结束位字段和长度验证字段。
优选地,数据组装模块组装后的数据格式包括:起始位、外部IP新头帧、新UDP头位、认证算法密钥、安全参数索引、序列号、初始化向量、加密数据部分、结束位。
相比现有技术,本发明具有以下有益效果:
本发明将要封装的数据包进行分段处理,通过改变每段的数据格式,添加起始位或长度校验字段,实现安全高效的数据封装;本发明采用挂接多个封装模块实现乒乓操作模式,进一步提高了封装速度。
附图说明
图1为本发明隧道模式ESP硬件封装装置的总体结构及原理示意图。
图2为本发明隧道模式ESP硬件封装装置中数据解析模块的一种具体结构。
图3为数据解析模块从SA安全联盟所接收的数据格式。
图4为数据解析模块发送到加密模块的数据格式。
图5为数据解析模块发送到数据暂存模块的数据格式。
图6为本发明隧道模式ESP硬件封装装置中数据组装模块的一种具体结构。
图7为采用IPV4传输协议的数据经数据组装模块组装后的数据格式。
图8为采用IPV6传输协议的数据经数据组装模块组装后的数据格式。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
图1显示了本发明基于IPSEC协议的隧道模式ESP硬件封装装置的总体结构及原理。由于封装需要时间,封装速度小于SA发送数据的速度,因此本发明采用多个隧道模式ESP封装单元,通过上层SA安全联盟相关模块查询隧道模式ESP封装单元工作状态,选择空闲的隧道模式ESP封装单元接收处理SA匹配的策略和数据,实现多个封装单元循环利用,达到乒乓操作效果,提高速度。如图1所示,该装置包括一组通过总线连接的隧道模式ESP封装单元,每一个隧道模式ESP封装单元包括:数据解析模块、AES加密模块、IPV4头重组模块、数据暂存模块、IPV6头重组模块、3DES&DES加密模块、数据组装模块、认证模块、IP首部校验和模块。上述各模块的具体作用如下:
数据解析模块,接收上层SA安全联盟匹配的策略及数据,通过解析上层发送数据中已经协商好的同步字段,判断是否是一个新的正确的IP包及策略,如果上一个数据包发送完毕,端口接收一个新的数据包,这个新的数据包的同步字段与上层协商构建的同步字段匹配,那么默认这个包是正确的,开始接收数据帧(这里以32bit数据为一帧),如果这个同步字段与上层协商构建的同步字段不匹配,默认这个数据包是错误的,丢弃(这里的丢弃是指接收数据,但不作为保存发送到后面模块),将数据的长度字段保存到存储器中。通过解析上层发送数据中的解释域帧序列号字段,判断序列号溢出是否处理,若处理,将添加相应字段交给后面处理,通过解析解释域帧封装模式字段,判断封装模式,若采用隧道模式,则继续处理后续内容,若是传输模式,则调回到相应的传输模式通道(本设计不涉及传输模式,所以未留端口),通过解析解释域帧NAT字段,判断是否要求NAT,若要求NAT,则把相应实施NAT的所添加的UDP帧长度存储到存储器中,通过解析解释域帧协议类型字段,判断协议类型,进行相应数据包处理(这里默认ESP类型,其他类型在本装置不做处理),通过解析解释域帧加密算法类型字段,判断加密算法,判定使用的加密算法类型,并将要使用算法的密钥长度放在存储器中,也为后续将密钥发送到相应加密模块中去作判断,通过解析解释域帧认证算法字段,判断认证算法,将认证算法密钥的长度保存在存储器中,通过解析解释域帧传输协议类型,判断传输协议是IPV4还是IPV6,并将目的地址的长度保存在存储器中,同时也为重组IP头作判断。通过解析解释域帧技术类型帧,判断使用的技术类型(这里默认是双栈,其他类型不做处理),通过解释域帧初始化向量 (IV)字段,判断是否使用初始化向量 (IV)字段,将IV长度放在存储器中(若不使用,默认IV长度为0),通过解析解释域帧PTMU字段,储存在存储器中,用于处理后续数据:如果IPV4头中3位标志旗标为不分片类型,而数据包总长度大于PTMU的值,判定该数据包为错误的数据包,并为该包做注释(在后续填充字段做注释),表明该包为错误数据包,若3位标志旗标为分片类型,而数据包总长度大于PTMU的值,默认为正确的包,不做处理。解析目的地址帧,通过存储在存储器中的目的地址长度,将相应长度的目的地址发送到数据暂存模块中。解析安全参数索引(SPI)帧,将相应32bit长度的SPI发送到数据暂存模块。解析序列号(SN)帧,将相应32bit长度的SN发送到数据暂存模块中。解析初始化向量(IV)帧,将相应长度的IV发送到数据暂存模块和相应要使用IV的加密模块(本实施例中为AES加密模块或DES&3DES加密模块)。解析加密算法帧,通过上面存储在存储器中密钥的长度以及相应的加密方式,将相应长度的密钥发送到相应的加密模块中(本实施例中AES加密模块或DES&3DES加密模块)。解析认证算法密钥帧,将相应长度的认证算法密钥发送到数据暂存模块。解析IP数据报文,通过前面解释域帧加密类型字段,将IP数据报文发送到相应的加密模块中,同时复制IP数据报文的IP头内容,发送到数据暂存模块中。通过存储在存储器中的数据段长度计算IP数据报文长度,以及相应加密方式,判断IP数据报文段是否需要填充以及填充长度,例如:若采用AES192位加密方式,填充数据,填充的数据格式为(填充项||填充长度||下一个头),填充长度的单位为字节,表示填充项长度,通过填充使IP数据报文长度+填充项的长度+填充项长度字段的长度+下一个头的长度=整数*192bit。
AES加密模块,通过数据解析模块发送的起始位字段(协商构建的),判断是否为一个新的需要被加密的数据包,通过加/解密字段,判断是加密还是解密(外出包处理只存在加密),通过加密模式字段使用相应模式加密(ECB模式、CBC模式),通过加密类型字段使用相应位数AES加密(128位、192位、256位),通过数据包总长度字段解析,将数据包总长度字段存储在存储器中。通过前面加密模式字段判断,接收相应长度的IV放入相应模式用于对数据进行相应位数AES加密,接收相应长度密钥放入相应模式用于对数据进行相应位数AES加密,接收需要被加密的数据段,进行相应模式相应位数加密。再接收结束字段,判断该需要加密数据包接收完毕,通过长度验证字段,判断该数据包是否被正确接收,若被正确接收,将加密好的数据包封装成带识别长度的加密数据报文发送到数据组装模块模块,若未被正确接收,丢弃(不发送到下一模块)。
IPV4头重组模块,用于读取数据暂存模块中的IP头数据,同时修改相应字段并组装成标准IPV4头格式作为外部新的IP头。例如:4位版本字段为固定数值:0100,4位首部长度字段和路由器上的配置的选择有关,根据实施IPSEC协议的路由器的配置来修改首部长度的值,8位服务类型(TOS)不变,16位总长度用 “0”来填充,16位标识字段保持不变,3位标志位保持不变,13位片偏移保持不变,8位生存时间保持不变,8位协议值改为50,16位首部校验和用“0”填充,源地址保持不变,目的地址修改为数据解析模块发送到数据暂存模块中目的地址。可选字段(长度可变),填充项根据路由配置构建添加。
IPV6头重组模块,用于读取数据暂存模块中的IP头数据,同时修改相应字段并组装成标准IPV6头格式作为外部新的IP头。例如:4位版本号为“0110”,8位通信量类保持不变,流标号保持不变,16位有效载荷长度暂时修改为“0”,下一个首部保持不变,跳数限制保持不变,源地址保持不变,目的地址修改为数据解析模块发送到数据暂存模块中的目的地址。
数据暂存模块,用于对数据的存储,通过数据解析模块判断,接收解释域帧、目的地址帧、安全参数索引(SPI)帧、序列号(SN)帧、加密算法(IV)帧(如果采用CBC加密模式)、认证算法密钥帧、IP数据报文段中IP头帧。
DES&3DES加密模块,通过解析模块发送的起始位字段(协商构建的),判断是否为一个新的需要被加密的数据包,通过加/解密字段,判断是加密还是解密(外出包处理只存在加密),通过加密模式字段使用相应模式加密(ECB模式、CBC模式),通过加密类型字段使用相应位数DES加密还是3DES加密,通过数据包总长度字段解析,将数据包总长度字段存储在存储器中。通过前面加密模式字段判断,接收相应长度的IV放入相应模式用于对数据进行DES加密或3DES加密,接收相应长度密钥放入相应模式用于对数据进行DES加密或3DES加密,接收需要被加密的数据段,进行相应模式加密。再接收结束字段,判断该需要加密数据包接收完毕,通过长度验证字段,判断该数据包是否被正确接收,若被正确接收,将加密好的数据包封装成带识别长度的加密数据报文发送到数据组装模块模块,若未被正确接收,丢弃(不发送到下一模块)。
数据组装模块,根据隧道模式下ESP封装的数据格式,将数据进行排序输出:首先从数据暂存模块中接收解释域帧、安全参数索引SPI数据帧、序列号SN数据帧、初始化向量IV帧,并存入数据存储器中,然后接收IP头帧,并发送到认证模块;接着查询数据暂存模块并依次发送ESP头中的内容:安全参数索引SPI、序列号SN、初始化向量IV。根据解释域字段判断使用的加密模块,并从相应加密模块中读出加密后的数据部分,其中加密数据包括:有效载荷、ESP尾(填充字段||填充项长度||下一个头),将读取的加密数据发送到认证模块。
认证模块,用于对数据进行身份验证和消息认证,通过接收数据组装模块的解释域认证算法字段,判断使用的认证算法为MD5或者SHA1算法,接收相关认证算法的密钥并存储。如果通过MD5算法认证,通过各数据段长度计算,计算出认证部分(ESP头+加密部分数据)的长度,给认证部分填充数据,使其位长度与448在模512下同余,即使填充后的认证部分长度比512位的整数倍少64位。然后将填充前认证部分长度以64bit形式放在填充后的认证部分后面。将填充后的认证部分、密钥进行MD5验证算法,最后得到128位消息认证字段。如果通过SHA1算法,通过各数据段长度计算,计算出认证部分(ESP头+加密部分数据)的长度,给认证部分填充数据,使其位长度与448在模512下同余,即使填充后的认证部分长度比512位的整数倍少64位,然后将填充前认证部分长度以64bit形式放在填充后的认证部分后面,与MD5不同的是填充64位的未填充认证部分长度的高32位在前。将填充好的认证部分与密钥进行SHA1验证算法,生成160位消息认证字段。将生成的消息认证字段放于ESP尾后,计算整个IPSEC包长度,修改IP头的总长度字段,将修改好的IP头发送到IP首部校验和模块(如果是IPV4头)。
IP首部校验和模块,用于计算外部新IP头的首部校验和,并修改外部新IP头的首部校验和字段,修改好后将IP头送回认证模块。
认证模块最后按照标准IPSEC协议格式(新IP头||UDP(若采用NAT)||加密部分||ESP HMAC)将封装好的数据包发送到下层分片。
图2显示了本发明隧道模式ESP硬件封装装置中数据解析模块的一种具体结构。如图2所示,该数据解析模块包括:字段解析判断模块、关键字段存储模块、数据缓存模块1、数据缓存模块2、数据缓存模块3。
字段解析判断模块,用于解析同步字段、数据总长度字段、解释域字段、PMTU字段、将解析的各字段代表的数据长度保存在关键字段存储模块中,例如如果解析到解释域字段里面的加密算法表示128位的AES加密模式,则将相关的密钥的长度“4*32bit”(这里存入密钥的长度,而并非密钥本身)存入关键字段存储模块中;并通过关键字段判断,将后续内容分别存储在数据缓存模块1、数据缓存模块2、数据缓存模块3,例如将解释域字、目的地址、安全索引(SPI)、序列号(SN)、UDP源/目的端口(若采用NAT穿越)、IP数据报文中IP头帧写入数据缓存模块2,若判断采用AES加密,则将起始位、数据包长度、初始化向量IV、密钥、IP数据报文、结束位、长度验证写入数据缓存模块1中。
关键字段存储模块用于存储字段解析判断模块解析出的各数据帧的长度。
数据缓存模块1用于缓存AES加密所需要数据包括:起始位、数据包长度、初始化向量IV、密钥、IP数据报文、结束位、长度验证。
数据缓存模块2用于缓存解释域字、目的地址、安全索引(SPI)、序列号(SN)、UDP源/目的端口(若采用NAT)、IP数据报文中IP头帧。
数据缓存模块3用于缓存DES或3DES加密所需数据,包括:起始位、数据包长度、初始化向量IV、密钥、IP数据报文、结束位、长度验证。
对数据解析处理完后,数据解析模块将相应数据分别发送到AES加密模块、数据暂存模块或DES&3DES加密模块。
图3显示了数据解析模块从SA安全联盟所接收的数据格式。如图3所示,数据解析模块从SA安全联盟接收的数据格式包括:同步数据位、解释域字、PMTU位、目的 IP 地址、ESP-SA安全参数索引(SPI)、ESP-SA序列号(SN)、ESP-SA初始化向量(IV)、ESP-SA加密算法密钥、ESP-SA认证算法密钥、新UDP头(若采用NAT)、IP数据报文(V4或者V6)、结束数据位。其中,同步数据位包括:同步字段和数据包总长度字段;同步字段用于标识新的SA数据包发送过来,数据包总长度字段用于标识该SA数据包所有数据总长度。解释域字包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法编号位、IV标识位。结束数据位包括:结束字段和长度验证字段。结束字段用于标识该SA数据包已经传输完毕,数据长度验证字段用于验证该数据包在长度上是否正确接收。
图4显示了从数据解析模块发送到AES加密模块或DES&3DES加密模块的数据格式,即加密模块接收数据格式。如图4所示,加密模块接收数据格式中包括:起始位、初始化向量IV位、ESP加密算法密钥位、IP数据报文位、两个填充位、以及结束位。其中,起始位包括:起始位字段、加/解密字段、加密类型字段、加密模式字段、数据包总长度字段;起始位字段用于标识是否新的一个包开始传送到加密模块;加/解密字段用于表征处理加密还是解密(本发明只涉及加密);加密类型字段,用于标识加密的方式,包括:①AES128位加密②AES192位加密③AES256位加密④DES加密⑤3DES加密;加密模式字段用于表征两种模式:①ECB加密模式②CBC加密模式;数据包总长度字段用于表征加密模块读到的该包数据的总长度。填充位包括:填充字段、填充长度字段、下一个头字段;填充字段用于填充IP数据报文使其符合相应加密方式要求的格式长度;填充长度字段用于表征填充字段的长度,这里用字节作为单位;下一个头字段,在隧道模式下其值为4。结束位包括:结束位字段和长度验证字段;结束位字段用于表征该数据包已经发送完成;长度验证字段用于验证这个数据包是否正确发送相应长度数据,若正确,该报保留,若不正确,该包丢弃。
图5显示了从数据解析模块发送到数据暂存模块的数据格式,即数据暂存模块接收数据格式。如图5所示,数据暂存模块接收数据格式中包括:起始位、解释域字位、目的地址位、安全参数索引(SPI)、序列号(SN)位、初始化向量(IV)位、认证算法密钥位、新UDP头位、原始IP头、结束位。其中,起始位包括:起始位字段和数据包总长度字段;起始位字段为协商构建,表征新一个数据包开始传送;数据包总长度字段用于表征此数据包总长度。解释域字位包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法编号位、IV标识位。结束位包括:结束位字段和长度验证字段。
图6显示了本发明隧道模式ESP硬件封装装置中数据组装模块的一种具体结构。如图6所示,该数据组装模块包括:排序重组模块、数据存储模块、缓存模块。排序重组模块用于接收数据,并将次序错误的数据帧保存到数据存储模块中,最后将数据组装成标准格式(外部IP新头||新UDP头(如果使用NAT)||认证算法密钥||ESP首部||原始IP头||TCP首部||TCP数据部分||ESP尾部)写入缓存模块中。例如:由数据暂存模块发送的数据帧将以:安全参数索引(SPI)||序列号(SN)||初始化向量(IV)||认证算法密钥||新UDP头||外部新IP头的先后顺序进入排序重组模块,通过排序重组模块将数据次序变为外部新IP头||新UDP头||认证算法密钥||安全参数索引(SPI)||序列号(SN)||初始化向量(IV)的顺序输出到缓存模块中,然后读出AES加密模块(若本次加密为AES加密)或DES&3DES加密模块(若本次加密为DES或3DES加密)加密的数据(原始IP头||TCP首部||TCP数据部分||ESP尾部)。数存储模块用于存储次序错误的数据帧,即认证算法密钥、安全参数索引(SPI)、序列号(SN)、初始化向量(IV)、新UDP头。缓存模块用于缓存经过排序的数据帧,便于下一模块读出数据。
图7显示了采用IPV4传输协议的数据经数据组装模块组装后的数据格式。如图7所示,数据组装模块组装后的数据格式包括:起始位、外部IP新头帧、新UDP头位、认证算法密钥、安全参数索引、序列号、初始化向量、加密数据部分、结束位。其中,起始位进一步包括:起始位字段、认证算法类型字段、数据包总长度字段;起始位字段为协商构建的,表征新一个数据包开始传送;认证算法类型字段用于表征认证算法类型,包括:MD5、SHA1算法;数据包总长度字段用于表征此数据包总长度。外部IP新头帧进一步包括:版本、首部长度、首部长度、IPSEC包总长度(这里用 16bit“0”填充)、标识、旗标、片偏移、生存时间、协议号、首部校验和(16bit“0”填充)、源地址(本机)、目的地址(外网路由)、可选字段(长度可变)、填充项。外部IP新头帧中各字段含义可参考IPV4协议,此处不再赘述其详细内容。结束位进一步包括:结束位字段和长度验证字段;结束位字段用于表示该数据包发送结束;长度验证字段用于验证数据包是否按照相应位数发送正确,若正确,数据包保留,若不正确,丢弃该数据包。
图8显示了采用IPV6传输协议的数据经数据组装模块组装后的数据格式。如图8所示,数据组装模块组装后的数据格式包括:起始位、外部IP新头帧、新UDP头位、认证算法密钥、安全参数索引、序列号、初始化向量、加密数据部分、结束位。其中,起始位进一步包括:起始位字段、认证算法类型、数据包总长度;起始位字段为协商构建的,表征新一个数据包开始传送;认证算法类型字段用于表征认证算法类型,包括:MD5、SHA1算法;数据包总长度字段用于表征此数据包总长度。外部IP新头帧进一步包括:版本、通信量类、流标号、有效载荷长度(这里用16bit“0”填充)、下一个首部、跳数限制、源地址(本机)、目的地址(外网路由)。外部IP新头帧中各字段含义可参考IPV6协议,此处不再赘述其详细内容。结束位进一步包含:结束位字段和长度验证字段;结束位字段用于表示该数据包发送结束;长度验证字段用于验证数据包是否按照相应位数发送正确,若正确,数据包保留,若不正确,丢弃该数据包。
Claims (8)
1.一种基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,包括通过总线连接并使用乒乓模式工作的多个隧道模式ESP封装单元,所述隧道模式ESP封装单元包括:
数据解析模块,用于接收经过SA匹配后的数据包,对数据包进行解析并按照解析结果将数据送至相应的后续模块;
一组加密模块,用于根据数据解析模块所解析出的SA匹配策略对IP数据报文段进行相应的加密;
IPV4头重组模块,用于为使用IPV4协议传输的数据包组装外部新IP头;
IPV6头重组模块,用于为使用IPV6协议传输的数据包组装外部新IP头;
数据暂存模块,用于暂时存储处理的数据,包括:IPV4或IPV6重组的新IP头、安全参数索引、序列号、初始化向量、认证算法密钥、新UDP头、原始IP头;
数据组装模块,用于将数据暂存模块及各加密模块所发送的分散数据组装成标准的IPSEC数据包;
认证模块,用于对数据进行身份验证和消息认证,并将认证后数据送到下层分片处理;
IP首部校验和模块,用于重新计算认证模块在认证过程中所修改的外部新IP头的首部校验和,并将计算出的首部校验和填充到外部新IP头的相应位置。
2.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,所述数据解析模块包括:字段解析判断模块、关键字段存储模块、缓存模块,其中:
所述字段解析判断模块,用于对上层所传输数据进行解析,包括:同步帧中同步字段解析、数据长度解析、解释域帧解析;所述解释域帧解析包括:封装模式解析、网络地址转换字段解析、加密协议类型解析、路径最大传输单元解析、加密算法类型解析、认证算法类型解析、处理序列号溢出解析、网际协议版本解析;
所述关键字段存储模块,用于存储解析出的关键字段数据;
所述缓存模块,用于缓存经过字段解析判断模块处理的数据,供后续模块读取。
3.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,所述数据组装模块包括:排序重组模块、数据存储模块,缓存模块,其中:
所述排序重组模块,用于根据所采用协议版本将接收到的数据排序组装成相应标准格式,然后排序发送;IPV4协议数据的标准格式为:外部IPV4新头||新UDP头||认证算法密钥||ESP首部||原始IP头||TCP首部||TCP数据部分||ESP尾部,IPV6协议数据的标准格式为:外部IPV6新头||新UDP头||认证算法密钥||ESP首部||原始IP头||有效载荷||ESP尾部;
所述数据存储模块,用于存储前后顺序不一致的数据帧,以及需要修改的字段;
所述缓存模块,用于缓存经过排序后的数据帧,供后续模块读取。
4.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,所述一组加密模块至少包括AES加密模块和3DES&DES加密模块。
5.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,所述认证模块可对数据进行MD5或 SHA1认证。
6.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,从数据解析模块发送到加密模块的数据格式包括:起始位、初始化向量IV位、ESP加密算法密钥位、IP数据报文位、填充位、以及结束位;其中,起始位包括:起始位字段、加/解密字段、加密类型字段、加密模式字段、数据包总长度字段;填充位包括:填充字段、填充长度字段、下一个头字段;结束位包括:结束位字段和长度验证字段。
7.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,从数据解析模块发送到数据暂存模块的数据格式包括:起始位、解释域字位、目的地址位、安全参数索引、序列号位、初始化向量位、认证算法密钥位、新UDP头位、原始IP头、结束位;其中,起始位包括:起始位字段和数据包总长度字段;解释域字位包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法编号位、IV标识位;结束位包括:结束位字段和长度验证字段。
8.如权利要求1所述基于IPSEC协议的隧道模式ESP硬件封装装置,其特征在于,数据组装模块组装后的数据格式包括:起始位、外部IP新头帧、新UDP头位、认证算法密钥、安全参数索引、序列号、初始化向量、加密数据部分、结束位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266420.9A CN104954222A (zh) | 2015-05-22 | 2015-05-22 | 基于ipsec协议的隧道模式esp硬件封装装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266420.9A CN104954222A (zh) | 2015-05-22 | 2015-05-22 | 基于ipsec协议的隧道模式esp硬件封装装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104954222A true CN104954222A (zh) | 2015-09-30 |
Family
ID=54168594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510266420.9A Pending CN104954222A (zh) | 2015-05-22 | 2015-05-22 | 基于ipsec协议的隧道模式esp硬件封装装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954222A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
CN105554002A (zh) * | 2015-12-22 | 2016-05-04 | 曙光信息产业股份有限公司 | 一种隧道报文的解析方法和装置 |
CN106657136A (zh) * | 2017-01-13 | 2017-05-10 | 北京元心科技有限公司 | 终端设备、隐匿信道通信方法及其装置 |
CN107579932A (zh) * | 2017-10-25 | 2018-01-12 | 北京天融信网络安全技术有限公司 | 一种数据传输方法、设备和存储介质 |
CN107748728A (zh) * | 2017-10-09 | 2018-03-02 | 南京云悦欣自动化工程有限公司 | 一种串口通讯分配装置及其通讯方法 |
CN109714293A (zh) * | 2017-10-25 | 2019-05-03 | 中国移动通信有限公司研究院 | VoLTE数据流量过滤方法、装置、网关、设备及介质 |
CN109842597A (zh) * | 2017-11-28 | 2019-06-04 | 中天安泰(北京)信息技术有限公司 | 通信上行数据重构方法及组件 |
CN109842596A (zh) * | 2017-11-28 | 2019-06-04 | 中天安泰(北京)信息技术有限公司 | 用于网络中间设备上的安全网络芯片 |
CN111541658A (zh) * | 2020-04-14 | 2020-08-14 | 许艺明 | 一种pcie防火墙 |
CN112468591A (zh) * | 2020-11-27 | 2021-03-09 | 刘成禹 | 一种公路隧道安全节能智慧运营管理平台 |
CN113612641A (zh) * | 2021-08-03 | 2021-11-05 | 中能融合智慧科技有限公司 | 一种基于能源网络高效的日志流量采集与智能分析系统 |
CN114050920A (zh) * | 2021-10-29 | 2022-02-15 | 山东多次方半导体有限公司 | 一种基于fpga的透明网络加密系统实现方法 |
CN114244577A (zh) * | 2021-11-24 | 2022-03-25 | 贵州电网有限责任公司 | 一种基于esp的报文处理方法 |
CN116319105A (zh) * | 2023-05-22 | 2023-06-23 | 北京中鼎昊硕科技有限责任公司 | 一种基于多路安全隧道的高可靠数据传输管理系统 |
CN117375776A (zh) * | 2023-10-18 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 一种数据超时重传方法及加速单元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707605A (zh) * | 2009-11-20 | 2010-05-12 | 中国电信股份有限公司 | 基于IPv4/IPv6协议翻译的IPSec穿越互连方法 |
WO2013081441A1 (en) * | 2011-12-02 | 2013-06-06 | Mimos Berhad | A system and method for establishing mutual remote attestation in internet protocol security (ipsec) based virtual private network (vpn) |
CN103200068A (zh) * | 2013-03-01 | 2013-07-10 | 北京傲天动联技术股份有限公司 | 一种基于用户业务多隧道传输装置 |
CN104184675A (zh) * | 2014-09-12 | 2014-12-03 | 成都卫士通信息产业股份有限公司 | 一种负载均衡的IPSec VPN设备集群系统及其工作方法 |
CN104394148A (zh) * | 2014-11-26 | 2015-03-04 | 东南大学 | IPv6下IPSec协议外出处理硬件实现系统 |
-
2015
- 2015-05-22 CN CN201510266420.9A patent/CN104954222A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707605A (zh) * | 2009-11-20 | 2010-05-12 | 中国电信股份有限公司 | 基于IPv4/IPv6协议翻译的IPSec穿越互连方法 |
WO2013081441A1 (en) * | 2011-12-02 | 2013-06-06 | Mimos Berhad | A system and method for establishing mutual remote attestation in internet protocol security (ipsec) based virtual private network (vpn) |
CN103200068A (zh) * | 2013-03-01 | 2013-07-10 | 北京傲天动联技术股份有限公司 | 一种基于用户业务多隧道传输装置 |
CN104184675A (zh) * | 2014-09-12 | 2014-12-03 | 成都卫士通信息产业股份有限公司 | 一种负载均衡的IPSec VPN设备集群系统及其工作方法 |
CN104394148A (zh) * | 2014-11-26 | 2015-03-04 | 东南大学 | IPv6下IPSec协议外出处理硬件实现系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516139B (zh) * | 2015-12-09 | 2019-03-19 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
CN105516139A (zh) * | 2015-12-09 | 2016-04-20 | 北京四达时代软件技术股份有限公司 | 一种网络数据的传输方法、装置及系统 |
CN105554002A (zh) * | 2015-12-22 | 2016-05-04 | 曙光信息产业股份有限公司 | 一种隧道报文的解析方法和装置 |
CN106657136A (zh) * | 2017-01-13 | 2017-05-10 | 北京元心科技有限公司 | 终端设备、隐匿信道通信方法及其装置 |
CN106657136B (zh) * | 2017-01-13 | 2019-12-17 | 北京元心科技有限公司 | 终端设备、隐匿信道通信方法及其装置 |
CN107748728B (zh) * | 2017-10-09 | 2020-06-19 | 南京云悦欣自动化工程有限公司 | 一种串口通讯分配装置及其通讯方法 |
CN107748728A (zh) * | 2017-10-09 | 2018-03-02 | 南京云悦欣自动化工程有限公司 | 一种串口通讯分配装置及其通讯方法 |
CN107579932A (zh) * | 2017-10-25 | 2018-01-12 | 北京天融信网络安全技术有限公司 | 一种数据传输方法、设备和存储介质 |
CN109714293A (zh) * | 2017-10-25 | 2019-05-03 | 中国移动通信有限公司研究院 | VoLTE数据流量过滤方法、装置、网关、设备及介质 |
CN109714293B (zh) * | 2017-10-25 | 2021-08-10 | 中国移动通信有限公司研究院 | VoLTE数据流量过滤方法、装置、网关、设备及介质 |
CN109842597A (zh) * | 2017-11-28 | 2019-06-04 | 中天安泰(北京)信息技术有限公司 | 通信上行数据重构方法及组件 |
CN109842596A (zh) * | 2017-11-28 | 2019-06-04 | 中天安泰(北京)信息技术有限公司 | 用于网络中间设备上的安全网络芯片 |
CN111541658B (zh) * | 2020-04-14 | 2024-05-31 | 许艺明 | 一种pcie防火墙 |
CN111541658A (zh) * | 2020-04-14 | 2020-08-14 | 许艺明 | 一种pcie防火墙 |
CN112468591A (zh) * | 2020-11-27 | 2021-03-09 | 刘成禹 | 一种公路隧道安全节能智慧运营管理平台 |
CN113612641A (zh) * | 2021-08-03 | 2021-11-05 | 中能融合智慧科技有限公司 | 一种基于能源网络高效的日志流量采集与智能分析系统 |
CN114050920A (zh) * | 2021-10-29 | 2022-02-15 | 山东多次方半导体有限公司 | 一种基于fpga的透明网络加密系统实现方法 |
CN114244577A (zh) * | 2021-11-24 | 2022-03-25 | 贵州电网有限责任公司 | 一种基于esp的报文处理方法 |
CN116319105A (zh) * | 2023-05-22 | 2023-06-23 | 北京中鼎昊硕科技有限责任公司 | 一种基于多路安全隧道的高可靠数据传输管理系统 |
CN116319105B (zh) * | 2023-05-22 | 2023-08-15 | 北京中鼎昊硕科技有限责任公司 | 一种基于多路安全隧道的高可靠数据传输管理系统 |
CN117375776A (zh) * | 2023-10-18 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 一种数据超时重传方法及加速单元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954222A (zh) | 基于ipsec协议的隧道模式esp硬件封装装置 | |
Kent | IP encapsulating security payload (ESP) | |
Raza et al. | Securing communication in 6LoWPAN with compressed IPsec | |
US9015467B2 (en) | Tagging mechanism for data path security processing | |
TWI499342B (zh) | 網路卸載方法與系統 | |
US9641551B1 (en) | System and method for traversing a NAT device with IPSEC AH authentication | |
US8467527B2 (en) | Efficient key derivation for end-to-end network security with traffic visibility | |
US11870761B1 (en) | Hardware security accelerator | |
US7434045B1 (en) | Method and apparatus for indexing an inbound security association database | |
Granjal et al. | Network‐layer security for the Internet of Things using TinyOS and BLIP | |
CN103905180B (zh) | 经典应用接入量子通信网络的方法 | |
CN103929299B (zh) | 地址即公钥的自安全轻量级网络报文传输方法 | |
US9369550B2 (en) | Protocol for layer two multiple network links tunnelling | |
US10044841B2 (en) | Methods and systems for creating protocol header for embedded layer two packets | |
CN112769745B (zh) | 传输组播报文的方法和相关装置 | |
US20130103940A1 (en) | Methods, systems, and computer readable media for performing encapsulating security payload (esp) rehashing | |
CN114050921B (zh) | 一种fpga实现的基于udp的高速加密数据传输系统 | |
CN113691490A (zh) | 一种校验SRv6报文的方法及装置 | |
KR100415554B1 (ko) | 정보 보호 인터넷 프로토콜 패킷의 송수신 방법 | |
ES2710279T3 (es) | Procedimiento y dispositivo de transmisión de datos entre dos redes seguras de tipo Ethernet a través de una red enrutada | |
CN105635154A (zh) | 灵活的MACSec报文加密认证的芯片实现方法及实现装置 | |
CN116260579A (zh) | 一种ip包的报文加解密方法 | |
Varadarajan et al. | Implementing IPsec in wireless sensor networks | |
CN112350941B (zh) | 用于ESP在overlay层实现源路由的报文封装方法及发送方法 | |
CN112600802A (zh) | 一种SRv6加密报文、SRv6报文的加解密方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150930 |
|
WD01 | Invention patent application deemed withdrawn after publication |