System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法和装置制造方法及图纸_技高网

一种基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法和装置制造方法及图纸

技术编号:41530261 阅读:20 留言:0更新日期:2024-06-03 23:06
本发明专利技术涉及基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法和装置,其中方法包括:接收待加密的IP数据包,对IP数据包进行合法性检测并解析IP数据包;解析获取通信协议信息,把通信协议信息配置到现场可编程门阵列FPGA的SPD表和SAD表内;对IP数据包进行加密和封装;FPGA的外网口进行ARP学习,学习到待发送IP数据包的目的MAC地址后,在加密IP数据包前面添加二层MAC地址,执行CRC校验通过后,把IP数据包从FPGA发送外网口发送出去。本发明专利技术在不额外增加表项资源的情况下,支持IPV4和IPV6两种类型的SPD和SAD,支持IPV4和IPV6混合业务的解析和报文封装,支持IPV4和IPV6的IPSEC协议处理,支持隧道模式、传输模式和明通模式。

【技术实现步骤摘要】

本专利技术属于网络安全领域,特别涉及基于fpga实现ipv4和ipv6混合业务的ipsec协议方法及装置。


技术介绍

1、ipsec(ip security)是一种开放标准的框架结构,特定的通信方之间在ip层通过加密和数据摘要等手段,来保证ip数据包在以太网上传输的私密性、完整性、真实性和防重放。

2、ipsec不是一个单独的协议,它集成了应用于ip层上网络数据安全的一整套体系结构,包括网络认证协议ah(authentication header,认证头)、esp(encapsulatingsecurity payload,封装安全载荷)、ike(interner key exchange,以太网密钥交换)和用于网络认证以及加密的一些算法等。其中ah协议和esp协议用于提供安全服务,ike协议用于密钥交换。

