带有密码 ECDHE 的 TLS 的部署范围有多广?

信息安全 tls 密码学 视窗 网络服务器
2021-09-10 21:27:18

Microsoft为 Windows 2012 R2 和 Windows 8.1部署了一个补丁,其中添加了以下密码。

Cipher suite                      Exchange  Encryption  Hash
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384     DH  AES         SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256     DH  AES         SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384         RSA AES         SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256         RSA AES         SHA256

缺少 ECDHE(请注意 TLS_ 之后密码名称中的第一组字母)*。CERT论坛帖子中也提到了对缺乏 ECDHE 支持的抱怨

问题

  • 是否有任何 TLS 调查可以扫描 ECDHE 网站中的 TLS 密码支持?
  • ECDHE 在客户端的支持范围有多广?

根据 Microsoft 的历史,他们可能不会优先考虑 ECDHE 支持,直到它被服务器或 Web 浏览器广泛使用。我希望使用这些信息来估计 MSFT 是否/何时可以在 SChannel 中包含此类支持。

*旁白:我为什么要 ECDHE?因为它更快。

4个回答

去年(2013 年 5 月),我通过随机联系 SSL 服务器进行了一个实验:我正在连接到随机 IPv4 地址的 443 端口,如果我收到响应,我的客户端会进行一系列中止的握手以找出什么服务器实际上支持密码套件。我尝试了几百万个地址,发现大约 13000 台服务器通过端口 443 使用 SSL/TLS。

其中,约7.5%支持 ECDHE 密码套件。

注意细节:

  • 这是一年前的事了。从那以后情况可能发生了变化。
  • 我的客户没有发送任何声称支持任何特定椭圆曲线的扩展。它只是声称“通用”ECDHE 支持。这可能会阻止某些服务器尝试 ECDHE 密码套件。从这个意义上说,我的数字可能被低估了。
  • 一个推论是“ECDHE 支持”不能真正笼统地陈述。许多 ECC 实施仅限于某些曲线类型,其中大多数只能处理几个特定曲线(P-256 和 P-384 标准 NIST 曲线,所谓的“套件 B”)。
  • 有几种方法可以进行抽样测量。我的代码使用随机 IPv4 地址,因此不仅可以找到网站,还可以找到许多系统,例如家庭调制解调器/路由器。现有的、已发布的 SSL 调查使用Alexa的“前 100 万台 Web 服务器” 这有利于“经济意义”的概念,它可能会或可能不会映射到您想要的东西。专注于“顶级站点”会淘汰未维护的 SSL 服务器,实际上,家庭调制解调器和路由器应该会增加 ECDHE 支持。事实上,该调查(从 2014 年初开始)发现,这些“顶级网站”中有高达21.6%的网站支持 ECDHE 密码套件。

作为旁注,我必须说,在大多数情况下,ECDHE(超过 DHE)暗示的性能提升不太可能相关。一个基本的 Web 服务器每秒需要大量的连接才能真正看到差异(我们在这里说的是每秒数百个)。另一个重点是通过支持ECDHE 密码套件,并在可能的情况下配置您的客户端或服务器以首选此类密码套件,您可以获得性能提升;您无需停止支持非 ECC 密码套件即可获得所谓的速度奖励。从这个意义上说,启用 ECDHE 密码套件的决定不需要得到支持和不支持的数据的支持;您可以激活它们并机会主义地使用它们。

奇怪的是,微软提供了 GCM 和 ECDHE,但没有同时提供 RSA 认证。唯一带有 ECDHE 的 AES-GCM 密码与 ECDSA 相关联。否则 GCM 仅适用于 DHE_RSA。

该列表可在KB2929781IISCrypto工具中找到。IE11似乎也有同样的限制。

我真的希望他们能够从 RFC5289 实现 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 和 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(就像GWS一样)。

编辑:qualys 对客户进行了一项新调查:

用户代理功能

ECDHE (afaik) 需要 TLS 1.2,但启用 TLS 1.2 并不一定意味着 ECDHE 可用。

有关 alexa 前 100 万的 ssl 设置的概述,您可能需要查看ssl pulse @ qualys

SSL Pulse 是一个持续的全球仪表板,用于监控前 100 万个网站的 SSL 支持质量。SSL Pulse 由 SSL Labs 的评估技术提供支持,该技术专注于审核 SSL 生态系统、提高意识并为网站所有者提供工具和文档,以便他们改进 SSL 实施

对于客户:我发现(并且知道)的所有内容:大多数现代浏览器都实现了 ECDHE,这可能意味着 chrome 和 firefox 以及最新版本的 safari 和 ie(但我不确定)。

您还需要提供 DHE 才能在旧版浏览器上启用 PFS。使用的 TLS 版本可能取决于使用的操作系统版本。

来自Firefox 遥测的一些统计数据该链接指向SSL_CIPHER_SUITE_FULLfirefox 32 变量的使用统计信息,显示实际用于连接 firefox 32 版本(2014 年 9 月上旬)和今天(2014 年 11 月上旬)之间的连接。它的值在 firefox 源代码中定义归结起来,我们有:

  • 48% 的连接使用 TLS_RSA_*

  • 45% 的连接使用 TLS_ECDHE_*

  • 7% 的连接使用 TLS_DHE_*