互联网协议安全性协议设置服务器设备和处理设备的制作方法

文档序号:6378829阅读:230来源:国知局
专利名称:互联网协议安全性协议设置服务器设备和处理设备的制作方法
技术领域
本发明涉及网络、IPsec设置服务器设备、IPsec处理设备和为此所使用的IPsec设置方法,更具体地说,涉及一种根据IPsec(Internet Protocolsecurity protocol,因特网协议安全性协议)的网络结构,该IPsec提供了多种功能,例如因特网上的保密性、完整性和认证。
背景技术
一般地,随着因特网的广泛传播,越来越需要确保因特网上的安全性。具体地说,许多公司希望以低成本在因特网上建立虚拟专用网,以及建立一个连接远程办公室或类似对象的网络,而不是用昂贵的专用线来建立网络。
为响应这种需求,IETF(Internet Engineering Task Force,因特网工程任务组)对IPsec(因特网协议安全性协议)进行了标准化,该IPsec提供了多种功能,例如因特网上的保密性、完整性和认证(例如,参见在先公开的日本专利No.2001-298449的第8-11页和图1)。
当两个不同的中心通过因特网通信时,就可以使用IPsec以确保因特网路径上的安全性。支持新的因特网协议,即具有IPsec的IPv6(因特网协议版本6)变得很重要,预计从现在开始,更多的网络设备将与IPsec相关,使用IPsec的通信也将增加。
图31示出了使用IPsec进行通信的IPsec处理设备的结构。在图31中,IPsec处理设备4包括接口部分(I/F)41和42、IPsec处理部分43、SPD(安全性策略数据库)44、SAD(安全性关联数据库)45和路由部分46。
接口部分41与专用网相连以实现和该专用网的数据通信。接口部分42与因特网相连以通过因特网实现数据通信。
IPsec处理部分43对从接口部分41和42接收到的数据通信包进行IPsec处理。从IPsec处理部分43查阅SPD 44,其存储用于应用IPsec的策略。从IPsec处理部分43查阅SAD 45,其存储使每种通信都受到IPsec处理所必需的SA(安全性关联)。路由部分46向IPsec处理部分43发送或从IPsec处理部分43接收数据通信包,并确定各个数据通信包的传输目的地。
然而,在根据传统IPsec的上述网络结构中,当一个IPsec处理设备和大量相对方进行IPsec通信时,在通过IPsec的连接当中,在实现IPsec处理的设备中所要设置的内容增加了。
为了使用IPsec,在应用了IPsec处理的两端的设备中,必须分别设置应用了IPsec的服务[AH(认证头部)所提供的服务,ESP(封装安全性有效载荷)]、算法和用于通信的类似对象。
当使用自动密钥管理(IKEInternet Key Exchange,因特网密钥交换)协议时,也必须在两端的设备中设置在自动密钥管理协议中所使用的加密算法、哈希(hash)算法、密钥共用算法和类似算法。由于每个通过IPsec进行连接的相对方都需要这些设置,因此随着通过IPsec进行连接的相对方的增多,就需要更多的设置。
另外,在根据传统IPsec的网络结构中,在应用了IPsec的通信的两端,有可能进行不同的设置。在应用了IPsec处理的两端的设备中,如果要使用的服务的设置或要使用的算法的设置不同,那么这些设备就不能实现通信。当应用了IPsec的通信的种类增加时,因为设置的数量也增加了,所以更有可能出现这样的错误。
而且,在根据传统IPsec的网络结构中,如果使用了自动密钥管理协议,那么用来生成共用秘密密钥的算术运算将花费时间,结果,在开始通信之前要用去很长时间。通常,在IPsec处理设备中,如图32所示,因为直到必须进行通信时才开始生成共用秘密密钥,所以如果生成共用秘密密钥花费时间,那么在开始通信之前要用去很长时间。
此外,在根据传统IPsec的网络结构中,如果使用了自动密钥管理协议,则在应用了IPsec处理的设备中产生算术运算量。因为许多算术运算都是生成共用秘密密钥所必需的,所以在该设备中所提供的其他功能(对未应用IPsec的包的传输功能等等)的性能将下降。当要被同时处置的IPsec通信种类增加时,生成共用秘密密钥的机会也增多了,并且性能下降的速度更快了。

发明内容
因此,本发明的目的就是解决上述问题,并提供可以防止在相互通信的设备之间出现设置不一致的网络、IPsec设置服务器设备、IPsec处理设备和为此所使用的IPsec设置方法。
另外,本发明的另一个目的是提供可以在设置策略后没有延时地执行加密和解密,并且可以没有故障地从传输源接收包的网络、IPsec设置服务器设备、IPsec处理设备和为此所使用的IPsec设置方法。
此外,本发明的另一个目的是提供可以使秘密密钥算术运算不再必要,从而缩短各个设备中在开始通信时的IPsec路径连接时间,并可以防止性能下降的网络、IPsec设置服务器设备、IPsec处理设备和为此所使用的IPsec设置方法。
根据本发明的网络包括IPsec处理设备,其在两个不同的中心通过因特网通信时,使用IPsec(因特网协议安全性协议)来确保因特网路径上的安全性;和IPsec设置服务器设备,其管理IPsec处理设备的IPsec设置,其中,所述IPsec设置服务器设备包括用来集中管理要在多个IPsec处理设备之间应用的IPsec的策略的装置。
在根据本发明的另一种网络中,除了上述结构外,所述IPsec设置服务器设备还包括一个装置,用来一旦收到请求消息,把请求启动消息发送给已发送所述请求消息的IPsec处理设备的相对方的IPsec处理设备,以使得这个IPsec处理设备发送通信的请求消息。
在根据本发明的另一种网络中,除了上述结构外,所述IPsec设置服务器设备还包括一个装置和一个功能,该装置用来生成在IPsec加密和认证中所使用的共用秘密密钥,而该功能用于把所生成的共用秘密密钥分配给多个IPsec处理设备。
根据本发明的IPsec设置服务器设备是一种用来管理IPsec处理设备的IPsec设置的IPsec设置服务器设备,在两个不同的中心通过因特网通信时,该IPsec处理设备使用IPsec(因特网协议安全性协议)来确保因特网路径上的安全性,所述IPsec设置服务器设备包括用来集中管理要在多个IPsec处理设备之间应用的IPsec的策略的装置。
根据本发明的另一种IPsec设置服务器设备除了上述结构外,还包括一个装置,用于一旦收到请求消息,就把请求启动消息发送给已发送所述请求消息的IPsec处理设备的相对方的IPsec处理设备,以使得这个IPsec处理设备发送通信的请求消息。
根据本发明的另一种IPsec设置服务器设备除了上述结构外,还包括一个装置和一个功能,该装置用来生成在IPsec加密和认证中所使用的共用秘密密钥,而该功能用于把所生成的共用秘密密钥分配给多个IPsec处理设备。
根据本发明的IPsec处理设备是一种在因特网上使用IPsec(因特网协议安全性协议)的IPsec处理设备,其包括一个装置,用于一旦收到应当应用IPsec的包,用来判断是否要向IPsec设置服务器设备查询在该IPsec设置服务器设备中所集中管理的IPsec的设置。
根据本发明的另一种IPsec处理设备在上述结构中,一旦收到用于使IPsec设置服务器设备发送请求消息的请求启动消息,就发送请求消息。
根据本发明的另一种IPsec处理设备除了上述结构外,还包括用来从上述IPsec设置服务器设备中获取要在IPsec加密和认证中所使用的共用秘密密钥的装置。
根据本发明的IPsec设置方法是一种用于以下网络的IPsec设置方法,该网络包括IPsec处理设备,该设备在两个不同的中心通过因特网通信时,使用IPsec(因特网协议安全性协议)来确保因特网路径上的安全性;和IPsec设置服务器设备,其管理IPsec处理设备的IPsec设置,其中,该IPsec设置服务器设备包括集中管理要在多个IPsec处理设备之间应用的IPsec的策略的步骤。
在根据本发明的另一种IPsec设置方法中,在上述操作中,所述IPsec设置服务器设备包括以下步骤一旦收到请求消息,就把请求启动消息发送给已发送所述请求消息的IPsec处理设备的相对方的IPsec处理设备,以使得这个IPsec处理设备发送通信的请求消息。
在根据本发明的另一种IPsec设置方法中,除了上述步骤外,所述IPsec设置服务器设备包括生成在IPsec加密和认证中所使用的共用秘密密钥的步骤,以及把所生成的共用秘密密钥分配给多个IPsec处理设备的步骤。
就是说,在因特网上使用IPsec(因特网协议安全性协议)的IPsec处理设备中,本发明的IPsec设置方法在所述IPsec设置服务器上集中注册在各个IPsec处理设备中所要设置的策略,从而减少在各个IPsec处理设备中所要设置的策略的数量。
另外,在上述结构中,一旦收到请求消息,本发明的IPsec设置方法就向已发送所述请求消息的IPsec处理设备的通信相对方的IPsec处理设备发送请求启动消息,以使得这个IPsec处理设备发送通信的请求消息,由此,在这些设备中几乎同时执行要在各个IPsec处理设备之间应用的IPsec的策略的设置,并且可以在策略设置后没有延时地执行加密和解密。因此,就可以在传输目的地的IPsec处理设备中没有故障地从传输源接收包。
而且,在上述结构中,本发明的IPsec设置方法向传输源的IPsec处理设备发送一个无响应错误消息,除非在发送请求启动消息时,IPsec设置服务器没有收到响应于该请求启动消息的请求消息。因此,在传输源的IPsec处理设备中就可以获悉相对的设备不存在。
此外,在上述结构中,在本发明的IPsec设置方法中,各个IPsec处理设备从IPsec设置服务器获取在IPsec加密和认证中所使用的共用秘密密钥,由此,消除了复杂的密钥交换算术运算,减少了IPsec处理开始前的时间。
更具体地说,在本发明的IPsec设置方法中,所述IPsec设置服务器存储要在各个IPsec处理设备之间应用的IPsec的策略。在向相对方的IPsec处理设备发送数据通信包时,传输源的IPsec处理设备请求IPsec设置服务器执行必要的设置。已收到该请求的IPsec设置服务器指示相对方的IPsec处理设备来请求设置。
一旦从相对方的IPsec处理设备收到请求,IPsec设置服务器就向各个IPsec处理设备发送已注册的策略、由传输源和相对方的IPsec处理设备所通知的SPI(安全性参数索引)和由IPsec设置服务器生成的共用秘密密钥。此刻,在传输源和相对方的IPsec处理设备上,IPsec处理所必需的所有信息都被收集起来,并可以执行IPsec处理了。注意,设置信息的发送和接收由传统IPsec保护起来,从而防止被第三方窃取。
这样,在本发明中,在IPsec设置服务器中集中管理IPsec策略,由此可以减少设置的总量,与此同时,可以防止因两个中心的设置内容不同而引起的通信故障。
另外,在本发明中,由于发送了请求启动消息,因此在与请求消息的传输源的IPsec处理设备相对的IPsec处理设备中,几乎在对传输源的IPsec处理设备的IPsec策略进行设置的同时执行IPsec策略的设置。如果传输源的IPsec处理设备在设置策略之后加密和发送包,则可以在相对的IPsec处理设备上解密和接收这个来自传输源的IPsec处理设备的包。因此,在传输目的地的IPsec处理设备上就可以没有故障地从传输源接收包。
而且,在本发明中,除非在发送请求启动消息的时候,响应于请求启动消息的请求消息没有从相对的IPsec处理设备上发送出去,否则由于无响应错误消息被发送给了传输源的IPsec处理设备,因此在传输源的IPsec处理设备中可以立即得知相对设备不存在。
此外,在本发明中,由于IKE(因特网密钥交换自动密钥管理协议)没有被用于获得共用秘密密钥,所以就不必执行在IKE中所使用的Diffie-Hellman算术运算。因此,相比需要Diffie-Hellman算术运算的传统方法,本发明的方法可以减少IPsec处理开始前的时间。
在传统方法中,周期性地执行Diffie-Hellman算术运算以更新IKE的SA(安全性关联),而且每当执行该算术运算时就产生算术运算负载。因为当出现更多根据IPsec的通信方时,更新IKE的SA的机会增多了,所以算术运算负载也增加了,而整个IPsec处理设备的处理性能就下降了。
另一方面,在本发明中,由于除了IPsec处理设备和IPsec设置服务器之间的通信外,不对其他的通信执行Diffie-Hellman算术运算,因此相比传统方法,还可以减少算术运算负载。


