会话的控制方法及控制装置的制作方法

文档序号:7647578阅读:134来源:国知局
专利名称:会话的控制方法及控制装置的制作方法
技术领域
本发明涉及信息安全技术,特别涉及一种会话的控制方法及控制装置,属于通信领域。
背景技术
因特网密钥交换协议(Internet Key Exchange,简称IKE)是认证及密钥协议族的总称,该协议族包括因特网安全关联和密钥管理协议(简称ISAKMP)、密钥确定协议(简称Oakley)以及通用因特网安全密钥交换协议(简称SKEME)。
ISAKMP协议是IKE的核心组成部分,它定义了包括协商、建立、修改及删除安全关联的全过程和报文格式,为交换密钥生成和身份认证数据定义了载荷格式。这些格式的定义为密钥传输和身份认证提供了一个独立于密钥生成技术、加密算法和身份认证方法的固定框架。
ISAKMP提供了两个阶段的协商在第一阶段为通信双方建立一个安全的通道即IKE安全关联(简称IKE SA),用于保护第二阶段中交互的消息的安全;在第二阶段为IPsec建立起具体的IPsec安全关联(简称IPsec SA),用于保证通信双方的数据传输安全。
现有技术中,在IKE连接建立的第一阶段协商过程中,攻击者可以冒充合法IKE协商发起者向通信设备发送IKE请求消息;通信设备收到攻击者的请求消息后,向其冒充的合法IKE协商发起者的设备发送回应消息,并保留攻击者发送的请求状态,形成半连接状态。合法IKE协商发起者的设备收到该回应消息后,由于未发送请求消息则丢弃该回应消息。而此时若该合法IKE协商发起者的设备也向所述通信设备发送IKE请求消息,则该通信设备由于先前已收到攻击者冒充该合法IKE协商发起者发送的请求消息并正在处理中,则会丢弃此次收到的请求消息,从而造成合法IKE协商发起者的设备与该通信设备的正常IKE协商无法进行。
例如,如图1所示,网关A和网关B是相互信任的IPsec隧道的两个端点,在正常情况下网关A可以和网关B通过IKE协商建立IPsec隧道。现在如果网关A作为IPsec隧道发起者欲向网关B发起IKE协商,但是在网关A发送IKE协商的第一个报文之前,攻击者的设备伪装成网关A向网关B发送了一个IKE请求,则网关B收到该IKE请求后,回应给网关A第二个IKE报文即IKE响应消息,并且保留攻击者发送的请求状态,形成“半连接”的IKE会话。而由于网关A并没有发送第一个IKE请求,因此网关A会丢弃网关B发送给网关A的IKE响应消息。此时如果网关A向网关B发送正常的IKE请求报文,则网关B收到这个请求后无法辨别是否是真正的网关A发送的请求,由于先前已经收到了攻击者冒充网关A的地址所发送的请求,并且正在处理该请求,因此会把真正的网关A发送的请求丢弃,从而造成网关A与网关B无法进行IKE协商。以上过程也就是攻击者通过中间设备实现的对IKE协商的拒绝服务(简称DoS)攻击,造成了正常IKE协商不能进行。
在现有的技术方案中,为了缓解这种DoS攻击,IKE协议采用了“甜饼”(Cookie)机制。Cookie是对一些必要信息的哈希(简称Hash)值,一般包括通信双方的IP地址、端口号、秘密随机数以及日期和时间等。Cookie机制是使用IKE报文中包括的Cookie来识别一个IKE会话,并设定IKE会话的连接总数。当攻击者通过IP地址欺骗来发起大量交换请求时,系统对每个请求生成一个Cookie回应消息,只有在收到请求方返回的消息且该消息中包括先前发送的请求消息中的Cookie,并且验证该Cookie值无误后,才进行下一步的交换,否则拒绝交换。对上文的例子来说,当攻击者发送了固定Cookie值的IKE拒绝服务攻击后,只要网关A发送的正常请求的IKE报文中包括的Cookie值与攻击者发送的IKE报文中包括的Cookie值不同,网关A就可以与网关B进行正常的IKE协商,建立安全关联。
上述Cookie机制在有效避免攻击者采用相同的Cookie进行攻击的同时,引入了更严重的拒绝服务攻击问题。一方面,根据Cookie机制,在系统收到攻击者发送的IKE请求报文后,对该请求生成一个Cookie回应消息,并且该请求占用了Cookie机制所限定的总连接数中的一个连接数,然后系统一直等待攻击者返回包括系统发送的回应消息中的Cookie的消息,直到达到IKE协议规定的超时老化时间,才释放该请求所占用的连接数和其它资源。而另一方面,在正常情况下,IKE协议规定的超时老化时间比较长,与重传次数以及每次的超时时间相关,并且每次重传后的超时时间是以指数形式增长的。因此,当攻击者在短时间内频繁发送包括不同Cookie的IKE请求时,很快就可以在IKE协议规定的超时老化时间内完全占用IKE机制所限定的最大连接数,导致其它IKE协商发起者无法与系统建立IKE连接,从而导致了拒绝服务攻击的后果加重。尤其是,如果攻击者冒充一个合法IKE协商发起者的身份在短时间内频繁发送包括不同Cookie的IKE请求时,将很快占满IKE的最大连接数而导致其它IKE协商发起者均无法与系统建立IKE连接。
以上文的应用场景为例,当攻击者以变化的Cookie频繁发送攻击报文的时候,很快就可以在短时间内把Cookie机制所限定的IKE会话总数占满,从而导致其他非网关A地址的网关无法与网关B进行正常的IKE协商。
此外,除了DoS攻击,还存在其它的一些攻击也可能耗尽系统资源,导致其他IKE协商发起者无法与系统进行正常的IKE协商。

