System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于DPDK架构的密钥协商系统及方法技术方案_技高网

一种基于DPDK架构的密钥协商系统及方法技术方案

技术编号:41207313 阅读:13 留言:0更新日期:2024-05-07 22:34
本发明专利技术涉及网络安全技术领域,具体是一种基于DPDK架构的密钥协商系统及方法。本发明专利技术对密钥管理算法、SAD、SPD结构及存储的设计、IKE配置等功能进行了重设计,以上功能由密钥协商模块实现,将网络数据收发、业务数据加密和解密、数据封装/解封装、协商流量触发等功能交由业务处理模块处理,管理配置模块将系统配置、安全策略等内容下发给业务处理模块和密钥协商模块。本发明专利技术解决了传统密钥协商的开源框架由于无法基于DPDK架构进行使用而导致的过度依赖于CPU性能的弊端,保证了设备内部各模块之间的同步性和稳定性交互,使得VPN设备更具有可靠性。

【技术实现步骤摘要】

本专利技术涉及网络安全,具体是一种基于dpdk架构的密钥协商方法及系统。


技术介绍

1、随着计算机网络安全的发展,网络密钥交换技术应运而生,通过网络密钥交换技术可以在不同的vpn(virtual private network,虚拟专用网络)网关之间进行加密通信。传统技术中,通过不同的vpn网关之间进行ike(internet key exchange,网络密钥交换)协商,以协商出双方的密钥,从而通过密钥实现两个网关之间的加解密通信。

2、在新的网络形势下,面对大量高吞吐、高并发的网络环境,基于传统操作系统内核的网络数据收集机制在丢包率以及吞吐量方面已经难以匹配现有的需求。在当前高速网络中,高性能系统需要在极其有限的时间内成功地收集和处理大量数据,因此如何高效、完整、快速捕获数据包,是准确分析网络数据的基础以及进行下一步管控的关键。

3、dpdk是专为网络报文快速处理而提供的一系列库和驱动的集合。dpdk通过环境抽象层数据平面功能以取代内核的系统调用,使用uio机制使网卡驱动模块运行在用户态,绕开内核网络协议栈,采用轮询和零拷贝技术从网卡收取报文,并且使用大页和cpu亲和机制提高应用模块处理报文的性能,由此可以节约开销,达到提高数据包处理性能的要求。

4、目前大部分传统的开源项目其协商流程及业务依赖于linux内核及成熟硬件配置,性能极大的受制于硬件性能。设备吞吐量的大小主要由网络设备的硬件及模块算法的效率决定,尤其是模块算法,算法的低效会使通信量大打折扣。传统ike协议需要多次(往返数目最多达9条)信息交互,每次交互都会进行大量的数据加密和解密操作,以及所有的密钥管理等复杂算法的性能都依赖和占用cpu。所以传统ike协商的算法的交互次数及算法的性能对通信的整体性能下降会产生一定的影响。尤其是在大规模并发连接和高负载的情况下,可能会导致通信速度的降低和延迟的增加。

5、由上述可知, 现有技术存在的缺陷是:目前的密钥协商方法不支架dpdk架构,过度依赖于cpu性能,性能极大的受制于硬件性能。


技术实现思路

1、针对现有技术的缺陷,本专利技术提供一种基于dpdk架构的密钥协商系统及方法,解决了传统密钥协商的开源框架由于无法基于dpdk架构进行使用而导致的过度依赖于cpu性能的弊端,保证了设备内部各模块之间的同步性和稳定性交互,使得vpn设备更具有可靠性。

2、为了解决所述技术问题,本专利技术采用的技术方案是:一种基于dpdk架构的密钥协商系统,包括管理配置模块、业务处理模块、密钥协商模块、dpdk组件和dpdk驱动,管理配置模块分别与业务处理模块和密钥协商模块相连,用于向业务管理模块和密钥协商模块发送管理配置数据;业务处理模块用于网络数据收发、业务数据加密和解密、数据封装和解封装、协商流量触发,密钥协商模块用于实现密钥管理算法、sad维护、spd维护、ike配置,业务处理模块与dpdk组件、dpdk驱动依次连接,用于实现网络数据包的交互。

