详解IPSec介绍( 五 )


采用主模式时IKEv1阶段1的协商过程如图1所示 。图1 主模式下IKEv1阶段1的协商过程

详解IPSec介绍

文章插图
 
下面对这三个步骤进行详细说明:
  1. 协商对等体之间使用的IKE安全提议 。DeviceA发送ISAKMP消息,携带建立IKE SA所使用的参数(由IKE安全提议定义) 。DeviceB对DeviceA的IKE安全提议进行协商 。在协商时将从优先级最高的提议开始匹配,协商双方必须至少有一条匹配的IKE安全提议才能协商成功 。匹配的原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识 。DeviceB响应ISAKMP消息,携带经协商匹配的安全提议及参数 。如果没有匹配的安全提议,DeviceB将拒绝发起方的安全提议 。
  2. 使用DH算法交换与密钥相关的信息,并生成密钥 。两个对等体通过两条ISAKMP消息(3、4)交换与密钥相关的信息 。由获得的密钥信息推导出4个密钥 。其中SKEYID为基础密钥,通过它可以推导出SKEYID_a,为ISAKMP消息完整性验证密钥;可以推导出SKEYID_e,为ISAKMP消息加密密钥;可以推导出SKEYID_d,用于衍生出IPSec报文加密、验证密钥 。预共享密钥方式和数字证书方式下SKEYID的计算公式不同 。图2 DH密钥生成
  3. 对等体之间验证彼此身份 。两个对等体通过两条ISAKMP消息(5、6)交换身份信息(预共享密钥方式下为IP地址或名称,数字证书方式下还需要传输证书的内容),身份信息通过SKEYID_e加密,故可以保证身份信息的安全性 。两个对等体使用IKE安全提议中定义的加密算法、验证算法、身份验证方法和SKEYID_a、SKEYID_e对IKE消息进行加解密和验证 。IKEv1支持如下身份验证方法:预共享密钥这种方法要求对等体双方必须要有相同的预共享密钥(该密钥直接参与SKEYID的生成计算) 。对于设备数量较少的VPN网络来说易于配置,在大型VPN网络中,不建议采用预共享密钥来做身份验证 。RSA签名(通常称为数字证书)数字证书需要由CA服务器来颁发 。这种方法适用于大型动态的VPN网络 。证书验证和预共享密钥验证的主要区别在于SKEYID的计算和交换的身份信息,其他的交换和计算过程和预共享密钥验证方式相同 。数字信封认证在数字信封认证中,发起方采用对称密钥加密信息内容,并通过非对称密钥的公钥加密对称密钥,从而保证只有特定的对端才能阅读通信的内容,从而确定对端的身份 。此认证方法只能在IKEv1的主模式协商过程中使用,不能在IKEv1野蛮模式协商过程中使用 。
野蛮模式
野蛮模式仅交换3个消息就可以完成IKE SA的建立 。
采用野蛮模式时IKEv1阶段1的协商过程如图3所示 。图3 野蛮模式下IKEv1阶段1的协商过程
详解IPSec介绍

文章插图
 
野蛮模式时IKEv1阶段1的协商过程:
  1. DeviceA发送ISAKMP消息,携带建立IKE SA所使用的参数、与密钥生成相关的信息和身份验证信息 。
  2. DeviceB对收到的第一个数据包进行确认,查找并返回匹配的参数、密钥生成信息和身份验证信息 。
  3. DeviceA回应验证结果,并建立IKE SA 。
与主模式相比,野蛮模式的优点是建立IKE SA的速度较快 。但是由于密钥交换与身份认证一起进行,野蛮模式无法提供身份保护 。
主模式与野蛮模式的区别
野蛮模式安全性比主模式差 。但是野蛮模式可以满足某些特定场合的网络环境的需求 。例如:
  • 远程访问时,如果响应者(服务器端)无法预先知道发起者(终端用户)的地址、或者发起者的地址总在变化时,而双方都希望采用预共享密钥验证方法来创建IKE SA,此时可以采用野蛮模式 。NE采用预共享认证方式,若是可以获取出口网关的代理IP,也可以在此种情形下采用主模式下配置代理IP的方式 。
  • 如果发起者已知响应者的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建IKE SA 。
IKEv1协商阶段2IKEv1阶段2的目的就是建立用来传输数据的IPSec SA 。IPSec SA与IKE SA的关系如图4所示 。图4 IPSec SA与IKE SA的关系
详解IPSec介绍

文章插图
 
IKEv1阶段2通过快速交换模式完成 。由于快速交换模式使用IKEv1阶段1中生成的密钥SKEYID_a对ISAKMP消息的完整性和身份进行验证,使用密钥SKEYID_e对ISAKMP消息进行加密,故保证了交换的安全性 。
在快速交换模式中,对等体两端协商IPSec SA的各项参数,并为数据传输衍生出密钥 。


推荐阅读