什么是“半 PFS”保护,哪些协议或配置适用于它?

信息安全 tls 威胁缓解
2021-08-23 07:24:15

我正在寻找易受(或不易受)半 PFS 保护的方案和协议的列表。

据我了解,半 PFS 是如果一方被黑客入侵,客户端和服务器之间的通信可以被解密的地方。 这个 IETF 邮件列表OPTLS描述为只为会话提供一半的保护。

问题

  • 什么是“半保护”,它与 TLS 1.0 和更新的协议有什么关系?

  • 是否有其他实现(DTLS,???)能够 PFS 但具有类似的漏洞?

1个回答

我不完全确定我理解这个概念。但我认为关键在于,对于短期(“临时”)非对称密钥(DH,如今的 ECDH。但“临时 RSA”也曾经是一件事。)关于这些密钥的期限究竟有多短,有几种观点应该是。

在偏执狂的高度,“短期”可能意味着“每个连接一次”。而在偏执的低端,“短期”可能意味着“直到您重新安装软件,因为密钥共享仅在安装时生成”——以及介于两者之间的一切。例如,使用 F5 我认为默认设置是每小时重新生成一次 DH 密钥。但是您可以选择将“单个 DH 使用参数”设置为实际为每个连接重新生成。OpenSSL 有一个名为“SSL_OP_SINGLE_DH_USE”的选项,我认为它可以做同样的事情。否则 DH 密钥仅在服务器重新启动时重新生成。借助 Citrix NetScaler,您可以定义重新生成 DH 密钥的最大连接数。

(请参阅我的相关答案。)

我认为 TLS 规范从未指定您应该多久重新生成临时密钥。我认为他们将这完全留给实施者,并且从不做出明确甚至隐含的评论。

现在这在安全方面意味着什么?假设您有一个 TLS 连接。在最好的情况下——单一的 DH 使用——在一端。还有一个不太好的案例——在服务器重新启动时重新生成 DH 密钥——在另一端。让我们假设我们有一个中间攻击者正在使用“通吃”攻击。并且只记录几周的加密流量。

现在,如果该攻击者以某种方式获得了对其中一个连接端的非完全妥协——例如具有其中一个端的 RAM 的快照——这会给他带来什么?

如果他足够幸运地获得了不太好的结局的快照,那么这将允许攻击者追溯解密过去记录的任何 DHE 安全连接。由于服务器重新启动。并且也进入未来,直到下一次重新启动。

如果所有其他端都在不断地改变他们的角色,那就没关系了。

希望这能以某种方式回答你的问题。

旁注:在 TLS 1.3 设计过程中,实际上对 TLS 客户端/服务器实际上没有太多短暂性(这是一个词吗?)的需求:https ://datatracker.ietf.org/doc/ html/draft-rhrd-tls-tls13-可见性