发明内容
本发明的目的是提供一种会话的控制方法及控制装置,能够有效地克服上述现有技术的缺陷,大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。
为实现上述发明目的,本发明提供了一种会话的控制方法,包括预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
在上述技术方案中,通过引入可信任对等体并为每个可信任对等体预留系统资源,同时将合法IKE协商发起者划分为多个组,每个组与一个可信任对等体对应,从而使得每个组中的IKE协商发起者不能占用其它组所对应的可信任对等体的预留系统资源。在收到IKE协商发起者发送的IKE协商过程中的第一个请求消息后,只有当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,才从该可信任对等体所对应的预留系统资源中,为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。因此,上述技术方案通过引入为可信任对等体预留系统资源的机制,将合法IKE协商发起者虚拟地划分为多个可信任对等体,不同的可信任对等体之间不能占用对方的预留系统资源,从而有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,因此能够大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。并且上述技术方案适用于对抗通过冒充合法IKE协商发起者来占用系统资源的攻击,而并不仅仅限于对抗DoS攻击。
上述技术方案中,所述预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体可具体包括预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。所述为每个可信任对等体预留系统资源可具体包括为每一个可信任对等体设置预留的IKE连接数。其中,一个组中可以包含一个或者多个IKE协商发起者的IP地址,也可以使用一个或多个IP地址网段来包括一个或多个连续地址的IKE协商发起者。
为了进一步地对同一个可信任对等体所对应的合法IKE协商发起者对系统资源的占用进行限制以进一步对抗拒绝服务攻击,上述技术方案中还可包括预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;按照预设的检测时间对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
在上述技术方案中,针对现有技术中按照IKE协议规定的超时老化时间无法及时地检测到攻击者频繁发送的包括不同Cookie的IKE请求报文的缺陷,通过根据IKE的协商模式(包括主模式和野蛮模式)来预先设置对应的IKE半连接的超时时间,也就是说根据不同的协商模式中半连接状态的正常持续时间来预先设置对应的IKE半连接的超时时间,并且按照预设的检测时间对已建立的半连接进行检测,对持续时间超出所述预先设置的超时时间的半连接,释放其占用的资源和连接数,从而能够有效地克服现有技术的缺陷,通过预设的超时时间对半连接的持续时间进行有效地控制,在攻击者通过发送包括不同的Cookie的请求报文来建立半连接从而占用资源和IKE连接数时,能够及时地释放超出超时时间的半连接所占用的资源和连接数,从而能够保证其它IKE协商发起者的正常IKE协商的顺利进行。
优选地,所述预先根据因特网密钥交换协议的协商模式为每个可信任对等体设置对应的IKE半连接的超时时间可包括当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,根据报文在网络传输的时间以及对端生成D-H公共值的计算时间,来设置对应的IKE半连接的超时时间;当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,根据报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置对应的IKE半连接的超时时间。
为实现上述发明目的,本发明还提供了一种会话的控制装置,包括资源预留模块,用于预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;控制模块,与所述资源预留模块连接,用于在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当所述资源预留模块为该IKE协商发起者所属的组对应的可信任对等体所预留的系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
在上述技术方案中,通过资源预留模块预先为每个可信任对等体预留系统资源,通过控制模块在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,根据该IKE协商发起者所属的组对应的可信任对等体的预留系统资源的占用状况,来控制是否对该请求消息进行回应及分配资源,从而使得属于不同的组的IKE协商发起者不能互相占用对方的预留系统资源,有效地限制了冒充合法IKE协商发起者的攻击对系统资源的占用,有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,因此能够大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。并且上述技术方案适用于对抗通过冒充合法IKE协商发起者来占用系统资源的攻击,而并不仅仅限于对抗DoS攻击。
在上述技术方案中,所述资源预留模块可包括IKE协商发起者划分模块,用于预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。其中,一个组中可以包含一个或者多个I KE协商发起者的IP地址,也可以使用一个或多个IP地址网段来包括一个或多个连续地址的IKE协商发起者。所述资源预留模块还可包括IKE连接预留模块,用于为每一个可信任对等体设置预留的IKE连接数。
为了进一步地对同一个可信任对等体所对应的合法IKE协商发起者对系统资源的占用进行限制以进一步对抗拒绝服务攻击,上述技术方案中所述控制模块可包括设置模块,用于预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;检测模块,与设置模块连接,用于按照设置模块所预设的检测时间,对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
在上述技术方案中,通过针对现有技术中按照IKE协议规定的超时老化时间无法及时地检测到攻击者频繁发送的包括不同Cookie的IKE请求报文的缺陷,通过设置模块根据IKE的协商模式(包括主模式和野蛮模式)来预先设置对应的IKE半连接的超时时间,也就是说通过设置模块根据不同的IKE协商模式中半连接状态的正常持续时间来预先设置对应的IKE半连接的超时时间,并且通过检测模块按照预设的检测时间对已建立的半连接的持续时间进行检测,对持续时间超出所述预先设置的超时时间的半连接,释放其占用的资源和连接数,从而能够有效地克服现有技术的缺陷,通过预设的超时时间对半连接的持续时间进行有效地控制,在攻击者通过发送包括不同的Cookie的请求报文来建立半连接从而占用资源和IKE连接数时,能够及时地释放超出超时时间的半连接所占用的资源和连接数,从而能够保证其它IKE协商发起者的正常IKE协商的顺利进行。
优选地,所述设置模块可包括主模式设置模块,用于当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,根据报文在网络传输的时间以及对端生成D-H公共值的计算时间,来设置对应的IKE半连接的超时时间;和/或野蛮模式设置模块,用于当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,根据报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置对应的IKE半连接的超时时间。
综上所述,本发明通过将合法IKE协商发起者划分为多个组,每个组与一个可信任对等体对应,并为每个可信任对等体预留系统资源,不属于同一组的IKE协商发起者不能占用对方所属的组对应的可信任对等体的预留系统资源,有效地限制了冒充合法IKE协商发起者的攻击对系统资源的占用;通过在收到IKE协商发起者发送的IKE协商过程中的第一个请求消息后,只有当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,才从该可信任对等体所对应的预留系统资源中,为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息,从而有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,能够大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。


