首页 理论教育 网络安全实例:IKE与IPSec关系和IKE主模式详解

网络安全实例:IKE与IPSec关系和IKE主模式详解

时间:2023-10-27 理论教育 版权反馈
【摘要】:RFC 2409描述的IKE就是用于这种动态协商的协议。图5.69展示了IKE与IPSec的关系。IKE协商分为两个阶段,分别称为阶段一和阶段二。IKE SA负责为双方进一步的IKE通信提供机密性、消息完整性以及消息源认证服务。图5.70 IKE主模式主模式总共有3个步骤,6条消息。通过这6条消息报,IKE对双方建立起一个IKE SA。但IKE野蛮模式交换只使用了3条消息。

网络安全实例:IKE与IPSec关系和IKE主模式详解

如前所述,不论是AH还是ESP,其对一个IP包执行操作之前,首先必须建立一个IPSec SA。RFC 2409描述的IKE就是用于这种动态协商的协议。

IKE为IPSec提供了自动协商交换密钥,建立SA的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护工作。IKE不是在网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥。并且即使第三方截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。IKE具有一套自保护机制,可以在不安全的网络上安全地分发密钥,验证身份,建立IPSec SA。

图5.69 IKE与IPSec的关系

IKE采用了ISAKMP(internet security association and key management protocol,RFC2408)所定义的密钥交换框架体系,并结合两个早期协议而成的,其中一个是Oakley,另一个是SKEME。Oakley是一个自由的协议,它定义了密钥交换机的顺序,提供了多种密钥交换机模式。SKEME则定义了密钥交换的方法。可以提供完善的前向安全性。图5.69展示了IKE与IPSec的关系。

1.协商的两个阶段

IKE使用DiffieHellman算法进行密钥交换,工作于IANA为ISAKMP指定的UDP端口500上。

IKE协商分为两个阶段,分别称为阶段一和阶段二。

(1)阶段一 在网络上建立一个IKE SA,为阶段二协商提供保护。IKE SA是IKE通过协商创建的一个安全通信通道,IKE SA本身也经过验证。IKE SA负责为双方进一步的IKE通信提供机密性、消息完整性以及消息源认证服务。

(2)阶段二 在阶段一建立的IKE SA的保护下完成IPSec SA的协商。

IKE定义了两个阶段的交换模式:主模式和野蛮模式;还定义了一个阶段二的交换模式:快速模式(quick mode)。另外还定义了两个其他交换用于SA的维护:新组模式(newGroup mode)和信息交换。前者用于协商新的AH交换组,后者用于通告SA状态和消息。

2.Cookie

在IKE交换开始的时候,双方的初始消息都会包含一个Cookie。Cookie通过散列算法计算出的一个结果。为了避免伪造,散列算法以一个本地秘密、对方标识以及当前时间作为输入。通常对方标识就是对方的IP地址端口号

使用Cookie的目的是保护处理资源受到DoS攻击,但又不消耗过多的CPU资源判断其真实性。因此在高强度运算的交换操作之前,需要有一个预先交换,以便能阻止一些拒绝服务攻击企图。

在主模式中,响应方为对方生成一个Cookice,只有在收到包含这个Cookie的下一条消息时,才开始真正的DH交换过程。

然而在野蛮模式中,通信双方在3条消息包交换中完成协商,没有机会在DH交换之前检查Cookie,因此也就无法防止DoS攻击。

绝对保护系统不受DoS攻击是不可能的,但Cookie的作用提供了一种容易操作的有限保护。

发起的Cookie和响应者的Cookice可以用来标识一个IKE SA。

3.IKE主模式

图5.70展示了IKE主模式。主模式是IKE强制实现的阶段一交换模式,它可以提供完整性保护(野蛮模式不能)。(www.xing528.com)

图5.70 IKE主模式

主模式总共有3个步骤,6条消息。

第一个步骤是策略协商。在这个步骤里,IKE对双方用主模式的前两条消息协商SA所使用的策略。下列属性被作为IKE SA的一部分来协商,并用于创建IKE SA:

(1)加密算法 IKE使用诸如DES这样的对称加密算法保证机密性。

(2)散列算法 IKE使用MD5,SHA等散列算法。

(3)验证方法 IKE允许多种不同的验证方法,包括预共享密钥(pre-shared key)、数字签名标准(digital signature standard)以及另外两种从RSA公共密钥加密得到签名和验证的方法,进行Diffie-Hellman操作的组(group)信息。

IKE使用了5个Oakley的DH交换组是:MODP 768位、MODP 1 024位、EC2N155字节、EC2N185字节、MODP 1 680位。其中必须实现的是第一种。

另外,IKE生存时间也会被加入协商消息,这个时间值可以以秒或者数值计算。如果这个时间超时了,便明确IKE SA的存活时间。就需要重新进行阶段一交。生存时间越长,被破解的可能性就越大。

第二个步骤是Diffie-Hellman交换。在这个步骤里,IKE对双方用主模式的第三和第四条消息交换Diffie-Hellman公共位及一些辅助数据(Nonce)。

在第三个步骤里,IKE对等体双方用主模式的最后两条消息报交换ID信息和验证数据,对Diffie-Hellman交换进行验证。

通过这6条消息报,IKE对双方建立起一个IKE SA。在使用预共享密钥的主模式IKE交换机,必须首先确定对方的IP地址。对于站点到站点的应用研究,这不是个大问题。但是在远程拨号访问时,由于移动用户的IP地址无法预先确定,就不能使用这种方法。

为了解决这个问题,需要使用IKE的野蛮模式交换。

4.IKE野蛮模式

IKE野蛮模式的目的与主模式相同——建立一个IKE SA,以便为后续协商服务。如图5.71所示。但IKE野蛮模式交换只使用了3条消息。前两条消息负责协商策略、交换。iffieHellman公共值以及辅助数值(nonce)和身份信息,同时第二条信息还用于验证响应者,第三条信息用于验证发起者。

图5.71 IKE野蛮模式

首先,IKE协商发起者发送一个消息,其中包括加密算法、散列算法、验证方法、进行Diffie-Hellman操作的组信息、Diffie-Hellman公共值、Nonce和身份信息。然后,响应者回应一条消息,不但需包含上述协商内容,还需要包含一个验证载荷;最后,发起者回应一个验证载荷。

IKE野蛮模式的功能比较有限,但是在不能预先得知发起者的IP地址,并且需要使用预共享密钥的情况下,就必须使用野蛮模式。另外,野蛮模式的过程比较简单快捷,在充分了解对方安全策略的情况下,也可以使用野蛮模式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