-
Notifications
You must be signed in to change notification settings - Fork 3
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
Public keys in request headers #21
Comments
Assuming we use the framework in #16, I think we'd get Spelling aside, there's some interaction with CORS here if we attach this header to that @annevk might wish to weigh in on. I think we'd also want to think a little bit about whether this is a communication channel to the server that we need to worry about. I'm not sure it is any different than GET parameters, but folks have had feedback on other proposals in this area we should make sure we consider. Marking this as |
Actually, reading that spec a little more closely, I'm not at all sure how |
One thing that seems potentially useful to support is specifying the expected public key in request headers. For example, if an application specifies
integrity="ed25519-[base64-encoded public key]"
, the request could include anExpected-Integrity: ed25519-[base64-encoded public key]
request header to allow the backend to know that signature-based SRI is expected, and it will be validated against the given public key.The concrete use case I have in mind is enabling an extremely basic form of key rotation. Suppose that a widely used library is signed with key A, but that key ends up getting compromised. The library owner would then want to start signing it with key B, but existing clients would already be pinning key A. If the backend knows what key the client has pinned, it could serve the corresponding signature.
This probably isn't critical for the MVP, so if it is controversial at all, I'd be inclined to skip this. But if it is non-controversial, this does seem like a nice capability that would be easy to support.
The text was updated successfully, but these errors were encountered: