Extended Subset - Authentication Gap in TLS Renegotiation
Common Vulnerabilities and Exposures
and a good review is available at:
Educated Guesswork - Understanding the TLS Renegotiation Attack
Applications attempting to initiate renegotiation (via
SSLSocket.startHandshake() or SSLEngine.beginHandshake()) will receive
a SSLHandshakeException (IOException) and the connection will be shutdown.
Applications that receive a renegotiation request from the peer will respond according to the type of connection in place:
TLSv1: A warning Alert message of type "no_renegotiation(100)" will be sent to the peer and the connection will remain open.
SSLv3: The application will receive a
SSLHandshakeException, and the connection will be closed. ("no_renegotiation" is not defined in the SSLv3 spec.)
sun.security.ssl.allowUnsafeRenegotiation to
true before the JSSE library is initialized. There are several ways to set this property:
% java -Dsun.security.ssl.allowUnsafeRenegotiation=true Main
java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", true);
Note that TLS/SSL renegotiation will not occur unless both client and server have enabled renegotiations.
WARNING: It is risky to re-enable TLS/SSL renegotiation, as the vulnerability is once again present.
SSLSession.invalidate()),
then call SSLSocket.setEnableSessionCreation(false) or
SSLEngine.setEnableSessionCreation(false). This approach still allows
renegotiations to occur, but since only existing valid sessions can be
resumed, there are no valid sessions to resume, and new sessions can't
be created, renegotiations will necessarily fail.
A side effect of this approach is that sessions can't be resumed on later connections, thus each new connection must do a complete handshake from scratch. That is, abbreviated handshakes on later connections are not possible.
Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.
|
| ||||||||||||