IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储介质转让专利

申请号 : CN202111510897.9

文献号 : CN114268473B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石亚磊王耀杰施德军

申请人 : 北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司

摘要 :

本申请公开了IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储介质,方法包括以下步骤:通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;接收协商报文,协商报文包括用于抵御DDOS攻击的自定义字段;判断协商报文是否为第一协商报文;若协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常;若自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方。本申请具有抵御DDOS攻击的效果。

权利要求 :

1.IKEv1协议主模式抵御DDOS攻击的方法,其特征在于,所述方法包括以下步骤:通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,所述预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;

接收协商报文,所述协商报文包括用于抵御DDOS攻击的自定义字段;

判断所述协商报文是否为第一协商报文;

若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;

若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方,其中,所述验证信息包括用于标识隧道的标识载荷以及用于抵御重放攻击的抵御载荷;若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文,具体包括:若所述协商报文不是第一协商报文,则丢弃协商报文;

若所述协商报文是第一协商报文,则判断自定义字段是否存在标识载荷;

若所述自定义字段不存在标识载荷,则丢弃协商报文;

若所述自定义字段存在标识载荷,则根据验证信息的标识载荷判断自定义字段的标识载荷是否存在于本地终端;

若所述验证信息的标识载荷与自定义字段的标识载荷不一致,则确定自定义字段的标识载荷不存在于本地终端,自定义字段存在标识异常,并丢弃协商报文;

若所述自定义字段不存在标识异常,则根据验证信息的抵御载荷判断自定义字段的抵御载荷是否存在于本地终端;

若所述验证信息的抵御载荷与自定义字段的抵御载荷不一致,则确定自定义字段的抵御载荷不存在于本地终端,自定义字段存在抵御异常,并丢弃协商报文;

若所述自定义字段不存在抵御异常,则确定自定义字段不存在数据异常。

2.根据权利要求1所述的IKEv1协议主模式抵御DDOS攻击的方法,其特征在于,所述若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方,具体包括:生成响应方的Cookie信息;

根据所述IKEv1协议选择预设参数,并生成协商参数;

根据所述协商参数构造响应报文;

发送所述响应报文至发送方。

3.根据权利要求1所述的IKEv1协议主模式抵御DDOS攻击的方法,其特征在于,所述构造响应报文并发送响应报文至发送方之后,修改隧道中的抵御载荷。

4.IKEv1协议主模式抵御DDOS攻击的系统,其特征在于,所述系统包括,

环境模块(1):通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,所述预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;

接收模块(2):接收协商报文,所述协商报文包括用于抵御DDOS攻击的自定义字段;

判断顺序模块(3):判断所述协商报文是否为第一协商报文;

验证模块(4):若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;

发送模块(5):若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方。

5.一种智能终端,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至3中任一项所述方法的计算机程序。

6.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至3中任一项所述方法的计算机程序。

说明书 :

IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储

介质

技术领域

[0001] 本发明涉及网络传输技术领域,尤其是涉及IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储介质。

背景技术

[0002] 在通信双方建立IPSec隧道进行数据传输时,常常需要用到IKE这种混合型协议,IKE由Internet安全关联、密钥管理协议、密钥交换协议OAKLEY以及密钥交换协议SKEME所组成;IKE创建在由密钥管理协议定义的框架上,沿用了OAKLEY的密钥交换模式、SKEME的共享技术以及SKEME的密钥更新技术,同时还定义了自己的两种密钥交换方式,分别是主模式和野蛮模式;IKE的第一阶段为主模式和野蛮模式,产生IKE SA,而IKE的第二阶段为快速模式,产生IPSEC SA。
[0003] 在目前的IKE主模式中,发送方发送第一个协商报文时可以不携带表明身份的标识,使得响应方不能根据发送方所携带的内容查询到对应的隧道,响应方会创建一个通用的结构体来表示该协商过程;若发送方发送大量的第一个协商包而不继续发送后面的协商包,响应方会创建大量的结构体来保存协商状态,继而不能抵御DDOS攻击,甚至耗尽内存资源。
[0004] 在实现本申请过程中,发明人发现该技术中至少存在如下问题:目前在IKEv1协议的主模式中,为了抵御DDOS攻击,响应方一般会询问上一级网络运营商,查找、确定作为攻击源头的发送方,然后阻断该攻击源头发送给响应方的流量,但是如果攻击源头的地址是伪造的地址,发送方可以更换地址继续对响应方进行DDOS攻击,则响应方无法抵御DDOS攻击。对此,有待进一步改进。

