新的 TLS 加密破坏攻击也会影响较新的 TLS 1.3,ECDHE_RSA 是否也受到影响?

信息安全 加密 tls 密码学 脆弱性
2021-08-12 09:29:18

2019 年 2 月 9 日:来源:新的 TLS 加密破坏攻击也会影响更新的 TLS 1.3

“来自世界各地的七名研究人员再次发现了另一种破解 RSA PKCS#1 v1.5 的方法,这是当今用于加密 TLS 连接的最常见的 RSA 配置。除了 TLS,这种新的 Bleichenbacher 攻击还适用于谷歌的新的 QUIC 加密协议也是如此。”

TLS_ECDHE_RSA 和 DHE_RSA 是否也受到影响?还是只有 TLS_RSA?如果不是,请解释原因。

Windows 更新示例:

fe2.update.microsoft.com.nsatc.net offered
TLS_ECDHE_RSA_WITH_AES128_GCM_SHA384
x25519

EC Diffie-Hellman Server Params
                Curve Type: named_curve (0x03)
                Named Curve: x25519 (0x001d)
                Pubkey Length: 32
                Pubkey: e3267867db92a040eae6ea57bdb8e042680fa2e95da1e983...
                Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
                Signature Length: 256
1个回答

这篇文章写得不好。首先,到了这个时候,这已经是老消息了:这次攻击是在两个多月前公开的。奇怪的是,这里之前似乎没有关于这种攻击的主题,但是Cryptography Stack Exchange 上有一个主题,您可以阅读该主题以了解攻击的工作原理。

本文误导的第二种方式是,这种攻击本身不会影响 TLS 1.3。如果攻击者设法降级连接,它会影响支持 TLS 1.3 和旧版本的服务器。

“用于加密 TLS 连接的最常见的 RSA 配置”也具有误导性。这在技术上是正确的,因为它是唯一使用 RSA 进行加密的 TLS 配置,但实际上大多数使用 RSA 的 TLS 配置都将其用于签名,而不是用于加密。

该攻击仅对TLS_RSA密码套件起作用,即对名称中包含 RSA 但不包含 DHE 或 ECDHE 的密码套件起作用。它攻击 RSA 解密。使用 RSA 签名或根本不使用 RSA 的密码套件不受影响。

为了执行直接攻击,攻击者必须说服受害者使用 TLS ≤1.2 和 RSA 解密密码套件。它通常可以通过劫持连接的最开始(这是一个中间人攻击)并告诉客户端它只支持 TLS 1.2(或某些早期版本)和只支持 RSA 解密密码套件来做到这一点。然后客户端发送一个使用服务器公钥加密的值,攻击者必须解密它才能继续与客户端对话。通常解密该值需要私钥,但如果服务器易受攻击,则攻击者能够通过使用 RSA 解密密码套件与服务器建立许多连接来欺骗服务器解密该值,并小心发送 -选择密文并观察服务器响应的精确时间。

即使客户端拒绝使用 RSA 解密密码套件,或者即使客户端仅支持 TLS 1.3,如果服务器使用相同的 RSA 私钥进行解密和签名,它仍然可能容易受到攻击。为了执行这种攻击变体,攻击者再次成为中间人,并使用 RSA 签名密码套件与客户端对话。在某些时候,攻击者需要使用服务器的私钥签署一个值,并且它通过使用 RSA 解密密码套件与服务器建立许多连接来做到这一点。

为了防止这种攻击,您可以执行以下任何操作:

  • 使您的服务器保持最新。这是防御所有攻击的最佳方式。
  • 在服务器上禁用 RSA 解密密码套件。
  • 在客户端禁用 RSA 解密密码套件,并且不要在服务器上使用相同的 RSA 私钥进行解密和签名。