-
Notifications
You must be signed in to change notification settings - Fork 7
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
Multiple signature support #20
Comments
In my personal opinion, checking both a hash value and a signature value doesn't seem like it would be too useful since pinning a hash pins an exact version of the resource, such that checking a signature doesn't seem too useful. What does seem potentially useful is supporting multiple signatures. There are two possible use cases for this:
I'm curious if other people see the utility in these two use cases, and how to balance this? We could of course add a way of specifying something like My personal opinion is that the simplest thing to do might be to just not support multiple SRI checks, and defer this complexity until a later evolution of the proposal. |
I see value in 1 (which is how the spec currently defines the feature). It allows clients and servers to shift from one key to another without needing to do so in lockstep. Servers start with key A, announce they're shifting to key B, clients specify A and B, servers specify A and B, clients remove A, servers remove A. Requiring a jump from A to B without the intermediate steps seems likely to cause breakage. Is your 2 a requirement folks have today? My intuition is that it isn't, but I'm not familiar enough with the ways regulatory requirements in this area are evolving. @yoavweiss and/or @igrigorik might also have thoughts from Shopify's position. If this is something we're confident we'll need, then I think it's reasonable to come up with ways to allow developers to express some kind of "required" signature vs "optional" signature. If it's not something we need today, it seems reasonable to defer. WDYT? (As an aside, I'd also note that your 2 shows a use case for using both hashes and signatures together: "I want exactly resource X, but I want my auditor to have signed it.") |
I do agree with that as a potential use case for 1, but I'm personally not sure that it is the best solution for key rotation. The tricky bit is that this would only allow key rotation once all clients have been updated to specify key A and key B, which for things like Google Analytics will never practically happen (since there are so many clients). This makes me think that if we want a (simple) key rotation solution, #21 is probably the better solution.
I'm not familiar with any requirement here. Though I'm also curious for Shopify/other feedback on this. |
This ("both keys") has not come up in any of our explorations at Shopify, so far at least. For 1 ("either key"), I can see benefits as described. I'd focus on 1 to start. |
Got it, that makes sense to me. This is enough of a reason that I am inclined to start with 1 ("either key") as the right option here. And if in the future people do see utility in supporting 2 ("both keys") then we could always add that as a future enhancement. |
Great. I filed #23 to capture the suggestion for the future, and I'll close this out as it matches what's currently in the proposal. |
One of the issues raised in the monkeypatch spec is the question of whether it is useful to support validating multiple SRI checks against the same resource, and what semantics we'd want to support here. From the spec:
Supporting both signatures and hashes is being discussed in #19. But let's discuss the question of supporting multiple signatures here.
The text was updated successfully, but these errors were encountered: