-
Notifications
You must be signed in to change notification settings - Fork 37
Add support for request encryption to credential endpoint and request/response encryption to deferred credential endpoint #505
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
Conversation
|
The PR indeed, adds the I have some questions. Assume the following:
In the above scenario, wallet has to place a deferred request. a) Should this differed request include also I am trying to understand, whether |
|
a) Yes, it must, will update to add text to that effect. Architecturally, the only downside to this approach is that the issuer would need to store the pending credential somewhere securely (whereas if the key is managed, they could encrypt it and store it anywhere). IMO avoiding key management is more important. I'll update the text a bit. |
jogu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should have some security & privacy considerations added too, albeit I don't mind if we open an issue to do that in another PR so long as it gets into 1.0 - the effectiveness of this mechanism seems to be highly dependent on the wallet frontend fetching the issuer metadata directly rather than through the backend.
I think it would also be worthwhile to actually state the intended advantages of the encryption mechanism in the specification itself.
Co-authored-by: Joseph Heenan <joseph@authlete.com>
Co-authored-by: Joseph Heenan <joseph@authlete.com>
Co-authored-by: Joseph Heenan <joseph@authlete.com>
Makes sense. Probably two sections: One for what encryption can protect against and what it doesn't (particular in regard to TLS already existing). The second is the one christian is starting for wallet backend considerations. The problem you are describing is definitely true for retrieving the keys (you have to have some way, on the device, to trust them (the most obvious of which is fetching them directly). I think you would have the same issue with any other client metadata you are trusting (i.e. if it isn't fetched directly you can't trust it, e.g. if I pulled the endpoint from a wallet backend, even if I directly connected to it, it'd be a problem). Filed two issues on these. |
Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com>
|
WG discussion:
|
jogu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of suggestions, and a couple of comments where I couldn't come up with suggestions (sorry!).
Co-authored-by: Joseph Heenan <joseph@authlete.com>
Co-authored-by: Joseph Heenan <joseph@authlete.com>
… errors are not encrypted
Co-authored-by: Joseph Heenan <joseph@authlete.com>
Co-authored-by: Joseph Heenan <joseph@authlete.com>
|
Discussed on WG today: consensus to merge this once a small non-normative sentence is added to address Christian's comment re: compression. |
|
retracting request changes (as GH doesn't allow that) |
Resolves #339
Resolves #286
Resolves #506
resolves #480
Resolves adding support for
zipto support #480The adds in a new credential issuer metadata parameter to support Credential Request encryption. Additionally it updates Deferred Credential Endpoint to support encryption in the same manner as Credential Endpoint.
Merging this with the existing credential response encryption was considered, but given we allow all permutations of mandatory/optional/not supported for both request and response independently, there isn't a great way to do this.
If we required issuers to be consistent on support or not then these would be cleaner as single parameter (but perhaps something we should leave to HAIP).
To be consistent with HAIP,
algis now required in thejwk, a common section on how to perform selection is included andkidmust be included if available.The removal of alg is a breaking change but IMO is worth while to be consistent across the specs.