首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISAKMP“主密钥”PFS (第一阶段)与Ipsec会话密钥PFS (第二阶段)

ISAKMP“主密钥”PFS (第一阶段)与Ipsec会话密钥PFS (第二阶段)
EN

Cryptography用户
提问于 2020-02-17 18:00:05
回答 2查看 312关注 0票数 0

一个让密码专家帮助一个有点困惑的家伙的问题:为什么PFS (完美的前向保密)在第二阶段和第一阶段也存在?

理由:在第一阶段ISAKMP中,主要模式的结果是采用以下关键材料:

SKEYID_d = prf(SKEYID,g^xy _ CKY-I = CKY-R = 0)

SKEYID_a = prf(SKEYID,SKEYID_d _ g^xy _ CKY-I _x_ CKY-R _ 1)

SKEYID_e = prf(SKEYID,SKEYID_a _ g^xy _ CKY-I _x_ CKY-R _ 2)

在第二阶段中使用SKEYID_d来生成会话密钥。g^xy是DH (Diffie-Hellman)共享的秘密。

因此,已经有PFS在第一阶段的设计。每次有人建立一个新的IPsec VPN隧道,将使用一个新的DH共享秘密g^xy来计算SKEYID_d,对吗?因此,第二阶段的会议密钥也将是独一无二的。这里是PFS吗?

那么,如果我们在第二阶段也做了DH,我们就会有双倍的PFS?有什么意义?

EN

回答 2

Cryptography用户

发布于 2020-02-17 19:00:23

因此,已经有PFS在第一阶段的设计。每次有人建立一个新的IPsec VPN隧道,将使用一个新的DH共享秘密g^xy来计算SKEYID_d,对吗?因此,第二阶段的会议密钥也将是独一无二的。这里是PFS吗?

不,您不会为每个快速模式重新计算一个新的SKEYID_d;而是在创建IKE安全关联时为SKEYID_d分配一个值(就像所有其他SKEYID值一样),然后在SA的持续时间内保持不变。

因此,这不符合完美前向保密的定义;其背后的想法是,如果对手捕获设备(并了解它所知道的一切),他将不会学习任何以前的密钥(当然,他将学习任何当前的密钥)。

在这种情况下,对手将学习值SKEYID_d;IPsec键是在IKEv1中从prf(SKEYID_d, [ g(qm)^xy | ] protocol | SPI | Ni_b | Nr_b)派生的。如果攻击者捕获了设备(因此了解了SKEYID_e值,从而能够解密IKE通信量),他就会了解协议、SPI、Ni_b和Nr_b的值(因为它们都是通过加密的会话发送的)。

因此,如果不使用PFS选项,攻击者可以学习IPsec键控材料,并读取所有通信量。如果正确使用PFS选项,则攻击者无法学习g(qm)^xy,因此无法获得键控材料。

我在IKEv1的上下文中发表了这些评论;类似的推理也适用于IKEv2 (IKE的当前版本)。

票数 1
EN

Cryptography用户

发布于 2020-02-18 07:46:38

显然,我(TS)不被允许评论,所以我不得不键入我的答复作为答复。@Poncho谢谢你的澄清。因此,将我的新发现的知识应用到实际的活动场景中,PFS对于在第二阶段永远不会有rekey的vpn会话没有好处。如果您在PH之前受到损害,攻击者就可以得到当前的SKEYID_d,而不管PFS是什么。

我知道,为了充分满足第一阶段的标准,材料不应依赖于第二阶段的关键材料。如果第二阶段不启动PFS,显然不符合这一标准。

供未来读者参考(如有错误,请更正):

  • 如果攻击者能够在一开始就破坏(=解密第一阶段),那么您就完成了任务:再多的PFS也帮不了您。正如我假设的那样,他也能够计算在每个快速模式rekey中生成的所有后续KEYMAT。如果我是对的,rekey交换信息仍然会在受损的第一阶段(控制)通道上流动,因此计算KEYMAT所需的参数为攻击者提供了明文。
  • 使用pfs:如果攻击者在(比方说)10个快速模式(第二阶段)重键后可以破坏您的安全,那么到并包括第9个rekey的所有通信量都是safe...because,当前的KEYMAT在每个rekey上都会被丢弃。还可以保存当前KEYMAT下的通信量,因为攻击者不知道用于重新计算当前KEYMAT的参数(假设他无法从设备中获取这些参数)。在下一场比赛中,比赛结束了。
  • 没有pfs:如果攻击者在vpn会话期间的任何给定点上都可以访问KEYMAT,他将能够解密当前vpn会话only=>的所有过去通信量,如果您在开始下一个VPN会话之前不再受到威胁,那么您将获得安全的收益。假设您的会话将在this之前结束,那么安全性的数量就等于PFS场景,尽管严格意义上这不符合PFS的定义。
票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/77665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档