更改 IIS 8 中的密钥交换机制

Kar*_*hik 10 ssl-certificate windows-server-2012 iis-8

我们正在为 SSL 证书使用 RSA 密钥交换机制。我怎样才能将其更改为DHE_RSAECDHE_RSA

由于使用 RSA,我们在 chrome 中收到以下警告

您与网站的连接使用过时的加密技术进行加密

我正在使用 Windows Server 2012 IIS 8。

Ste*_*365 28

先具体回答你的问题;

“我如何将其更改为 DHE_RSA 或 ECDHE_RSA?”

最简单的解决方案是下载 IIS Crypto 并让它为您完成繁重的工作。

IIS 加密

为了使用 DHE_RSA 或 ECDHE_RSA,您需要在 IIS Crypto 窗口的左下方窗格中重新排序密码套件首选项。我目前将以下密码套件设置为我的最高偏好;

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521
Run Code Online (Sandbox Code Playgroud)

您还需要正确设置其余条目的顺序并禁用某些条目。我强烈建议使用“最佳实践”按钮,因为它会为您完成此操作。它还将禁用 SSL3.0 及以下协议,以及除 3DES 和 AES 128/256 之外的所有加密密码。您需要注意,这样做可能会导致与非常旧的客户端的兼容性问题(想想 XP 及更低版本上的 IE6)。对于大多数客户群而言,如今这应该不是问题,但世界上的某些地区仍在使用诸如此类的旧软件。

我的回答的第二部分是指您希望删除最新版本的 Chrome 显示的警告;

您与网站的连接使用过时的加密技术进行加密

这更难实现。即使在更改为 ECDHE_RSA 或 DHE_RSA 之后,您仍然会看到警告。这是因为 Chrome 正在考虑 CBC 模式下的 AES 已过时。改变这一点的方法是在 GCM 模式下使用 AES,但是为了做到这一点,您需要确保首先使用以下补丁修补您的服务器。这个补丁引入了四个新的密码套件,其中两个将满足我们的需求。

在我给你链接之前,这是一个健康警告。由于存在诸多问题,微软于 11 月取消了此补丁。我还不知道它现在是否被认为是安全的,或者在什么条件下使用。我一直在试图找出自己(见 这个 SF 问题

使用风险自负!

补丁是KB2992611

安装后,您现在可以使用 IIS Crypto 将以下密码套件放在列表顶部;

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
Run Code Online (Sandbox Code Playgroud)

Chrome 会对此感到满意。该套件的唯一缺点是您失去了与 ECDHE 而不是 DHE 相关的椭圆曲线属性。这不会影响安全性,但会影响密钥交换期间的服务器和客户端性能。您需要评估这种权衡对于您的特定用例是否值得。

最后,也可以通过使用将 AES GCM 与 ECDHE/ECDSA 相结合的密码套件之一来实现这一点,例如

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521
Run Code Online (Sandbox Code Playgroud)

但是,这仅在您获得使用 ECDSA 而非 RSA 生成公钥/私钥的 SSL 证书时才有效。这些仍然相对较少(阅读:昂贵),并且可能会导致客户端兼容性问题。我自己没有尝试过这个选项,因此无法与任何权威人士讨论。

终于,终于(真的,终于)。综上所述,我其实并不担心。在可预见的未来,我将继续在我的 IIS 机器上使用 AES CBC。如果用户选择单击并查看 TLS 详细信息,Chrome 只会显示上述警告,否则仅通过查看地址栏符号系统不会有任何指示。

希望能帮到你,为文章道歉!;-)


Pet*_*orf 0

据我所知,更改 Windows 中密码套件顺序的最简单方法是使用小工具IIS Crypto

然而,您在 Chrome 中收到的消息很可能与此无关。

Your connection to website is encrypted with obsolete cryptography当您的证书或其父证书的签名算法为 时会显示sha1。首先检查并可能替换该证书