基于DPD协议的IPSecSA的异常探测方法及装置与流程

文档序号:12182831阅读:1062来源:国知局
基于DPD协议的IPSec SA的异常探测方法及装置与流程

本申请涉及计算机通信领域,尤其涉及基于DPD协议的IPSec SA的异常探测方法及装置。



背景技术:

IPsec(IP Security,因特网协议安全性)是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。为了确保双方数据传输的安全性,在IPSec机制中,一般可以在通信双方IPSec节点设备上协商出IPSec SA。通常情况下,IPSec SA是成对出现的。

然而,在实际应用中,由于对端设备重启等一些原因,致使对端IPSec节点设备的IPSec SA删除,而本端IPSec节点设备并不能获知对端节点设备上的IPSec SA删除,从而导致通信中断等异常情况的发生。因此,如何探测对端IPSec节点设备上的IPSec SA是否异常,就显得尤为重要。



技术实现要素:

有鉴于此,本申请提供一种基于DPD协议的IPSec SA的异常探测方法及装置,用以检测对端IPSec节点设备上的IPSec SA是否异常。

具体地,本申请是通过如下技术方案实现的:

根据本申请实施例的第一方面,提供一种基于DPD协议的IPSec SA的异常探测方法,所述方法应用于IPSec节点设备,所述方法包括:

向对端节点设备发送DPD探测报文;其中,所述DPD探测报文中携带本设备用于加密的IPSec SA的SPI;

在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端设备返回的DPD响应报文;

判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除;

其中,所述预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

根据本申请实施例的第二方面,提供一种基于DPD协议的IPSec SA的异常探测装置,所述装置应用于IPSec节点设备,所述装置包括:

发送单元,用于向对端节点设备发送DPD探测报文;其中,所述DPD探测报文中携带本设备用于加密的IPSec SA的SPI;

接收单元,用于在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端设备返回的DPD响应报文;

判断单元,用于判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;

删除单元,用于如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除;其中,所述预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

本申请提出一种基于DPD协议的IPSec SA的异常探测方法,本端节点设备通过向对端节点设备发送携带有本设备用于加密的IPSec SA的SPI的DPD探测报文。本端节点设备可以在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端节点设备返回的DPD响应报文。并可以判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除。其中,该预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

本端节点设备发送的DPD探测报文中携带有本端用于加密的IPSec SA的SPI,当对端通过解密DPD探测报文,查找该SPI对应的用于解密的IPSec SA后,可以向本端节点设备返回DPD响应报文,由于当对端节点设备在未查找到该用于解密的IPSec SA时,会在该DPD响应报文中写入预设序列号,从而使得本端节点设备通过判断该DPD响应报文中携带的序列号是否为预设的序列号,即可判断对端节点设备的IPSec SA是否异常,因此可以实现对对端IPSec节点设备上的IPSec SA是否异常的检测。

附图说明

图1是本申请一示例性实施例示出的一种基于DPD协议的IPSec SA的异常探测方法的流程图;

图2是本申请一示例性实施例示出的一种基于DPD协议的IPSec SA的异常探测装置所在设备的硬件结构图;

图3是本申请一示例性实施例示出的一种基于DPD协议的IPSec SA的异常探测装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

IPSec协议是一种开放标准的框架结构,通过使用加密的安全服务,确保在IP网络上进行通信的安全性。IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括AH(Authentication Header,认证头)协议、ESP(Encapsulating Security Payload,封装安全载荷)协议、IKE(Internet Key Exchange,因特网密钥交换)协议和用于网络认证及加密的一些算法等。IPSec协议规定了如何在对等体之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。

SA(Security Association,安全联盟)是IPSec的基础,也是IPSec的本质。SA是通信双方(即IPSec节点设备)对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。通常情况下,SA由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index,安全参数索引)、目的IP地址、安全协议号(AH或ESP)。

IKE协议是一种密钥管理协议。在实施IPSec的过程中,可以使用IKE协议进行协商,来建立SA。