图1为现有的拒绝服务攻击模式的示意图;图2为本发明会话的控制方法的实施例一的流程示意图;图3为本发明会话的控制方法的实施例一的另一示意图;图4为本发明会话的控制装置的实施例一的结构示意图;图5为本发明会话的控制装置的实施例二的结构示意图;图6为本发明会话的控制装置的实施例三的结构示意图。
具体实施例方式
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
现有技术中,因特网密钥交换协议(简称IKE)采用Cookie机制,使用IKE报文中包括的Cookie来识别一个IKE会话,并设定IKE会话的连接总数。虽然这种Cookie机制能够有效地对抗攻击者通过发送大量包括固定的Cookie值的IKE请求报文来试图耗尽系统资源的拒绝服务攻击,但却无法有效地对抗攻击者通过发送大量包括变化的Cookie值的IKE请求报文来耗尽系统资源的拒绝服务攻击。此外,除了DoS攻击,还存在其它的一些攻击也可能耗尽系统资源,导致其他IKE协商发起者无法与系统进行正常的IKE协商。
针对上述现有技术的不足之处,通过引入可信任对等体的机制,为每个可信任对等体预留系统资源,同时将合法IKE协商发起者划分为多个组,每个组与一个可信任对等体对应,从而使得每个组中的IKE协商发起者不能占用其它组所对应的可信任对等体的预留系统资源。因此有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,大大减少了攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理,适用于对抗通过冒充合法IKE协商发起者来占用系统资源的攻击,而并不仅仅限于对抗DoS攻击。
图2为本发明会话控制方法的实施例一的流程示意图,本实施例一包括以下步骤首先在步骤1中,预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;然后在步骤2中,在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
本实施例一针对攻击者冒充合法IKE协商发起者通过大量发送IKE请求消息而耗尽系统资源的情况,通过预先将合法IKE协商发起者划分为多个组,并将每个组与一个可信任对等体对应,从而使得每个组中的IKE协商发起者不能占用其它组所对应的可信任对等体的预留系统资源。在收到IKE协商发起者发送的IKE协商过程中的第一个请求消息后,只有当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,才从该可信任对等体所对应的预留系统资源中,为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。因此,上述技术方案通过引入为可信任对等体预留系统资源的机制,将合法IKE协商发起者虚拟地划分为多个可信任对等体,不同的可信任对等体之间不能占用对方的预留系统资源,从而有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,因此能够大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。并且本实施例一适用于对抗通过冒充合法IKE协商发起者来占用系统资源的攻击,而并不仅仅限于对抗DoS攻击。
优选地,本实施例一中,所述预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体可具体包括预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。其中,一个组中可以包含一个或者多个IKE协商发起者的IP地址,也可以使用一个或多个IP地址网段来包括一个或多个连续地址的IKE协商发起者。
在应用于对抗拒绝服务攻击的应用场景时,所述为每个可信任对等体预留系统资源可具体包括为每一个可信任对等体设置预留的IKE连接数。
图3为本实施例一的另一示意图,网关C预先将合法IKE协商发起者划分为两个组,分别对应于可信任对等体M和可信任对等体N,并为可信任对等体M预留资源C1,为可信任对等体N预留资源C2,这样可信任对等体M所对应的组中的IKE协商发起者只能占用预留资源C1,而不能占用预留资源C2,同样,可信任对等体N所对应的组中的IKE协商发起者只能占用预留资源C2,而不能占用预留资源C1。这样攻击者在冒充可信任对等体M所对应的组中的IKE协商发起者并发起大量的IKE请求消息以占用系统资源时,最多只能全部占用预留资源C1,而不能占用其它可信任对等体对应的预留资源。由此可见,本实施例一大大减少了攻击对系统资源的占用,有效地避免了因攻击耗尽系统资源而导致其他合法IKE协商发起者无法进行正常的IKE协商的情况。
下面在本发明会话的控制方法的实施例二中,在实施例一的技术方案基础上进一步提供了对所属组对应于同一个可信任对等体的IKE协商发起者的IKE协商所占用的资源进行控制的实施方式,从而能够进一步地避免攻击者所占用的资源对与攻击者对应于同一个可信任对等体的IKE协商发起者的正常IKE协商的影响。本实施例二与上述实施例一的区别在于还包括预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;按照预设的检测时间对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
本实施例二除了解决上述实施例一所解决的技术问题外,还解决了现有技术中的如下技术问题由于IKE协议本身规定的超时老化时间过长,无法及时地对攻击者发送的请求报文所建立的半连接进行释放资源,从而使得攻击者能够很快耗尽系统资源而无法及时进行缓解。针对上述技术问题,本实施例二通过预先根据IKE的不同协商模式(包括主模式和野蛮模式)来设置对应的IKE半连接的超时时间,从而使得该超时时间能够最优地体现IKE的不同协商模式中正常IKE会话的半连接持续时间,而根据该超时时间对所建立的半连接的持续时间进行控制,克服了现有技术中IKE的超时老化时间过长的缺陷,能够有效地甄别和检测出攻击者所发送的IKE请求报文所建立的半连接,并释放所检测到的半连接所占用的资源和连接数。因此,通过采用本实施例二提供的方法,在攻击者通过发送包括不同的Cookie的请求报文来建立半连接从而占用资源和IKE连接数时,不仅能够有效地避免攻击者冒充合法IKE协商发起者发起的攻击对其它可信任对等体对应的合法IKE协商发起者的资源的占用,而且能够保证与攻击者对应于同一个可信任对等体的其它合法IKE协商发起者的正常IKE协商的顺利进行。
IKE会话的第一阶段可以选择主模式或野蛮模式。主模式由发起方和响应者之间交换的6条消息组成。其中前两条消息协商策略;接下来两条消息交换Diffie-Hellman公开值(简称D-H公开值)及交换所必须的随机数;最后两条消息交换标识数据并认证Diffie-Hellman交换。野蛮模式由发起方和响应者之间的三次握手组成。前两条消息协商策略、交换Diffie-Hellman公开值、随机数以及身份信息。另外第二条消息还对响应者进行认证。第三条消息对发起者进行认证并提供交换参与方的身份证明。
对于主模式,IKE协议只要接收到IEK主模式协商的第三个报文就认为该过程是一个合法交互过程,在这个过程中所占用的时间有a)报文在网络传输的时间,这个时间包括两个时间,一个是发出去达到对端的时间,另一个是对端相应报文到达本端的时间;b)对端生成D-H公共值的计算时间。这个时间取决于对端设备性能。
因此,上述实施例二中,当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,所述预先根据因特网密钥交换协议的协商模式为每个可信任对等体设置对应的IKE半连接的超时时间可包括根据每个可信任对等体所对应的报文在网络传输的时间以及对端生成D-H公共值(IKE会话过程中需要计算的数值)的计算时间,来设置每个可信任对等体所对应的IKE半连接的超时时间。
对于野蛮模式,IKE协议只要接收到IEK野蛮模式协商的第三个报文就认为该过程是一个合法交互过程,在这个过程中所占用的时间有a)报文在网络传输的时间,这个时间包括两个时间,一个是发送的报文到达对端所经过的时间,另一个是对端相应报文到达本端所经过的时间;b)本端成D-H公共值的计算时间。这个时间取决于本端设备性能;c)对端加密第三个消息所需要的时间,这个时间取决于对端的性能。
因此,上述实施例二中,当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,所述预先根据因特网密钥交换协议的协商模式为每个可信任对等体设置对应的IKE半连接的超时时间可包括根据每个可信任对等体所对应的报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置每个可信任对等体所对应的IKE半连接的超时时间。
本领域的普通技术人员应当理解,可以根据实际应用场景的需求来灵活设置上述实施例二中所述的预设的检测时间来进行所述检测,例如可按照预设的周期对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,也可通过使用时间戳来进行所述检测等等,其均应在本发明技术方案所要求保护的范围之内。
下面在实施例三中给出了使用时间戳来进行所述检测的具体实施方式

