如果我错了请纠正我,但 BEAST 是因为 TLSv1.0 中的 CBC,对吗?因此,为了消除 BEAST 的威胁,所有 SSLv3 或更低版本的 CBC 密码套件都必须禁用,对吗?
让我们进入现实世界的例子。参见对我的测试域进行 Qualys SSL 测试。您会看到我已禁用 SSLv3(当然还有更低版本)协议。为了维护一些不支持 TLSv1.1 的旧客户端,同时为这些客户端保持完美前向保密,我必须使用 SSLv3 或 TLSv1.0 附带的一些 CBC 密码套件。
以下是我必须维护的一些客户端示例(带有 Qualys SSL 客户端信息站点的链接)。
- Java 7
- OpenSSL 0.9(因为有些路由器)
- IE8 / XP(不再支持 IE 6 / XP)
- Android 2.3
这是我的 OpenSSL 1.0.1e 密码套件配置:
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
有谁看到修复 BEAST 并维护客户端/PFS 的解决方案吗?我在客户端仅看到最大 TLSv1.0 和 CBC 密码套件。
采访迈克尔·汉普顿:是的,RC4 不是解决方案。我忘了提这件事了。
答案1
抱歉,这无法做到,而且无论如何也不需要这样做。
BEAST 不再被视为严重威胁,因为多年来受影响的平台已经推出了客户端补丁(甚至适用于 XP!),而服务器端缓解需要 RC4,而现在 RC4 被认为太弱而不够安全,只会让情况变得更糟。