Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content Integrity #125

Closed
BigBlueHat opened this issue Jan 30, 2018 · 5 comments
Closed

Content Integrity #125

BigBlueHat opened this issue Jan 30, 2018 · 5 comments

Comments

@BigBlueHat
Copy link
Member

I've been pondering content integrity in light of the "scattered" nature of Web resources. Even "single origin" pages often use CDNs (sometimes several). The WebApp Security WG is working on the Subresource Integrity spec (aka SRI) which handles this scenario for <script> and <style>...but that's it.

From the Subresource Integrity spec's intro:
"[Current] mechanisms, however, authenticate only the server, not the content."

As we a imagine a more document-centric, distributed (via Packaged Web Publication), and offline-able world for the Web, we will need similar integrity mechanisms that are content focused (as well as the current script and style options).

Filling this need could be done by utilizing what's being explored in the SRI spec or through some other similar content-hashing or signing system.

This will be simplest when applied within a Package Web Publication, but it is more desperately needed within a Web Publication--where parts are (currently) expected to be "scattered" across the Web.

@BigBlueHat
Copy link
Member Author

Interesting work from the IETF and Mozilla:

@BigBlueHat
Copy link
Member Author

One of today's finds around content integrity is the Instance Digests in HTTP spec which creates a Digest, Want-Digest, and proposes some tweaks to ye olde Content-MD5 header of yore.

The usage sounds very similar to Etag and If-None-Match patterns in HTTP, but with the addition of a verifiable hash algorithm (and not just a string identifier) which can be used on the response by the recipient.

This (or something like it) coupled with features described in this 2014 edition of the Sub-Resource Integrity spec provide a conceptual (at least) basis for building out a verifiable content exchange. Maybe. 😃

@BigBlueHat
Copy link
Member Author

@iherman I only just realized you've labeled this as "security" related. I don't think this topic is solely security related, though--and the label likely means most folks will ignore it (sadly).

Content integrity is as much about knowing that I have what I asked for as it is about knowing no one else changed my request (or the response) along the way.

Content integrity mechanisms may also be the vector on which we can build updating, stability, and even offline-ing capabilities.

Would you mind either adding more labels (if we have them)?

@iherman
Copy link
Member

iherman commented Mar 6, 2018

@BigBlueHat : adding new labels is no problem. I have added offline access, because you mentioned it, but could you check the list of labels to see which other topic it would fit? Or what labels are missing?

@iherman
Copy link
Member

iherman commented May 31, 2018

@iherman iherman closed this as completed May 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants