我们正在使用 RSA 密钥交换机制来获取 SSL 证书。我该如何将其更改为DHE_RSA
或ECDHE_RSA
?
由于使用 RSA,我们在 Chrome 中收到以下警告
您与网站的连接已使用过时的加密技术进行加密
我正在使用 Windows Server 2012 IIS 8。
答案1
首先具体回答你的问题;
“我怎样才能将其更改为 DHE_RSA 或 ECDHE_RSA?”
对此最简单的解决方案是下载 IIS Crypto 并让它为您完成艰苦的工作。
为了使用 DHE_RSA 或 ECDHE_RSA,您需要在 IIS Crypto 窗口的左下窗格中重新排列密码套件首选项。我目前将以下密码套件设置为我的最高首选项;
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521
您还需要正确设置其余部分的顺序并禁用一些条目。我强烈建议使用“最佳实践”按钮,因为它可以为您完成此操作。它还将禁用 SSL3.0 及以下协议,以及除 3DES 和 AES 128/256 之外的所有加密密码。您需要注意,这样做会导致可能会导致与非常老的客户端(例如 XP 及以下版本上的 IE6)出现兼容性问题。对于大多数客户群来说,这现在不应该成为问题,但世界上有些地方仍在使用诸如此类的旧软件。
我的回答的第二部分指的是您想要删除 Chrome 最新版本显示的警告;
您与网站的连接已使用过时的加密技术进行加密
这很难实现。即使更改为 ECDHE_RSA 或 DHE_RSA,您仍会看到警告。这是因为 Chrome 认为 CBC 模式下的 AES 已经过时。改变这种情况的方法是改用 GCM 模式下的 AES,但要做到这一点,您需要确保先使用下面的补丁修补您的服务器。此补丁引入了四个新的密码套件,其中两个可以满足我们的需求。
在我给你链接之前,这带有健康警告。由于存在大量问题,微软于 11 月撤下了此补丁。我还不知道现在是否可以安全使用,或者在什么条件下可以使用。我一直在尝试自己找出答案(请参阅 这个科幻问题)
使用风险自负!
该补丁KB2992611
安装后,您现在可以使用 IIS Crypto 将以下密码套件放在列表顶部;
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
Chrome 对此很满意。此套件的唯一缺点是您会失去与 ECDHE 而非 DHE 相关的椭圆曲线属性。这不会影响安全性,但会影响密钥交换期间的服务器和客户端性能。您需要评估这种权衡是否值得用于您的特定用例。
最后,也可以通过使用将 AES GCM 与 ECDHE/ECDSA 相结合的密码套件之一来实现这一点,例如
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521
但是,这只有在您获得使用 ECDSA 而不是 RSA 生成公钥/私钥的 SSL 证书时才有效。这些证书仍然相对罕见(即昂贵),并且可能会导致客户端兼容性问题。我自己还没有尝试过此选项,因此无法与任何权威人士讨论。
终于,终于(真的,终于)。经过上述所有操作后,我实际上不会担心它。在可预见的未来,我将继续在我的 IIS 框中使用 AES CBC。如果用户选择单击并查看 TLS 详细信息,Chrome 只会显示上述警告,仅从查看地址栏符号系统来看没有任何迹象。
希望这对你有所帮助,并对这篇文章表示歉意!;-)
答案2
我知道在 Windows 中更改密码套件顺序的最简单的方法是使用小工具IIS 加密
然而,您在 Chrome 中收到的消息很可能与此无关。
Your connection to website is encrypted with obsolete cryptography
当您的证书或其父证书的签名算法为 时,将显示sha1
。请先检查该证书,然后可能更换该证书