3、进一步的,管理配置数据包括系统配置以及安全策略。

4、本专利技术还公开一种基于dpdk架构的密钥协商方法,本方法基于上述密钥协商系统实现,包括以下步骤:

5、s01)、密钥协商发起,密钥协商模块支持自动触发与流量触发两种密钥协商发起方式,流量触发是必选项,自动触发是可配项;如果配置了自动触发,当策略加载成功并且整个设备开始工作后,对整个策略表按顺序发起协商,直至所有策略协商、安全联盟下发完成,如果未配置自动触发,由业务处理模块向密钥协商模块发送协商发起请求消息来触发策略协商;

6、s02)、协商网络数据包的交互,密钥协商模块将发起方的协商包转为私有格式并发送给业务处理模块,业务处理模块接收后对数据包进行解析,还原成标准的tcp/ip网络数据包并发送给响应方,响应方处理完成后将网络数据包发送给业务处理模块,业务处理模块将接收到的网络数据包按照tcp/ip网络报文格式,剥离掉该网络报文所有头部信息,仅保留原地址、目的地址、源端口、目的端口、ike载荷信息,通过私有格式交由密钥协商模块进行处理;经过多次交互后,协商出最终sa和sa-sp关联关系,下发给业务处理模块,由业务处理模块进行业务数据加密和解密;其中sa表示安全联盟,sp表示安全策略;

7、s03)、算法运算,密钥协商过程中使用到的密码算法,由密钥协商模块通过应用层接口调用,运算结果发送给密钥协商模块;

8、s04)、sad、spd维护,sad表示安全联盟数据库,spd表示安全策略数据库,密钥协商模块负责维护sad表以及对sad表的操作,初始spd表由管理配置模块下发并由密钥协商模块进行后续维护;

9、s05)、密钥重协商,密钥重协商完成后,通知业务处理模块删除旧sa,装载新sa。

10、密钥协商过程中使用到的密码算法集成在硬件加密卡、fpga或者软算法上,密钥协商模块通过应用层接口调用密码算法。

11、进一步的,密钥协商模块调用fpga中加密算法进行算法运算的过程为:

12、s11)、密钥协商模块依据所需运算服务类型,使用自定义数据格式进行数据请求包的组建;

13、s12)、密钥协商模块通过应用层接口将所组建的数据请求包传递到fpga算法空闲队列内部;

14、s13)、fpga监测到空闲队列有数据请求包,对数据请求包进行解析并依据请求服务类型标识来进行密码运算并将结果返回;

15、s14)、密钥协商模块接收响应数据包并进行解析,获取本次请求数据的结果。

16、进一步的,单个sa属性包括策略属性、序号、生命周期和spi,spi是ipsec报文中的安全参数索引,用于唯一标记一个sa,sa序号、同方向的sa的spi具有唯一性,由密钥协商模块生成并下发给业务处理模块;sad的存储采用链表结构,占用的内存空间采用动态分配的方式。

17、进一步的,对sad的操作包括增、删、查,由密钥协商模块完成;

18、新增sa的具体流程为:

19、s21)、假设策略号为1,生成sa序号,生成规则为:本次生成的sa序号等于上一次生成的sa的序号加1;

20、s22)、生成spi并获得对方生成的spi,每个设备负责生成其入站spi,本端的入站spi与对端出站spi相同,本端的出站spi与对端的入站spi相同;

21、s23)、计算密钥值,计算出站sa和入站sa两个密钥,密钥值的部分明文来自于spi;

22、s24)、查找spd序号为1的出站sa,如果有,则删除,并在设定时间后通知业务处理模块删除,同时释放其序号;

23、s25)、配置出站sa属性,出站sa属性一部分来自于策略1,其他由密钥协商模块产生;

24、s26)、下发出站sa给业务处理模块,并将出站sa插入链表;

25、s27)、查找spd序号为1的入站sa,如果有,则删除,并在本文档来自技高网...

【技术保护点】