发明内容

[0005] 为了抵御DDOS攻击,本申请提供了IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储介质。
[0006] 本申请提供的IKEv1协议主模式抵御DDOS攻击的方法、系统、终端及存储介质。
[0007] 第一方面,本申请提供IKEv1协议主模式抵御DDOS攻击的方法,采用如下的技术方案:
[0008] IKEv1协议主模式抵御DDOS攻击的方法,所述方法包括以下步骤:
[0009] 通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,所述预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;
[0010] 接收协商报文,所述协商报文包括用于抵御DDOS攻击的自定义字段;
[0011] 判断所述协商报文是否为第一协商报文;
[0012] 若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;
[0013] 若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方。
[0014] 通过采用上述技术方案,通过判断带有自定义字段的协商报文是否符合消息交流的资格,从而实现响应方抵御IKEv1协议主模式中的第一个协商包构成的DDOS攻击,而且方便响应方根据协商报文所携带的自定义字段,快速查找与该自定义字段相匹配的隧道,从而提高查找效率。
[0015] 可选的,所述验证信息包括用于标识隧道的标识载荷以及用于抵御重放攻击的抵御载荷;所述若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,具体包括:
[0016] 若所述协商报文不是第一协商报文,则丢弃协商报文;
[0017] 若所述协商报文是第一协商报文,则判断自定义字段是否存在标识载荷;
[0018] 若所述自定义字段不存在标识载荷,则丢弃协商报文;
[0019] 若所述自定义字段存在标识载荷,则根据验证信息的标识载荷判断自定义字段的标识载荷是否存在于本地终端;
[0020] 若所述验证信息的标识载荷与自定义字段的标识载荷不一致,则确定自定义字段的标识载荷不存在于本地终端,自定义字段存在标识异常,并丢弃协商报文;
[0021] 若所述自定义字段不存在标识异常,则根据验证信息的抵御载荷判断自定义字段的抵御载荷是否存在于本地终端;
[0022] 若所述验证信息的抵御载荷与自定义字段的抵御载荷不一致,则确定自定义字段的抵御载荷不存在于本地终端,自定义字段存在抵御异常,并丢弃协商报文;
[0023] 若所述自定义字段不存在抵御异常,则确定自定义字段不存在数据异常。
[0024] 通过采用上述技术方案,首先通过判断是否第一协商报文,来初步抵御DDOS攻击,然后通过标识载荷判断协商报文是否与响应方使用同一个隧道ID,来再次抵御DDOS攻击,再通过抵御载荷判断是否发送方截获协商报文后使用相同的隧道ID来进行消息交流,从而进一步抵御DDOS攻击。
[0025] 可选的,所述若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方,具体包括:
[0026] 生成响应方的Cookie信息;
[0027] 根据所述IKEv1协议选择预设参数,并生成协商参数;
[0028] 根据所述协商参数构造响应报文;
[0029] 发送所述响应报文至发送方。
[0030] 通过采用上述技术方案,根据协商参数构造响应报文可以使得响应报文符合IKEv1协议,从而使得发送方和响应方实现完整的消息交流。
[0031] 可选的,所述构造响应报文并发送响应报文至发送方之后,修改隧道中的抵御载荷。
[0032] 通过采用上述技术方案,修改隧道中的抵御载荷可以减少作为攻击源头的发送方截获响应报文的抵御载荷,对响应方进行DDOS攻击的情况,从而提高下一次消息交流的安全性。
[0033] 第二方面,本申请提供IKEv1协议主模式抵御DDOS攻击的系统,采用如下的技术方案:
[0034] IKEv1协议主模式抵御DDOS攻击的系统,所述系统包括:
[0035] 环境模块:通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,所述预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;
[0036] 接收模块:接收协商报文,所述协商报文包括用于抵御DDOS攻击的自定义字段;
[0037] 判断顺序模块:判断所述协商报文是否为第一协商报文;
[0038] 验证模块:若所述协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;
[0039] 发送模块:若所述自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方。
[0040] 通过采用上述技术方案,通过判断带有自定义字段的协商报文是否符合消息交流的资格,从而实现响应方抵御IKEv1协议主模式中的第一个协商包构成的DDOS攻击,而且方便响应方根据协商报文所携带的自定义字段,快速查找与该自定义字段相匹配的隧道,从而提高查找效率。
[0041] 第三方面,本申请提供一种智能终端,采用如下的技术方案:
[0042] 一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述方法的计算机程序。
[0043] 第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
[0044] 一种计算机可读存储介质,存储有能够被处理器加载并执行上述方法的计算机程序。
[0045] 综上所述,本申请包括以下至少一种有益技术效果:
[0046] 1.通过判断带有自定义字段的协商报文是否符合消息交流的资格,从而实现响应方抵御IKEv1协议主模式中的第一个协商包构成的DDOS攻击,同时,方便响应方根据协商报文所携带的自定义字段,快速查找与该自定义字段相匹配的隧道,从而提高查找效率;
[0047] 2.判断是否第一协商报文和结合标识载荷、抵御载荷进一步判断协商报文来更好的抵御DDOS攻击。

