(Sorry for the late reply. Was out sick for a bit.) On Thu, Aug 11, 2022 at 4:06 PM Mike West <mk...@google.com> wrote:
> I'm excited to see this! One question inline about timelines: > > On Thursday, August 11, 2022 at 9:55:48 PM UTC+2 David Benjamin wrote: > >> Contact emailsdavi...@chromium.org, dad...@google.com >> >> ExplainerNone >> >> Specificationhttps://datatracker.ietf.org/doc/html/draft-ietf-tls-esni >> >> Summary >> >> The TLS Encrypted ClientHello (ECH) extension enables clients to encrypt >> ClientHello messages, which are normally sent in cleartext, under a >> server’s public key. This allows websites to opt-in to avoid leaking >> sensitive fields, like the server name, to the network by hosting a special >> HTTPS RR DNS record. (Earlier iterations of this extension were called >> Encrypted Server Name Indication, or ESNI.) >> >> >> Blink componentInternals>Network>SSL >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3ESSL> >> >> Search tagsech <https://chromestatus.com/features#tags:ech>, esni >> <https://chromestatus.com/features#tags:esni>, tls >> <https://chromestatus.com/features#tags:tls>, ssl >> <https://chromestatus.com/features#tags:ssl> >> >> TAG reviewNot applicable; this is a protocol under IETF >> >> TAG review statusNot applicable >> >> Risks >> >> >> Interoperability and Compatibility >> >> As a networking protocol, interoperability risks look different from a >> web platform API: This is a draft of a developing protocol, so the final >> standard will differ from what we ship now. We manage this as in other >> protocol work: the draft uses different codepoints in the DNS record and >> ClientHello, set up to not conflict with the final standard. There is also >> a risk of breaking buggy servers or network middleware. ECH is DNS-gated, >> so non-ECH servers won't be exposed to ECH itself. We do implement ECH's >> GREASE mechanism (section 6.2 of the draft), but this should appear as any >> normal unrecognized extension to non-ECH servers. Servers and network >> elements that are compliant with RFC 8446, section 9.3, should not be >> impacted. We will be monitoring for these issues as part of the experiment, >> comparing error rates and handshake times both for HTTPS servers as a >> whole, and the subset of those that advertise ECH in DNS. >> >> >> *Gecko*: In development ( >> https://blog.mozilla.org/security/2021/01/07/encrypted-client-hello-the-future-of-esni-in-firefox >> ) >> >> *WebKit*: No signal >> > > It would be reasonable to ask via > https://github.com/WebKit/standards-positions/issues. > Filed https://github.com/WebKit/standards-positions/issues/46 > >> *Web developers*: Positive ( >> https://blog.cloudflare.com/encrypted-client-hello) >> >> *Other signals*: >> >> Ergonomics >> >> ECH is part of TLS, so it is largely abstracted away from web platform >> APIs themselves. >> >> >> Activation >> >> This is a network protocol and thus inherently requires server software >> changes. It also requires keys deployed in the HTTPS DNS record. At this >> stage in the process, we do not expect ECH to be deployed beyond a few >> early adopters. Rather, this experiment is part of real-world testing for >> the developing protocol. The connection with the DNS record is of >> particular note. It is possible that, due to DNS caching, etc., that the >> DNS record we fetch is out of sync with the server instance we talk to. ECH >> has a built-in recovery mechanism to repair these mismatches. One of the >> aims of the experiment will be to validate this mechanism. >> >> >> Security >> >> See >> https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-14#section-10 >> for security considerations in the specification >> >> >> WebView application risks >> >> Does this intent deprecate or change behavior of existing APIs, such that >> it has potentially high risk for Android WebView-based applications? >> >> No WebView-specific risks >> >> >> >> Goals for experimentation >> >> This is a new extension to TLS. As part of the standardization process, >> we wish to validate the design, and ensure it works, performs well, etc. >> This is also the first time a TLS extension has been gated on DNS. This >> introduces a new set of deployment risks. ECH includes mechanisms to >> mitigate these risks, which we also aim to validate with this experiment. >> We'll do this by A/B testing clients with and without ECH enabled, and >> comparing error rates and latency across all TLS connections, and across >> just connections to hostnames with ECH keys in DNS. We'll also be looking >> at how often the recovery flow is used. >> >> >> Reason this experiment is being extended >> >> n/a >> >> >> Ongoing technical constraints >> >> None >> >> >> Debuggability >> >> Servers that use ECH are visible in the DevTools security panel. >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, Chrome OS, Android, and Android WebView)?Yes >> >> While supported on all platforms, ECH requires keys fetched via DNS in >> the new HTTPS record. Chrome can currently fetch the HTTPS record over DoH >> and over our built-in DNS resolver. As of writing, the built-in DNS >> resolver is not yet enabled on Windows (https://crbug.com/1317948) and >> Linux (https://crbug.com/1350321). >> >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ?No (see https://github.com/web-platform-tests/wpt/issues/20159) >> >> Flag nameencrypted-client-hello >> >> Requires code in //chrome?False >> >> Tracking bughttps://crbug.com/1091403 >> >> Launch bughttps://crbug.com/1349902 >> >> Estimated milestones >> DevTrial on desktop 105 >> DevTrial on Android 105 >> > > When do you plan to end the experiment? M109, perhaps? > Didn't have a particular set end time... depends on how long it takes to answer our questions and how things shake out I suppose. We can tentatively say M109 if we need an end date. (Although at this point I suspect a lot of the milestones will get shifted over anyway.) > >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/6196703843581952 >> >> Links to previous Intent discussionsIntent to prototype: >> https://groups.google.com/a/chromium.org/g/blink-dev/c/YEo4LqB7nWI >> >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com/>. >> > -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaBMRLPbGetrB4gZ%3DMoW11Yx3FjkbLs_%2BHXaC0oFXGBk_w%40mail.gmail.com.