我从这里读到的,https://www.rfc-editor.org/rfc/rfc7296
上面提到,
2.15.IKE SA的认证
发起者签署第一个消息(IKE_SA_INIT请求),从头中的第一个SPI的第一个八进制开始,最后一个有效负载的最后一个八进制结束。附加于此(为了计算签名的目的)是响应者的Nr和值prf(SK_pi,IDi')。对交易所的安全性至关重要的是,双方必须签署对方的“现在”。
在第一部分(IKE_SA_INIT请求)中,我们有Ni,然后附加Nr,
为什么我们需要附加第三部分: prf(SK_pi,IDi')然后在msg上签名?
为什么仅仅签署Ni和Nr是不够的?
发布于 2020-12-01 17:01:07
为什么仅仅签署Ni和Nr是不够的?
因为我们希望确保中间人可以修改(或劫持)初始消息而不被检测到。
考虑一下这次袭击:
实际上,Mallet正在建立两个独立的IKE连接,一个与Alice连接,一个与Bob连接。
然后,Alice验证自己的身份;如果她刚刚签署了她看到的Ni,Nr值,Mallet就可以将该签名重新发送给Bob ( Bob看到的是完全相同的Ni,Nr)值,这样Bob就会假设他在和Alice说话。
通过追加prf( SK_pi,IDi')值,这是不可能的(因为Alice和Bob没有相同的SK_pi值)。
https://crypto.stackexchange.com/questions/86604
复制相似问题