Primary eng (and PM) emails
Link to “Intent to Deprecate” thread
https://groups.google.com/a/chromium.org/d/msg/blink-dev/AAdv838-koo/bJv17voIBAAJ
Summary
We plan to remove DHE-based cipher suites.
Motivation
Last year, we raised the minimum TLS Diffie-Hellman group size from 512-bit to 1024-bit. As mentioned then, 1024-bit is insufficient for the long-term. However, metrics reported that around 95% of DHE connections seen by Chrome use 1024-bit DHE. This, compounded with how DHE is negotiated in TLS, makes it difficult to move past 1024-bit.
Although there is a draft specification which fixes the negotiation problems, it is still a draft and requires both client and server changes. Meanwhile, ECDHE is already widely implemented and deployed. We do not feel it is practical to continue supporting DHE.
For a more detailed explanation, see the Intent to Deprecate thread.
Compatibility Risk
Servers which support only DHE ciphers will stop working in Chromium-based browsers. Note this is fewer than servers which merely prefer DHE. Typically servers have other ciphers available. See usage information below.
The latest versions of Safari on both OS X and iOS removed DHE support, so most affected sites are already inaccessible in Safari. (Unless they also accept ciphers like RC4 which we no longer offer but Safari still does.) Edge and Firefox also advertise fewer DHE ciphers than we do (only AES-GCM and only AES-CBC DHE ciphers, respectively), which also limits the pool.
Usage information from UseCounter
Current metrics report 0.01% of TLS connections made by Chrome stable users over the past two weeks use DHE. DHE has been placed on a fallback, so this is roughly the connections which required DHE, though there may be some false positive noise due to unreliability of fallbacks.
OWP launch tracking bug
Entry on the feature dashboard
https://www.chromestatus.com/feature/5128908798164992
Additional considerations
As with the version fallback removal, we include a field trial to roll this back should unforeseen issues occur. There will also be a time-limited administrative policy knob, in case the enterprise population, where we are normally blind, is drastically different from our UMA population.
We will not be attempting a user-visible link on the error page. We experimented with that in the version fallback removal, but this caused too much confusion between target audiences of the UI.
We will, however, surface a new dedicated net error code, ERR_SSL_OBSOLETE_CIPHER, as this has worked well for the version fallback. With the RC4 removal, errors could end up under ERR_CONNECTION_CLOSED, ERR_SSL_VERSION_OR_CIPHER_MISMATCH, ERR_CONNECTION_RESET, and possibly others, depending on the server’s behavior. TLS has the client offer parameters which the server selects, so, a priori, clients do not know why a connection didn’t work. But we can modify our measurement fallback and get something reasonably accurate.
Today, Chrome connects in two tries:
1. Send a ClientHello without DHE.
2. If that fails, add DHE back in and retry.
This was done for measurement purposes, to distinguish between sites which prefer DHE vs. requiring it. We will change it to:
1. Send a ClientHello without DHE.
2. If that fails, add DHE back in and retry. If this retry uses a DHE-based cipher, reject the connection with ERR_SSL_OBSOLETE_CIPHER.
Then, in a few releases' time, we will remove step 2 and connect in one step. Any remaining DHE-only servers will revert to a more generic error as with RC4. If this works well, we’ll reuse this pattern for future cipher suite removals.
Note that, as with the histograms and the version fallback's error code, there will be some false positive noise on transient network errors to DHE-preferring servers.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
You received this message because you are subscribed to the Google Groups "net-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to net-dev+u...@chromium.org.
To post to this group, send email to net...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/net-dev/CAOMQ%2Bw8WsKYQ0UG6hT%3DXFtmrgcgsP8OaW_AWFO_10qK0kd25pg%40mail.gmail.com.
I'm a little nervous about the 0.01% figure - that's still a LOT of connections to be blocking them outright.
However, the fact that Safari already dropped support for this is huge (they tend to be more conservative than we are about breaking changes). Perhaps that's a sign that most of these DHE connections are for resources that don't impact the user experience much. Do you have a list of some known affected sites? It would be informative to check whether most of a random sample of sites to broken in Chrome are also broken in Safari, and how serious the breakage is.
Your risk mitigations (admin opt-out and finch trial) also decrease the risk a lot. There's not also a temporary chrome://flags entry, is there? Is your plan to disable the experiment and re-evaluate if there's non-trivial user feedback of major breakage? If so, LGTM2 to remove (little harm in trying if we can respond quickly).
On Mon, Jun 13, 2016 at 11:12 AM Rick Byers <rby...@chromium.org> wrote:I'm a little nervous about the 0.01% figure - that's still a LOT of connections to be blocking them outright.[Strictly speaking, the 0.01% includes some false positive noise, but I don't have a way to quantify it, so we should assume conservatively that the number's accurate.]However, the fact that Safari already dropped support for this is huge (they tend to be more conservative than we are about breaking changes). Perhaps that's a sign that most of these DHE connections are for resources that don't impact the user experience much. Do you have a list of some known affected sites? It would be informative to check whether most of a random sample of sites to broken in Chrome are also broken in Safari, and how serious the breakage is.Safari dropped it around the time when Logjam was coming around. Rather than add a limit, they took DHE out altogether. So that might explain their uncharacteristically less conservative move. :-) The alternative, our ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY woes, was even more painful.From probing a list of top million hosts (nothing fancy, I just grabbed Alexa top million), I found 476 broken hosts. 107 serve redirects to an http URL anyway. Of the remaining 369, 89 are broken in Safari and 199 will be broken in Edge once they drop RC4. The discrepancy is because Safari still does RC4 and, while Edge still has DHE, they only do DHE + AES-GCM while we do a lot more DHE ciphers.
If Safari ever drops RC4, all but 6 of the 369 will be broken in Safari too.
Thanks for the detailed analysis! Also I assume most (or all) of these broken sites support HTTP (don't use HSTS or anything) so users can generally get around the issue by just falling back to HTTP, right? I was forgetting that when I suggested adding a flag.Anyway sounds like a good plan. Anyone else want to chime in?Rick
On Tue, Jun 14, 2016 at 1:51 AM, PhistucK <phis...@gmail.com> wrote:On Tue, Jun 14, 2016 at 12:50 AM, David Benjamin <davi...@chromium.org> wrote:If Safari ever drops RC4, all but 6 of the 369 will be broken in Safari too.What about those remaining 6? Why would Chrome fail and Safari succeed?
On Tue, Jun 14, 2016 at 4:41 AM Rick Byers <rby...@chromium.org> wrote:Thanks for the detailed analysis! Also I assume most (or all) of these broken sites support HTTP (don't use HSTS or anything) so users can generally get around the issue by just falling back to HTTP, right? I was forgetting that when I suggested adding a flag.Anyway sounds like a good plan. Anyone else want to chime in?
I know this is old and the changes have already been commited, but I have a question which would seem obvious to me.
I know this is old and the changes have already been commited, but I have a question which would seem obvious to me.Why didnt you just enforce 2048 bit on DHE, wouldnt that still fall back to a ECDHE when it fails? The difference then would be more sites would work at least.
I came here because as I was wanting to move my ECDHE ciphers below DHE in my cipher preference as I am not happy using NIST curves with NSA backdoors in, but then found that chome and firefox are now effectively forcing the use of curves unless I use a weaker cipher.I would be fine using ECDHE with either brainpool or the excellent 25519 but yet somehow you guys picked the worst curves to use and left the best one's out, is there any plan to add support for these curves?