Contact emailsvk...@google.com
Explainerhttps://github.com/explainers-by-googlers/security-info-web-request
Specificationhttps://github.com/WICG/controlled-frame/pull/151
Design docs
https://github.com/explainers-by-googlers/security-info-web-request
SummaryThis proposal introduces a WebRequest.SecurityInfo API for ControlledFrame. It allows a web app to intercept an HTTPS, WSS or WebTransport request to a server, retrieve the server's certificate fingerprint (as verified by the browser), and then use that fingerprint to manually verify the certificate of a separate raw TCP/UDP connection to the same server. This provides a simple way for the app to confirm it's talking to the correct server.
Blink componentBlink
Web Feature IDMissing feature
MotivationWeb apps sometimes need to establish secure raw TCP/UDP connections (e.g., via Direct Sockets) for custom protocols, often to support legacy servers that cannot be updated to modern alternatives like WebTransport. Unlike standard HTTPS, these raw sockets don't have a built-in mechanism to verify the server's TLS certificate against a trusted root store. This proposal introduces a WebRequest SecurityInfo API for ControlledFrame. It allows a web app to intercept an HTTPS, WSS or WebTransport request to a server, retrieve the server's certificate fingerprint (as verified by the browser), and then use that fingerprint to manually verify the certificate of a separate raw TCP/UDP connection to the same server. This provides a simple way for the app to confirm it's talking to the correct server.
Initial public proposalhttps://github.com/WICG/proposals/issues/245
TAG reviewTag does not review Isolated Web Apps. It was stated publicly here https://github.com/w3ctag/design-reviews/issues/842#issuecomment-2917031448
TAG review statusPending
Risks
Interoperability and CompatibilityOther browsers may choose to implement this API.
Gecko: No signal
WebKit: No signal
Web developers: No signals
Other signals:
SecurityThis API exposes the server's leaf certificate and fingerprint to the web app. This is not considered a new security or privacy risk. A web app with Isolated Context and the direct-sockets permission can already open a raw TCP connection to any server, perform a (D)TLS handshake using a WASM library, and retrieve the exact same server certificate.
WebView application risksDoes this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
No information provided
DebuggabilityThere's no devTools support for this feature. Since, this feature itself does not modify any web requests, it gives read-only view into server certificate.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?No
This feature is implemented on desktop platforms, although it will only be available to the end users on platforms that support Isolated Web Apps, which is currently only ChromeOS. Android is excluded for historical reasons, although there are no apparent interoperability blockers here.
Is this feature fully tested by web-platform-tests?No
Flag name on about://flagscontrolled-frame-web-request-security-info
Finch feature namekControlledFrameWebRequestSecurityInfo
Rollout planWill ship enabled for all users
Requires code in //chrome?True
Tracking bughttps://g-issues.chromium.org/issues/462114142
Launch bughttps://launch.corp.google.com/launch/4436388
MeasurementAdded new values to Extensions.WebRequest.EventListenerFlag which are securityInfo, securityInfoRawDer
Availability expectationFeature is available only in Isolated Web Apps on desktop platforms. https://chromestatus.com/feature/5146307550248960
Adoption expectationExpected to be used initially by a small number of developers inside Isolated Web Apps.
Adoption planWorking directly with developers that are planning to rely on the API.
Estimated milestones
Shipping on desktop 147 DevTrial on desktop 145
Anticipated spec changesOpen questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
No information provided
Link to entry on the Chrome Platform Statushttps://chromestatus.com/feature/5076692209106944?gate=6523426508505088
Links to previous Intent discussionsIntent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/691df8c4.050a0220.2a427a.06b0.GAE%40google.com
This intent message was generated by Chrome Platform Status.--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6938134e.050a0220.1dd095.0001.GAE%40google.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6938134e.050a0220.1dd095.0001.GAE%40google.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+unsubscribe@chromium.org.