「IKE」- 预共享密钥,第一阶段,野蛮模式(Aggressive Mode)

  CREATED BY JENKINSBOT

问题描述

在主模式协商中,在第二次交换之后便可生成会话密钥,会话密钥的生成材料中包含了预共享密钥。而当一个对等体同时与多个对等体进行协商SA时,则需要为每个对等体设置一个预共享密钥。为了对每个对等体正确地选择对应地预共享密钥,主模式需要根据前面交换信息中的IP地址来区分不同的对等体。

但是当发起者的IP地址是动态分配获得的时候,由于发起者的IP地址不可能被响应者提前知道,而且双方都打算采用预共享密钥验证方法,此时响应者就无法根据IP地址选择对应地预共享密钥。

解决方案

野蛮模式就是被用于解决这个矛盾的。

与主模式不同,野蛮模式仅用3条信息便完成了IKE SA的建立:
1)消息 1 交换 SA 载荷、密钥材料、和身份信息
2)消息 2 在交换消息 1 内容的同时增加 Hash 认证载荷
3)消息 3 是响应方对发起方的认证

由于对消息数进行了限制,野蛮模式同时也限制了它的协商能力,而且不会提供身份保护。

在野蛮模式的交换过程中,
1)发起者会提供一个保护套件列表、DH 公共值、nonce以及身份资料。所有这些信息都是随第一条信息进行交换的。
2)作为响应者,则需要回应选择一个保护套件、Diffie-Hellman公共值、nonce、身份资料以及一个验证载荷。
3)发起者将它的验证载荷在最后一条消息交换。

野蛮模式由于在其第一条信息中就携带了身份信息,因此本身无法对身份信息进行加密保护,这就降低了协商的安全性,但也因此不依赖IP地址标识身份,在野蛮模式下也就有了更多灵活的应用。

实验观察

实验拓扑:

交互抓包(./ipsec-aggressive-mode.pcapng):