LGTM to experiment from M135 to M141 inclusive.

On 2/21/25 11:23 AM, Chromestatus wrote:


        Contact emails

mk...@chromium.org


        Explainer

https://github.com/WICG/signature-based-sri


        Specification

https://wicg.github.io/signature-based-sri


        Summary

This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.



        Blink component

Blink>SecurityFeature>Subresource Integrity <https://issues.chromium.org/issues?q=customfield1222907:%22Blink>SecurityFeature>Subresource Integrity%22>


        Search tags

sri </features#tags:sri>, signature </features#tags:signature>, ed25519 </features#tags:ed25519>, integrity </features#tags:integrity>, provenance </features#tags:provenance>


        TAG review

https://github.com/w3ctag/design-reviews/issues/1041


        TAG review status

Pending


        Origin Trial documentation link

https://github.com/WICG/signature-based-sri


        Risks



        Interoperability and Compatibility

None



/Gecko/: No signal (https://github.com/mozilla/standards-positions/issues/1139)

/WebKit/: No signal (https://github.com/WebKit/standards-positions/issues/434)

/Web developers/: No signals Shopify (@yoavweiss) has expressed positive initial impressions, as have folks at Cloudflare and Google.

/Other signals/:


        Ergonomics

The hash functions we currently support for SRI generally are not conducive to streaming responses. This is arguably fine for scripts and stylesheets (as those are executed atomically, requiring the entire body), but it cannot work for other resource types (images, video, etc). It's likely we'll want to extend the set of hash functions in the future (though we'd do that for SRI, CSP, and this mechanism in one fell swoop).



        Activation

Chromium's implementation of WebCrypto doesn't yet support Ed25519 signing/verification, which means tooling to help developers generate signatures requires flipping the experimental web platform features flag. Not the end of the world.



        Security

The feature aims to plug a security hole in the platform's status quo ante: it is impossible to deploy content-based integrity checks for dynamic resources, and URL-based checks are too broad to provide meaningful security protections. We continue to require CORS-based opt-in for integrity checks on responses to ensure that we're not leaking data unintentionally between origins.



        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?

None



        Goals for experimentation



        Ongoing technical constraints

None.



        Debuggability

`Signature` and `Signature-Input` header parsing and validation is well-covered with DevTools issues. The same cannot (yet!) be said for `Unencoded-Digest` parsing and enforcement. Working on it!



        Will this feature be supported on all six Blink platforms
        (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes


        Is this feature fully tested by web-platform-tests
        
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

Yes

https://wpt.fyi/results/subresource-integrity/unencoded-digest?label=experimental&label=master&aligned <https://wpt.fyi/results/subresource-integrity/unencoded-digest?label=experimental&label=master&aligned> https://wpt.fyi/results/subresource-integrity/signatures?label=experimental&label=master&aligned <https://wpt.fyi/results/subresource-integrity/signatures?label=experimental&label=master&aligned>



        Flag name on about://flags

signature-based-sri


        Finch feature name

SignatureBasedIntegrity


        Requires code in //chrome?

False


        Tracking bug

https://issues.chromium.org/issues/375224898


        Estimated milestones

Origin trial desktop first      135
Origin trial desktop last       141
Origin trial Android first      135
Origin trial Android last       141
Origin trial WebView first      135
Origin trial WebView last       141



        Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5032324620877824?gate=5259773271080960


        Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6753088f.2b0a0220.1432c2.020a.GAE%40google.com


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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67b8a89e.2b0a0220.175b17.0a0c.GAE%40google.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67b8a89e.2b0a0220.175b17.0a0c.GAE%40google.com?utm_medium=email&utm_source=footer>.

--
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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4f13ef34-b636-4885-a682-f6bb166b3dd2%40chromium.org.

Reply via email to