通常情况下,IKE规定了两个协商阶段为IPSec进行密钥协商,并建立SA。第一协商阶段,主要是通过协商,使得通信双方彼此间建立一个已通过身份认证和安全保护的通道,通常经过协商,可以建立一个IKE SA。IKE SA主要是用于保护IPSec后续的协商报文。第二阶段主要是在第一阶段建立的安全隧道的基础上,进行具体的IPSec协商生成IPSec SA的过程。其中,IPSec SA主要用户保护通信双方间的数据报文。

此外,为了实现通信双方的数据的加密解密,通常情况下,IPSec SA是成对出现的,换句话来说,在通信双方IPSec节点设备上可以储存相同的IPSec SA,通信发起方IPSec节点设备的IPSec SA中储存有用于加密的信息,通信接收方IPSec节点设备的IPSec SA中储存有用于解密的信息。该通信双方IPSec节点设备上分别储存的相同的IPSec SA为一对IPSec SA。

例如,假设A设备和B设备建立IPSec连接,且设备A上存在IPSec SA1,用于将设备A向设备B发送的报文加密,设备B上存在IPSec SA1,用于将从设备A接收的报文解密。则设备A上的IPSec SA1和设备B上的IPSec SA1是一对SA。

同理,通信双方上的IKE SA也是成对出现的,其原理与上述对一对IPSec SA相同,在这里,不再赘述。

另外,每个SA都有一定的存活时间,一对SA的存活时间可能并不是相同的。当一个设备上的SA到期后,该设备可以删除SA,并通知对端设备同时删除SA。

然而,在实际应用中,当通信双方的一方的SA被删除后,由于一些原因,该通信方并不能将该SA删除消息通告给对端,使得对端节点设备无法感知本端节点设备的SA已经删除。比如,通信一方的设备异常重启,其上的SA被删除,而通信另一方并不能感知本端的SA已经删除。又比如,通信一方的删除SA的消息没有送达至通信另一方,而被中间设备丢掉,也使得对端节点设备无法感知本端的SA的删除。

因此,为了探测通信双方上的SA是否异常,通常情况下,使用IPSec机制下的DPD协议进行探测。

在相关的DPD探测机制中,通信一方可以向对端节点设备发送基于本端的IKE SA加密的DPD探测报文。当对端接收到该DPD探测报文后,基于该DPD探测报文中的关于IKE的Cookie信息,在本地查找到对应的IKE SA,并可以基于查找到的IKE SA对对端节点设备发送的DPD探测报文解密。当本端节点设备接收到对端节点设备发送的DPD响应报文后,可以确定对端节点设备的IKE SA正常,此时,可以保留本端节点设备上的对应的IKE SA。

如果对端接收到该DPD探测报文后,在本地未查找对应的IKE SA,则无法对接收的DPD探测报文进行解密,也无法向本端设备返回DPD响应报文。当本端节点设备未接收到对端节点设备返回的DPD响应报文时,可以确定对端节点设备的IKE SA异常,此时,可以将本端节点设备上的对应的IKE SA删除。

然而,由于DPD探测报文中,无论是报文头中,还是报文负载中,只携带了与IKE相关的Cookie信息,因此,相关技术中的DPD探测机制仅仅只可以对通信双方上的IKE SA进行探测,而无法对双方的IPSec SA进行探测,因此无法实现对于对端IPSec节点设备上的IPSec SA的异常探测。

为了解决上述相关技术中的问题,本申请提出一种基于DPD协议的IPSec SA的异常探测方法,本端节点设备通过向对端节点设备发送携带有本设备用于加密的IPSec SA的SPI的DPD探测报文。本端节点设备可以在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端节点设备返回的DPD响应报文。并可以判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除。其中,该预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

本端节点设备发送的DPD探测报文中携带有本端用于加密的IPSec SA的SPI,当对端通过解密DPD探测报文,查找该SPI对应的用于解密的IPSec SA后,可以向本端节点设备返回DPD响应报文,由于当对端节点设备在未查找到该用于解密的IPSec SA时,会在该DPD响应报文中写入预设序列号,从而使得本端节点设备通过判断该DPD响应报文中携带的序列号是否为预设的序列号,即可判断对端节点设备的IPSec SA是否异常,因此可以实现对对端IPSec节点设备上的IPSec SA是否异常的检测。

