W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2014

Re: Stricter TLS Usage in HTTP/2

From: Martin Thomson <martin.thomson@gmail.com>
Date: Wed, 4 Jun 2014 08:49:06 -0700
Message-ID: <CABkgnnXRzLdSOGu1NdBx0HQMJJj7g_4R9zUQNrBUaGEgx1BoVg@mail.gmail.com>
To: Yoav Nir <ynir.ietf@gmail.com>
Cc: ChanWilliam(陈智昌) <willchan@chromium.org>, HTTP Working Group <ietf-http-wg@w3.org>, Adam Langley <agl@google.com>
> I don’t understand the objection. Chrome, as a TLS client, can propose
any list of ciphersuites that is acceptable to its developers. Just as IE
unilaterally disabled RC4, and pretty much all browsers have disabled RC2
at some point (each doing this unilaterally), why is it unacceptable for
Chrome to do this now for the non-AEAD version of AES-CBC? (yes, there’s an
AEAD version [1], although no TLS ciphersuites are defined)
>
> As for the proposal itself, the HTTP version is negotiated in the same
ClientHello as the list of supported ciphersuites. Making the chosen
ciphersuite depend on the version of HTTP selected introduces some new
logic to TLS. I don’t think this should be added to the HTTP spec.

We already have this capability, and it isn't what you describe, quite.

Basically, clients, particularly browsers, will need to offer all the sites
they do today, unless they want to regress performance in a big way (hint:
not going to happen). So the ClientHello contains lots of suites we don't
like, sometimes even RC4. Though Microsoft have made the courageous choice
to allow a regression there to reduce the likelihood that RC4 is used, good
for them.

The ClientHello will include http/1.1 and h2. But we are saying that you
can't select h2 unless you select a "good" suite. Given normal selection
processes in the software I know, as long as both parties have good suites,
those will be chosen.

Now the potential change here to software is in servers who might like to
follow the "SHOULD" in the draft and fall the handshake. NSS can do that,
but I recognize that not all software is created equal, so the draft
permits the handshake to complete. Clients have to do that check anyway.
The HTTP/2 implementation need only add a little code like what Will
shared, and it's good.

The problem with that is that if any implementation hard fails a connection
because of a suite the spec permits, they effectively create an alternative
de facto spec. One that isn't documented. Their peers would have to know
about this so that they wouldn't cause breakage when they deploy HTTP/2.
Received on Wednesday, 4 June 2014 15:49:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:31 UTC