本实施例三与上述实施例二的区别在于,所述按照预设的检测时间对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测包括在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳;在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据所记录的时间戳以及系统当前的时间,来计算已建立的因特网密钥交换协议会话的半连接的持续时间。
本实施例三在实施例二的基础上,通过为每个可信任对等体所对应的每个半连接记录建立时的时间戳,并在每个可信任对等体所对应的IKE会话的总连接数被耗尽时才根据所记录的时间戳对已建立的半连接进行检测,而非上述的按照预设的周期对已建立的半连接进行检测。本实施例三实质上是在每个可信任对等体所对应的IKE的总连接数被耗尽即有可能出现了拒绝服务攻击时,启动加速老化的机制,根据所记录的时间戳对已建立的半连接进行检测,促进攻击报文的老化,释放攻击报文所占用的资源和连接数;如果每个可信任对等体所对应的IKE的总连接数没有被耗尽也即没有出现攻击现象,在这种半连接资源可用的情况下则不启用加速老化,仍使用现有IKE协议的超时老化时间来进行半连接的老化即释放资源处理。因此,本实施例三在达到上述实施例二所达到的技术效果的同时,相对于按照预设的周期进行检测的方式来说,能够更及时地对拒绝服务攻击做出检测处理,而在没有受到拒绝服务攻击时不进行检测则能够减少对系统性能的影响。
优选地,为避免误释放正常IKE会话的半连接资源,在检测到持续时间超出预设的超时时间的半连接后,可只释放其中一部分半连接,以满足其他IKE协商发起者进行IKE协商的需要。换言之,在上述实施例二和实施例三中,所述如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数可包括如果检测到持续时间超过所述超时时间的半连接,则释放所检测到的半连接中预设数量的半连接所占用的资源和连接数。
下面在本发明会话的控制方法的实施例四中,进一步提供了实施例三中所述记录时间戳的具体方式。本实施例四与上述实施例三的区别在于所述在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳具体包括在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,在半连接状态表中建立对应的表项,并在该表项中记录请求报文中包括的Cookie值及建立时的时间戳,并在收到该半连接的包括所记录的Cookie的第三个报文时删除该表项;所述在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据所记录的时间戳以及系统当前的时间,来计算已建立的因特网密钥交换协议会话的半连接的持续时间具体包括在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据半连接状态表中每一个表项的时间戳以及系统当前的时间,来计算该表项所对应的半连接的持续时间;所述如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数具体包括如果检测到持续时间超过所述超时时间的半连接,则删除所检测到的半连接中预设数量的半连接所对应的表项,并释放所述预设数量的半连接所占用的资源和连接数。
本实施例四中进一步提供了记录时间戳并根据时间戳来进行检测的具体实施方式
,即将半连接包括的Cookie及对应的时间戳记录在半连接状态表对应的表项中;当收到该半连接的IKE会话的第三个报文(也就是发起IKE会话的请求端发送的第二个报文)时,删除对应的表项;当每个可信任对等体所对应的IKE总连接数耗尽时检测半连接状态表中各表项的时间戳与系统当前时间的差值是否超过预设的超时时间,并释放预设数量的检测到的表项所占用的资源和连接数。本领域的普通技术人员应当理解,可根据具体应用场景的需求,灵活选择所述记录时间戳并根据时间戳来进行检测的实施方式,其均应在本发明技术方案所要求保护的范围之内。
下面在表1中给出了本实施例四中所述的半连接状态表的示例表,本领域的普通技术人员应当理解,可根据具体应用场景的需求灵活设置所述半连接状态表的格式。
表1半连接状态表示例表