参见图1,图1是本申请一示例性实施例示出的一种基于DPD协议的IPSec SA的异常探测方法的流程图,所述方法应用于IPSec节点设备,所述方法具体包括如下所述步骤:

步骤101:向对端节点设备发送DPD探测报文;其中,所述DPD探测报文中携带本设备用于加密的IPSec SA的SPI;

步骤102:在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端设备返回的DPD响应报文;

步骤103:判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除;其中,所述预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

其中,上述DPD(Dead Peer Detection,死亡对端检测)是一种普遍用于检测对端的IKE SA是否异常的检测机制。在实际应用中,DPD探测报文由通信双方的IKE SA进行加解密。在本申请中,通过对DPD探测机制的改进,使得通过使用改进后的DPD探测机制,实现对对端的IPSec SA的异常探测。

上述预设序列号,指示对端的用于解密的IPSec SA异常,在本申请实施例中,当对端节点设备对接收的DPD探测报文进行解密,而未查找到与该DPD探测报文携带的SPI对应的用于解密的IPSec SA后,对端节点设备可以将预设序列号写入DPD响应报文中,本端节点设备通过对该DPD响应报文中携带的序列号判断对端的IPSec SA是否异常。上述预设序列号可以为0。在这里,只是对该预设序列号进行示例性的说明,不对其进行特别地限定。

上述IPSec SA,为通信双方(即本端节点设备和对端节点设备)协商出的用于加密算法,密钥等信息的安全联盟。通常情况下,IPSec SA在通信双方是成对出现的。上述本端节点设备的用于加密的IPSec SA和对端节点设备的用于解密的IPSec SA即为一对IPSec SA,通常情况下,一对IPSec SA可以由与之对应的SPI标识。

例如,假设设备A和设备B建立了IPSec连接,协商出了一对IPSec SA,假设该IPSec SA的标识为SPI,则设备A可以将本地的IPSec SA加密后的包含有SPI的数据报文发送给设备B,设备B基于该数据报文中的SPI,在本地查找与该SPI对应的用于解密的IPSec SA,然后再对该数据报文进行解密。

在本申请提供一种基于DPD协议的IPSec SA的异常探测方法,通过对DPD探测机制的改进,本端节点设备向对端节点设备发送的DPD探测报文携带了本端用于加密的IPSec SA的SPI,对端节点设备可以通过该DPD探测报文中携带的SPI,在本地查找与该SPI对应的用于解密的IPSec SA后,可以向本端节点设备返回DPD响应报文。本端节点设备可以通过该响应报文中携带的DPD报文序列号是否为预设序列号来判定对端的IPSec SA是否异常。

下面对实现本申请提出的基于DPD协议的IPSec SA的异常探测方法而进行的配置,进行详细地说明。

如表1所示,表1为RFC3706中定义的DPD协议的报文格式:

表1

在本申请实施例中,开发人员对DPD探测报文携带的信息进行了配置,主要的配置信息如下所示:

对于Protocol-ID字段的配置,在RFC2407的4.4.1中对该字段作出了如下定,ID号为1,代表ISKMP(Internet Security Association and Key Management Protocol,互联网安全联盟和密钥管理协议),ID号为2,代表IPSec_AH协议,ID号为3,表示IPSec_ESP协议。在相关的DPD探测机制中,由于相关的探测机制探测的是对端的IKE SA是否异常,因此应采用ISAKMP,故该Protocol-ID字段为1。而在本申请实施例中,由于申请提出的DPD探测方法是探测对端的IPSec SA是否异常,因此应采用表示IPSec SA的协议号。在本申请实施例中,该字段可以为2,表示IPSec_AH,或者为3表示IPSec_ESP。

