基于Wishbone总线的ESP封装处理装置的制造方法

文档序号:9263515阅读:434来源:国知局
基于Wishbone总线的ESP封装处理装置的制造方法
【技术领域】
[0001]本发明涉及网络安全数据处理技术领域,尤其涉及一种硬件实现的基于Wishbone总线的ESP封装处理装置。
【背景技术】
[0002]随着因特网的快速扩张,它不断地融入人们的生活,人们可以通过它快速、便捷地传递信息。于是信息的安全、隐私的保障就变得异常重要。网络信息安全关系着国家安全和主权、社会稳定、民族文化继承和发扬。现在互联网信息的传递主要是建立在IP协议之上,但IP包本身是不包含任何安全特性的,攻击者可以很容易的伪造IP包的源地址、目的地址,修改包中原有的内容以及进行重播攻击等等。由IETF(Internet Engineering TaskForce)建立的一组IP安全协议集IPSec定义了在网际层使用的安全服务,其功能包括数据加密、对网络单元的访问控制、数据源地址验证、数据完整性检查和防止重放攻击。它可以有效的保障传递信息的安全。IPSec封装安全载荷(ESP)协议是IPSec协议实施中的一项主要的协议,其主要被设计在IPv4和IPv6环境中提供安全服务。ESP协议提供机密性、数据源认证、无连接的完整性、抗重播服务和有限信息流机密性服务。ESP协议涉及大量加解密、消息认证等计算密集型处理任务。随着计算机网络带宽的不断增加,原本采用软件实现协议的处理速度已经很难跟上数据流的速度,同时在处理过程中也会占用大量的资源,导致服务器、网关、路由器和交换机等关键网络设备的处理性能大大降低。因此,迫切需要使用硬件来实现这一协议,为高速、安全的网络信息传输服务提供支持。
[0003]有鉴于此,针对目前ESP协议处理时存在的问题,有必要在原由ESP协议单通道处理数据的方法上改进ESP协议处理方法,有效地提高数据封装处理的速度,更大空间的释放资源。

【发明内容】

