Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Issue 947603002: Shard the SSL session cache by version fallback. (Closed)

Created:
5 years, 10 months ago by davidben
Modified:
5 years, 10 months ago
Reviewers:
agl, Ryan Sleevi
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Shard the SSL session cache by version fallback. This addresses two issues: - NSS clamps client_version to the session version. This means that a successful fallback connection is effectively cached, despite our fallback being stateless. This causing our metrics to be under-reported and, more problematic, makes spurious fallbacks stick. - BoringSSL does not clamp, but many versions of OpenSSL on the server will happily resume older sessions at newer protocol versions, rather than doing a full handshake at the newer protocol version. This means a successful spurious fallback causes us later resume with a weaker cipher than we should. Moreover, this mismatch is forbidden by every other client implementation. The metrics are reporting 0.06% of connections on beta channel hit this case. I expect it to go down after this change. Note: this will also increase traffic to version-intolerant servers on NSS ports. But that's only Linux/CrOS/iOS now and the BoringSSL switch did the same thing by losing the version clamp. BUG=459690, 441456 Committed: https://crrev.com/21ea1b4ef8d6c111605866108c7dac1b31440114 Cr-Commit-Position: refs/heads/master@{#317605}

Patch Set 1 #

Patch Set 2 : be more clever #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+116 lines, -6 lines) Patch
M net/socket/ssl_client_socket_nss.cc View 1 chunk +22 lines, -6 lines 0 comments Download
M net/socket/ssl_client_socket_openssl.cc View 1 chunk +21 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_unittest.cc View 1 2 chunks +73 lines, -0 lines 1 comment Download

Messages

Total messages: 13 (2 generated)
davidben
https://codereview.chromium.org/947603002/diff/20001/net/socket/ssl_client_socket_unittest.cc File net/socket/ssl_client_socket_unittest.cc (right): https://codereview.chromium.org/947603002/diff/20001/net/socket/ssl_client_socket_unittest.cc#newcode2837 net/socket/ssl_client_socket_unittest.cc:2837: // attempt to resume with two more connections. Ideally, ...
5 years, 10 months ago (2015-02-20 22:57:56 UTC) #2
Ryan Sleevi
I'm not sure how I feel about the BoringSSL change. That clamping is limited to ...
5 years, 10 months ago (2015-02-21 00:07:55 UTC) #3
davidben
On 2015/02/21 00:07:55, Ryan Sleevi wrote: > I'm not sure how I feel about the ...
5 years, 10 months ago (2015-02-21 00:35:01 UTC) #4
agl
(p.s. I'm happy with this change.)
5 years, 10 months ago (2015-02-21 00:40:03 UTC) #5
Ryan Sleevi
On 2015/02/21 00:35:01, David Benjamin wrote: > On NSS or BoringSSL? BoringSSL doesn't do any ...
5 years, 10 months ago (2015-02-21 00:47:12 UTC) #6
davidben
On 2015/02/21 00:47:12, Ryan Sleevi wrote: > On 2015/02/21 00:35:01, David Benjamin wrote: > > ...
5 years, 10 months ago (2015-02-21 01:12:13 UTC) #7
davidben
> on the client side if this might cause unreasonable growth The potential for growth ...
5 years, 10 months ago (2015-02-21 01:16:12 UTC) #8
Ryan Sleevi
lgtm
5 years, 10 months ago (2015-02-21 01:30:48 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/947603002/20001
5 years, 10 months ago (2015-02-23 17:49:29 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 10 months ago (2015-02-23 18:00:49 UTC) #12
commit-bot: I haz the power
5 years, 10 months ago (2015-02-23 18:01:23 UTC) #13
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/21ea1b4ef8d6c111605866108c7dac1b31440114
Cr-Commit-Position: refs/heads/master@{#317605}

Powered by Google App Engine
This is Rietveld 408576698