对于SPI Size字段的配置,在相关的基于DPD协议探测对端的IKE SA的异常探测机制中,该字段记录了IKE Cookie值的长度,一般为16个字节,故该字段为16。而在本申请实施例中,该字段记录了发起方的IPSec节点设备用于加密的IPSec SA的SPI,该SPI一般为4个字节,所以该字段为4。

对于SPI字段的配置,在相关的基于DPD协议探测对端节点设备的IKE SA的异常探测机制中,该字段记录了IKE的Cookie值。而在本申请实施例中,该字段记录了发起方的IPSec节点设备用于加密的IPSec SA的SPI值。

对于Notification Data字段的配置,此处与相关技术中的配置一致。

此外,报文中Next Payload、RESERVED、Payload Length及DOI字段为IKEv1消息报文通用头部字段,在这里,不再赘述。

下面对本申请提出的基于DPD协议的IPSec SA的异常探测方法进行详细地介绍。

在本申请实施例中,本端节点设备向对端节点设备发送DPD探测报文;其中,所述DPD探测报文中携带本设备用于加密的IPSec SA的SPI;在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端设备返回的DPD响应报文;判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除;其中,所述预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

在本申请实施例中,如果所述DPD响应报文中携带的序列号不为指定序列号时,本端节点设备可以确定所述对端存在所述用于解密的IPSec SA,并可以保留本设备上的所述用于加密的IPSec SA。

在实现时,本端节点设备(IPSec节点设备)可以基于本地的IKE SA将待发送给对端节点设备的DPD探测报文进行加密,并可将该DPD探测报文发送给对端节点设备,该DPD探测报文中携带了本设备用于加密的IPSec SA的SPI。

对端节点设备在接收该DPD探测报文后,可以基于DPD探测报文头中记载的关于IKE的信息,在本地查找相应的IKE SA。如果对端节点设备可以查找到相应的IKE SA,则对端节点设备可以使用该IKE SA中的相关信息对DPD探测报文进行解密。

在对端节点设备完成对DPD探测报文的解密之后,对端节点设备可以读取该DPD探测报文中携带的本端节点设备用于加密的IPSec SA的SPI,并可以基于读取到的该SPI,在本地查找与该SPI对应的用于解密的IPSec SA。

如果对端节点设备未在本地查找到与上述SPI对应的用于解密的IPSec SA,则将预设序列号写入DPD响应报文中,并可以基于上述本地的IKE SA,对该DPD响应报文进行加密,并将加密后的DPD响应报文返回至本端节点设备。

如果对端节点设备在本地查找到与上述SPI对应的用于解密的IPSec SA,则可以将该SPI写入DPD响应报文中,并可以基于上述本地的IKE SA,对该DPD响应报文进行加密,并将加密后的DPD响应报文返回至本端节点设备。

在接收到对端节点设备返回的DPD响应报文后,本端节点设备可以在本地查找与上述对端节点设备的IKE SA对应的IKE SA,然后对该DPD响应报文进行解密。本端节点设备可以读取该响应报文中携带的DPD报文序列号。并可以判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号。

如果DPD响应报文中携带的序列号为预设序列号,则可以确定对端节点设备上不存在与该SPI对应的用于解密的IPSec SA,本端节点设备可以将本地的与该SPI对应的用于加密的IPSec SA删除。

如果DPD响应报文中携带的序列号不为预设序列号,则可以确定对端节点设备上存在与该SPI对应的用于解密的IPSec SA,本端节点设备可以在本地保留与该SPI对应的用于加密的IPSec SA。

需要说明的是,在本端节点设备判断对端的用于解密的IPSec SA是否异常,常用的方式是,本端节点设备通过检测DPD响应报文中是否携带了上述SPI,如果DPD响应报文携带了该SPI,则可以确定对端节点设备上的IPSec SA正常。如果DPD响应报文未携带该SPI,则可以确定对端节点设备上的IPSec SA异常。

然而,当对端节点设备发送的响应报文中未携带该SPI时,由于本端节点设备需要查找响应报文的所有字段,并将字段中携带的信息与该SPI进行比较,本端节点设备才可以确定该DPD响应报文中未携带SPI信息,因此极大地浪费了CPU的资源。

