问题描述
在 Main Mode 中,当第二次交换后,便可生成会话密钥,会话密钥的生成材料中包含预共享密钥。
而当某个对等体需要同时与多个对等体进行协商 SA 时,则需要为每个对等体设置一个预共享密钥。为了对每个对等体正确地选择对应地预共享密钥,Main Mode 需要根据前面交换信息中的 IP-ADDR 来区分不同的对等体;
但是,当发起者的 IP-ADDR 是动态分配获得的时候(变化的),由于发起者的 IP-ADDR 不可能被响应者提前知道,而且双方都打算采用预共享密钥验证方法,此时响应者就无法根据 IP-ADDR 选择对应地预共享密钥;
解决方案
野蛮模式就是被用于解决这个矛盾的;
原理简述
与主模式不同,野蛮模式仅用 3 条信息便完成 IKE SA 的建立:
由于对消息数进行了限制,野蛮模式同时也限制了它的协商能力,而且不会提供身份保护;
在野蛮模式的交换过程中,
1)发起者会提供一个保护套件列表、DH 公共值、nonce 以及身份资料。所有这些信息都是随第一条信息进行交换的;
2)作为响应者,则需要回应选择一个保护套件、Diffie-Hellman 公共值、nonce、身份资料,以及一个验证载荷;
3)发起者将它的验证载荷在最后一条消息交换;
特性特征
提高速度:与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,
降低安全性:野蛮模式由于在其第一条信息中就携带了身份信息,所以本身无法对身份信息进行加密保护,这就降低了协商的安全性;
增加灵活性:其不依赖 IP 地址标识身份(能通过 IP-ADDR 或 Name 来标识对等体),在野蛮模式下也就有了更多灵活的应用;
实验观察
实验拓扑:
交互抓包(./ipsec-aggressive-mode.pcapng):