基于上述构思,本发明还提供了一种会话的控制装置,图4为本发明会话的控制装置的实施例一的结构示意图,本实施例一包括资源预留模块41,用于预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;控制模块42,与所述资源预留模块41连接,用于在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当所述资源预留模块41为该IKE协商发起者所属的组对应的可信任对等体所预留的系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
在上述本发明会话的控制装置的实施例一中,通过资源预留模块预先为每个可信任对等体预留系统资源,通过控制模块在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,根据该IKE协商发起者所属的组对应的可信任对等体的预留系统资源的占用状况,来控制是否对该请求消息进行回应及分配资源,从而使得属于不同的组的IKE协商发起者不能互相占用对方的预留系统资源,有效地限制了冒充合法IKE协商发起者的攻击对系统资源的占用,有效地避免了攻击者冒充一个合法IKE协商发起者发送大量IKE请求从而迅速耗尽系统资源并使得其它合法IKE协商发起者无法进行正常的IKE协商的情况,因此能够大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。并且上述技术方案适用于对抗通过冒充合法IKE协商发起者来占用系统资源的攻击,而并不仅仅限于对抗DoS攻击。
优选地,上述本发明会话的控制装置的实施例一中,所述资源预留模块可包括IKE协商发起者划分模块,用于预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。其中,一个组中可以包含一个或者多个IKE协商发起者的IP地址,也可以使用一个或多个IP地址网段来包括一个或多个连续地址的IKE协商发起者。
在应用于对抗拒绝服务攻击的应用场景时,所述资源预留模块还可包括IKE连接预留模块,用于为每一个可信任对等体设置预留的IKE连接数。
下面在本发明会话的控制装置的实施例二中,在本发明会话的控制装置的实施例一的技术方案基础上进一步提供了对所属组对应于同一个可信任对等体的IKE协商发起者的IKE协商所占用的资源进行控制的实施方式,从而能够进一步地避免攻击者所占用的资源对与攻击者对应于同一个可信任对等体的IKE协商发起者的正常IKE协商的影响。
图5为本发明会话的控制装置的实施例二的结构示意图,本实施例二与上述本发明会话的控制装置的实施例一的区别在于,控制模块42包括设置模块51,用于预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;检测模块52,与设置模块51连接,用于按照设置模块51所预设的检测时间,对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
上述本发明会话的控制装置的实施例二中,除了解决上述本发明会话的控制装置的实施例一所解决的技术问题外,还解决了现有技术中的如下技术问题由于IKE协议本身规定的超时老化时间过长,无法及时地对攻击者发送的这种攻击的请求报文所建立的半连接进行释放资源,从而使得攻击者利用这种攻击能够很快耗尽系统资源,而无法及时进行缓解。针对上述技术问题,本发明会话的控制装置的实施例二通过设置模块51根据IKE的协商模式(包括主模式和野蛮模式)来预先设置对应的IKE半连接的超时时间,也就是说通过设置模块51根据不同的IKE协商模式中半连接状态的正常持续时间来预先设置对应的IKE半连接的超时时间,并且通过检测模块52按照预设的检测时间对每个可信任对等体所对应的已建立的半连接的持续时间进行检测,对持续时间超出设置模块51所预先设置的超时时间的半连接,释放其占用的资源和连接数,从而能够有效地克服现有技术的缺陷,通过预设的超时时间对半连接的持续时间进行有效地控制,在攻击者通过发送包括不同的Cookie的请求报文来建立半连接从而占用资源和IKE连接数时,能够及时地释放超出超时时间的半连接所占用的资源和连接数,从而保证其它IKE协商发起者的正常IKE协商的顺利进行。因此,上述本发明会话的控制装置的实施例二不仅能够有效地避免攻击者冒充合法IKE协商发起者发起的攻击对其它可信任对等体对应的合法IKE协商发起者的资源的占用,而且能够及时地释放每个可信任对等体所对应的超出超时时间的半连接所占用的资源和连接数,保证与攻击者对应于同一个可信任对等体的其它合法IKE协商发起者的正常IKE协商的顺利进行。
同样地,上述本发明会话的控制装置的实施例二中,针对IKE会话的第一阶段可选择的不同协商模式,当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,所述设置模块51可包括主模式设置模块,用于根据报文在网络传输的时间以及对端生成D-H公共值的计算时间,来设置对应的IKE半连接的超时时间;当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,所述设置模块51可包括野蛮模式设置模块,用于根据报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置对应的IKE半连接的超时时间。
本领域的普通技术人员应当理解,可以根据实际应用场景的需求来灵活设置上述本发明会话的控制装置的实施例一中所述的检测模块52的检测方式,例如检测模块52可按照预设的周期对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,也可通过使用时间戳来进行所述检测等等,其均应在本发明技术方案所要求保护的范围之内。因此上述本发明会话的控制装置的实施例二中,检测模块51可包括周期检测模块,与设置模块连接,用于按照设置模块所预设的周期对已建立的因特网密钥交换协议会话的半连接的持续时间进行检测。下面在本发明会话的控制装置的实施例三中给出了检测模块51使用时间戳来进行所述检测的具体实施方式