[0004]本发明所要解决的技术问题在于克服现有技术不足,提供一种基于Wishbone总线的ESP封装处理装置,能够改变现有ESP协议封装处理速度,有效地提高数据封装处理的速度,更大空间的释放资源。
[0005]本发明具体采用以下技术方案解决上述技术问题:
基于Wishbone总线的ESP封装处理装置,包括:
一组ESP前端封装处理模块,所述ESP前端封装处理模块用于接收经过SA匹配后的数据包,然后将数据包进行解析,对数据包进行初步处理后按一定数据包格式发送给Wishbone总线模块;
一组ESP后端封装处理模块,所述ESP后端封装处理模块用于接收Wishbone总线模块所发送的经过加密模块和/或认证模块处理的数据包,并对数据包内相关字段进行修改以符合IPSec包协议规范,然后按照一定数据包格式发送给上层模块;
一组加密模块,用于对数据包进行解析,并对需要加密部分的载荷数据进行加密处理,加密完成后再按一定数据包格式重新封装数据包,发送到Wishbone总线模块中;
一组认证模块,用于对数据包进行解析,并对需要认证部分的载荷数据进行认证处理,认证完成后再按一定数据包格式重新封装数据包,发送到Wishbone总线模块中;
Wishbone总线模块,分别与上述各模块连接,用于仲裁各模块之间数据流的流向;
所述一组表示至少两个。
[0006]优选地,所述Wishbone总线模块包括总线仲裁模块以及分别与总线仲裁模块连接的一组总线请求模块和一组总线决定模块,总线请求子模块用于向总线仲裁模块发出占有总线发送数据包的请求信号,总线决定子模块用于向总线仲裁模块发出占有总线接收数据包的请求信号,总线仲裁子模块用于仲裁各模块间的数据包流向;各ESP前端封装处理模块分别通过一个总线请求模块与总线仲裁模块连接,各ESP后端封装处理模块分别通过一个总线决定模块与总线仲裁模块连接,各加密模块分别通过一个总线请求模块和一个总线决定模块与总线仲裁模块连接,各认证模块分别通过一个总线请求模块和一个总线决定模块与总线仲裁模块连接。
[0007]进一步地,总线仲裁子模块依据各模块的优先级仲裁各模块间的数据包流向,加密模块、认证模块、ESP后端封装处理模块的优先级依次降低。
[0008]优选地,所述ESP前端封装处理模块包括:
数据输入缓冲FIFO子模块,用于缓存从上层模块输入的经过SA匹配后特定格式的数据包;
选择处理子模块,用于从数据输入缓冲FIFO子模块中取得数据,通过特定的数据字段获得并记录整个数据包的长度以及所要采用的传输方式,若字段表明要使用传输模式,则根据数据包长度将整个数据包发送给传输模式前端封装处理子模块,若字段表明要使用隧道模式,则根据数据包长度将整个数据包发送给隧道模式前端封装处理子模块;
传输模式前端封装处理子模块,用于对在传输模式下的数据包进行初步封装处理,根据特定的数据字段获得并记录数据包需要采用的加密方式,根据该信息计算出所需添加的填充项长度,并且添加在IP数据包之后,将原IP头移动到加密方式字段之后,SPI字段之前,然后将数据包发送给数据输出缓冲FIFO子模块;
隧道模式前端封装处理子模块,用于对在隧道模式下的数据包进行初步封装处理,根据特定的数据字段获得并记录数据包需要采用的加密方式以及IP数据包中的IP头,根据加密方式信息计算出所需添加的填充项长度,并且添加在IP数据包之后,将记录下的IP头以复制的方式添加在加密方式字段之后,SPI字段之前,然后将数据包发送给输出缓冲FIFO子模块;
数据输出缓冲FIFO子模块,用于缓存从传输模块前端封装子模块和隧道模块前端封装处理子模块经过初步处理之后的数据包。
[0009]优选地,所述ESP后端封装处理模块包括:
数据输入缓冲FIFO子模块,用于缓存从Wishbone总线模块中发送过来的已经加密算法和/或认证算法处理完成的数据包;
ESP后端封装处理子模块,用于对已经加密算法和/或认证算法处理完成的数据包做最后的处理,根据特定的字段获取并记录数据包所需要采用的加密方式以及认证方式,根据该信息计算出IP头中需要修改字段的值并进行修改,同时丢弃不符合IPSec数据包协议规范的字段,比如起始字段、结束字段、加密方式和认证方式选择字段等等,将处理后的数据包发送给数据输出缓冲FIFO子模块;
数据输出缓冲FIFO子模块,用于缓存从ESP后端封装处理子模块处理后的符合协议规范的IPSec数据包。
[0010]优选地,所述加密模块包括:
数据输入缓冲FIFO子模块,用于缓存从Wishbone总线模块发送过来的数据包;
数据解析子模块,用于将数据包中需要加密的载荷数据与不需要加密的数据分别发送到之后的加密核心子模块和不加密数据FIFO子模块中,根据数据包中特定的字段获取数据包所需要的加密处理方式,根据该信息计算出加密所需要的密钥长度与初始化向量长度,以此来解析数据包,将密钥、初始化向量、需要加密的载荷数据发送给加密核心子模块,将其余数据发送给不加密数据FIFO子模块进行缓存;
不加密数据缓冲FIFO子模块,用于缓存不加密的数据,提供给之后的数据封装子模块进行封装使用;
加密核心子模块,用于对需要加密的载荷数据进行加密,根据发送过来的密钥与初始化向量,通过加密算法对载荷数据进行加密;
数据封装子模块,用于重新将数据包封装成符合协议规范的IPSec包格式,先从不加密数据FIFO子模块中读取数据,再从加密核心模块中读取数据并拼接在前数据包尾部,发送给数据输出缓冲FIFO子模块;
数据输出缓冲FIFO子模块,用于缓存从数据封装子模块发送过来的数据包。
[0011 ] 优选地,所述认证模块包括:
数据输入缓冲FIFO子模块,用于缓存从Wishbone总线模块发送过来的数据包;
数据解析子模块,用于将数据包中需要认证的载荷数据与原数据包分别发送到之后的认证核心子模块和不认证数据FIFO子模块中,根据数据包中特定的字段获取数据包所需要的认证处理方式,根据该信息计算出认证所需要的密钥长度,以此来解析数据包,将密钥、需要认证的载荷数据发送给认证核心子模块,原数据包发送给不认证数据FIFO子模块进行缓存;
不认证数据缓冲FIFO子模块,用于缓存接收到的完整的原数据包;
认证核心子模块,用于对需要认证的载荷数据进行认证,根据发送过来的密钥,通过认证算法对载荷数据进行认证,生成并且截取所需长度的认证摘要;
数据封装子模块,用于重新将数据包封装成协议规范的IPSec包格式,先从不认证数据FIFO模块中读取完整的原数据包,再将认证核心子模块生成后截取的认证摘要拼接在数据包尾部,发送给数据输出缓冲FIFO子模块;
数据输出缓冲FIFO子模块,用于缓存从数据封装子模块发送过来的数据包。
[0012]相比现有技术,本发明具有以下有益效果:
本发明利用硬件实现了对网络层IP数据包进行IPSec ESP协议封装处理,同时通过在Wishbone总线上连接多套处理系统,有效的提高了 ESP协议封装处理的速度。
[0013]本发明进一步提供了多种加密方式及多种认证方式,提升了系统的安全性及实用性。
【附图说明】
[0014]图1为本发明ESP封装处理装置的一个优选实施例的基本架构示意图;
图2为优选实施例中ESP前端封装处理模块一种优选实施方式的结构原理示意图;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1