我正在寻找易受(或不易受)半 PFS 保护的方案和协议的列表。
据我了解,半 PFS 是如果一方被黑客入侵,客户端和服务器之间的通信可以被解密的地方。 这个 IETF 邮件列表将OPTLS描述为只为会话提供一半的保护。
问题
什么是“半保护”,它与 TLS 1.0 和更新的协议有什么关系?
是否有其他实现(DTLS,???)能够 PFS 但具有类似的漏洞?
我正在寻找易受(或不易受)半 PFS 保护的方案和协议的列表。
据我了解,半 PFS 是如果一方被黑客入侵,客户端和服务器之间的通信可以被解密的地方。 这个 IETF 邮件列表将OPTLS描述为只为会话提供一半的保护。
问题
什么是“半保护”,它与 TLS 1.0 和更新的协议有什么关系?
是否有其他实现(DTLS,???)能够 PFS 但具有类似的漏洞?
我不完全确定我理解这个概念。但我认为关键在于,对于短期(“临时”)非对称密钥(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-可见性