3、ipsec在两个端点之间提供安全通信,端点被称为ipsec对等体。sa(securityassociation,安全联盟)是ipsec的基础,也是ipsec的本质。sa是通信对等体间对某些要素的约定,例如使用哪种协议(ah、esp还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法和认证算法以及密钥生存周期等。sa是单向的,在两个对等体之间的双向通信,最少需要两个sa来分别对两个方向的数据流进行安全保护。

4、sa与ipsec系统中实现的两个数据库有关,即spd(安全策略数据库)和sad(安全关联数据库)。密码和密钥放在这两个数据库中,数据库只有双方知道其他人不知道,在调用的时候通过标号来调用。这里的sp(security policy)是安全策略,它决定对ip报文是否提供保护,提供何种保护,以何种方式保护(指向sa)。spd是将所有的sp以某种数据结构集中存储的列表。过程就是根据ip报文的五元组(源ip地址、目的ip地址、源端口号,目的端口号以及协议号)或三元组(源ip地址、目的ip地址、spi(安全参数索引))来标识ip流,检索spd表,匹配sp记录后,指向sa结构。


技术实现思路

1、本专利技术提供基于fpga实现ipv4和ipv6混合业务的ipsec协议方法和装置,旨在至少解决现有技术中存在的技术问题之一。

2、本专利技术的技术方案涉及基于fpga实现ipv4和ipv6混合业务的ipsec协议方法和装置,所述基于fpga实现ipv4和ipv6混合业务的ipsec协议方法,所述基于fpga实现ipv4和ipv6混合业务的ipsec协议方法应用在基于fpga实现ipv4和ipv6混合业务的ipsec协议实现装置上,所述基于fpga实现ipv4和ipv6混合业务的ipsec协议实现装置包括现场可编程门阵列fpga、网络分支机构和路由器,所述网络分支机构和所述路由器分别与所述现场可编程门阵列fpga连接,其特征在于,所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法包括数据加密方法和所述数据解密方法,所述数据加密方法包括以下步骤:

3、s100、接收待加密的ip数据包,对ip数据包进行合法性检测并解析ip数据包;

4、s200、基于通信对等体间的密钥协商协议,解析获取通信协议信息,并把所述通信协议信息配置到现场可编程门阵列fpga的spd表和sad表内,现场可编程门阵列fpga根据获取到的报文的五元组信息,通过查询spd表确定处理策略,然后再查询对应的sad表确定ip数据包的策略、密钥信息和封装模式信息;

5、s300、对ip数据包进行加密和封装,基于查询sad表得到的策略和密钥信息,对ip数据包进行加密,生成认证码hmac信息,基于查询sad表得到的封装模式信息,对ip数据包进行封装;

6、s400、现场可编程门阵列fpga的外网口进行arp学习,学习到待发送ip数据包的目的mac地址后,在加密ip数据包前面添加二层mac地址,执行crc校验通过后,把ip数据包从现场可编程门阵列fpga发送外网口发送出去。

7、进一步,所述数据解密方法包括以下步骤:

8、s500、接收待解密的ip数据包,对ip数据包进行合法性检测并解析ip数据包;

9、s600、现场可编程门阵列fpga根据获取到的ip数据包的三元组信息,通过查询spd表确定处理策略,再获取到对应的安全关联,查询sad表,完成解密过程,校验认证码hmac是否正确,完成解密ip数据包的抗重放;

10、s700、解密完成的数据报文根据封装模式,进行解封装,所述解封装包括隧道模式解封装、传输模式解封装或明通模式;

11、s800、现场可编程门阵列fpga的外网口进行arp学习,学习到待发送ip数据包目的mac地址,然后从现场可编程门阵列fpga外网口发送出去。

12、具体地,所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法包括加密方向和解密方向。

13、加密方向:接收待加密的ip数据包,解析数据报文。根据以太网二层mac头的ethtype解析出ipv4和ipv6并做类型标记,同时解析出报文的五元组信息。软件根据密钥协商协议获取到ipsec使用哪种协议、协议的操作模式、加密算法、密钥和sa的生存周期,然后配置到fpga的spd和sad表。ipv6的ip值是128bit,而ipv4的ip值是32bit。在设计这两张表时,ipv4和ipv6共享一张spd和sad。每条表项存储的ip位宽取128bit,同时增加一个ipv4和ipv6的类型,保证ipv4和ipv6查询spd和sad不冲突。fpga根据获取到的报文的五元组信息,查询spd表,然后再查询对应的sad表。如果查询sad表走ipsec,则用某种算法完成加密过程。加密完成后,生成认证码hmac。加密完成的数据报文根据sad 表里配置的封装模式,进行隧道模式封装、传输模式封装或者明通。隧道模式的封装需要产生新的ip报文头和esp头,传输模式的封装只需要产生esp头,明通模式对数据不做改变。完成ipsec协议的报文进行arp学习,学习到待发送报文的目的mac地址,然后从fpga发送接口发送出去。

14、解密方向:接收待解密的ip数据包,解析数据报文。根据以太网二层mac头的ethtype解析出ipv4和ipv6并做类型标记,同时解析出报文的三元组信息。现场可编程门阵列fpga根据获取到的报文的三元组信息,查询spd表,再获取到对应的安全关联sad。查询sad表,走ipsec的报文用某种算法完成解密过程。校验认证码hmac是否正确。完成解密报文的抗重放。解密完成的数据报文根据封装模式,进行隧道模式解封装、传输模式解封装或者明通处理。隧道模式解封装需要剥掉新的ip报文头和esp头,传输模式封装只需要剥掉esp头,明通模式对数据不做改变。完成ipsec协议的报文进行arp学习,学习到待发送报文的目的mac地址,然后从fpga发送接口发送出去。

15、举例,以隧道模式的esp封装本文档来自技高网...

【技术保护点】

1.一种基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,所述基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法应用在基于FPGA实现IPV4和IPV6混合业务的IPSEC协议实现装置上,所述基于FPGA实现IPV4和IPV6混合业务的IPSEC协议实现装置包括现场可编程门阵列FPGA、网络分支机构和路由器,所述网络分支机构和所述路由器分别与所述现场可编程门阵列FPGA连接,其特征在于,所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法包括数据加密方法和所述数据解密方法,所述数据加密方法包括以下步骤:

2.根据权利要求1所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,

3.根据权利要求1所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S100包括:

4.根据权利要求1所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S200包括:

5.根据权利要求1所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S200中,

6.根据权利要求2所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S500包括:

7.根据权利要求2所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S600包括:

8.根据权利要求2所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述步骤S700中,

9.一种基于FPGA实现IPV4和IPV6混合业务的IPSEC协议实现装置,用于实现如权利要求1至8任一项所述的基于FPGA实现IPV4和IPV6混合业务的IPSEC协议方法,其特征在于,所述的装置包括:

10.一种计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施如权利要求1至8中任一项所述的方法。

...

【技术特征摘要】

1.一种基于fpga实现ipv4和ipv6混合业务的ipsec协议方法,所述基于fpga实现ipv4和ipv6混合业务的ipsec协议方法应用在基于fpga实现ipv4和ipv6混合业务的ipsec协议实现装置上,所述基于fpga实现ipv4和ipv6混合业务的ipsec协议实现装置包括现场可编程门阵列fpga、网络分支机构和路由器,所述网络分支机构和所述路由器分别与所述现场可编程门阵列fpga连接,其特征在于,所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法包括数据加密方法和所述数据解密方法,所述数据加密方法包括以下步骤:

2.根据权利要求1所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法,其特征在于,

3.根据权利要求1所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法,其特征在于,所述步骤s100包括:

4.根据权利要求1所述的基于fpga实现ipv4和ipv6混合业务的ipsec协议方法,其特征在于...

【专利技术属性】
技术研发人员:张艳辉林嘉昊林洲洋邢立达
申请(专利权)人:邦彦技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1