1.一种基于DPDK架构的密钥协商系统,其特征在于:包括管理配置模块、业务处理模块、密钥协商模块、DPDK组件和DPDK驱动,管理配置模块分别与业务处理模块和密钥协商模块相连,用于向业务管理模块和密钥协商模块发送管理配置数据;业务处理模块用于网络数据收发、业务数据加密和解密、数据封装和解封装、协商流量触发,密钥协商模块用于实现密钥管理算法、SAD维护、SPD维护、IKE配置,业务处理模块与DPDK组件、DPDK驱动依次连接,用于实现网络数据包的交互。

2.根据权利要求1所述的基于DPDK架构的密钥协商系统,其特征在于:管理配置数据包括系统配置以及安全策略。

3.一种基于DPDK架构的密钥协商方法,其特征在于:本方法基于权利要求1所述密钥协商系统实现,包括以下步骤:

4.根据权利要求3所述的基于DPDK架构的密钥协商方法,其特征在于:密钥协商过程中使用到的密码算法集成在硬件加密卡、FPGA或者软算法上,密钥协商模块通过应用层接口调用密码算法。

5.根据权利要求4所述的基于DPDK架构的密钥协商方法,其特征在于:密钥协商模块调用FPGA中加密算法进行算法运算的过程为:

6.根据权利要求3所述的基于DPDK架构的密钥协商方法,其特征在于:单个SA属性包括策略属性、序号、生命周期和SPI, SPI是ipsec报文中的安全参数索引,用于唯一标记一个SA,SA序号、同方向的SA的SPI具有唯一性,由密钥协商模块生成并下发给业务处理模块;SAD的存储采用链表结构,占用的内存空间采用动态分配的方式。

7.根据权利要求6所述的基于DPDK架构的密钥协商方法,其特征在于:对SAD的操作包括增、删、查,由密钥协商模块完成;

8.根据权利要求7所述的基于DPDK架构的密钥协商方法,其特征在于:步骤S21)、S22)中,采用bitmap方式保证SA序号和SPI的唯一性。

9.根据权利要求3所述的基于DPDK架构的密钥协商方法,其特征在于:密钥重协商的触发方式包括包个数触发和时间触发,包个数触发由业务处理模块实施,当包个数生命周期到达后,业务处理模块通过消息队列向密钥协商模块发出重协商命令,密钥协商模块依据其中的SPD序号进行重协商;

10.根据权利要求9所述的基于DPDK架构的密钥协商方法,其特征在于:时间触发方式下,发起密钥重协商的时间设定为其生命周期的80%,如果100%生命周期达到后还没有协商出新SA,则强制删除SA。

...

【技术特征摘要】

1.一种基于dpdk架构的密钥协商系统,其特征在于:包括管理配置模块、业务处理模块、密钥协商模块、dpdk组件和dpdk驱动,管理配置模块分别与业务处理模块和密钥协商模块相连,用于向业务管理模块和密钥协商模块发送管理配置数据;业务处理模块用于网络数据收发、业务数据加密和解密、数据封装和解封装、协商流量触发,密钥协商模块用于实现密钥管理算法、sad维护、spd维护、ike配置,业务处理模块与dpdk组件、dpdk驱动依次连接,用于实现网络数据包的交互。

2.根据权利要求1所述的基于dpdk架构的密钥协商系统,其特征在于:管理配置数据包括系统配置以及安全策略。

3.一种基于dpdk架构的密钥协商方法,其特征在于:本方法基于权利要求1所述密钥协商系统实现,包括以下步骤:

4.根据权利要求3所述的基于dpdk架构的密钥协商方法,其特征在于:密钥协商过程中使用到的密码算法集成在硬件加密卡、fpga或者软算法上,密钥协商模块通过应用层接口调用密码算法。

5.根据权利要求4所述的基于dpdk架构的密钥协商方法,其特征在于:密钥协商模块调用fpga中加密算法进行算法运算的过程为:

6.根据权利要求3所述的基于dp...

【专利技术属性】
技术研发人员:陈先进郭林祥苏云学李岩
申请(专利权)人:山东航天人工智能安全芯片研究院
类型:发明
国别省市:

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

1