CN116389169B - 一种避免国密IPSecVPN网关数据包乱序、分片的方法 - Google Patents

一种避免国密IPSecVPN网关数据包乱序、分片的方法 Download PDF

Info

Publication number
CN116389169B
CN116389169B CN202310643777.9A CN202310643777A CN116389169B CN 116389169 B CN116389169 B CN 116389169B CN 202310643777 A CN202310643777 A CN 202310643777A CN 116389169 B CN116389169 B CN 116389169B
Authority
CN
China
Prior art keywords
data packet
tcp syn
ipsecvpn
gateway
original
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.)
Active
Application number
CN202310643777.9A
Other languages
English (en)
Other versions
CN116389169A (zh
Inventor
刘文锋
吉岭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanshan Xuntong Beijing Technology Co ltd
Original Assignee
Yuanshan Xuntong Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yuanshan Xuntong Beijing Technology Co ltd filed Critical Yuanshan Xuntong Beijing Technology Co ltd
Priority to CN202310643777.9A priority Critical patent/CN116389169B/zh
Publication of CN116389169A publication Critical patent/CN116389169A/zh
Application granted granted Critical
Publication of CN116389169B publication Critical patent/CN116389169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种避免国密IPSecVPN网关数据包乱序、分片的方法,包括如下步骤:S1、在IPSecVPN网关设备一和IPSecVPN网关设备二之间建立IPSec隧道,IPSecVPN网关设备双方协商生成唯一的SPI值,分别为SPI1和SPI2;S2、将SPI1和SPI2分别与对应的SA关联;S3、建立客户端和服务器端之间的TCP连接。本发明采用上述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,利用SPI字段传递TCP流信息,避免数据包乱序;修改IPSec隧道中传输的数据包中的MSS值,避免数据包被分片,提高IPSecVPN系统的性能的同时,具有一定的通用性和适用性,且兼容性较好。

Description

一种避免国密IPSecVPN网关数据包乱序、分片的方法
技术领域
本发明涉及通信技术领域,尤其是涉及一种避免国密IPSecVPN网关数据包乱序、分片的方法。
背景技术
国密IPSecVPN网关是通过国密IPSec协议帮助企业构建虚拟企业内部专线的网络设备。企业可以使用两台IPSecVPN网关建立一条或者多条安全的加密通信链路,以保护数据传输的机密性和完整性。
在实际网络应用中,通常会有大流量需要IPSec隧道处理场景。因为国密IPSec协理使用的对称加密算法特别消耗算力,所以需要使用一些高效的处理方法来满足此需求。使用“多核数据报文处理”是一种最常见的办法。一般通用的“多核数据报文处理”采用的是Round-Robin算法(下面简称RR算法),它将IPSec数据包均匀分配给多个可用的处理器核心,以实现负载均衡。但它受操作系统系统调度算法和锁的影响,每个处理器核心处理包的速度是不一致的。按照RR算法分配的顺序报文经过不同的处理器处理后会变成乱序加密报文发送出去,从而引发应用程序的TCP包乱序行为,造成应用的传输效率下降。
此外,IPSecVPN为了保证数据的机密性、完整性和可靠性,需要对数据进行加密和封装。在封装过程中,IPSecVPN将原始IP数据报封装为一个新的IP数据报,并在其中加入额外的IPSec头部和尾部。这个过程会增加IP数据报的长度,使其超过了MTU(最大传输单元)限制,导致数据包分片,而在网络通信中,数据包的分片会增加网络通信的复杂性和延迟,并且可能会导致一些问题,因此通常需要避免数据包分片。
当前已经存在一些技术可以解决TCP数据包分片的问题。例如,Path MTUDiscovery(PMTUD)是一种协议,用于在IP网络中确定最大传输单元(MTU),并防止数据包分片。然而,PMTUD 协议在现有互联网环境中的工作效果不佳,具体原因有以下几点:
ICMP报文被阻止或过滤:某些网络管理员或ISP可能会阻止或过滤ICMP报文,包括PMTUD协议所依赖的ICMP报文。这样一来,目标主机就无法接收到足够大的ICMP报文,从而无法确定最大MTU值。
ICMP报文被伪造:某些攻击者可能会伪造ICMP报文,向目标主机发送虚假的MTU值。这可能会导致目标主机将数据包分片,从而影响网络传输效率和延迟。
中间设备阻止PMTUD:某些网络设备(如防火墙、NAT 网关等)可能会阻止或过滤PMTUD报文,或者不支持PMTUD协议。这些设备可能会造成PMTUD协议无法正常工作。
综上所述,尽管PMTUD协议在理论上可以避免数据包分片,但在现有的互联网环境中,它并不总是可靠的,可能会导致网络传输效率低下和网络延迟增加。
用户也可以通过配置网卡的MTU(最大传输单元)大小来避免数据包的分片,这种方法虽然可以避免依赖PMTUD协议,但也存在以下缺点:
配置繁琐:用户需要手动配置每个网络接口的MTU值,这可能需要花费较长时间和精力。而且,用户需要确保所设置的MTU值符合网络设备和应用程序的要求,否则可能会导致连接失败或其他问题。
可靠性差:用户自行配置MTU值并不能保证数据包不会被分片,因为在网络中存在多个设备和路由器,每个设备都有其自己的MTU大小限制。如果某个设备的MTU大小小于用户设置的MTU值,则数据包仍然会被分片传输。
难以维护:如果网络拓扑结构发生变化或新增设备,用户可能需要重新配置MTU值。此外,如果用户需要在不同的网络环境中进行配置,也可能需要更改MTU值,这可能会导致管理和维护的困难。
发明内容
本发明的目的是提供一种避免国密IPSecVPN网关数据包乱序、分片的方法,一方面在处理大量IPSec流量时,可以有效避免IPSec多核处理中数据包乱序的问题,有效地提高了IPSecVPN系统的性能和效率;另一方面,用户只需要在IPSec隧道中修改TCP MSS值,就可以避免数据包分片的问题,不需要进行其他额外的配置或操作,也可在现有的IPSecVPN网关上进行部署和使用具有很好的适用性和可靠性,且对现有的网络设备和应用具有较好的兼容性。
为实现上述目的,本发明提供了一种避免国密IPSecVPN网关数据包乱序、分片的方法,包括如下步骤:
S1、在IPSecVPN网关设备一和IPSecVPN网关设备二之间建立IPSec隧道,IPSecVPN网关设备双方协商生成唯一的SPI值,分别为SPI1和SPI2;
S2、将生成的SPI1和SPI2分别与对应的安全参数SA关联;
S3、建立客户端和服务器端之间的TCP连接,具体步骤如下:
S31、客户端发送原始TCP SYN数据包;
S32、IPSecVPN网关设备一接收客户端发送的原始TCP SYN数据包后,先修改原始TCP SYN数据包的MSS值,而后使用SPI1将修改MSS值后的TCP SYN数据包进行加密;
S33、IPSecVPN网关设备二接收步骤S32中加密后的TCP SYN数据包后,将加密后的TCP SYN数据包分配到不同的CPU核上进行解密处理;
S34、服务器端接收步骤S33中解密后的TCP SYN数据包后,发送原始TCP SYN-ACK数据包;
S35、IPSecVPN网关设备二接收服务器端发送的原始TCP SYN-ACK数据包后,先修改原始TCP SYN-ACK数据包的MSS值,而后使用SPI2将修改MSS值后的TCP SYN-ACK数据包进行加密;
S36、IPSecVPN网关设备一接收步骤S35中加密后的TCP SYN-ACK数据包后,将加密后的TCP SYN-ACK数据包分配到步骤S33所述的CPU核上进行解密处理;
S37、客户端接收步骤S36中解密后的TCP SYN-ACK数据包。
优选的,在步骤S1中,所述IPSecVPN网关设备双方协商生成唯一的SPI值的方法为在原有的SPI字段留出第一个字节作为存储TCP流信息的位置,并将其置为0。
优选的,在步骤S32中所述的IPSecVPN网关设备一和步骤S34中所述的IPSecVPN网关设备二上分别配置一个MSS阈值,判断是否需要修改原始TCP SYN数据包和原始TCP SYN-ACK数据包的MSS值。
优选的,所述判断是否需要修改原始TCP SYN数据包和原始TCP SYN-ACK数据包的MSS值,具体为:
检查IPSec隧道中传输的原始TCP-SYN数据包和原始TCP SYN-ACK数据包,若原始TCP SYN数据包和原始TCP SYN-ACK数据包中的MSS值大于MSS阈值,则将原始TCP SYN包和原始TCP SYN-ACK数据包的MSS值修改为MSS阈值,否则不做修改。
优选的,所述IPSecVPN网关设备一和IPSecVPN网关设备二双方根据对方通告的MSS值协商确定TCP连接数据包的上限。
优选的,在步骤S32中,所述使用SPI1将修改MSS值后的TCP SYN数据包进行加密,具体为:将TCP流信息编码到修改MSS值后的TCP SYN数据包SPI1字段的第一个字节中进行加密。
优选的,在步骤S33中,所述IPSecVPN设备二接收步骤S32中加密后的TCP SYN数据包后,根据SPI1字段中存储的TCP流信息,将加密后的TCP SYN数据包分配到不同的CPU核上进行解密处理。
优选的,在步骤S33中,所述将加密后的TCP SYN数据包分配到不同的CPU核上进行解密处理,具体为:
检查SPI1字段并与本地的SA进行比较,若SPI1值匹配,则IPSecVPN网关设备二使用相关的安全参数SA对加密后的TCP SYN数据包进行解密和验证,若SPI1值不匹配,则丢弃该TCP SYN数据包。
因此,本发明采用上述一种避免国密IPSecVPN网关数据包乱序、分片的方法,有益效果如下:
(1)在大流量情况下,IPSec处理器可能无法及时处理所有的数据包导致数据包乱序,本发明通过利用SPI字段传递TCP流信息,实现对IPSec数据包的多核处理,从而避免数据包乱序问题,同时提高了IPSecVPN系统的性能和效率。
(2)本发明在保证IPSec数据安全性的前提下,通过SPI字段传递TCP流信息,不会影响数据的机密性和完整性,并对每个TCP进行防重放攻击防御,无需加锁,进一步提高IPSecVPN系统的性能和效率。
(3)数据包分片可能会导致数据泄漏和安全隐患,本发明通过修改IPSec隧道中传输的TCP MSS值,使其小于等于IPSec隧道的有效载荷大小,有效避免TCP数据包在传输过程中被分片,降低数据泄漏和安全风险,在提高网络通信安全性的同时,可以降低网络通信的复杂性和延迟,提高网络通信的安全性。
(4)相比于用户自行配置网卡MTU或使用PMTUD协议等方法,本发明更为简单易用,用户只需要在IPSec隧道中修改TCP MSS值,就可以避免数据包分片的问题,不需要进行其他额外的配置或操作。
(5)本发明适用于不同的IPSecVPN系统中和不同的IPSecVPN网关上,具有一定的通用性和适用性,可在现有的网络设备和应用中进行部署和使用,兼容性较好。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例的流程图;
图2是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例的示意图;
图3是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中未开启MTU,未开启IPSec加速的网关配置界面;
图4是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中未开启MTU,未开启IPSec加速的吞吐性能示意图;
图5是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中未开启MTU,开启IPSec加速的网关配置界面;
图6是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中未开启MTU,开启IPSec加速的吞吐性能示意图;
图7是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中开启MTU,未开启IPSec加速的网关配置界面;
图8是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中开启MTU,未开启IPSec加速的吞吐性能示意图;
图9是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中开启MTU,开启IPSec加速的网关配置界面;
图10是本发明一种避免国密IPSecVPN网关数据包乱序、分片的方法实施例中开启MTU,开启IPSec加速的吞吐性能示意图。
具体实施方式
以下通过附图和实施例对本发明的技术方案作进一步说明。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
如图1所示,一种避免国密IPSecVPN网关数据包乱序、分片的方法包括如下步骤:
S1、在IPSecVPN网关设备一和IPSecVPN网关设备二之间建立IPSec隧道,IPSecVPN网关设备双方协商生成唯一的SPI值,分别为SPI1和SPI2,具体的,IPSecVPN网关设备双方在原有的SPI字段留出第一个字节作为存储TCP流信息的位置,并将其置为0,如图2中所示,生成的SPI1为0x00123456,SPI2为0x00789abc。
SPI的作用是让接收方能够正确地识别和处理从发送方发送的IPSec数据包,SPI的值可以由发送方随机生成,也可以由管理员手动指定,SPI值的选择对于IPSec连接的安全性没有直接的影响,但是它的唯一性很重要。SPI值不能与其他IPSec连接中的SPI值相同,否则会导致连接的混淆和错误处理。
S2、将生成的SPI1和SPI2分别与其相对应的安全参数SA关联,SPI值在IPSec连接的整个生命周期中都是固定的,并且在SA的两端必须相同。
S3、建立一个客户端和服务器端之间的TCP连接,具体为如下步骤:
S31、客户端发送原始TCP SYN数据包,SYN是TCP建立连接时使用的握手信号,此时所有的原始TCP SYN数据包中都包含SPI字段,以便接收方能够正确地识别和处理它们。
S32、IPSecVPN网关设备一接收客户端发送的原始TCP SYN数据包后,先修改接收到的原始TCP SYN数据包的MSS值,而后使用SPI1将修改MSS值后的TCP SYN数据包进行加密;
首先,在IPSecVPN网关设备一上配置一个MSS阈值,判断是否需要修改原始TCPSYN数据包的MSS值,MSS阈值的设定可以根据网络的实际情况进行调整,以确保不会出现数据包分片的问题。
判断是否需要修改原始TCP SYN数据包的MSS值,具体为:
检查IPSec隧道中传输的原始TCP-SYN数据包,IPSecVPN网关设备一和IPSecVPN网关设备二双方根据对方通告的MSS值协商确定TCP连接数据包的上限;若原始TCP SYN数据包中的MSS值大于MSS阈值,则将原始TCP SYN包的MSS值修改为MSS阈值,否则不做修改,这个过程可以在IPSecVPN网关设备一上进行自动化处理,无需用户手动干预。
而后使用SPI1将修改MSS值后的TCP SYN数据包进行加密,具体为:将TCP流信息编码到修改MSS值后的TCP SYN数据包SPI1字段的第一个字节中进行加密。通过将TCP流信息编码到SPI1字段中,在保证数据包安全性和完整性的前提下,有效地优化IPSec流量的处理。
S33、IPSecVPN网关设备二接收步骤S32中加密后的TCP SYN数据包后,根据SPI1字段中存储的TCP流信息,将属于同一个IPSec隧道中的不同TCP SYN数据包分配到不同的CPU核上进行解密处理,此处,使用SPI1进行加密的TCP SYN数据包用CPU1进行加密处理,以提高IPSecVPN系统的性能和效率;
具体为:检查SPI1字段并与本地的安全参数SA进行比较,若SPI1值匹配,则IPSecVPN网关设备二将加密后的TCP SYN数据包分配到CPU1核上,并使用相关的安全参数SA对加密后的TCP SYN数据包进行解密和验证;若SPI1值不匹配,可能是由未授权的源发送的,或者是由于其他原因而被篡改的,由于SPI字段在IPSec连接中起着非常重要的作用,为确保连接的安全性和完整性,则丢弃该TCP SYN数据包。
S34、服务器端接收步骤S33中解密后的TCP SYN数据包后,发送原始TCP SYN-ACK数据包,服务器端使用SYN-ACK应答,表示接收到了这个消息;
S35、IPSecVPN网关设备二接收服务器端发送的原始TCP SYN-ACK数据包后,先修改接收到的原始TCP SYN-ACK数据包的MSS值,而后使用SPI2将修改MSS值后的TCP SYN-ACK数据包进行加密;
首先,在IPSecVPN网关设备二上配置一个MSS阈值,判断是否需要修改原始TCPSYN-ACK数据包的MSS值,MSS阈值的设定根据网络的实际情况进行调整,以确保不会出现数据包分片的问题。
判断是否需要修改原始TCP SYN-ACK数据包的MSS值,具体为:
检查IPSec隧道中传输的原始TCP SYN-ACK数据包,若原始TCP SYN-ACK数据包中的MSS值大于MSS阈值,则将原始TCP SYN-ACK包的MSS值修改为MSS阈值,否则不做修改,同理这个过程可以在IPSecVPN网关设备二上进行自动化处理,无需用户手动干预。
而后使用SPI2将修改MSS值后的TCP SYN-ACK数据包进行加密,具体为:将TCP流信息编码到修改MSS值后的TCP SYN-ACK数据包SPI2字段的第一个字节中进行加密。通过将TCP流信息编码到SPI2字段中,在保证数据包安全性和完整性的前提下,有效地优化IPSec流量的处理。
S36、IPSecVPN网关设备一接收步骤S35加密后的TCP SYN-ACK数据包后,IPSecVPN网关设备一接收步骤S35加密后的TCP SYN-ACK数据包后,根据SPI2字段中存储的TCP流信息,将属于同一个IPSec隧道中的不同TCP SYN-ACK数据包分配到步骤S33相同的CPU1核上进行解密处理,以提高IPSecVPN系统的性能和效率。
具体为:检查SPI2字段并与本地的安全参数SA进行比较,若SPI2值匹配,则IPSecVPN网关设备一将加密后的TCP SYN-ACK数据包分配到CPU1核上,并使用相关的安全参数SA对TCP SYN-ACK数据包进行解密和验证;若SPI2值不匹配,可能是由未授权的源发送的,或者是由于其他原因而被篡改的,由于SPI字段在IPSec连接中起着非常重要的作用,为确保连接的安全性和完整性,则丢弃该TCP SYN-ACK数据包。
S37、客户端接收步骤S36中解密后的TCP SYN-ACK数据包,TCP握手成功,进行正常通信,整个过程中数据包不乱序且不分片,重复以上步骤可建立另一个TCP连接。
性能提升操作实例如下:
在网关配置界面上依次开启MTU调整和开启IPSec加速,测试吞吐性能并作比较。
如图3所示,当未开启MTU,未开启IPSec加速时,图4中所示吞吐带宽为288 Mbps;
如图5所示,当未开启MTU,开启IPSec加速时,图6中所示吞吐带宽为306 Mbps;
如图7所示,当开启MTU,未开启IPSec加速时,图8中所示吞吐带宽为370 Mbps;
如图9所示,当开启MTU,开启IPSec加速时,图10中所示吞吐带宽为403 Mbps;
从以上对比结果来看,当开启MTU,开启IPSec加速时,IPSecVPN系统的性能相比开启MTU,未开启IPSec加速时的吞吐性能提升了33 Mbps;比未开启MTU,开启IPSec加速时的吞吐性能提升了97 Mbps;比未开启MTU,未开启IPSec加速时的吞吐性能提升了115 Mbps,大大提高了IPSecVPN系统的性能和效率。
因此,本发明采用上述一种避免国密IPSecVPN网关数据包乱序、分片的方法,通过利用SPI字段传递TCP流信息,实现对IPSec数据包的多核处理,从而避免了数据包乱序问题;通过修改IPSec隧道中传输的TCP数据包中的MSS值,有效避免了数据包在传输过程中被分片的问题,提高IPSecVPN系统的性能和效率,同时降低数据泄漏和安全风险,具有一定的通用性和适用性,且兼容性较好。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (8)

1.一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于,包括如下步骤:
S1、在IPSecVPN网关设备一和IPSecVPN网关设备二之间建立IPSec隧道,IPSecVPN网关设备双方协商生成唯一的SPI值,分别为SPI1和SPI2;
S2、将生成的SPI1和SPI2分别与对应的安全参数SA关联;
S3、建立客户端和服务器端之间的TCP连接,具体步骤如下:
S31、客户端发送原始TCP SYN数据包;
S32、IPSecVPN网关设备一接收客户端发送的原始TCP SYN数据包后,先修改原始TCPSYN数据包的MSS值,而后使用SPI1将修改MSS值后的TCP SYN数据包进行加密;
S33、IPSecVPN网关设备二接收步骤S32中加密后的TCP SYN数据包后,将加密后的TCPSYN数据包分配到不同的CPU核上进行解密处理;
S34、服务器端接收步骤S33中解密后的TCP SYN数据包后,发送原始TCP SYN-ACK数据包;
S35、IPSecVPN网关设备二接收服务器端发送的原始TCP SYN-ACK数据包后,先修改原始TCP SYN-ACK数据包的MSS值,而后使用SPI2将修改MSS值后的TCP SYN-ACK数据包进行加密;
S36、IPSecVPN网关设备一接收步骤S35中加密后的TCP SYN-ACK数据包后,将加密后的TCP SYN-ACK数据包分配到步骤S33所述的CPU核上进行解密处理;
S37、客户端接收步骤S36中解密后的TCP SYN-ACK数据包。
2.根据权利要求1所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:在步骤S1中,所述IPSecVPN网关设备双方协商生成唯一的SPI值的方法为在原有的SPI字段留出第一个字节作为存储TCP流信息的位置,并将其置为0。
3.根据权利要求1所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:在步骤S32中所述的IPSecVPN网关设备一和步骤S34中所述的IPSecVPN网关设备二上分别配置一个MSS阈值,判断是否需要修改原始TCP SYN数据包和原始TCP SYN-ACK数据包的MSS值。
4.根据权利要求3所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:所述判断是否需要修改原始TCP SYN数据包和原始TCP SYN-ACK数据包的MSS值,具体为:
检查IPSec隧道中传输的原始TCP-SYN数据包和原始TCP SYN-ACK数据包,若原始TCPSYN数据包和原始TCP SYN-ACK数据包中的MSS值大于MSS阈值,则将原始TCP SYN包和原始TCP SYN-ACK数据包的MSS值修改为MSS阈值,否则不做修改。
5.根据权利要求3所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:所述IPSecVPN网关设备一和IPSecVPN网关设备二双方根据对方通告的MSS值协商确定TCP连接数据包的上限。
6.根据权利要求1所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:在步骤S32中,所述使用SPI1将修改MSS值后的TCP SYN数据包进行加密,具体为:将TCP流信息编码到修改MSS值后的TCP SYN数据包SPI1字段的第一个字节中进行加密。
7.根据权利要求1所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:在步骤S33中,所述IPSecVPN网关设备二接收步骤S32中加密后的TCP SYN数据包后,根据SPI1字段中存储的TCP流信息,将加密后的TCP SYN数据包分配到不同的CPU核上进行解密处理。
8.根据权利要求1所述的一种避免国密IPSecVPN网关数据包乱序、分片的方法,其特征在于:在步骤S33中,所述将加密后的TCP SYN数据包分配到不同的CPU核上进行解密处理,具体为:
检查SPI1字段并与本地的SA进行比较,若SPI1值匹配,则IPSecVPN网关设备二使用相关的安全参数SA对加密后的TCP SYN数据包进行解密和验证,若SPI1值不匹配,则丢弃该TCP SYN数据包。
CN202310643777.9A 2023-06-02 2023-06-02 一种避免国密IPSecVPN网关数据包乱序、分片的方法 Active CN116389169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310643777.9A CN116389169B (zh) 2023-06-02 2023-06-02 一种避免国密IPSecVPN网关数据包乱序、分片的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310643777.9A CN116389169B (zh) 2023-06-02 2023-06-02 一种避免国密IPSecVPN网关数据包乱序、分片的方法

Publications (2)

Publication Number Publication Date
CN116389169A CN116389169A (zh) 2023-07-04
CN116389169B true CN116389169B (zh) 2023-08-04

Family

ID=86979092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310643777.9A Active CN116389169B (zh) 2023-06-02 2023-06-02 一种避免国密IPSecVPN网关数据包乱序、分片的方法

Country Status (1)

Country Link
CN (1) CN116389169B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888450A (zh) * 2014-03-06 2014-06-25 江苏金陵科技集团有限公司 一种Windows平台IPSec处理方法
CN115052049A (zh) * 2022-06-15 2022-09-13 北京天融信网络安全技术有限公司 一种基于IPsec隧道的报文转发方法及系统
CN115242561A (zh) * 2022-09-23 2022-10-25 中国电子科技集团公司第三十研究所 IPSec传输模式超限包后分片处理方法、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888450A (zh) * 2014-03-06 2014-06-25 江苏金陵科技集团有限公司 一种Windows平台IPSec处理方法
CN115052049A (zh) * 2022-06-15 2022-09-13 北京天融信网络安全技术有限公司 一种基于IPsec隧道的报文转发方法及系统
CN115242561A (zh) * 2022-09-23 2022-10-25 中国电子科技集团公司第三十研究所 IPSec传输模式超限包后分片处理方法、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IPv6扩展首部的使用;马光星;中国数据通信(10);全文 *

Also Published As

Publication number Publication date
CN116389169A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
US8984268B2 (en) Encrypted record transmission
JP4504713B2 (ja) パケットペイロードを認証する方法
US6779033B1 (en) System and method for transacting a validated application session in a networked computing environment
US7386889B2 (en) System and method for intrusion prevention in a communications network
US9438592B1 (en) System and method for providing unified transport and security protocols
JP4271451B2 (ja) インターネット鍵交換データパケットをフラグメント化および再組み立てするための方法および装置
CN111245862A (zh) 一种物联网终端数据安全接收、发送的系统
KR20060059908A (ko) 통신 시스템, 통신 장치, 통신 방법 및 그것을 실현하기위한 통신 프로그램
US8683572B1 (en) Method and apparatus for providing continuous user verification in a packet-based network
CA2506418C (en) Systems and apparatuses using identification data in network communication
CN113904809B (zh) 一种通信方法、装置、电子设备及存储介质
CN113904807A (zh) 一种源地址认证的方法、装置、电子设备及存储介质
US7698452B2 (en) Access-controlling method, repeater, and server
CN116389169B (zh) 一种避免国密IPSecVPN网关数据包乱序、分片的方法
CN113746861B (zh) 基于国密技术的数据传输加密、解密方法及加解密系统
Hohendorf et al. Secure End-to-End Transport Over SCTP.
CN210839642U (zh) 一种物联网终端数据安全接收、发送的装置
CN107579984B (zh) 一种面向网络层的安全通信链路建立方法
KR20110087972A (ko) 세션 테이블을 이용한 비정상 트래픽의 차단 방법
Lindskog et al. The design and message complexity of secure socket SCTP

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant