I'm reading the SSL specs, and it seems that the initial handshake has no authenticity protection at all. What is to prevent, say, an attacker from overwriting the "available ciphers" list with one that is full of broken, or even null, ciphers? Is there some sort of defense for this, or is this fundamentally unsolvable because the handshake part by definition cannot itself be authenticated (which leads to infinite regress)? Is there a way to anonymously authenticate the initial, non-authenticated part of an SSL connection?
-
$\begingroup$ SSL, as in SSL 3.0? That is severely deprecated due to security concerns (like the kind you are mentioning. Do you mean TLS? $\endgroup$– Richie FrameCommented Oct 27, 2013 at 20:31
-
$\begingroup$ Yes, I mean TLS. SSL 3.0 isn't severely deprecated, though. I think it is still widely used. SSL 2.0 is the badly insecure one. $\endgroup$– ithisaCommented Oct 27, 2013 at 20:49
1 Answer
The cornerstone of the handshake security is that the Finished
messages, sent under the protection of the newly exchanged key (for encryption and MAC), contain hash values computed over all the handshake messages exchanged so far, including the list of cipher suites and all other parameters. As long as client and server don't negotiate the use of a cipher suite which can be broken instantaneously, these Finished
messages reliably detect foul play.
-
$\begingroup$ What if the attacker forces the client and server to negotiate the
NULL
cipher? $\endgroup$– ithisaCommented Oct 27, 2013 at 21:06 -
$\begingroup$ @user54609: Almost all real-world servers are configured to disallow insecure ciphersuites, including any that include the NULL cipher. $\endgroup$– ReidCommented Oct 27, 2013 at 22:33
-
$\begingroup$ So in the real world, as long as the servers are configured not to support weak ciphers, the
Finished
messages don't really matter? $\endgroup$– ithisaCommented Oct 27, 2013 at 23:39 -
$\begingroup$ The
Finished
message always matter. One of their jobs (but not the only one) is to prevent "version rollback attacks". $\endgroup$ Commented Oct 28, 2013 at 10:45