Contact emails
[email protected]

Explainer
https://github.com/explainers-by-googlers/security-info-web-request


Specification
https://github.com/WICG/controlled-frame/pull/151


Design docs

https://github.com/explainers-by-googlers/security-info-web-request


Summary
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.


Blink component
Blink


Web Feature ID
Missing feature


Motivation
Web apps sometimes need to establish secure raw TCP/UDP connections (eg, 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 proposal
https://github.com/WICG/proposals/issues/245


TAG review
Tag does not review Isolated Web Apps. It was stated publicly here 
https://github.com/w3ctag/design-reviews/issues/842#issuecomment-2917031448


TAG review status
Pending


Risks




Interoperability and Compatibility
Other browsers may choose to implement this API.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:


Security
This 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 risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
No information provided



Debuggability
There'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://flags
controlled-frame-web-request-security-info


Finch feature name
kControlledFrameWebRequestSecurityInfo


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
True


Tracking bug
https://g-issues.chromium.org/issues/462114142


Launch bug
https://launch.corp.google.com/launch/4436388


Measurement
Added new values to Extensions.WebRequest.EventListenerFlag which are 
securityInfo, securityInfoRawDer


Availability expectation
Feature is available only in Isolated Web Apps on desktop platforms. 
https://chromestatus.com/feature/5146307550248960


Adoption expectation
Expected to be used initially by a small number of developers inside Isolated 
Web Apps.


Adoption plan
Working directly with developers that are planning to rely on the API.


Estimated milestones


Shipping on desktop 147

DevTrial on desktop 145




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
No information provided


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5076692209106944?gate=6523426508505088


Links to previous Intent discussions
Intent 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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6938134e.050a0220.1dd095.0001.GAE%40google.com.

Reply via email to