Contact emails yhir...@chromium.org, vasi...@chromium.org
Explainer https://github.com/w3c/webtransport/blob/main/explainer.md Spec https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes WebTransport has been already covered by a series of TAG reviews (389 <https://github.com/w3ctag/design-reviews/issues/389>, 669 <https://github.com/w3ctag/design-reviews/issues/669>). Summary In WebTransport, the serverCertificateHashes option allows the website to connect to a WebTransport server by authenticating the certificate against the expected certificate hash instead of using the Web PKI. This feature allows Web developers to connect to WebTransport servers that would normally find obtaining a publicly trusted certificate challenging, such as hosts that are not publically routable, or virtual machines that are ephemeral in nature. During the WebTransport Intent to Ship email thread <https://groups.google.com/a/chromium.org/g/blink-dev/c/kwC5wES3I4c>, concerns were raised regarding the security considerations of this portion of the spec being incomplete. We believe that we have addressed those concerns (notably, in this PR <https://github.com/w3c/webtransport/pull/375>). In terms of the actual code behavior, the only major difference since the previous thread is that we no longer allow RSA keys for the certificates. Link to “Intent to Prototype” blink-dev discussion https://groups.google.com/a/chromium.org/g/blink-dev/c/I6MS2kOKcx0/m/NAdg7Sc-CwAJ Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes. Debuggability The certificate-related errors for WebTransport sessions are logged into the developer console. Measurement The use of this feature is tracked by the WebTransportServerCertificateHashes use counter. Risks Interoperability and Compatibility There is some discussion about adding a mechanism to prevent websites from using this feature via an HTTP header (either CSP or a new header). Some of the proposals could potentially break existing usage under certain conditions (e.g. if a webpage both uses serverCertificateHashes and has a connect-src directive, and we decide to extend connect-src); I expect for those cases to be sufficiently niche to ultimately not be a problem, and the question itself is of fairly low priority as there does not seem to be a strong security reason for a website to restrict serverCertificateHashes. Gecko: worth prototyping <https://github.com/mozilla/standards-positions/issues/167#issuecomment-1015951396> WebKit: no signal <https://lists.webkit.org/pipermail/webkit-dev/2021-September/031980.html> Web / Framework developers: positive (we have received indication in the past that serverCertificateHashes is a blocker for migrating from WebRTC at least one of them) Ergonomics The API is roughly modeled after a similar WebRTC API (RtcDtlsFingerprint), with a noted improvement that the certificate hash no longer requires to be serialized into a specific format. Activation Using this feature would require web developers to design their application in a way that supports generating and distributing ephemeral certificates on demand. Security Security considerations for this feature are discussed at length in PR #375 <https://pr-preview.s3.amazonaws.com/vasilvv/web-transport/pull/375.html#certificate-hashes> . Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>? Link to test suite results from wpt.fyi. WebTransport itself is tested by web-platform-tests; this specific feature requires infra support that is currently not available (issue <https://github.com/web-platform-tests/wpt/issues/32463>). Entry on the feature dashboard <http://www.chromestatus.com/> https://chromestatus.com/feature/5690646332440576 -- 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/CAAZdMadAk5z-V7m8L_oVNyPGmE8An%2BcVEKsfSeOTDe9hEbKd-Q%40mail.gmail.com.