关于SSL/TLS中间人降级攻击

TLS_FALLBACK_SCSV 信令套件可以用来阻止客户端和服务器之间的意外降级,预防中间人攻击。

规范修改历史:

服务端行为:

​ 如果TLS_FALLBACK_SCSV出现在 ClientHello.cipher_suites 中,而服务器支持的最高协议版本高于 ClientHello.client_version 服务器必须回应inappropriate_fallback警告。

客户端行为:

​ 如果客户端发送的ClientHello.client_version比它支持的最高版本低,需要在ClientHello.cipher_suites中包含TLS_FALLBACK_SCSV密码套件在最后面。

降级防护:

必须客户端、服务端都实现TLS_FALLBACK_SCSV!

客户端支持情况:

IE11还没有实现、FireFox说要到2015年才实现、OpenSSL需要升级版本

Chrome已经实现 TLS_FALLBACK_SCSV {0x56, 0x00}

Windows Chrome 38.0.2125.104 m

OpenSSL实现TLS_FALLBACK_SCSV来阻止中间人降级攻击,缓解POODLE漏洞影响(https://www.openssl.org/news/secadv_20141015.txt

SSL 3.0 Fallback protection

Severity: Medium

OpenSSL has added support for TLS_FALLBACK_SCSV to allow applications to block the ability for a MITM attacker to force a protocol downgrade.

Some client applications (such as browsers) will reconnect using a downgraded protocol to work around interoperability bugs in older servers. This could be exploited by an active man-in-the-middle to downgrade connections to SSL 3.0 even if both sides of the connection support higher protocols. SSL 3.0 contains a number of weaknesses including POODLE (CVE-2014-3566).

OpenSSL 1.0.1 users should upgrade to 1.0.1j. OpenSSL 1.0.0 users should upgrade to 1.0.0o. OpenSSL 0.9.8 users should upgrade to 0.9.8zc.

https://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-00 https://www.openssl.org/~bodo/ssl-poodle.pdf

Support for TLS_FALLBACK_SCSV was developed by Adam Langley and Bodo Moeller.