而本实施例提出的探测的方法是基于DPD相应报文中的一个标识信息,如DPD报文的序列号,当DPD报文中携带的序列号为预设序列号时,本端节点设备可以快速确定对端节点设备上的用于解密的IPSec SA是否异常。由于可以快速直接地获取Notification Data字段中的序列号,因此,可以有效地减少对CPU资源的浪费,减轻系统负荷。

此外,还需要说明的是,本端节点设备可以周期性地向对端节点设备发送DPD探测报文,也可以根据实际需要向对端节点设备发送DPD探测报文。在基于实际需要向对端节点设备发送DPD探测报文时,可以基于本端当前时间与上一次接收到对端设备发送的流量的时间的差值,当该差值超过阈值时,本端节点设备则可以向对端节点设备发送DPD探测报文。这里只是对发送DPD探测报文的时机,进行示例性地说明,不对其进行特别地限定。

在本申请实施例中,如果在预设的时间段内,未接收到对端节点设备返回的所述DPD响应报文,则将本设备上的所述用于加密的IPSec SA删除。

在实现时,本端节点设备(IPSec节点设备)可以基于本地的IKE SA将待发送给对端的DPD探测报文进行加密,并可将该DPD探测报文发送给对端,该DPD探测报文中携带了本设备用于加密的IPSec SA的SPI。

对端节点设备在接收该DPD探测报文后,可以基于DPD探测报文头中记载的关于IKE的信息,在本地查找相应的IKE SA。如果对端节点设备未查找到相应的IKE SA,则对端节点设备无法对该DPD探测报文进行解密,而将该DPD探测报文丢弃。也不会向本端节点设备返回DPD响应报文。

当本端节点设备在预设的时间段内,未接收到对端节点设备返回的DPD响应报文时,本端节点设备可以确定对端的IPSec SA异常,可以将本地的用于加密的IPSec SA删除,此外,还可以将本地用于DPD探测报文加密的IKE SA删除。

需要说明的是,本端节点设备在预设的时间段内,未接收到对端节点设备返回的DPD响应报文,一种普遍发生的情况是,对端节点设备不存在用于DPD探测报文解密的IKE SA。由于对端IKE SA异常,那么由该IKE SA协商出的IPSec SA也被确定为异常。当IKE SA异常时,将IKE SA删除的同时也将IKE SA协商出的IPSec SA也删除,其目的在于,可以保证IPSec连接的数据传输的安全性。

此外,本端节点设备不仅可以向对端节点设备发送DPD探测报文,以探测对端节点设备的用于解密的IPSec SA是否异常,还可以接收对端节点设备发送的DPD探测报文。

在本申请实施例中,接收对端节点设备发送的DPD探测报文,获取该DPD探测报文中携带的对端节点设备用于加密的IPSec SA的SPI;基于所述对端节点设备用于加密的IPSec SA的SPI,在本地查找与该SPI对应的用于解密的IPSec SA;如果未查找到所述用于解密的IPSec SA,向对端节点设备返回携带有预设序列号的DPD响应报文。

如果查找到所述用于解密的IPSec SA,向对端节点设备返回携带所述用于解密的IPSec SA的SPI的DPD响应报文。

在实现时,在接收到对端节点设备发送的DPD探测报文时,本端节点设备可以基于该DPD探测报文头中关于IKE的信息,在本地查找用于解密该DPD响应报文的IKE SA。

如果在本地查找到用于解密该DPD响应报文的IKE SA,本端节点设备可以使用该IKE SA对上述DPD探测报文进行解密。并可以获取该DPD探测报文中携带的对端节点设备上的用于加密的IPSec SA的SPI。

本端节点设备可以在本地查找与该SPI对应的用于解密的IPSec SA。如果在本地查找到与该SPI对应的用于解密的IPSec SA,本端节点设备可以向对端设备返回携带所述用于解密的IPSec SA的SPI的DPD响应报文。如果在本地查找到与该SPI对应的用于解密的IPSec SA,则可以向对端返回携带有预设序列号的DPD响应报文。