图6为本发明会话的控制装置的实施例三的结构示意图,本实施例三与上述本发明会话的控制装置的实施例二的区别在于检测模块52具体包括时间戳记录模块61,用于在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳;时间戳检测模块62,与时间戳记录模块61及设置模块51连接,用于在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据时间戳记录模块61所记录的时间戳以及系统当前的时间,来计算每个可信任对等体所对应的已建立的因特网密钥交换协议会话的半连接的持续时间,如果有持续时间超过设置模块51所设置的超时时间的半连接,则释放该半连接所占用的资源和连接数。
本实施例三在实施例二的基础上,通过时间戳记录模块61为每个可信任对等体所对应的每个半连接记录建立时的时间戳,并通过时间戳检测模块62在IKE会话的总连接数被耗尽时才根据所记录的时间戳对每个可信任对等体所对应的已建立的半连接进行检测,而非上述的按照预设的周期对每个可信任对等体所对应的已建立的半连接进行检测。本实施例三实质上是在每个可信任对等体所对应的IKE的总连接数被耗尽即有可能出现了拒绝服务攻击时,启动加速老化的机制,根据所记录的时间戳对已建立的半连接进行检测,促进攻击报文的老化,释放攻击报文所占用的资源和连接数;如果每个可信任对等体所对应的IKE的总连接数没有被耗尽也即没有出现攻击现象,在这种半连接资源可用的情况下则不启用加速老化,仍使用现有IKE协议的超时老化时间来进行半连接的老化即释放资源处理。因此,本实施例三在达到上述实施例二所达到的技术效果的同时,相对于按照预设的周期进行检测的方式来说,能够更及时地对拒绝服务攻击做出检测处理,而在没有受到拒绝服务攻击时不进行检测则能够减少对系统性能的影响。
优选地,为避免误释放正常IKE会话的半连接资源,在检测到持续时间超出预设的超时时间的半连接后,可只释放其中一部分半连接,以满足其他IKE协商发起者进行IKE协商的需要。换言之,上述本发明会话的控制装置的实施例二和实施例三中,检测模块62还可包括半连接释放数量设置模块,用于预先设置对所检测到的半连接进行释放的数量,该数量用于检测模块在检测到持续时间超过所述超时时间的半连接时,释放所检测到的半连接中该数量的半连接所占用的资源和连接数。
下面在本发明会话的控制装置的实施例四中进一步提供了实施例三中所述时间戳记录模块61记录时间戳以及时间戳检测模块62根据时间戳进行检测的具体方式。
本发明会话的控制装置的实施例四与上述本发明会话的控制装置的实施例三的区别在于时间戳记录模块61包括半连接状态表项建立模块以及半连接状态表项删除模块;所述半连接状态表项建立模块用于在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,在半连接状态表中建立对应的表项,并在该表项中记录请求报文中包括的Cookie值及建立时的时间戳;所述半连接状态表项删除模块用于在收到该半连接的包括所记录的Cookie的第三个报文时删除该表项。时间戳检测模块62包括半连接状态表项检测模块以及半连接释放模块;所述半连接状态表项检测模块用于在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据半连接状态表中每一个表项的时间戳以及系统当前的时间,来计算该表项所对应的半连接的持续时间;所述半连接释放模块与所述半连接状态表项检测模块及设置模块连接,用于如果所述半连接状态表项检测模块检测到持续时间超过设置模块所设置的超时时间的半连接,则删除所检测到的半连接中预设数量的半连接所对应的表项,并释放所述预设数量的半连接所占用的资源和连接数。
本实施例四中进一步提供了记录时间戳并根据时间戳来进行检测的具体实施方式
,即通过半连接状态表项建立模块将半连接包括的Cookie及对应的时间戳记录在半连接状态表对应的表项中;当收到该半连接的IKE会话的第三个报文(也就是发起IKE会话的请求端发送的第二个报文)时,通过半连接状态表项删除模块删除对应的表项;当每个可信任对等体所对应的IKE总连接数耗尽时,通过半连接状态表项检测模块检测半连接状态表中各表项的时间戳与系统当前时间的差值是否超过预设的超时时间,并通过半连接释放模块释放预设数量的检测到的表项所占用的资源和连接数。本领域的普通技术人员应当理解,可根据具体应用场景的需求,灵活选择所述记录时间戳并根据时间戳来进行检测的实施方式,其均应在本发明技术方案所要求保护的范围之内。
以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。
权利要求
1.一种会话的控制方法,其特征在于,包括预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
2.根据权利要求1所述的方法,其特征在于,所述预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体具体包括预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。
3.根据权利要求1所述的方法,其特征在于,所述为每个可信任对等体预留系统资源具体包括为每一个可信任对等体设置预留的IKE连接数。
4.根据权利要求3所述的方法,其特征在于,还包括预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;按照预设的检测时间对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
5.根据权利要求4所述的方法,其特征在于,所述预先根据因特网密钥交换协议的协商模式为每个可信任对等体设置对应的IKE半连接的超时时间包括当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,根据报文在网络传输的时间以及对端生成D-H公共值的计算时间,来设置对应的IKE半连接的超时时间;当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,根据报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置对应的IKE半连接的超时时间。
6.根据权利要求4所述的方法,其特征在于,所述按照预设的检测时间对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测包括按照预设的周期对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测;和/或在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳;在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据所记录的时间戳以及系统当前的时间,来计算已建立的因特网密钥交换协议会话的半连接的持续时间。
7.根据权利要求6所述的方法,其特征在于所述在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳具体包括在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,在半连接状态表中建立对应的表项,并在该表项中记录请求报文中包括的Cookie值及建立时的时间戳,并在收到该半连接的包括所记录的Cookie的第三个报文时删除该表项;所述在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据所记录的时间戳以及系统当前的时间,来计算已建立的因特网密钥交换协议会话的半连接的持续时间具体包括在每个可信任对等体所对应的因特网密钥交换协议会话的总连接数被耗尽时,根据半连接状态表中每一个表项的时间戳以及系统当前的时间,来计算该表项所对应的半连接的持续时间;所述如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数具体包括如果检测到持续时间超过所述超时时间的半连接,则删除所检测到的半连接中预设数量的半连接所对应的表项,并释放所述预设数量的半连接所占用的资源和连接数。
8.一种会话的控制装置,其特征在于,包括资源预留模块,用于预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;控制模块,与所述资源预留模块连接,用于在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当所述资源预留模块为该IKE协商发起者所属的组对应的可信任对等体所预留的系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。
9.根据权利要求8所述的装置,其特征在于,所述资源预留模块包括IKE协商发起者划分模块,用于预先将系统的合法IKE协商发起者的IP地址或IP地址所属的网段划分为多个组,每个组对应一个可信任对等体。
10.根据权利要求8所述的装置,其特征在于,所述资源预留模块包括IKE连接预留模块,用于为每一个可信任对等体设置预留的IKE连接数。
11.根据权利要求8所述的装置,其特征在于,所述控制模块包括设置模块,用于预先根据因特网密钥交换协议的协商模式,为每个可信任对等体设置对应的IKE半连接的超时时间;检测模块,与设置模块连接,用于按照设置模块所预设的检测时间,对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测,如果有持续时间超过所述超时时间的半连接,则释放该半连接所占用的资源和连接数。
12.根据权利要求11所述的装置,其特征在于,所述设置模块包括主模式设置模块,用于当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的主模式进行协商时,根据报文在网络传输的时间以及对端生成D-H公共值的计算时间,来设置对应的IKE半连接的超时时间;和/或野蛮模式设置模块,用于当可信任对等体对应的IKE协商发起者使用因特网密钥交换协议的野蛮模式进行协商时,根据报文在网络传输的时间、本端生成D-H公共值的计算时间以及对端对IKE协商过程的第三个消息进行加密的时间,来设置对应的IKE半连接的超时时间。
13.根据权利要求11所述的装置,其特征在于,所述检测模块包括周期检测模块,与设置模块连接,用于按照设置模块所预设的周期对每个可信任对等体所对应的、已建立的因特网密钥交换协议会话的半连接的持续时间进行检测;和/或时间戳记录模块,用于在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,记录该半连接建立时的时间戳;时间戳检测模块,与时间戳记录模块及设置模块连接,用于在每个可信任对等体所对应的、因特网密钥交换协议会话的总连接数被耗尽时,根据所记录的时间戳以及系统当前的时间,来计算已建立的因特网密钥交换协议会话的半连接的持续时间,如果有持续时间超过设置模块所设置的超时时间的半连接,则释放该半连接所占用的资源和连接数。
14.根据权利要求13所述的装置,其特征在于所述时间戳记录模块包括半连接状态表项建立模块以及半连接状态表项删除模块;所述半连接状态表项建立模块用于在建立每个可信任对等体所对应的每个因特网密钥交换协议会话的半连接时,在半连接状态表中建立对应的表项,并在该表项中记录请求报文中包括的Cookie值及建立时的时间戳;所述半连接状态表项删除模块用于在收到该半连接的包括所记录的Cookie的第三个报文时删除该表项;所述时间戳检测模块包括半连接状态表项检测模块以及半连接释放模块;所述半连接状态表项检测模块用于在每个可信任对等体所对应的、因特网密钥交换协议会话的总连接数被耗尽时,根据半连接状态表中每一个表项的时间戳以及系统当前的时间,来计算该表项所对应的半连接的持续时间;所述半连接释放模块与所述半连接状态表项检测模块及设置模块连接,用于如果所述半连接状态表项检测模块检测到持续时间超过设置模块所设置的超时时间的半连接,则删除所检测到的半连接中预设数量的半连接所对应的表项,并释放所述预设数量的半连接所占用的资源和连接数。
全文摘要
本发明公开了一种会话的控制方法,包括预先将系统的合法IKE协商发起者划分为多个组,每个组对应一个可信任对等体,并为每个可信任对等体预留系统资源;在收到IKE协商发起者发送的IKE协商过程的第一个请求消息后,当该IKE协商发起者所属的组对应的可信任对等体所对应的预留系统资源未被全部占用时,从该可信任对等体所对应的预留系统资源中为该IKE协商过程分配对应的系统资源,并向该IKE协商发起者返回回应消息。本发明还公开了一种会话的控制装置。本发明能够有效地克服现有技术的缺陷,大大减少攻击对系统资源的占用,保证对正常的因特网密钥交换协议协商的处理。
文档编号H04L9/00GK101022458SQ200710064719
公开日2007年8月22日 申请日期2007年3月23日 优先权日2007年3月23日
发明者徐庆伟 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1