[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: My two cents on TLS mandatory ciphers [Long]
In article <33C750A9.6EC0611A@xxxxxxxxxxxx>,
Tom Weinstein <ietf-tls@xxxxxxxxxxxxx> wrote:
> David Wagner wrote:
> > I'm not aware of any full attack on non-encrypting ciphersuites at
> > present; but there have been at least two holes in recent versions
> > of SSL that would have been significantly exacerbated by support for
> > _NULL_ ciphersuites. I'm worried that history may repeat itself --
> > that there may be other subtle weaknesses which would be greatly
> > exacerbated by support for auth-only ciphersuites.
>
> What are the two holes you refer to?
Well, no one of them is compelling on its own, but the number of
them worries me. Here are the ones I can think of right now:
Hole in SSL 2.0: ciphersuite rollback. Because there was no auth-only
suite in SSL 2.0, the best an attacker could do was roll back to RC4-40,
and do a 2^40 keysearch (which is much less than 2^128, but still a
minor barrier). If there had been support for _NULL_ ciphers, rollback
attacks would have been even more deadly.
Hole in SSL 3.0: Wiener's attack. Some clients will send application
data before receiving a valid finished message. This allows an active
attacker to rollback to an auth-only or 40-bit suite, not send the
server-finished message, and wait for the client to send application
data encrypted in that weakened ciphersuite. If auth-only support
is turned off, a 2^40 (or more) keysearch is required; if _NULL_ suites
are supported, no keysearch is needed.
Hole in SSL 3.0: dropping the change cipher spec message. When a
auth-only suite is negotiated, this active attack lets adversaries
defeat the authentication provisions, in some implementations.
If an encrypting ciphersuite is chosen, one must break the cipher
in real-time to break the authentication (still not good if RC4-40
is used, since authentication is supposed to take 2^128 work to
break, but a significant barrier). Implementations which had turned
off support for auth-only ciphersuites would have been much less
vulnerable to this attack.
Finally, I note that Netscape's SSL 3.0 client implementation used
to allow a server to change the ciphersuite upon session resumption;
if the client supports _NULL_ suites, this allows a server to totally
turn off encryption. Not a real security hole under most threat
models, but unexpected behavior.
Bottom line: if I were deploying a SSL/TLS implementation that needed
high-grade security (e.g. a 128-bit server for Internet banking applications),
I'd turn off support for auth-only, anonymous, and exportable ciphersuites.
(Even if I didn't know of any direct attacks, I'm worried enough by
the history to be especially cautious in this regard.) That's why I
believe it would be a bad move to make any of those ciphersuites mandatory.