【技术实现步骤摘要】
一种基于FPGA的IPsec抗重放方法
[0001]本专利技术涉及网络通信协议数据处理和数据通信领域,尤其涉及一种基于FPGA的IPsec抗重放方法。
技术介绍
[0002]随着计算机网络的不断发展与普及,网络攻击无处不在网络信息安全越来越受到人们的关注与重视。网络攻击者会对网络数据流进行修改或者伪造数据流,具体可分为假冒、重放、消息修改和拒绝服务等四类。重放攻击是指攻击者首先通过网络截取通信对等双方正常通信的数据包,然后将数据包原封不动或者修改后再发送给数据包的接收者,以此来冒充合法的一方来和另一方进行通信。遭受重放攻击企业用户往往会选择VPN(Virtual Private Network,虚拟专用网络)隔离网关,这是一种利用IPsec(Internet Protocol Security,互联网安全协议)技术实现网络数据加密传输并对可信网络(即内网)和不可信网络(即外网)进行安全隔离的设备,可有效防止非法数据进入可信网络,避免可信网络内的主机被非法控制以及内网的敏感数据泄露到外网。
[0003]IPsec抗重放技术是一种VPN隔离网关抵抗重放攻击的有效手段。传统隔离网关的FPGA单元与外网软件单元之间存在着数据包信息不同步的漏洞,当外网的抗重放检测模块检测通过了某数据包,但是FPGA单元没有通过,则会造成正常数据包的丢失与误判。这样当接收方外网软件单元抗重放模块更新已确认收到的IPsec数据包序列号,但该数据包未通过FPGA单元数据完整性校验时,重传的数据包会被外网软件单元更新后的抗重放窗口过滤丢弃,导 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的IPsec抗重放方法,其特征在于,所述IPsec抗重放方法包括:步骤1,外网软件单元接收到IPsec数据报文后确定该IPsec数据报文唯一的SA信息;对所述SA信息对应的序列号进行抗重放判断;判断该序列号是重复的序列号时丢弃该IPsec数据报文,不是则执行步骤2;每个所述SA信息绑定有一个用来记录已确认收到的所述IPsec数据报文的序列号的位图;步骤2,所述外网软件单元将所述SA信息和所述IPsec数据报文封装成带有私有头部的第一数据报文,并将所述第一数据报文发送给FPGA硬件单元;步骤3,所述FPGA硬件单元对接收到的所述第一数据报文中的IPsec数据报文进行数据完整性校验,并将校验结果封装在只包含私有头部的第二数据报文发送回所述外网软件单元;步骤4,所述外网软件单元从接收到的所述第二数据报文提取出校验结果,所述校验结果为校验成功时则将所述步骤1中记录的序列号加入所述位图中;校验不成功则清除所述步骤1中记录的序列号。2.根据权利要求1所述的IPsec抗重放方法,其特征在于,所述步骤1包括:步骤101,所述外网软件单元对接收到的所述IPsec数据报文进行缓存后进行解析,提取得到所述IPsec数据报文中的序列号、SPI、协议号和目的IP地址,根据所述SPI、协议号和目的IP在所述外网软件单元中的SA同步模块进行三元查找,确定所述IPsec数据报文唯一的所述SA信息。3.根据权利要求1所述的IPsec抗重放方法,其特征在于,所述步骤1包括:步骤102,提取所述IPsec数据报文中的序列号字段,确定所述序列号的位置:所述序列号在抗重放窗口左侧时,则判断该序列号是重复的序列号并丢弃该IPsec数据报文;所述序列号在抗重放窗口右侧时,则判断该序列号是未收到的序列号并将该序列号的值进行保存,执行步骤2;所述序列号在抗重放窗口内时,进一步判断对应的位图的比特位情况,比特位为1时,判断该序列号是重复的序列号并丢弃该IPsec数据报文;比特位为0时,则判断该序列号是未收到的序列号并将该序列号的值进行保存执行步骤2。4.根据权利要求1所述的IPsec抗重放方法,其特征在于,所述步骤2中生成的所述第一数据报文包括:包含所述SA信息的私有头部、中间的所述IPsec数据报文和位于尾部的FPGA数据完整性校验字段。5.根据权利要求4所述的IPsec抗重放方法,其特征在于,所述步骤3包括:步骤301,所述FPGA硬件单元接收到所述第一数据报文后,从所述私有头部中提取SA映射序号,基于所述SA映射序号确定匹配的SA信息;步骤302,对所述第一数据报文中的所述私有头部进行剥离后,定位到所述IPsec数据报文的加密数据部分,对所述加密数据部分包含的所述FPGA数据完整性校验字段进行CRC循环冗余校验;校验结果通过,则将反馈值R置为1;否则,将所述反馈值R置为0;步骤303,将校验后的...
【专利技术属性】
技术研发人员:刘锋,李书胜,沈永超,彭凯,李梦君,李志康,薛楠楠,梅松,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。