图1是示出与本发明实施例一致的、根据IPsec的网络的结构的方框图;图2是示出图1中IPsec设置服务器的结构的方框图;图3是示出图2中分配策略存储部分的存储内容的图;图4是示出图2中管理表的存储内容的图;图5是示出图4中SA参数内容的图;图6是示出根据本发明实施例的请求消息示例的图;图7是示出根据本发明实施例的分配消息示例的图;图8是示出根据本发明实施例的请求启动消息示例的图;图9是示出根据本发明实施例的无对应条目错误消息示例的图;图10是示出根据本发明实施例的内容不一致错误消息示例的图;图11是示出根据本发明实施例的无响应错误消息示例的图;图12是示出根据本发明实施例的IPsec设置服务器操作的流程图;图13是示出根据本发明实施例的IPsec设置服务器操作的流程图;图14是示出图1中IPsec处理设备的结构的方框图;图15是示出图14中SPD的内容的图;图16是示出如图15所示的SPD的应用策略(z)的示例的图;图17是示出图14中SAD的内容的图;图18是示出图14中IPsec处理部分的处理操作的流程图;图19是示出图14中设置管理部分的处理操作的流程图;图20是示出图14中设置管理部分的处理操作的流程图;图21是示出图2中SPD的内容示例的图;图22是示出如图21所示的SPD的应用策略(v)的内容的图;
图23是示出传统IPsec处理设备的SPD内容的图;图24是示出图23中SPD的应用策略(j)的内容的图;图25是示出在从IPsec处理设备收到请求消息后,图2中管理表的内容的图;图26是示出在收到分配消息并设置了应用策略后,图14中SPD的内容的图;图27是示出为了更新图2中管理表的SA而生成新的条目时,该管理表内容的图;图28是示出根据本发明实施例的IPsec处理设备的操作的序列图;图29是示出根据本发明另一个实施例的IPsec处理设备的结构的方框图;图30是示出根据本发明另一个实施例的分配策略存储部分的存储内容的图;图31是示出传统IPsec处理设备的结构的方框图;图32是示出传统IPsec处理设备的操作的序列图;和图33是示出传统IPsec处理设备的另一种结构的方框图。
具体实施例方式
接下来,参考

