我目前正在尝试了解用于 IPsec 的 IKEv2 协议,并且想知道身份验证过程为何/如何工作。
据我了解,在之前的 IKE_SA_INIT 交换中,发起者和响应者就加密套件达成一致,相互发送他们的 DH 值和随机数。
以下 IKE_AUTH 交换应该验证对等方的身份。该协议从使用 DH 值和随机数计算的共享密钥 SKEYSEED 中派生出许多密钥。
在 IKE_AUTH 交换中,其中一个密钥对基本上只用于签署数据块 - 先前 IKE_SA_INIT 交换的副本、对等方的 nonce 和 prf(SK, ID)。
我不明白的事实是,由于 DH 值和随机数在 IKE_SA_INIT 交换中未经身份验证和未加密发送,攻击者就不能欺骗对方通信伙伴的身份并执行中间人攻击吗?
在协议中的什么时候,这样的中间人攻击(例如替换 DH 值)会被另一方识别?
非常感谢您!