Hi Bodo,

Sorry for the late response, but I am now going through the various comments on the BCP draft in order to publish the next version "real soon now". Please see below.

Thanks,
        Yaron

On 07/23/2014 05:27 PM, Bodo Moeller wrote:
Additional points:


- The rationale for the current SSL 3.0 "SHOULD NOT" is that it "did not
support strong cipher suites", just as for TLS 1.0.  The document should
be clear that allowing SSL 3.0 is much worse than allowing TLS 1.0, for
a number of reasons including the following:

1. No support for TLS extensions (meaning, for example, that you can't
use ECDHE).
2. SSL 3.0 CBC padding is unfixably broken (unlike with TLS 1.0, a
complicated constant-time implementation won't save you; see in
https://www.openssl.org/~bodo/tls-cbc.txt).

I included your point #1. Point #2 is kind of splitting hairs, given that we are still seeing padding-related attacks in TLS 1.2.


- The rationale for the TLS 1.0 "SHOULD NOT" includes the following:
"TLS 1.0 [...] includes a way to downgrade the connection to SSLv3".
This seems poorly worded, or at least I can't figure out what you really
mean. As written, it doesn't seem to make much sense -- *all* versions
of TLS by design do support protocol negotiation down to SSL 3.0 (which,
of course, is no issue for implementations that don't support SSL 3.0 at
all).

I agree, and will remove this text (as well as "TLS 1.1 [...] prevents downgrade attacks to SSL," in the next paragraph).


- Given that (SSL 3.0 and) TLS 1.0 is still allowed (even with a "SHOULD
NOT"), the specification should describe 1 : n-1 record splitting (the
improved-interoperability tweak of my original empty-record approach:
instead of sending an empty plaintext record first to avoid predictable
CBC IVs, send a single-byte plaintext record first), and make it
RECOMMENDED for CBC ciphersuites in SSL 3.0/TLS 1.0.

First, I concur with Aaron's opinion and would like to change SHOULD NOT to MUST NOT on SSLv3 (but not TLS 1.0), unless there's outcry on the list in favor of keeping SSLv3 (somewhat) allowed.

Second, I wouldn't want to add the 1:n-1 splitting to this draft, for at least two reasons:

- The draft is targeted at future implementations. I think documenting TLS 1.0/1.1 mitigations and all the past baggage associated with these versions (cipher suites, key lengths etc. etc.) would delay this draft for months and would defocus it.

- I don't think anybody reading this draft would actually make such fundamental changes to their TLS 1.0 code. If they'd cared about it, they would have patched their systems sometime during the last 3 years.


This is really more about TLS per se than about using TLS in
applications, but in practice the BCP document is probably the best
place to document this (and it seems within the WG charter, and in
particular covered by this BCP's goal to provide "recommendations for
improving the security of [...] implementations").

Bodo



_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta


_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta

Reply via email to