附图说明

[0048] 图1是本申请实施例中IKEv1协议主模式抵御DDOS攻击的方法的流程图。
[0049] 图2是本申请实施例中S4的子流程图。
[0050] 图3是本申请实施例中S5的子流程图。
[0051] 图4是本申请实施例中IKEv1协议主模式抵御DDOS攻击的系统的结构框图。
[0052] 附图标记说明:
[0053] 1、环境模块;2、接收模块;3、判断顺序模块;4、验证模块;5、发送模块。

具体实施方式

[0054] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1‑4以及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0055] 本申请实施例公开了一种IKEv1协议主模式抵御DDOS攻击的方法。
[0056] 如图1所示,该方法包括以下步骤:
[0057] S1,通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息;
[0058] 具体的,在第一次交换消息的过程中,发送方和响应方需要协商IKE SA的预设参数,预设参数采用IKEv1协议的主模式,同时遵循标准的IPSEC主模式协议,故预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息以及密钥交换算法的信息;在本实施例中,发送方提议的算法组合为AES‑SHA256‑DH1,其中,AES为加密算法;SHA256为校验算法;而DH1是DH算法,DH算法是密钥交换算法里的公共密钥交换方法。
[0059] 同时,在IKEv1协议中存在厂商ID载荷,厂商ID载荷等同于厂商VID(Vendor Id)载荷,在本实施例中,厂商ID载荷的类型值为13;如表1所示,厂商ID载荷可以实现厂商往协商报文内添加自定义信息;表1中的各字段含义如下:“载荷内容”为厂商ID载荷,这个字段是可以根据实际需求调节长度,内容由厂商自定义;“下一个载荷”表示这个字段的长度,若这个字段的长度为1个字节,则标识本载荷后下一个载荷的类型,若当前载荷是最后一个,则这个字段的长度被设置为0;“保留”这个字段的长度为1个字节,在本实施例中,“保留”的数值为0;“载荷长度”表示以字节为单位标明包含通用载荷头在内的整个载荷长度,在本实施例中,这个字段的长度为2个字节。
[0060] 表1
[0061] 厂商ID载荷的具体格式
[0062]
[0063] 而验证信息包括标识载荷以及抵御载荷,其中,标识载荷用于标识隧道,实现发送方和响应方使用同一个隧道ID来标识相同的隧道,在本实施例中,标识载荷的内容为“TUNNEL_ID:a”,该内容中的“a”为用户自定义的隧道标识字符串的HASH值;而抵御载荷的内容为“TUNNEL_HOTP:b”,该内容中的“b”为使用HOTP生成的6位验证码。
[0064] 发送方在组装协商报文前需要添加两个VID载荷,其中,协商报文等同于IKE报文,两个VID载荷分别是标识载荷和抵御载荷,从而在发送的第一个包上增加用于响应方抵御DDOS攻击的自定义字段。
[0065] 在发送方添加两个VID载荷到协商报文前之后,发送方的第一个包的格式如表2所示;在表2中,发送方Cookie这个字段为一个唯一的8字节比特串,由发送方随机生成;而响应方Cookie这个字段为一个唯一的8字节比特串,由响应方随机生成。
[0066] 表2
[0067] 发送方的第一个包的具体格式
[0068]
[0069]
[0070] S2,接收协商报文;
[0071] 具体的,响应方接收发送方发送的协商报文,该协商报文包括自定义字段。
[0072] S3,判断协商报文是否为第一协商报文;
[0073] 具体的,当ISAKMP(因特网安全关联和密钥管理协议)的头中标识为主模式交换载荷,并且响应方Cookie为0时,则判断该协商报文为第一协商报文,其中,ISAKMP是本领域技术人员公知,此处不再赘述。
[0074] S4,若协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;
[0075] 其中,数据异常包括标识异常和抵御异常。
[0076] 如图2所示,S4包括S41、S42、S43、S44、S45、S46、S47以及S48这8个子步骤,具体包括:
[0077] S41,若协商报文不是第一协商报文,则丢弃协商报文;
[0078] 具体的,若该协商报文不是第一协商报文,则丢弃协商报文,从而减少遭受DDOS攻击的情况。
[0079] S42,若协商报文是第一协商报文,则判断自定义字段是否存在标识载荷;
[0080] 具体的,若该协商报文是第一协商报文,则遍历用户自定义的隧道标识字符串的HASH值,并判断该HASH值的前8个字符是否“TUNNEL_ID”;若该HASH值的前8个字符为“TUNNEL_ID”,则确定该自定义字段存在标识载荷。
[0081] S43,若自定义字段不存在标识载荷,则丢弃协商报文;
[0082] 具体的,若自定义字段不存在标识载荷,则说明该协商报文不符合交换消息的资格,响应方及时丢弃从而尽量避免遭受DDOS攻击的情况。
[0083] S44,若自定义字段存在标识载荷,则根据验证信息的标识载荷判断自定义字段的标识载荷是否存在于本地终端;
[0084] 具体的,若自定义字段存在标识载荷,则获取“TUNNEL_ID:”后的内容,把该内容与内存中所存字段作对比;若对比结果为相等,则说明验证信息的标识载荷与自定义字段的标识载荷相一致,确定自定义字段的标识载荷存在于本地终端。
[0085] S45,若验证信息的标识载荷与自定义字段的标识载荷不一致,则确定自定义字段的标识载荷不存在于本地终端,自定义字段存在标识异常,并丢弃协商报文;
[0086] 具体的,若验证信息的标识载荷与自定义字段的标识载荷不一致,则说明发送方和响应方不是使用相同的隧道来交换消息,发送方发送的协商报文不符合交换消息的资格,存在发送方为发起DDOS攻击的攻击源头的情况,响应方及时丢弃协商报文,从而实现响应方抵御DDOS攻击。
[0087] S46,若自定义字段不存在标识异常,则根据验证信息的抵御载荷判断自定义字段的抵御载荷是否存在于本地终端;
[0088] 具体的,若自定义字段不存在标识异常,则遍历使用HOTP生成的6位验证码;若该6位数验证码的前10个字符为“TUNNEL_HOTP”,则说明验证信息的抵御载荷与自定义字段的抵御载荷相一致,自定义字段的抵御载荷存在于本地终端。
[0089] S47,若验证信息的抵御载荷与自定义字段的抵御载荷不一致,则确定自定义字段的抵御载荷不存在于本地终端,自定义字段存在抵御异常,并丢弃协商报文;
[0090] 具体的,若验证信息的抵御载荷与自定义字段的抵御载荷不一致,则确定自定义字段的抵御载荷不存在于本地终端,自定义字段存在抵御异常,并且说明该协商报文不符合交换消息的资格,响应方及时丢弃该不符合交换消息资格的协商报文,从而防止作为攻击源头的发送方截获有效协商报文后,使用相同的隧道ID对响应方进行DDOS攻击的情况。
[0091] S48,若自定义字段不存在抵御异常,则确定自定义字段不存在数据异常。
[0092] 具体的,若自定义字段不存在数据异常,则说明该协商报文符合交换消息的资格。
[0093] S5,若自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方;
[0094] 如图3所示,S5包括S51、S52以及S53这三个子步骤,具体包括:
[0095] S51,生成响应方的Cookie信息;
[0096] 具体的,该步骤中生成响应方Cookie信息的方法与S1步骤中生成响应方Cookie信息的方法相一致,此处不再赘述。
[0097] S52,根据IKEv1协议选择预设参数,并生成协商参数;
[0098] 具体的,响应方根据IKEv1协议,从发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息中,选择自己支持的预设参数,并根据该筛选后的预设参数生成协商参数。
[0099] S53,根据协商参数构造响应报文;
[0100] 具体的,响应方根据协商参数来构造响应报文,具体的响应报文如表3所示。
[0101] 表3
[0102] 响应报文的具体格式
[0103]
[0104] S54,发送响应报文至发送方;
[0105] 具体的,在响应方构造响应报文之后,响应方把响应报文发送至发送方。
[0106] S6,修改隧道中的抵御载荷;
[0107] 具体的,如图1所示,在响应方构造响应报文,并把响应报文发送至发送方之后,响应方更新隧道中的抵御载荷,便于实现抵御DDOS攻击,更新的抵御载荷是响应方内存中的值,该更新的抵御载荷的数字长度为6位,在本实施例中,该更新的抵御载荷的值为467453。
[0108] 本申请实施例一种IKEv1协议主模式抵御DDOS攻击的方法的实施原理为:响应方通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储验证信息,然后接收发送方发送的协商报文,判断该协商报文是否为第一协商报文;若该协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常,否则丢弃协商报文;若该自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方,
[0109] 基于上述方法,本申请还公开了一种IKEv1协议主模式抵御DDOS攻击的系统。
[0110] 如图4所示,该系统包括以下模块:
[0111] 环境模块1:通过IKEv1协议设置IKE SA的预设参数,并在本地终端上存储用于验证自定义字段的验证信息,预设参数包括发送方的Cookie信息、加密算法的信息、校验算法的信息、密钥交换算法的信息;
[0112] 接收模块2:接收协商报文,协商报文包括用于抵御DDOS攻击的自定义字段;
[0113] 判断顺序模块3:判断协商报文是否为第一协商报文;
[0114] 验证模块4:若协商报文为第一协商报文,则根据验证信息判断自定义字段是否存在数据异常;
[0115] 发送模块5:若自定义字段不存在数据异常,则构造响应报文并发送响应报文至发送方。
[0116] 本申请实施例还公开了一种智能终端。
[0117] 具体的,该智能终端包括存储器和处理器,存储器上存储有能够被处理器加载并执行上述一种IKEv1协议主模式抵御DDOS攻击的方法的计算机程序。
[0118] 本申请实施例还公开一种计算机可读存储介质。
[0119] 该存储介质存储有能够被处理器加载并执行上述一种IKEv1协议主模式抵御DDOS攻击的方法的计算机程序,该存储介质可以采用移动硬盘、只读存储器(Read‑OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0120] 以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。