之前一篇对于 SSL 优化的部分,谈到了去掉 RC4 算法的支持,把总评分提高到了 A-。但是还是有一项警告内容让我注意到了。

The server does not support Forward Secrecy with the reference browsers.

这里的 Forward Secrecy 是什麽呢?

维基百科上有该条目,可以去看看,下面是我的理解。

forward secrecy 也称之为 perfect forward secrecy,或者 PFS。称之为完美远期加密。是在HTTPS基础上进一步保护用户电脑同服务器之间的加密通讯。

其解决的一个安全场景就是,如果服务器同用户间的加密通讯内容被窃听,也被储存下来,这些被加密的内容虽然当时无法被解密,被破解,但是当日后,服务器的SSL密钥被取得后(不管是何种原因被取得密钥),这些过往的内容是可以用这个密钥来解密的。这样虽然时效性可能差些,但是仍然是会有被破解的危险存在。


而采用 完美远期加密 的 SSL 或者 HTTPS 通讯,加密钥匙只是短暂性的,而且不能从服务器的 SSL 密钥中推算出来,这样即使日后 SSL 密钥被第三方取得,过去和未来的 HTTPS 通讯仍然安全,窃听者始终无法破解所窃听的内容(以目前的技术而言)。


目前只有用 ephemeral Diffie-Hellman 的算法才算是 完美远期加密

比如 Google 搜索网站的加密就是。查看的方法是,点击网址栏中在网址前的那个绿色锁,在 connection tab 中可以看到使用的加密算法,这里看到的是 ECDHE_ECDSA ,这里的ECDHE就代表的是这个。

Who***在修改了相关的设置后,再用 SSL Labs 的测试工具来测试加密强度,现在已经达到了A+,算是最高的评分了。

在报告中看到的唯一的缺点,在浏览器的支持部分,IE6/XP 是不被支持的。另外 Java 6 也是不支持的。这两个都是早已退休的技术,不支持就不支持吧。

接下来说说我的具体设置:

首先我的 Apache 服务器是 2.4.7, 满足了最低要求 Apache v 2.4。如果你的 Apache 版本低于这个,就不要弄了。

在SSL.conf文件中,我的最重要的几项内容是:

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
SSLHonorCipherOrder on
SSLProtocol all -SSLv3

其实就是这么简单,做好安全措施,保护好用户数据。

本文出自https://seo.g2soft.net/2015/02/27/enable-forward-secrecy.html