(There is a bit of a weird double-negative thing going on as we’re really “adding” downgrade hardening to more connections, but the deprecate/remove template is probably more appropriate.)
Primary eng emails
Summary
TLS 1.3 includes a backwards-compatible hardening measure to strengthen the protocol’s protections against downgrade to TLS 1.2 and below. The existing measures in TLS 1.2 are slightly fragile, which exacerbated some attacks over the years. However, when we shipped TLS 1.3 last year, we had to partially disable this measure due to incompatibilities with some non-compliant TLS-terminating proxies.
Chrome currently implements the hardening measure for certificates which chain up to known roots, but allows a bypass for certificates chaining up to unknown roots. We intend to remove this bypass and apply the hardening to all connections in Chrome 78, which will reach the stable channel in October 2019.
Motivation
Downgrade protection mitigates the security impact of the various legacy options we retain for compatibility. This means user’s connections are more secure and, when security vulnerabilities are discovered, it is less of a scramble to respond to them. (That, in turn, means fewer broken sites for users down the road.)
Additionally, this measure is a MUST-level requirement in TLS 1.3, so we align with the TLS specification and other TLS implementations like OpenSSL.
Interoperability and Compatibility Risk
Users behind a non-compliant TLS-terminating proxy may experience connection failures when connecting to TLS-1.3-capable servers. This results in a network error with error code ERR_TLS13_DOWNGRADE_DETECTED.
Note that enforcement for known roots has already shipped, so only users behind TLS-terminating proxies will be affected by this change. Such proxies are primarily used in enterprise environments. Antivirus products sometimes use them too, though we are unaware of any affected antivirus products. Note also that we are not requiring servers or proxies implement TLS 1.3, only that they correctly implement the 11-year-old TLS 1.2 protocol.
In Chrome 73’s enterprise release notes, posted March 2019, we included instructions for administrators to check if their proxy was affected and upgrade if so. Additionally, rollout will be controlled by field trials, so we can roll it back if necessary.
Edge: n/a; no TLS 1.3 support yet
Firefox: hardening is currently disabled, no official signals w.r.t. enabling
Safari: hardening is currently disabled, no official signals w.r.t. enabling
Alternative implementation suggestion for administrators
If running an affected proxy, update it. See Chrome 73’s enterprise release notes, posted March 2019 for instructions to test the proxy.
We recommend administrators treat these out-of-date proxies as a security risk, rather than merely a compatibility risk. The TLS handshake requires each endpoint generate and send a random value. These proxies, instead of generating their own value, copy the value from the origin server. Random values in security protocols are there for a reason, so this flaw additionally invalidates all security analysis for TLS when used by this proxy.
An administrative policy to temporarily revert this change, BypassTLS13DowngradeHardeningForLocalAnchors, will be added. Administrators who need more time to resolve this problem may use it until Chrome 82, due to be released in April 2020.
Usage information from UseCounter
Metrics from Chrome report that 0.02% of connections to a known-TLS-1.3-capable server would be broken by this change.
Entry on the feature dashboard
https://www.chromestatus.com/feature/5128354539765760
Requesting approval to remove too?
Yes
In case it's helpful, the macOS Catalina and iOS 13 betas both enforce TLS 1.3 downgrade prevention for the system, which includes Safari. We’ve not seen any significant increase in failure rates as a result.
--
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.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaDSyDi%2B9S7RBreNxUUupdK9%3D19Jntg14uXmhkxPtKc-YA%40mail.gmail.com.
So this needs to eventually happen but 0.02% of connections is not zero so there will be a compatibility hit.What more do you know about those connections?