如果在本地未查找到用于解密该DPD响应报文的IKE SA,则无法对该DPD探测报文进行解密,将该DPD探测报文丢弃,不对其进行处理。

本申请提出一种基于DPD协议的IPSec SA的异常探测方法,本端节点设备通过向对端节点设备发送携带有本设备用于加密的IPSec SA的SPI的DPD探测报文。本端节点设备可以在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端节点设备返回的DPD响应报文。并可以判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除。其中,该预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

由于本端节点设备(IPSec节点设备)发送的DPD探测报文中携带有本端用于加密的IPSec SA的SPI,当对端通过解密DPD探测报文,未查找到该SPI对应的用于解密的IPSec SA时,可以向本端返回携带有预设序列号的DPD响应报文,从而使得本端通过判断序列号是否为预设的序列号,即可判断对端的IPSec SA是否异常,因此可以实现对对端IPSec节点设备上的IPSec SA是否异常的检测。

此外,本端节点设备还可以接收对端节点设备的DPD探测报文,本端节点设备通过在本地查找用于解密的IPSec SA,可以向对端节点设备返回的DPD响应报文。对端节点设备可以通过判断序列号是否为预设序列号,即可判断本端节点设备的IPSec SA是否异常,从而可以实现对端节点设备对本端节点设备上的IPSec SA是否异常的检测。

与前述基于DPD协议的IPSec SA的异常探测方法的实施例相对应,本申请还提供了基于DPD协议的IPSec SA的异常探测装置的实施例。

本申请基于DPD协议的IPSec SA的异常探测装置的实施例可以应用在IPSec节点设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在IPSec节点设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请基于DPD协议的IPSec SA的异常探测装置所在IPSec节点设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的IPSec节点设备通常根据该基于DPD协议的IPSec SA的异常探测的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图3,图3是本申请一示例性实施例示出的一种基于DPD协议的IPSec SA的异常探测装置的框图。所述装置应用于IPSec节点设备,所述装置包括:发送单元310、接收单元320、判断单元330和删除单元340。

其中,发送单元310,用于向对端节点设备发送DPD探测报文;其中,所述DPD探测报文中携带本设备用于加密的IPSec SA的SPI;

接收单元320,用于在对端节点设备对所述DPD探测报文进行解密,查找与所述SPI对应的用于解密的IPSec SA后,接收对端设备返回的DPD响应报文;

判断单元330,用于判断所述DPD响应报文携带的DPD报文序列号是否为预设序列号;

删除单元340,用于如果是,确定对端节点设备的所述用于解密的IPSec SA异常,并将本设备的所述用于加密的IPSec SA删除;其中,所述预设序列号为对端节点设备对所述DPD探测报文进行解密后,未查找到与所述DPD探测报文携带的SPI对应的用于解密的IPSec SA时,写入所述DPD响应报文。

在另一种可选的实现方式中,所述接收单元320,还用于接收对端节点设备发送的DPD探测报文,获取该DPD探测报文中携带的对端节点设备用于加密的IPSec SA的SPI;

所述装置还包括:

查找单元350,用于基于所述对端节点设备用于加密的IPSec SA的SPI,在本地查找与该SPI对应的用于解密的IPSec SA;

返回单元360,用于如果未查找到所述用于解密的IPSec SA,向对端节点设备返回携带有预设序列号的DPD响应报文。

在另一种可选的实现方式中,所述返回单元360,还用于如果查找到所述用于解密的IPSec SA,向对端节点设备返回携带所述用于解密的IPSec SA的SPI的DPD响应报文。

在另一种可选的实现方式中,所述装置还包括:

保留单元370,用于如果所述DPD响应报文中携带的序列号不为指定序列号时,确定所述对端节点设备存在所述用于解密的IPSec SA,并保留本设备上的所述用于加密的IPSec SA。

在另一可选的实现方式中,所述删除单元340,还用于如果在预设的时间段内,未接收到对端节点设备返回的所述DPD响应报文,则将本设备上的所述用于加密的IPSec SA删除。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见9方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1