本发明的实施例。图1是示出与本发明实施例一致的、根据IPsec(因特网协议安全性协议)的网络的结构的方框图。在图1中,在根据本发明实施例的网络中,多个IPsec处理设备2a到2f通过因特网100相互连接,这些IPsec处理设备将要在彼此之间进行应用了IPsec的通信,并且IPsec设置服务器1也连接到因特网100上。注意,如图1所示,IPsec处理设备2a到2f可以是路由器,通过根据IPsec的通信而在专用网201到204之间提供交换。或者,IPsec处理设备2a到2f可以是将IPsec应用到其自身通信上的个人计算机。
图2是示出图1中IPsec设置服务器1的结构的方框图。图2中,IPsec设置服务器1包括接口(I/F)部分11、IPsec处理部分12、SPD(安全性策略数据库)13、SAD(安全性关联数据库)14、请求处理部分15、分配策略存储部分16、管理表17、随机数发生器18、计时器19和记录介质20。这里,IPsec设置服务器1主要由计算机组成,该计算机执行存储在记录介质20中的程序,由此实现上述部件的操作。
接口部分11连接到因特网100以通过因特网100进行数据通信。IPsec处理部分12对从接口部分11接收到的数据通信包进行IPsec处理。
从IPsec处理部分12查阅SPD 13,其存储用于应用那里所记录的IPsec的策略。从IPsec处理部分12查阅SAD 14,其存储使每种通信都受到那里所记录的IPsec处理所必需的SA(安全性关联)。
请求处理部分15通过接口部分11从IPsec处理设备2a到2f接收设置请求消息,并返回分配消息。从请求处理部分15查阅分配策略存储部分16,其存储要确定所请求的设置所必需的IPsec策略。从请求处理部分15查阅并设置了管理表17,其存储被请求要进行设置的各种SA通信的信息。
随机数发生器18根据来自请求处理部分15的请求,生成随机数。计时器19应请求处理部分15的请求来测量时间。在这些部件中,IPsec处理部分12、SAD 14和SPD 13只是对IPsec设置服务器1要保护与IPsec处理设备2的根据IPsec的通信来说是必要的,而且这三个部分与传统IPsec机制中的对应部分完全相同。
一旦从因特网100接收到了数据通信包,接口部分11就把该数据通信包传递给IPsec处理部分12,并把从IPsec处理部分12输送出的数据通信包传送给因特网100。
IPsec处理部分12基于SAD 14和SPD 13的存储内容,对从因特网100接收的、已应用IPsec的数据通信包进行IPsec解密处理,把该数据通信包转变为应用IPsec之前的状态,并把它传输到请求处理部分15。另外,IPsec处理部分12根据SAD 14和SPD 13的存储内容,对从请求处理部分15接收到的数据通信包进行IPsec处理,并把该数据通信包传输到接口部分11。要保护IPsec设置服务器1和IPsec处理设备2a到2f之间的通信,IPsec处理部分12是必不可少的机制,而且它和传统IPsec中的对应部分完全相同。
图3是示出图2中分配策略存储部分16的存储内容的图。图3中,分配策略存储部分16包括用于指定分配策略的地址对列,和用于设置所要分配的IPsec策略的分配策略列。可以在分配策略存储部分16的分配策略中进行设置的参数是IPsec协议、封装模式、加密算法、认证算法和SA有效性期限。
在图3所示的例子中,设置一个应用到IPsec处理设备2a和IPsec处理设备2b之间的通信的IPsec策略和一个应用到IPsec处理设备2d和IPsec处理设备2e之间的通信的IPsec策略。注意,用户需要提前设置分配策略存储部分16中的所有项。此外,这些项被一次性设置之后,在操作当中就不对这些项进行自动重写。
作为IPsec处理设备2a和IPsec处理设备2b之间的分配策略,在IPsec协议中置入“ESP(封装安全性有效载荷)”,在封装模式中置入“隧道模式”,在解密算法中置入“DES-CBC(数据加密标准-密码封锁链接)”,在认证算法中置入“HMAC(散列消息认证码)-MD5-96”,在SA有效性期限中置入“3600秒”。
另外,作为IPsec处理设备2d和IPsec处理设备2e之间的分配策略,在IPsec协议中置入“ESP”,在封装模式中置入“传输模式”,在解密算法中置入“3DES-CBC”,在认证算法中置入“HMAC-SHA-1-96”,在SA有效性期限中置入“3600秒”。
在传统方法中,在各个IPsec处理设备2a到2f中,对于所要应用的IPsec策略的内容必须分别输入相同的设置。然而,在本发明的方法中,对于IPsec处理设备2a到2f之间的IPsec通信,因为仅需要在分配策略存储部分16中对IPsec策略进行设置,所以可以避免在各个IPsec处理设备2a到2f中错误地进行不同设置的意外发生,同时还可以减少用户实际输入的设置量。
图4是示出图2中管理表17的存储内容的图。图4中,管理表17包括请求源地址列、相对方地址列、请求ID列和SPI列,分别用于记录请求源地址、相对方地址、ID和SPI(安全性参数索引),这些内容包括在从IPsec处理设备2a到2f所分别发送出的请求消息中,该管理表17还包括设置参数列,用于记录通信的IPsec处理所必需的参数组。在这些列当中,在设置参数列内设置了由要应用于通信的策略和建立通信的SA所必需的参数而组成的SA参数。
图5是示出图4中SA参数内容的图。图5中,SA参数包括IPsec协议、封装模式、解密算法、认证算法、有效性期限、加密密钥、认证密钥、IV(初始化矢量)和SPI值,它们将被用于通信接收端上的IPsec处理设备2a到2f。
由于相互通信的两端上的IPsec处理设备2a到2f所生成的请求都是为了一个IPsec通信,因此对于管理表17上的一个条目,分别存在有两个请求源地址、两个相对方地址、两个请求ID和两个SPI。另外,即使在同一IPsec通信中,也可以请求一个新的SA,以预防SA的有效性期限过期。此时,为了这个新的SA,在管理表17中重新注册一个条目。注意,因为管理表17的全部内容都是由请求处理部分15自动设置的,所以用户不必直接设置管理表17的内容。
由于参考了管理表17,因此可以获得所要分配给IPsec处理设备2a到2f的设置参数。因为通过从进行IPsec通信的各个IPsec处理设备2a到2f中接收请求消息,才能决定所述设置参数中的SA参数,所以当仅从一端上的IPsec处理设备2a到2f接收请求消息时,相对方端的请求ID列和SPI列都是空白的,并且在所述设置参数列中的SA参数也是空白的。然而,因为仅从一端上的IPsec处理设备2a到2f中接收请求消息就能决定所述的应用策略,所以只要从一端上的IPsec处理设备2a到2f中接收请求消息,所要应用的策略就得到了设置。
在图4所述的示例中,应用于IPsec处理设备2a和IPsec处理设备2b之间的通信的策略和SA参数分别在第一条目中进行注册。应用于IPsec处理设备2a和IPsec处理设备2b之间的通信的策略也在第二条目中进行注册。但是,因为没有从IPsec处理设备2b中收到对应的设置请求消息,所以SA参数未被决定。
图5示出了图4中SA参数(a)的内容。基于分配策略的内容、设置请求消息所通知的SPI和从随机数发生器18获得的随机数,请求处理部分15生成该SA参数。
请求处理部分15从IPsec处理设备2a到2f接收请求消息,并向IPsec处理设备2a到2f发送请求启动消息、分配消息或错误消息。
图6是示出根据本发明实施例的请求消息示例的图。图6中,请求消息包括ID“1001”,用于将该请求消息区别于其它请求消息;请求源地址“IPsec处理设备2a”,指示了已发送请求消息的IPsec处理设备2a到2f之一的地址;相对方地址“IPsec处理设备2b”,指示了作为相对方的IPsec处理设备2a到2f之一的地址;和在请求源中所使用的SPI的值“5100”。
注意,在本实施例中,由于存在于两端上IPsec处理设备2a到2f之间的IPsec通信被限制为一种,所以如果确定了两端上IPsec处理设备2a到2f的地址,那么可以唯一指定所要应用的IPsec策略。因此,在请求消息中置入IPsec通信两端上的地址。此外,可以在两端上的两个IPsec处理设备2a到2f之间设置多种IPsec通信。这种情况下,在请求消息中进行设置指定各种IPsec通信所必需的信息(例如,协议号、端口号等等)。
图7是示出根据本发明实施例的分配消息示例的图。图8是示出根据本发明实施例的请求启动消息示例的图。图9是示出根据本发明实施例的无对应条目错误消息示例的图。图10是示出根据本发明实施例的内容不一致错误消息示例的图。图11是示出根据本发明实施例的无响应错误消息示例的图。
图12和13是示出根据本发明实施例的IPsec设置服务器1的操作的流程图。将参考图1到13说明根据本发明实施例的IPsec设置服务器1的操作。首先,对请求处理部分15已收到请求消息时的操作进行说明。
一旦从IPsec处理设备2a到2f收到请求消息(图12中的步骤S1),请求处理部分15就从管理表17中检索与所述请求消息中所包含的请求源地址、相对方地址和ID相一致的条目(图12中的步骤S2)。
如果发现了一致的条目,则请求处理部分15确认该一致条目的SPI是否和所述请求消息中所包含的SPI相一致(图12中的步骤S3)。如果这些SPI相互不一致,则请求处理部分15向IPsec处理设备2a到2f发送一内容不一致错误消息(图12中的步骤S8)。
此时,包括在所述请求消息中的ID、请求源地址和相对方地址,以及一个条目列表被设置在所述的内容不一致错误消息中。在管理表17所包含的条目中,所有具有一致的请求源地址和相对方地址的条目都被设置在该条目列表中。但是,该条目列表中所要设置的项仅仅是各个条目的ID,以及这些条目中所使用的请求源地址的SPI。
通过接收所述的内容不一致错误消息,IPsec处理设备2a到2f可以了解IPsec设置服务器1所管理的设置信息和IPsec处理设备2a到2f所掌握的设置信息之间的差别。
图10示出了这个内容不一致错误消息的示例。在图10中可以看到,在IPsec设置服务器1上请求ID“1001”和“1002”已经生成了设置信息,用于IPsec处理设备2a和IPsec处理设备2b之间的通信,并且其中所使用的SPI的值分别是“5100”和“5110”。
如果在管理表17中发现一个条目与请求消息中所包含的请求源地址、相对方地址和ID相一致,并且SPI的内容也彼此相符,那么请求处理部分15在管理表17内的该条目中确认相对方端上的请求ID列(图12中的步骤S4)。
如果设置了相对方端的请求ID列,那么由于管理表17的设置参数列已经被决定,因此请求处理部分15向请求消息的传输源发送分配消息(图12中的步骤S5)。请求消息中所包含的请求源地址、传输源地址和ID被设置在分配消息中,管理表17中的分配策略和SA参数被设置在设置参数中。这样,所有应该返回的设置参数已经被决定。
图7示出了这个分配消息的示例。在图7所示的示例中,分配策略(a)与SA参数(a)和(b)都被设置在设置参数中。使用分配策略(a)与SA参数(a)和(b),IPsec处理设备2a可以进行双向IPsec通信。
如果在管理表17中发现一个条目与请求消息中所包含的请求源地址、相对方地址和ID相一致,并且SPI的内容也彼此相符,但是没有设置相对方端上的请求ID列,那么请求处理部分15就此结束处理(图12中的步骤S6)。这种情况下,虽然请求处理部分15已经从IPsec处理设备2a到2f中收到了相同的请求消息,但是由于没有任何相对方端的信息,所以请求处理部分15将等待相对方端的信息。
如果在管理表17中没有任何条目具有一致的请求源地址、相对方地址和ID,则请求处理部分15利用请求消息中所包含的请求源地址、相对方地址和SPI作为关键字来检索管理表17(图12中的步骤S7)。
如果发现了一致的条目,则请求处理部分15向所述请求消息的传输源发送内容不一致错误消息,并结束处理(图12中的步骤S8)。这出现于如下情形IPsec处理设备2a到2f使用已经在IPsec设置服务器1中注册的SPI,重复请求新的设置参数。通过接收内容不一致错误消息,IPsec处理设备2a到2f可以检测出SPI的重复,并选择一个不重复的SPI。
如果在管理表17中没有任何条目具有一致的请求源地址、相对方地址和ID,也没有检测到SPI的重复,那么请求处理部分15利用请求消息中所包含的请求源地址和相对方地址作为关键字来检索管理表17(图12中的步骤S9)。这种情况下,请求处理部分15检索那种请求ID列为空的条目。
如果一致的条目存在,则通信的请求消息已经从相对方端的IPsec处理设备2a到2f中被发送出去,甚至决定了设置参数的应用策略。请求处理部分15在空白的请求ID列和SPI列内分别置入在所述请求消息中所设置的ID和SPI,并根据设置参数列上的应用策略所指示的策略来产生用于各个方向的SA参数。
更具体地说,对于IPsec协议、封装模式、解密算法、认证算法、有效性期限,请求处理部分15设置与应用策略相同的内容,它还从随机数发生器18获得随机数以确定用于解密密钥、认证密钥和IV的值,并在接收端SPI列中置入接收端上的IPsec处理设备2a到2f所使用的SPI值。
如果可以产生用于各方向的SA参数,那么请求处理部分15在管理表17的设置参数列中注册SA参数(图12的步骤S10)。当在管理表17中注册了SA参数时,请求处理部分15向IPsec处理设备2a到2f发送分配消息,其中,请求消息传输源,即IPsec处理设备2a到2f的请求ID和设置参数设置在该分配消息,同时也向作为相对方的IPsec处理设备2a到2f发送包括相对方请求ID的分配消息(图12的步骤11)。
另外,请求处理部分15使用计时器19来测量时间,该时间长度与SA参数的有效性期限相同,当计时器19所测量的时间到达预定值时,删除管理表17的相应条目。
如果管理表17中没有任何条目具有相一致的请求源地址和请求ID,甚至通过将请求源地址和相对方地址作为关键字的检索也没有发现一致的条目,那么请求处理部分15利用请求消息中所包含的一对请求源地址和相对方地址作为关键字来检索分配策略存储部分16(图13中的步骤S21)。
如果没有发现对应的条目,那么请求处理部分15就向IPsec处理设备2a到2f发送一无对应条目错误消息(图13中的步骤S26)。请求处理部分15在这个无对应条目错误消息中置入请求消息中所包含的ID、请求源地址和相对方地址。图9是出了这种无对应条目错误消息的示例。
如果在分配策略存储部分16中存在一致的条目,则请求处理部分15在管理表17的新条目的请求源地址列、相对方地址列、请求ID列和SPI列中分别置入请求消息中所包含的请求源地址、相对方地址、ID和SPI。请求处理部分15在同一条目的另一个请求源地址列和相对方地址列中分别置入请求消息的相对方地址和请求消息的请求源地址,而让请求ID列和SPI列保持空白。
另外,请求处理部分15在管理表17的设置参数列中置入在分配策略存储部分16的所述条目中所包含的分配策略(图13中的步骤S22)。这时,除了诸如加密密钥或认证密钥的共用秘密密钥,以及在相对方IPsec处理设备2a到2f中所使用的SPI之外,在生成SA参数所必需的参数组中的所有其他参数都被决定了。由于共用秘密密钥使用从随机数发生器18获得的随机数,所以只要决定了相对方的SPI,就可以生成SA参数。
如果在分配策略存储部分16中存在一致的条目,那么,在响应来自请求源的IPsec处理设备2a到2f的请求,在管理表17中注册该条目后,请求处理部分15向相对方的IPsec处理设备2a到2f发送请求启动消息(图13中的步骤S23)。请求处理部分15在请求启动消息中置入所述请求消息的请求源地址。图8示出了这种请求启动消息的示例。
在发送该请求启动消息之后,请求处理部分15以5秒为间隔重复发送这个请求启动消息,而一旦从该请求启动消息的传输目的地的IPsec处理设备2a到2f中收到对应于管理表17所述条目的请求消息,或者发送该请求启动消息达到六次,就停止发送这个请求启动消息。通过重复发送请求启动消息,请求处理部分15即使在丢失一个请求启动消息的情况下,仍可以用另一个请求启动消息来继续处理。
如果请求处理部分15因发送请求启动消息达到六次而停止了发送(图13中的步骤S24),那么请求处理部分15从管理表17中删除所述条目(图13中的步骤S27)并向请求消息传输源的IPsec处理设备2a到2f发送无响应错误消息(图13的步骤S28)。请求处理部分15在这个无响应错误消息中置入在来自IPsec处理设备2a到2f的请求消息中所包含的ID、请求源地址和相对方地址。图11示出了这种无响应错误消息的示例。
一旦响应于请求启动消息,收到与管理表17的条目相对应的请求消息(图13中的步骤S24),请求处理部分15停止发送请求启动消息并执行收到请求消息时的操作(图13中的步骤S25)。
请求处理部分15请求计时器19来测量时间,当指定时间已经过去后,计时器19将通知请求处理部分15。计时器19可以同时测量多个时间。
如上所述,由于发送了请求启动消息,所以在与请求消息传输源的IPsec处理设备相对的IPsec处理设备中,几乎在对传输源的IPsec处理设备的IPsec策略进行设置的同时执行IPsec策略的设置。如果传输源的IPsec处理设备在设置策略之后加密并发送包,则相对的IPsec处理设备可以从传输源的IPsec处理设备中解密和接收该包。因此,可以在设置策略后没有延时地执行加密和解密。
这种情况下,既然没有因为不能解密包而取消这个包或者从未错误地执行包的解密,那么传输目的地的IPsec处理设备就可以没有故障地从传输源接收包。
另外,如果在发送请求启动消息的时候,没有从相对的IPsec处理设备接收到响应请求启动消息的请求消息,那么由于无响应错误消息被发送给了传输源的IPsec处理设备,所以传输源的IPsec处理设备可以立刻得知相对的设备不存在。
图14是示出图1中IPsec处理设备2a到2f的结构的方框图。图14中,IPsec处理设备2a到2f被统一图示为IPsec处理设备2,IPsec处理设备2a到2f具有和IPsec处理设备2相同的结构。
IPsec处理设备2主要由计算机构成,并使用IPsec设置服务器1。即,IPsec处理设备2包括接口部分(I/F)21和22、IPsec处理部分23、SPD 24、SAD 25、设置管理部分26、路由部分27和记录介质28。所述计算机执行记录介质28的程序,由此实现上述各部件的操作。
接口部分21连接到专用网200(图1的专用网201到204中的任何一个)上以与专用网200进行数据通信。接口部分22连接到因特网100上以通过因特网100进行数据通信。
IPsec处理部分23使从接口部分21和22接收到的数据通信包受到IPsec处理。应IPsec处理部分23的请求,设置管理部分26请求IPsec设置服务器1执行必要的设置。
从IPsec处理部分23和设置管理部分26查阅SPD 24,其具有用于应用那里所记录的IPsec的策略。从IPsec处理部分23和设置管理部分26查阅SAD 25,其拥有记录在那里的一个SA,该SA是使每种通信都受到IPsec处理所必需的SA。路由部分27向IPsec处理部分23和设置管理部分26发送或从它们那里接收数据通信包,并确定各个数据通信包的传输目的地。
IPsec处理设备2的结构与图31所示的传统IPsec处理设备的结构的不同之处在于增加了设置管理部分26。另外,如后面所述,IPsec处理设备2结构的不同之处在于SPD 24中增加了新的项,而且向IPsec处理部分23中增加了新的操作。
接口部分21从专用网200接收数据通信包并把它传递给IPsec处理部分23,并把从IPsec处理部分23传递过来的数据通信包发送给专用网200。
接口部分22从因特网100接收数据通信包并把它传递给IPsec处理部分23,并把从IPsec处理部分23传递过来的数据通信包发送给因特网100。
SPD 24包括用于识别单个SPD条目并阐明优先级的ID列、用于选择流量的选择器列、用于所选择流量的处理列和IPsec应用策略列,该列在应用IPsec处理时用来记录IPsec的参数信息或类似信息,SPD 24还包括用于设置请求的相对方地址列,用来判断是否请求IPsec设置服务器1在SPD检索时执行设置。
图15是示出图14中SPD 24的内容的图。图15中,除了增加用于设置请求的相对方地址列外,SPD 24和普通的IPsec所使用的SPD相同。注意,SPD 24包括用于发送的SPD和用于接收的SPD。
如果IPsec处理部分23已收到了数据通信包,那么SPD 24被用来确定对这个包的处置。一旦收到没有应用IPsec的数据通信包,IPsec处理部分23就将它和SPD 24的选择器列进行比较,以检索一致的条目。当发现一致的条目时,IPsec处理部分23就根据处理列来确定对所述包的处置。
“IPsec应用”、“通过”和“丢弃”中的任何之一被存储在处理列中。具体地说,当要执行“IPsec应用”的处理时,将根据IPsec策略列的内容连续执行IPsec的处理。
本实施例中,在存在于SPD 24中的相对方地址列中,如果处理列是“IPsec应用”,则IPsec应用策略列被用于判断是否请求IPsec设置服务器1执行设置,同时被用作标识符,当IPsec设置服务器1被请求执行设置时该标识符用于指定所请求的设置参数。
注意,在标准IPsec中,基本上需要提前设置SPD 24的全部内容。但是,对用来设置请求的相对方地址已被设置的条目来说,可以省略该条目的IPsec应用策略。这种情况下,设置管理部分26从IPsec设置服务器1获得必要的IPsec应用策略信息,并自动设置SPD 24的IPsec应用策略列。这时,要对加密与IPsec设置服务器1的通信进行设置,应用策略不能仅为此而被省略。
在图15所示的示例中,进行一些设置,以使得从IPsec处理设备2a自身到IPsec设置服务器1的包根据应用策略(z)受到IPsec处理,指向专用网202的包和指向专用网203的包受到IPsec处理,并且从IPsec设置服务器1获得为此的策略,所有其他的包不受到IPsec处理而只是通过。
图16是示出如图15所示的SPD 24的应用策略(z)的示例的图。图16中,指定所要应用的IPsec处理所必需的信息,例如IPsec通信中所使用的协议、封装模式、加密算法和认证算法等在IPsec应用策略中进行设置。
在图16所示的示例中,指示出“AES-CBC”用于加密算法,“HMAC-SHA-1-96”用于认证算法,应用ESP的“传输模式”,而SA的有效性期限是“3600秒”。注意,由于根据所使用的协议、加密算法或类似物,所要获得的参数存在差异,因此在各个应用策略中,可以出现除图16所示参数以外的参数,或者图16中的部分参数可以不存在。
在传统IPsec中,用户需要在IPsec处理设备中提前设置所有的应用策略。然而,如先前部分所述,在本实施例的SPD 24中可以省略应用策略的设置。那种情况下,从IPsec设置服务器1获得的IPsec应用策略由设置管理部分26自动进行设置。
注意,如果使用了IKE,为IKE自身所获得的参数与SPD 24的IPsec应用策略相互独立地存在。然而,以本实施例的观点,由于这些参数是用户应当设置、并可以通过使用本实施例的IPsec设置服务器1而被省略的初始参数,因此这些参数等价于IPsec应用策略。于是,为了便于解释,当SPD 24的IPsec应用策略是使用了IKE的策略时,在假定用于IKE的所有参数也包括在该策略中的情况下处置该策略。因此,在图16所示的示例中,用于IKE的设置参数也包括在所述策略中。在一个实际的结构中,对IKE自身的设置仍然独立于IPsec应用策略。
图17是示出图14中SAD 25的内容的图。图17中,在SAD 25中注册单个IPsec通信所需的SA。即,SAD 25是用于管理SA的数据库。
在SPD 24的IPsec应用策略中,示出了用于指示所要应用的IPsec处理(应用哪种IPsec处理)的信息。然而,要实际执行IPsec处理还需要额外的信息。
例如,如果使用了IKE,只有当IPsec处理中所使用的加密密钥和认证密钥与相对方的IPsec处理设备相互交换,并且使用了所述密钥值时,才执行一次IPsec处理。这种方式下,执行一次IPsec处理所必需的参数组被称作SA。
SAD 25包括用于标识各个SAD条目的ID、指示了IPsec通信的相对方地址的终端地址、在IPsec通信中要使用的IPsec协议、作为每个SA独有标识符的SPI和其他SA参数。
因为SAD 25是设置管理部分26或IPsec处理部分23所自动设置的,所以用户无需直接设置SAD 25。注意,SAD 25与标准IPsec中所使用的SAD相同,而且包括用于发送的SAD和用于接收的SAD。
在图17所示的示例中,在IPsec处理设备2a和IPsec处理设备2b之间的SA注册在第一条目中,在IPsec处理设备2a和IPsec设置服务器1之间的SA注册在第二条目中。
图18是示出图14中IPsec处理部分23的处理操作的流程图。图19和20是示出图14中设置管理部分26的处理操作的流程图。IPsec处理设备2a到2f的操作将参考图18至20进行说明。
一旦接收到从专用网200指向因特网100的数据通信包(图18的步骤S31),IPsec处理部分23就把该数据通信包与SPD 24的选择器列进行比较,以检索对应的条目(图18中的步骤S32)。如果对应条目的用于设置请求的相对方地址列是空的,则IPsec处理部分23的操作与传统IPsec的相同(图18中的步骤S33)。
注意,根据传统IPsec的操作,在IPsec处理设备2和IPsec设置服务器1之间发送和接收消息受到保护。即,根据IPsec的常见方法,在IPsec处理设备2和IPsec设置服务器1之间的通信提前在SPD 24中进行注册。
当通过检索SPD 24发现已设置了对应条目中用于设置请求的相对方地址列,并且设置了IPsec应用策略列时,IPsec处理部分23还要从SAD25中检索用于通信的SA(图18中的步骤S34)。如果用于通信的SA存在,则IPsec处理部分23的操作与传统IPsec的相同,并且IPsec处理部分23使得数据通信包根据SA的内容受到IPsec处理(图18中的步骤S33)。
当通过检索SPD 24发现已设置了对应条目中用于设置请求的相对方地址列,并且也设置了IPsec应用策略列时,以及当SAD 25中不存在对应的条目时,或者一开始就没有设置IPsec应用策略时,IPsec处理部分23就延缓对数据通信包的处理并请求设置管理部分26从设置服务器获取设置(图18中的步骤S35)。这时,IPsec处理部分23把SPD 24的条目的ID通知给设置管理部分26。
在请求设置管理部分26从设置服务器获取设置后,IPsec处理部分23不发出对相同的SPD条目的请求,直到设置管理部分26通知了结果。如果IPsec处理管理部分已从设置管理部分26收到了设置完成的通知(图18中步骤S36),则IPsec处理部分23就恢复对数据通信包的IPsec处理(图18中的步骤S33)。这时,设置管理部分26设置必要的策略和SA,并且只按传统做法来执行IPsec处理。
一旦从设置管理部分26收到设置失败的通知(图18中的步骤S36),则IPsec处理部分23停止已被延缓的数据通信包处理(图18中的步骤S37)。
当从因特网100接收到指向专用网200的、已应用IPsec的数据通信包时,IPsec处理部分23以和传统IPsec同样的方式进行操作。即,IPsec处理部分23从SAD 25中检索出对应的条目,如果一致的条目存在,那么根据该条目的内容执行IPsec的解密处理。如果一致的条目不存在,则IPsec处理部分23丢弃该数据通信包。
以和传统IPsec一样的方式,IPsec处理部分23确认SAD 25中每个SA条目的有效性期限,并在有效性期限过期之前建立新的SA。这时,如果该SA是IPsec设置服务器1所生成的SA,那么IPsec处理部分23请求设置管理部分26从IPsec设置服务器1获取设置。
当请求获取设置时,IPsec处理部分23把对应于该SA的SPD 24的条目的ID通知给设置管理部分26。虽然响应于所述请求的结果是由设置管理部分26通知的,但是IPsec处理部分23忽略这个结果通知。
一旦从IPsec处理部分23收到获取设置的请求(图19中的步骤S41),设置管理部分26就为SPD 24所通知的条目生成一个请求消息(图19中的步骤S42)。设置管理部分26设置在请求消息中的请求源中所使用的ID、请求源地址、相对方地址和SPI的值。设置管理部分26在ID中置入任意数值,该数值与其他请求消息的不相同,在SPI中置入一个SPI,这是设置管理部分26在IPsec通信中自己想要使用的SPI。设置管理部分26在请求源地址中置入IPsec处理设备2的地址。设置管理部分26在相对方地址中置入用于设置请求的相对方的地址,其包括在SPD 24的所述条目中。
因为在设置管理部分26发送的消息中所设置的ID、请求源地址和相对方地址都包括在来自IPsec设置服务器1的答复消息中,所以设置管理部分26可以分辨出哪个消息得到了响应。
图6示出了这种请求消息的示例。图6所示的例子是IPsec处理设备2a请求与IPsec处理设备2b进行IPsec通信所必需的设置时所用消息的例子。
设置管理部分26向IPsec设置服务器1发送所生成的请求消息(图19中的步骤S43)。在把该请求消息传送给IPsec设置服务器1后,设置管理部分26以5秒为间隔重复发送该请求消息,而且一旦从IPsec设置服务器1收到该请求消息的响应,或者传送该请求消息达到六次,就停止发送该请求消息。
如果设置管理部分26因传送请求消息达到六次而停止了发送,或者已收到无对应条目错误消息或无响应错误消息(图19中的步骤S44和S47),那么设置管理部分26通知IPsec处理部分23设置失败,以结束处理(图19中的步骤S49)。
注意,在重复发送请求消息时,设置管理部分26总是使用同一ID和同一SPI发送该请求消息。通过重复发送请求消息,设置管理部分26即使在丢失一个请求消息的情况下,仍可以用另一个请求消息来继续处理。
如果设置管理部分26已从IPsec设置服务器1收到了内容不一致错误消息(图19中步骤S47),则设置管理部分26确认在该内容不一致错误消息中所包括的条目列表;再次使用和所述条目列表中包含的ID和SPI不同的值来选择ID和SPI;并且向IPsec设置服务器1发送请求消息(图19中的步骤S48)。
这出现于如下情形在因某种原因丢失操作信息后,IPsec处理使用在IPsec设置服务器1端上注册的ID或SPI来发送请求消息。
通过使用与内容不一致错误信息所通知的ID和SPI不同的值,设置管理部分26可以生成新的请求消息,其与IPsec设置服务器1的现存信息相一致。
如果设置管理部分26已从IPsec设置服务器1收到了分配消息(图19中的步骤S44),设置管理部分26在SPD 24的IPsec应用策略列中置入包括在分配消息中的应用策略,并使用包括在分配消息中的SA参数生成SA并在SAD 25中注册它(图19中的步骤S45)。在SAD 25中注册该SA后,设置管理部分26通知IPsec处理部分23设置完成并结束处理(图19中的步骤S46)。
一旦从IPsec设置服务器1收到请求启动消息(图20中的步骤S51),设置管理部分26就从SPD 24的条目中检索这样的条目,该条目中用于设置请求的相对方地址与请求启动消息中所包含的相对方地址相一致(图20中步骤S52)。如果没有发现一致的条目,则设置管理部分26忽略该请求启动消息(图20中步骤S53)。
这种情况下,该请求启动消息被从IPsec设置服务器1发送六次。此后,IPsec设置服务器1停止发送请求启动消息,并且将错误消息从IPsec设置服务器1发送到最初发送请求消息的IPsec处理设备2。
如果通过检索SPD 24发现了一致的条目,则设置管理部分26以和它从IPsec处理部分23收到对SPD 24条目的设置获取请求时同样的方式进行操作。即,设置管理部分26生成请求消息,并把它最多六次地重复发送给IPsec设置服务器1(图20中的步骤S54和S55)。
然而,因为这不是根据IPsec处理部分23请求的发送,所以即使从IPsec设置服务器1收到了分配消息或错误消息,设置管理部分26也不把结果通知给IPsec处理部分23(图20中的步骤S56、S58和S60)。
另外,当设置管理部分26响应于请求启动消息开始发送请求消息时,即使收到了对SPD 24中相同条目的请求启动消息,设置管理部分26也会直到停止重复的发送时才发送新的请求消息。
另一方面,如果设置管理部分26已经从IPsec设置服务器1收到了分配消息(图20中的步骤S56),那么设置管理部分26在SPD 24的IPsec应用策略列中置入该分配消息中所包含的应用策略,以及使用该分配消息中所包含的SA参数来生成SA并在SAD 25中注册它(图20中的步骤S57)。
路由部分27从IPsec处理部分23接收已受到IPsec解密处理的数据通信包,当这个包是指向设置管理部分26时,路由部分27把这个包传递给设置管理部分26。当这个包不是指向设置管理部分26时,路由部分27确定该包应当被传送到的接口并再次通过IPsec处理部分23把该包传递到所述接口。
另外,路由部分27从设置管理部分26接收数据通信包,确定该包应当被传送到的接口并通过IPsec处理部分23传递这个包。
图21是示出图2中SPD 13的内容示例的图。图22是示出如图21所示的SPD 13的应用策略(v)的内容的图。图23是示出传统IPsec处理设备的SPD内容的图。图24是示出图23中SPD的应用策略(j)的内容的图。
另外,图25是示出图2中管理表17在从IPsec处理设备2a收到请求消息后的内容的图。图26是示出图14中SPD 24在收到分配消息并设置了应用策略后的内容的图。图27是示出该管理表17为了更新SA而生成新的条目时的内容的图。图28是示出根据本发明实施例的IPsec处理设备2的操作的序列图。
参考图1到28说明本实施例中IPsec设置服务器1的具体操作。这里,注意图1中的IPsec处理设备2a,将要说明以下情形,即IPsec处理设备2a使从专用网201到专用网202的数据通信受到IPsec处理。首先,将提前说明在IPsec设置服务器1、IPsec处理设备2a和IPsec处理设备2b中需要设置的项。
在IPsec设置服务器1中,为了分别确保IPsec设置服务器1和IPsec处理设备2a与2b之间安全的IPsec路径,用和过去同样的方法设置SPD13。如图21所示,对SPD 13进行设置,以使得分别根据应用策略(v)和应用策略(w),把IPsec应用到从IPsec设置服务器1自身到IPsec处理设备2a与2b的通信。
图22示出了这个应用策略(v)的内容。在应用策略(v)中,设置了用于对和IPsec处理设备2a之间的通信进行加密的策略。另外,为了在与IPsec处理设备2a的IPsec通信中通过IKE实现密钥交换,也设置了用于IKE的参数。
注意,虽然用于IKE的设置基本上和IPsec应用策略相互独立,为了便于解释,在本发明的说明书中,将这些设置作为所述应用策略的一部分来对待。应用策略(w)的内容和应用策略(v)的相同。
通过这些设置,在IPsec设置服务器1和IPsec处理设备2a之间设定了安全的IPsec路径,并且可以安全地执行设置信息和秘密密钥的分配。
在SPD 13中,对所有与IPsec设置服务器1进行通信的IPsec处理设备2,必须逐一地进行设置。例如,在图21所示的例子中,除了用于IPsec处理设备2a和2b的策略外,还要设置用于IPsec处理设备2d和2e的策略。
接着,在IPsec设置服务器1中,在分配策略存储部分16中置入IPsec处理设备2a和IPsec处理设备2b之间所应用的IPsec策略。图3示出了分配策略存储部分16的示例。在分配策略存储部分16的地址对列中置入IPsec处理设备2a和2b的地址,在其分配策略列中置入要应用到通信上的策略。
在所述策略中置入所使用的IPsec协议、封装模式、加密算法、认证算法和SA有效性期限。另外,因为IPsec设置服务器1把一个共用秘密密钥分配给各个IPsec处理设备2a到2f,所以IPsec处理设备2a到2f不使用IKE。因此,在分配策略中不必设置用于IKE的参数。
由IPsec设置服务器1管理的其他种类的通信的所有策略都在分配策略存储部分16中进行设置。在图3所示的示例中,除了IPsec处理设备2a和IPsec处理设备2b之间的通信的策略外,还要设置IPsec处理设备2d和IPsec处理设备2e之间的通信的策略。
对于各个IPsec处理设备2a到2f都要设置SPD 24。为了加密与IPsec设置服务器1之间使用IPsec的通信,将通常的IPsec设置应用到SPD 24上。对于实际想要应用IPsec的通信,设置选择器列和用于设置请求的相对方地址列。
图15示出了IPsec处理设备2a的SPD 24示例。ID=1的条目就是用于加密和IPsec设置服务器1之间的通信的设置。这个设置对应于IPsec设置服务器1的SPD 13的设置。图16示出了应用策略(z)的内容。除了相对方地址外,该内容和IPsec设置服务器1中所设置的策略的内容相同,并且还包括了用于IKE的设置。
ID=2的条目就是用于加密指向专用网202的通信的设置。这个指向专用网202的通信在选择器列中被设置为作为目标出现的通信,并且在处理列中置入IPsec。这里,省略了IPsec应用策略列,并且在用于设置请求的相对方地址列中置入IPsec处理设备2b的地址。
IPsec处理设备2a想要在其上应用IPsec的各种通信都在SPD 24中进行设置。在图15所示的示例中,进行一些设置,以使得除了和IPsec处理设备2b之间的通信外,还实现了与指向专用网203的通信有关的、和IPsec处理设备2c之间的IPsec通信。
和上述相同的设置也被应用到IPsec处理设备2b上。即,在SPD 24中,与应用策略一道完成了IPsec设置服务器1的设置,并为其他种IPsec通信设置了选择器和用于设置请求的相对方地址。
这些是需要提前进行的设置。图23示出的例子中,和上面相同的设置被应用到传统IPsec处理设备的SPD中。在传统IPsec处理设备中,对IPsec设置服务器1的设置不是必要的,而对应用了IPsec的各种通信来说,应当设置包含了用于IKE的设置的应用策略。在图23所示的例子中,分别为指向专用网202的通信和指向专用网203的通信设置了应用策略(j)和应用策略(k)。图24示出了应用策略(j)的内容。除了诸如IPsec协议和封装模式等的IPsec应用策略外,在应用策略(j)中也设置了IKE的策略。
这里,在设备的全部组合中,当n个IPsec处理设备执行彼此间的IPsec通信时,将使用根据本实施例的IPsec设置服务器1时的设置量和传统IPsec处理设备所需的设置量进行比较。当用于IPsec策略的设置和用于IKE策略的设置分别被计数为“1”时,在传统IPsec处理设备中,因为必须对一个IPsec处理设备设置(n-1)个IPsec策略和IKE策略,所以用于一个IPsec处理设备的设置量是2(n-1),而用于n个IPsec处理设备的设置量是2n(n-1)。
另一方面,在根据本实施例的IPsec处理设备2中,因为对于和IPsec设置服务器1的通信只设置一个IPsec策略和一个IKE策略,所以一个IPsec处理设备的设置量是2,而n个IPsec处理设备的设置量是2n。
因为对于和各个IPsec处理设备2的通信设置了一个IPsec策略和一个IKE策略,所以IPsec设置服务器1需要2n的设置量,并且因为对于各个IPsec处理设备2之间的通信组合设置了一个IPsec策略,所以也需要n(n-1)/2的设置量。于是,整个设置服务器所必需的设置量是2n+n(n-1)/2。
因此,当根据本实施例的IPsec设置服务器1被使用时,设置量是4n+n(n-1)/2=n(n+7)/2。例如,当n=10时,本发明的设置量是85,而传统方法的设置量是180。可见,大约一半的设置量就足够了。
注意n2这一系数,可以发现,随着n的增长,本实施例的设置量接近传统方法设置量的1/4,当出现更多组合时,本发明的效果将增加。
接着,将说明在IPsec处理设备2a已收到指向专用网202的包后的操作。当IPsec处理设备2a从接口部分21接收到指向专用网202的包时,这个包被交给了IPsec处理部分23。
IPsec处理部分23将SPD 24的选择器和所收到的包进行比较,以发现对应的条目。如果将图15中所示的内容和指向专用网202的包进行比较,这个包与ID=2的条目一致。IPsec处理部分23根据该条目的处理列试图应用IPsec。然而,因为没有设置IPsec应用策略,而设置了用于设置请求的相对方地址以取代它,所以IPsec处理部分23延缓了IPsec应用处理并请求设置管理部分26获取设置。
一旦从IPsec处理部分23收到获取设置的请求,设置管理部分26就为SPD条目生成请求消息。图6示出了请求消息的例子。设置管理部分26在ID和SPI中置入任意数值,在请求源地址中置入IPsec处理设备2a自己的地址,在相对方地址中置入IPsec处理设备2b的地址,这也是该SPD条目中用于设置请求的相对方地址。
设置管理部分26向IPsec设置服务器1发送所生成的请求消息。在向IPsec设置服务器1发送请求消息后,设置管理部分26以五秒为间隔重复发送该请求消息,而一旦从IPsec设置服务器1收到对应于该请求消息的响应,或者发送该请求消息达到六次,就停止发送这个请求消息。通过重复发送该请求消息,设置管理部分26即使在丢失一个请求消息的情况下,仍可以用其他请求消息来继续处理。
当该请求消息从设置管理部分26被发送到IPsec设置服务器1时,根据图15所示的SPD 24的第一条目,这个请求消息由IPsec处理部分23进行IPsec处理,接着被传送到IPsec设置服务器1。因此,要被发送给IPsec设置服务器1的消息可以被安全地传送,而不被因特网100上的第三方窃取。注意,因为从各个IPsec处理设备2传送到IPsec设置服务器1的所有消息都受到了IPsec,并接着以相同的过程被传送,所以在下面的说明中,就不对向传送到IPsec设置服务器1的消息应用IPsec的过程进行描述了。
发送给IPsec设置服务器1的请求消息到达IPsec设置服务器1的接口部分11。在接口部分11中接收的请求消息被传送给IPsec处理部分12。IPsec处理部分12把经IPsec加密的请求消息解密为初始状态,并把解密后的包发送给请求处理部分15。
注意,因为从各个IPsec处理设备2传送到IPsec设置服务器1的所有消息都以相同的过程到达请求处理部分15,所以在下面的说明中就不再描述从在接口部分11接收消息到把它传递给请求处理部分15的过程。类似地,也不对把IPsec应用到从IPsec设置服务器1传送到IPsec处理设备2的消息的过程进行描述了。
一旦收到请求消息(图12中的步骤SI),请求处理部分15就从管理表17中检索具有与该请求消息中对应部分相一致的地址和ID的条目。然而,因为在管理表17中最初没有设置任何东西,所以没有发现一致的条目(图12中的步骤S2、S7和S9)。
对于新的注册,请求处理部分15利用请求消息中所包含的请求源地址和相对方地址作为关键字来从分配策略存储部分16中检索对应的条目(图13中的步骤S21)。因为请求消息中所包含的请求源地址和相对方地址分别是IPsec处理设备2a和IPsec处理设备2b,所以图3中所示的分配策略存储部分16中开头的条目与该请求消息相一致。
因为在分配策略存储部分16中发现了一致的条目,所以请求处理部分15选择管理表17的新条目,并在请求源地址列、相对方地址列、请求ID列和SPI列中分别置入所述请求消息中包含的IPsec处理设备2a的地址、IPsec处理设备2b的地址、请求ID“1001”和SPI“5100”。请求处理部分15在同一条目的另一个请求源地址和另一个相对方地址中分别置入IPsec处理设备2b的地址和IPsec处理设备2a的地址。
而且,请求处理部分15在管理表17的设置参数列中置入在分配策略存储部分16的对应条目中所设置的分配策略(a)(图13中的步骤S22)。图25示出了在其中完成上述设置的管理表17。
请求处理部分15向作为相对方地址的IPsec处理设备2b发送请求启动消息(图13中的步骤S23)。请求处理部分15在请求启动消息中置入IPsec处理设备2a的地址作为相对方地址,而该IPsec处理设备2a的地址就是所述请求消息的传输源地址。图8示出了该请求启动消息的示例。
请求处理部分15以五秒为间隔发送请求启动消息,最多发送六次,直到从IPsec处理设备2b收到请求消息。通过重复发送请求启动消息,请求处理部分15即使在丢失一个请求启动消息的情况下,仍可以用其他请求启动消息来继续处理。
发送给IPsec处理设备2b的请求启动消息到达IPsec处理设备2b的接口部分22。在IPsec处理设备2b中,接口部分22收到的请求启动消息被发送给IPsec处理部分23。
IPsec处理部分23把根据IPsec加密的请求启动消息解密为初始状态,并把解密后的包发送给路由部分27。路由部分27判断出该消息的目的地就是IPsec处理设备2b自身,并把该请求启动消息交给设置管理部分26。注意,因为从IPsec设置服务器1传送到各个IPsec处理设备2的所有消息都以相同的过程到达设置管理部分26,所以在下面的说明中就不再描述从在接口部分22中接收消息到把该消息传递给设置管理部分26的过程。
一旦从IPsec设置服务器1接收到请求启动消息,设置管理部分26就从SPD 24的条目中检索具有与IPsec处理设备2a的地址一致的用于设置请求的相对方地址的条目。因为在IPsec处理设备2b的SPD 24中提前设置了IPsec处理设备2a的条目,所以IPsec处理设备2a与该条目一致。
设置管理部分26生成请求消息以获取所述条目的策略。在请求消息中,设置管理部分26在请求源地址和相对方地址中分别置入IPsec处理设备2b的地址和IPsec处理设备2a的地址。设置管理部分26在ID和SPI中置入请求ID“2001”和SPI“6100”,这是设置管理部分26所任意选定的。
设置管理部分26向IPsec设置服务器1发送所生成的请求消息。在向IPsec设置服务器1发送请求消息后,设置管理部分26以5秒为间隔重复发送该请求消息,而且一旦从IPsec设置服务器1收到对应于该请求消息的响应,或者传送该请求消息达到六次,就停止发送该请求消息。
从IPsec处理设备2b发送的请求消息到达IPsec设置服务器1的接口部分11,并被传输到请求处理部分15。一旦收到来自IPsec处理设备2b的请求消息,请求处理部分15就停止发送请求启动消息,并开始该请求消息的接收处理(图12中的步骤S1)。
请求处理部分15从图25所示的管理表17中检索与请求消息中所包含的地址和ID相一致的条目。然而,不存在任何具有一致ID的条目(图12中的步骤S2)。另外,也不存在任何具有一致地址和SPI的条目(图12中的步骤S7)。
接着,请求处理部分15在管理表17内检索具有一致的地址和空白的ID的条目(图12中的步骤S9)。因为图25所示的第一条目对应于该条目,所以请求处理部分15使用请求消息中所包含的值而分别在空白的ID列和SPI列中置入请求ID“2001”和SPI“6100”。
而且,请求处理部分15生成一SA参数,用于从IPsec处理设备2a到IPsec处理设备2b的转发方向,还生成一用于相反方向的SA参数(图12中的步骤S10)。更具体地说,请求处理部分15对IPsec协议、封装模式、加密算法、认证算法和有效性期限置入与分配策略(a)相同的内容,从随机数发生器18获取随机数,用于加密密钥、认证密钥和IV并设置这些值。
另外,请求处理部分15在接收端的SPI列中置入一SPI,该SPI由将成为接收端的IPsec处理设备2所使用。图4示出了设置后管理表17的内容。对于第一条目,在请求ID列中置入“2001”,在SPI列中置入“6100”,在用于各个方向的SA参数中置入SA参数(a)和SA参数(b)。图5示出了SA参数(a)的内容。相反方向上的SA参数(b)具有相同的内容,除了使用不同的随机数的值作为加密密钥、认证密钥和IV,以及接收端SPI的值是相应于IPsec处理设备2a的“5100”之外。
请求处理部分15使用管理表17中设置参数列的内容来生成分配消息,并把它分别发送给IPsec处理设备2a和IPsec处理设备2b(图12中的步骤S11)。
此时,请求处理部分15将管理表17的所述条目中所示出的值用于待发送的分配消息中所要置入的请求源地址、相对方地址和ID。因此,在指向IPsec处理设备2a的分配消息中,请求源地址、相对方地址和ID的值分别是IPsec处理设备2a的地址、IPsec处理设备2b地址和请求ID“1001”;在指向IPsec处理设备2b的分配消息中,则分别是IPsec处理设备2b的地址、IPsec处理设备2a地址和请求ID“2001”。图7示出了指向IPsec处理设备2a的分配消息的内容。
在发送了分配消息后,请求处理部分15使用计时器19来测量与SA参数的有效性期限相同的时间长度,当计时器19过期时,删除管理表17中的相应条目。
从IPsec设置服务器1发送到IPsec处理设备2a的分配消息到达IPsec处理设备2a的接口部分22,并被传输到设置管理部分26。
一旦从IPsec设置服务器1收到分配消息,IPsec处理设备2a的设置管理部分26就停止发送请求消息,并在SPD 24的IPsec应用策略列中置入该分配消息所包含的应用策略。图26示出了置入策略后SPD 24的内容。
而且,设置管理部分26使用该分配消息所包含的SA参数来分别生成用于两个方向上通信的SA,并在SAD 25中设置这些SA。图17示出了SAD 25的内容,其中设置了从IPsec处理设备2a到IPsec处理设备2b方向上的SA。
SAD 25的第一条目是对应的条目。分配消息所通知的SA参数(a)在增加了一个序列号后被置入SAD 25中。设置管理部分26根据分配消息所通知的SA参数(b)的内容,以同样的方式也设置用于接收的SAD 25。此时,IPsec处理设备2a的IPsec处理部分23可以对指向IPsec处理设备2b的通信执行IPsec处理。
一旦完成对SPD 24和SAD 25的设置,设置管理部分26就通知IPsec处理部分23处理完成。一旦从设置管理部分26收到处理完成的通知,IPsec处理部分23就恢复对数据通信包进行已延缓的处理。此时,因为在SPD 24的条目的应用策略及SAD 25的对应条目都存在,所以IPsec处理部分23可以像过去一样执行IPsec处理。
受到IPsec处理的包被传送到IPsec处理设备2b。因为在从IPsec设置服务器1收到分配消息的时候,在IPsec处理设备2b端的SPD 24和SAD25中的条目也都进行了设置,所以当从IPsec处理设备2a接收到受到IPsec处理的包时,可以按照传统过程来执行IPsec的解密处理。
已由IPsec处理设备2b的IPsec处理部分23进行解密处理的包被从接口部分21传送到专用网202。这样,来自专用网201的包就到达了专用网202。
下面说明一种情形,即从专用网201到专用网202的包还被不断地产生。IPsec处理设备2a的IPsec处理部分23检索图26所示的SPD 24,以确认在第二条目中已存在有策略,还要检索图17所示的SAD 25,以确认在第一条目中存在有SA,并使用该SA执行IPsec处理。就是说,在从IPsec设置服务器1获得设置参数后,IPsec处理部分23以和传统IPsec同样的方式进行操作。
然后,将说明更新SA时的操作。IPsec处理设备2a的IPsec处理部分23监控SAD 25,并为有效性期限过期的条目执行对SA的更新。
当更新SA时,IPsec处理部分23请求设置管理部分26获取设置。此时,IPsec处理部分23把SPD 24中与该SA对应的条目通知给设置管理部分26。
一旦从IPsec处理部分23收到获取设置的请求,设置管理部分26就生成对该SPD条目的请求消息。在该请求消息中,除了ID和SPI外,与被最初发送的请求消息相同的内容被置入。对ID和SPI设置新的值。这里,假定设置管理部分26已经分别选择了“1002”和“5110”作为ID和SPI的值。
设置管理部分26向IPsec设置服务器1发送所生成的请求消息。在向IPsec设置服务器1发送请求消息后,设置管理部分26以五秒为间隔重复发送该请求消息,一旦从IPsec设置服务器1收到对应于该请求消息的响应,或者发送请求消息达到六次,设置管理部分26就停止发送请求消息。
发送给IPsec设置服务器1的请求消息到达IPsec设置服务器1的接口部分11,并被传输到请求处理部分15。一旦收到请求消息(图12中的步骤S1),请求处理部分15就从管理表17中检索具有与该请求消息一致的地址和ID的条目。然而,因为ID和SPI都有新的值,所以没有发现一致的条目(图12中的步骤S2和S7)。另外,此时,也不存在具有空白ID的条目(图12中的步骤S9)。
接下来的操作与首次收到请求消息时的操作一样。即,请求处理部分15检索分配策略存储部分16(图13中的步骤S21),并在管理表17中重新注册条目(图13中的步骤S22)。图4示出了管理表17此时的内容。可以看到,ID列和SPI列分别为“1002”和“5100”的条目被加入到第二位置上。
请求处理部分15向作为相对方的IPsec处理设备2b发送请求启动消息(图13中的步骤S23)。一旦收到请求启动消息,IPsec处理设备2b也设置新的ID和SPI,并发送请求消息。这里,假定IPsec处理设备2b已经分别选择了“2002”和“6110”作为新的ID和SPI。
一旦从IPsec处理设备2b收到请求消息(图12中的步骤S1),IPsec设置服务器1的请求处理部分15就发现具有一致的地址和空白ID的条目(图12中的步骤S9),并把该请求消息所通知的ID和SPI,以及所生成的SA参数置入管理表17中(图12中的步骤S10)。图27示出了管理表17此时的内容。
当把图27所示的内容和图14所示的内容进行比较时,可以看到,在空白的ID和SPI列中置入了“2002”和“6110”,并且还设置了SA参数。而且,请求处理部分15根据管理表17的内容生成分配消息,并把它分别发送给IPsec处理设备2a和IPsec处理设备2b(图12中的步骤S11)。
一旦收到该分配消息,每个IPsec处理设备2的设置管理部分26在SPD 24中设置该分配消息所通知的策略,并从所通知的SA参数中产生一SA以设置SAD 25。此时,可得到新的SA,对SA的更新完成。
这里,从IPsec处理设备2从接口部分21收到应用了IPsec的第一包开始,直到IPsec处理设备2对这个包实际执行了IPsec处理,以把它发送给接口部分22为止,关于其间的处理,对根据传统IPsec的过程和根据本实施例的过程做一比较。
在传统方法中,如图32所示,一旦从接口部分41收到包,IPsec处理部分43就根据IKE执行对公共密钥的算术运算,并和作为通信相对方的IPsec处理设备交换该公共密钥。IPsec处理部分43还执行对秘密密钥的算术运算,使用所得到的秘密密钥把IPsec应用到所述包上,并把这个包发送给接口部分42。
另一方面,在本实施例的过程中,如图28所示,一旦从接口部分21收到包,IPsec处理部分23就请求设置管理部分26获取设置,并且设置管理部分26向IPsec设置服务器1发送请求消息。
一旦从IPsec设置服务器1收到分配消息,设置管理部分26就通知IPsec处理部分23设置完成,并且IPsec处理部分23把IPsec应用到所述包上,再把它发送给接口部分22。
从接口部分21收到包并对该包执行IPsec处理,直到接口部分21把这个包发送给接口部分22,在这期间,假定传统过程和本实施例的过程所用去的时间分别是Tb和Ta。此时,可以看到,因为公共密钥和专用密钥的算术运算在传统过程中花费一定的时间,所以Tb大于Ta,而在本实施例的过程中,可以更早地把包传送出去。
例如,如果假定在IKE的Diffie-Hellman密钥共用算法中所使用的群是1536比特MODP(模指数群,Modular Exponentiation Group),并使用50MHz的RISC(精简指令集计算机)处理器,则Tb大约为18秒(实际测量值),然而Ta却小于一秒。
更严格地说,因为本实施例过程中的请求消息是由传统IPsec过程所发送的,所以此时,当执行IKE的密钥交换时,Tb小于Ta。然而,对于接下来的IPsec通信,无论作为相对方的IPsec处理设备2的组合是怎样的,当IPsec设置服务器1的IKE的SA有效时,Tb都大于Ta。
另外,如果在传统方法中执行对公共密钥或秘密密钥的算术运算,那么因为IPsec处理设备集中于IKE的算术运算处理,所以无需受到IPsec处理的包的传送速度下降。因为对每个通信中的相对方都要周期性地执行IKE的密钥交换处理,所以当有更多执行IPsec通信的相对方时,处理能力的下降速度增加了。
另一方面,在本实施例的过程中,虽然在IPsec处理设备2和IPsec设置服务器1之间周期性地执行密钥交换处理,但是由于不对每个要成为通信相对方的IPsec处理设备2都执行密钥交换处理,因此即使执行IPsec通信的相对方增加,处理能力的下降速度也将不变。
例如,如果假定在IKE的Diffie-Hellman密钥共用算法中所使用的群是1536比特MODP,假定IKE的SA的有效性期限是一小时,并使用50MHz的RISC处理器,那么当IPsec处理设备进行和其他10个IPsec处理设备的IPsec通信时,在传统过程中,一小时内将十次执行IKE的密钥交换,因而在一小时内,性能下降了大概180秒。
另一方面,在本实施例的方法中,仅与IPsec设置服务器1执行密钥交换,因而一小时内性能仅下降了约18秒。
对于因IKE的算术运算处理速度而引起的问题,作为解决该问题的现有手段,一种办法就是在IPsec处理设备上安装一个算术运算专用电路,以加快IKE的算术运算本身。图33示出了已安装这种算术运算专用电路的IPsec处理设备的示例。这种IPsec处理设备与图31所示的传统IPsec处理设备4不同,就在于算术运算专用电路51被连接到IPsec处理部分43上。
当需要IKE的算术运算时,IPsec处理部分43请求算术运算专用电路51执行算术运算。由于算术运算专用电路51高速执行算术运算,所以,图32所示的传统方法的算术运算处理所需要的时间减少了,整个设备的速度提高了。如果使用了这种装置,就可以解决因IKE的算术运算速度而引起的问题。然而,如果已经安装了不具备算术运算专用电路51的IPsec处理设备,那么有必要用带有算术运算专用电路的IPsec处理设备取代这种IPsec处理设备。
另一方面,因为在本实施例的方法中,可以通过软件实现全部所需的功能,所以可以通过对已安装的IPsec处理设备进行软件升级,来增加功能,这样就可以有效地利用现有的装备。
在本实施例中,按照这种方式,由于诸如所使用的服务和算法的信息集中设置在IPsec设置服务器1中,因此IPsec处理设备2和2a到2f可以从IPsec设置服务器1获得几乎所有的设置。于是,IPsec处理设备2和2a到2f中的许多设置都可以被简化。
另外,在本实施例中,由于在IPsec处理设备2和2a到2f中,不使用IKE就对秘密密钥进行更新,因此不需要对IKE的设置。于是,IPsec处理设备2和2a到2f中的许多设置都可以被简化。
而且,在本实施例中,由于使用了IPsec设置服务器1,因此虽然在现有技术中,需要对两端上执行IPsec的设备分别执行同样的设置,但是因为在各个设备中由IPsec设置服务器1设置的内容只须在它自己的设备中进行设置,所以用于IPsec处理的设置的总量可以减少。
除了以上方面,在本实施例中,由于发送了请求启动消息,在与请求消息传输源的IPsec处理设备相对的IPsec处理设备中,几乎在对传输源的IPsec处理设备中的IPsec策略进行设置的同时执行IPsec策略的设置。在设置了这些策略后,当传输源的IPsec处理设备加密并发送包时,相对的IPsec处理设备可以从传输源的IPsec处理设备中解密和接收这个包。
结果,在本实施例中,可以没有延时地在设置策略后执行加密和解密,可以没有故障地在传输目的地的IPsec处理设备中接收来自传输源的包,在相对的IPsec处理设备中对来自传输源的包进行解密之前的时间可以被大大缩短。
另外,在本实施例中,如果在发送请求启动消息的时候,没有从相对的IPsec处理设备中发送响应于该请求启动消息的请求消息,那么由于向传输源的IPsec处理设备发送了无响应错误消息,所以传输源的IPsec处理设备可以立即得知相对的设备不存在。
如上所述,传统上,由于在执行IPsec的两端设备中,需要相互独立地分别进行相同的设置,因此有可能发生设置内容不一致。但是,在本实施例中,由于使用了IPsec设置服务器1,而IPsec设置服务器1向两端的设备分配相同的设置,因此不会发生设置内容不一致。于是,可以消除因IPsec设置不一致而引起的连接故障。
另外,传统上,为了周期性地更新共用秘密密钥,使用IKE的复杂的算术运算是必要的。但是,在本实施例中,由于共用秘密密钥是从IPsec设置服务器1,而不是IKE中获得的,因此两端的设备就不必执行共用秘密密钥的算术运算。于是,相比于使用IKE的情况,通信开始前的时间缩短了。
类似地,传统上,为了周期性地更新共用秘密密钥,使用IKE的复杂的算术运算是必要的。但是,在本实施例中,由于共用秘密密钥是从IPsec设置服务器1,而不是IKE中获得的,因此两端的设备就不必执行共用秘密密钥的算术运算。于是,相比于使用IKE的情况,加在执行IPsec处理的设备上的算术运算负载减少了。
图29是示出根据本发明另一个实施例的IPsec处理设备的结构的方框图。图29示出了当IPsec处理设备3是个人计算机,而不是路由器时的应用示例。
除了去掉接口部分21并提供上层应用部分31以外,根据本发明另一个实施例的IPsec处理设备3具有和根据本发明如图14所示实施例的IPsec处理设备2相同的结构,相同的部件用相同的标号来标识。此外,相同部件的操作与本发明的前述实施例相同。
上层应用部分31是发送和接收数据通信包的实体,它连接到路由部分27。路由部分27判断所要发送和接收的包是指向上层应用部分31、设置管理部分26还是因特网100,并把这个包传输到每个目的地。
这里,要考虑以下情形,即假定图1中的IPsec处理设备2d和IPsec处理设备2e是个人计算机,而包是从IPsec处理设备2d发送到IPsec处理设备2e。
与路由器的情形一样,为了确保安全的IPsec路径,将IPsec设置服务器1分别与IPsec处理设备2d和2e之间的SPD 13提供给IPsec设置服务器1,在IPsec处理设备2d和IPsec处理设备2e之间所要应用的IPsec策略被设置在分配策略存储部分16中。
在这些IPsec处理设备2d和2e中设置SPD 24。为了加密与IPsec设置服务器1的通信,执行通常的IPsec设置,并为实际想要应用IPsec的通信设置选择器和用于设置请求的相对方地址。
当从IPsec处理设备2d发送包时,数据通信包从上层应用部分31传送到路由部分27,该上层应用部分31是发送和接收这个包的实体。路由部分27识别出该包的目的地是在因特网上,并把这个包传输到IPsec处理部分23。
接下来的过程与路由器情形下的实施例相同。即,IPsec处理部分23将SPD 24的选择器和所述包进行比较,以检索对应的条目,如果对应的条目中所指示的处理是IPsec,那么就应用IPsec。
此时,如果在对应的条目中不存在应用了IPsec的策略,那么IPsec处理部分23就延缓对该包的处理,并请求设置管理部分26来请求设置。设置管理部分26向IPsec设置服务器1发送请求消息并接收分配消息,从而设置SPD 24和SAD 25并通知IPsec处理部分23设置完成。IPsec处理部分23恢复对包进行已延缓的处理,并使用所设置的SA把IPsec应用于这个包,然后,通过接口部分22把这个包传输到因特网100。
接收时的过程也和路由器的情形基本相同。在IPsec处理设备2d和2e中,SPD 24和SAD 25已经由设置管理部分26进行了设置。通过接口部分22接收到的、受到IPsec处理的包被传输到IPsec处理部分23。IPsec处理部分23从SAD 25中检索对应的SA,并执行对该包的解密处理。
通过解密处理回到初始状态的包被传输到路由部分27。路由部分27判断这个包是否指向上层应用部分31还是设置管理部分26,如果这个包是指向上层应用部分31的,路由部分27把它传输到上层应用部分31。
按照这种方式,就完成了包的接收处理。因此,无论IPsec处理设备2d和2e是个人计算机还是路由器,都可以应用本实施例。
图30是示出根据本发明另一个实施例的分配策略存储部分的存储内容的图。在本发明的实施例中,在IPsec设置服务器1的分配策略存储部分16中必须为每种通信都设置要在实际执行IPsec通信的IPsec处理设备2之间应用的策略。然而,在本发明的另一个实施例中,由于多个共用策略被用于IPsec处理设备的几种组合,因此在分配策略存储部分16中所要设置的策略的数量减少了。注意,根据本发明另一实施例的IPsec设置服务器的结构与根据本发明如图2所示实施例的IPsec设置服务器1的结构相同。
在本实施例中,分配策略存储部分16能够为一个特定地址的组合来设置策略,同时,能以任意的组合设置策略。在图30所示的示例中,对所要应用于IPsec处理设备2d和IPsec处理设备2e之间的通信的策略和所要应用于所有其他组合的策略进行设置。在本实施例的情形中,由于许多IPsec处理设备2使用共用策略,因此可以减少分配策略存储部分16中所设置的策略的数量。
这里,当n个IPsec处理设备以IPsec处理设备的全部组合而进行相互之间的IPsec通信时,将比较本实施例所需的设置量和传统IPsec处理设备所需的设置量。这时,假定在IPsec通信的所有组合中都应用了相同的策略。
传统IPsec处理设备所需的总设置量是前面计算出的2n(n-1)。另一方面,在本实施例中,无论IPsec处理设备之间的通信组合的数量是多少,只要考虑IPsec策略这一种设置量就足够了。因此,本实施例中所需的设置量是4n+1。
从中可以看到,在传统方法中,设置量与n的平方成比例地增长,然而在本实施例中,由于设置量与n成比例地增长,所以随着组合数量的增加,效果愈发明显。例如,假设n=10,传统方法的设置量是180,而本实施例的设置量是41。可以看到,设置减少至大约1/4。
如上所述,在本发明的设备和方法中,由于在IPsec处理设备之间所应用的IPsec策略被集中管理,因此防止了通信设备之间设置不一致的发生。
另外,在本发明另一种设备和方法中,当收到请求消息时,由于请求启动消息被发送给IPsec处理设备,该IPsec处理设备是已设置请求消息的IPsec处理设备的通信的相对方,以使该IPsec处理设备发送通信的请求消息,因此实现了以下效果,即可以在设置策略后没有延时地执行加密和解密,并可以没有故障地从传输源接收包。
而且,在本发明的另一种设备和方法中,由于生成了在IPsec的加密和解密中所使用的共用秘密密钥,并且将所生成的共用秘密密钥分配给多个IPsec处理设备,因此实现了以下效果即不再需要进行共用秘密密钥的算术运算,各个设备中通信开始时的IPsec路径连接时间可以缩短,并可以防止性能的下降。
权利要求
1.一种网络,包括互联网协议安全性协议处理设备,其在两个不同的中心通过因特网通信时,使用互联网协议安全性协议以确保因特网路径上的安全性;和互联网协议安全性协议设置服务器设备,其管理所述互联网协议安全性协议处理设备的互联网协议安全性协议设置,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置用于集中管理要在第一和第二互联网协议安全性协议处理设备之间应用的所述互联网协议安全性协议的策略。
2.如权利要求1所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置基于从所述第一互联网协议安全性协议处理设备接收到的、用于所述第一和第二互联网协议安全性协议处理设备之间的通信的请求消息的内容,来指定所要应用于所述第一和第二互联网协议安全性协议处理设备之间的所述互联网协议安全性协议的策略。
3.如权利要求2所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置一旦接收到所述请求消息,就向所述第二互联网协议安全性协议处理设备发送请求启动消息,以使得所述第二互联网协议安全性协议处理设备发送通信的请求消息,所述第二互联网协议安全性协议处理设备是已发送所述请求消息的所述第一互联网协议安全性协议处理设备的通信相对方。
4.如权利要求3所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,当对所述请求启动消息没有任何响应时,该装置通知所述第一互联网协议安全性协议处理设备没有来自所述第二互联网协议安全性协议处理设备的响应。
5.如权利要求2所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置从所述请求消息的内容,以及所要应用于所述通信的所述互联网协议安全性协议的策略的内容中,生成互联网协议安全性协议通信中所需的安全性关联参数。
6.如权利要求2所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一种装置,该装置响应于所述请求消息发送一个分配消息,该分配消息至少包括所述互联网协议安全性协议的策略和安全性关联参数。
7.如权利要求1所述的网络,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置用于生成在所述互联网协议安全性协议的加密和认证中所使用的共用秘密密钥;还包括一个装置,该装置用于把所生成的共用秘密密钥分配给所述互联网协议安全性协议处理设备。
8.一种管理互联网协议安全性协议处理设备的互联网协议安全性协议设置的互联网协议安全性协议设置服务器设备,其在两个不同的中心通过因特网通信时,使用互联网协议安全性协议以确保因特网路径上的安全性,其中,所述互联网协议安全性协议设置服务器设备包括一种装置,该装置用于集中管理要在所述多个互联网协议安全性协议处理设备之间应用的所述互联网协议安全性协议的策略。
9.如权利要求8所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置基于从所述互联网协议安全性协议处理设备接收到的、用于所述互联网协议安全性协议处理设备和另一个互联网协议安全性协议处理设备之间的通信的请求消息的内容,来指定要应用于所述互联网协议安全性协议处理设备和另一个互联网协议安全性协议处理设备之间的所述互联网协议安全性协议的策略。
10.如权利要求9所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置一旦收到所述请求消息,就向一个互联网协议安全性协议处理设备发送请求启动消息,该互联网协议安全性协议处理设备是已发送该请求消息的互联网协议安全性协议处理设备的通信相对方,以使得所述通信相对方的所述互联网协议安全性协议处理设备发送通信的请求消息。
11.如权利要求10所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,当对所述请求启动消息没有任何响应时,该装置通知已发送所述请求消息的所述互联网协议安全性协议处理设备没有来自所述通信相对方的所述互联网协议安全性协议处理设备的响应。
12.如权利要求9所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置从所述请求消息的内容,以及所要应用于所述通信的所述互联网协议安全性协议的策略的内容中,生成所述互联网协议安全性协议通信中所需的安全性关联参数。
13.如权利要求9所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置响应于所述请求消息发送分配消息,该分配消息至少包括所述互联网协议安全性协议的策略和安全性关联参数。
14.如权利要求8所述的互联网协议安全性协议设置服务器设备,其中,所述互联网协议安全性协议设置服务器设备包括一个装置,该装置用于生成在所述互联网协议安全性协议的加密和认证中所使用的共用秘密密钥;还包括一个功能,该功能用于把所生成的共用秘密密钥分配给所述互联网协议安全性协议处理设备。
15.一种在因特网上使用互联网协议安全性协议的互联网协议安全性协议处理设备,其中,所述互联网协议安全性协议处理设备包括一个装置,该装置一旦收到应当应用所述互联网协议安全性协议的包,就判断是否要从互联网协议安全性协议设置服务器设备当中查询用于在所述互联网协议安全性协议设置服务器设备中进行集中管理的所述互联网协议安全性协议的设置。
16.如权利要求15所述的互联网协议安全性协议处理设备,其中,所述互联网协议安全性协议处理设备包括一个装置,该装置向所述互联网协议安全性协议设置服务器设备发送用于和另一个互联网协议安全性协议处理设备之间的通信的请求消息,以获取用于所述互联网协议安全性协议的设置。
17.如权利要求16所述的互联网协议安全性协议处理设备,其中,一旦从所述互联网协议安全性协议设置服务器设备中接收到用于使所述互联网协议安全性协议处理设备发送所述请求消息的请求启动消息,所述互联网协议安全性协议处理设备就发送所述请求消息。
18.如权利要求15所述的互联网协议安全性协议处理设备,其中,所述互联网协议安全性协议处理设备包括一个装置,该装置基于从所述互联网协议安全性协议设置服务器设备接收到的分配消息,设置安全性策略数据库和安全性关联数据库,其中,在所述安全性策略数据库中记录用于应用所述互联网协议安全性协议的策略,在所述安全性关联数据库中记录使各种通信都受到所述互联网协议安全性协议处理所必需的安全性关联。
19.如权利要求15所述的互联网协议安全性协议处理设备,其中,所述互联网协议安全性协议处理设备包括一个装置,该装置用于从所述互联网协议安全性协议设置服务器设备中获取在所述互联网协议安全性协议的加密和认证中所使用的共用秘密密钥。
20.如权利要求15所述的互联网协议安全性协议处理设备,其中,所述互联网协议安全性协议处理设备包括一个装置,该装置用于在所述安全性关联的有效性期限过期之前,向所述互联网协议安全性协议设置服务器设备重新发送请求消息,并获取新的设置信息。
21.一种用于网络的互联网协议安全性协议设置方法,该网络包括互联网协议安全性协议处理设备,其在两个不同的中心通过因特网通信时,使用互联网协议安全性协议以确保因特网路径上的安全性;和互联网协议安全性协议设置服务器设备,其管理所述互联网协议安全性协议处理设备的互联网协议安全性协议设置,其中,所述互联网协议安全性协议设置服务器设备包括一步骤,即集中管理要在所述多个互联网协议安全性协议处理设备之间应用的所述互联网协议安全性协议的策略。
22.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一步骤,即基于从所述互联网协议安全性协议处理设备接收到的、用于所述互联网协议安全性协议处理设备和另一个互联网协议安全性协议处理设备之间的通信的请求消息的内容,来指定所要应用于所述互联网协议安全性协议处理设备和另一个互联网协议安全性协议处理设备之间的所述互联网协议安全性协议的策略。
23.如权利要求22所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一步骤,即一旦收到请求消息,就向一互联网协议安全性协议处理设备发送请求启动消息,该互联网协议安全性协议处理设备是已发送该请求消息的互联网协议安全性协议处理设备的通信相对方,以使得所述通信相对方的所述互联网协议安全性协议处理设备发送通信的请求消息。
24.如权利要求23所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一步骤,即对所述请求启动消息没有任何响应时,通知已发送所述请求消息的所述互联网协议安全性协议处理设备没有来自所述通信相对方的所述互联网协议安全性协议处理设备的响应。
25.如权利要求22所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一步骤,即从所述请求消息的内容,以及所要应用于所述通信的所述互联网协议安全性协议的策略的内容中,生成所述互联网协议安全性协议通信中所需的安全性关联参数。
26.如权利要求22所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一个步骤,响应于所述请求消息发送一个分配消息,该分配消息至少包括所述互联网协议安全性协议的策略和所述安全性关联参数。
27.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议设置服务器设备包括一个步骤,生成在所述互联网协议安全性协议的加密和认证中所使用的共用秘密密钥;还包括一个步骤,把所生成的共用秘密密钥分配给所述互联网协议安全性协议处理设备。
28.如权利要求21所述的互联网协议安全性协议设置方法,其中,一旦收到应当应用所述互联网协议安全性协议的包,所述互联网协议安全性协议处理设备就判断是否要从互联网协议安全性协议设置服务器设备当中查询用于在所述互联网协议安全性协议设置服务器设备中进行集中管理的所述互联网协议安全性协议的设置。
29.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议处理设备向所述互联网协议安全性协议设置服务器设备发送用于和另一个互联网协议安全性协议处理设备之间的通信的请求消息,以获取用于所述互联网协议安全性协议的设置。
30.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议处理设备基于从所述互联网协议安全性协议设置服务器设备接收到的分配消息,设置安全性策略数据库和安全性关联数据库,其中,在所述安全性策略数据库中记录用于应用所述互联网协议安全性协议的策略,在所述安全性关联数据库中记录使每种通信都受到所述互联网协议安全性协议处理所必需的安全性关联。
31.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议处理设备从所述互联网协议安全性协议设置服务器设备中获取在所述互联网协议安全性协议的加密和认证中所使用的共用秘密密钥。
32.如权利要求21所述的互联网协议安全性协议设置方法,其中,所述互联网协议安全性协议处理设备在所述安全性关联的有效性期限过期之前,向所述互联网协议安全性协议设置服务器设备重新发送所述请求消息,并获取新的设置信息。
全文摘要
本发明提供了一种能够防止在通信设备之间出现设置不一致的IPsec设置服务器设备。IPsec处理部分使从接口部分接收到的数据通信包受到IPsec处理。从IPsec处理部分查阅SPD,该SPD记录用于应用IPsec的策略。从IPsec处理部分查阅SAD,该SAD记录使每种通信都受到IPsec处理所必需的SA。请求处理部分从IPsec处理设备中接收设置请求消息并返回分配消息。确定所请求的设置所必需的IPsec策略被存储在分配策略存储部分中。与所请求进行设置的各种SA通信有关的信息被存储在管理表中。
文档编号G06F11/30GK1496063SQ03157030
公开日2004年5月12日 申请日期2003年9月11日 优先权日2002年9月11日
发明者酒井征直 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1