对完美的前向保密感到困惑,请有人帮助我

网络工程 虚拟专用网 网络安全
2021-07-11 22:25:01

我刚刚阅读了以下文章在 IPsec VPN 中,预共享密钥是如何加密的?

了解第一阶段

PFS 上的基本线路:对于阶段 2 SA 的每个新协商,2 个网关必须生成新的阶段 1 密钥集。参考:http : //www.internet-computer-security.com/VPN-Guide/PFS

每次都会生成所有三个密钥对,即衍生、身份验证、加密密钥以及每个新的第 2 阶段 SA,如果是,每次都会生成第 1 阶段密钥?

1个回答

您提供的链接已损坏,因此我无法验证上下文。

但是,当我为另一个线程做出贡献时,我可能会在一个很好的地方对此做出贡献 =)。

在 ISAKMP(第 1 阶段)结束时,存在三个键:

  • 派生密钥——ISAKMP使用此密钥,而是将其交给 IPsec,以便 IPsec 可以创建自己的密钥
  • 身份验证密钥——ISAKMP 在其 HMAC 中使用此密钥(又名,使用密钥保护的散列算法)
  • 加密密钥——ISAKMP 使用此密钥对 ISAKMP 想要安全地向其他对等方加密的任何内容进行对称加密。因此,如果为 Phase1 选择的加密算法是 AES,则 AES 将使用此密钥对数据进行对称加密——AES 不会生成自己的密钥材料。

创建这三个密钥的部分原因是在第一阶段协商中执行Diffie Hellman 交换

导出密钥是给IPsec的,这样的IPsec可以使用它作为一个种子值再进一步生成自己的加密和认证密钥。

创建这些新 IPsec 密钥所涉及的数学运算涉及每个对等方随机生成的两个值,并在 ISAKMP 身份验证和加密密钥的保护下进行交换

上面加粗的部分很关键。因为如果(而且是一个很大的如果)有人能够在阶段 1 中破坏初始 DH 交换,他们将能够创建与上述相同的三个密钥。

所以回顾一下,没有 PFS,阶段 2 加密密钥由:

Derivative Key from ISAKMP+ Random Values exchanged every Phase2 negotiation

这在某种程度上被简化,以方便传达 OP 提出的潜在问题

这意味着,如果有人破坏了第 1 阶段的 DH,他们将拥有派生密钥的副本,并且拥有提取每个对等方生成和交换的新随机值所需的密钥。

因此,他们将拥有破坏 IPsec 密钥保护的任何内容所需的所有信息。

主要的一点是,如果他们破坏一个DH 交换,他们可能会破坏整个实施的安全性。

.

Perfect Forward Secrecy通过在第 2 阶段协商中引入第二个DH 交换来防止这种情况发生

启用 PFS 后,IPsec 密钥由以下值组成:

Derivative Key from ISAKMP+ Random Values exchanged every Phase2 negotiation+ Phase 2 DH Exchange

同样,这稍微简化了

为了破坏这个实现,黑客必须强行执行阶段 1 DH 交换以创建阶段 1 密钥,这让他们获得在阶段 2 中交换的派生密钥和随机值,然后再次强行执行阶段 2 DH 交换。只有这样,他们才能将 IPsec 安全密钥放在一起。


但是要明确您的一个问题……第 1 阶段的密钥不会在每个第 2 阶段重新生成。每个新的第 2 阶段的新密钥来自相同的衍生密钥,但每次第 2 阶段交换都会生成不同的随机值。