Closed decentralgabe closed 7 months ago
SD-JWT uses cnf
for this already.
If Data Integrity wants to do it differently, that seems like something for the data integrity spec to specify.
Doing this at the securing mechanism layer is probably the wrong thing to do. Additional semantics are useful when building confidence on alternate parties that might present a credential.
[@OR13] SD-JWT uses
cnf
for this already.
It would be helpful if you could to link to the SD-JWT RFC section that covers this.
@TallTed
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-selective-disclosure-jwt-06#section-5.1.2
But beware there are open PRs related:
Marking as post-CR, open to pending-close
unless others think adding this type of guidance is useful for v2.
The issue was discussed in a meeting on 2023-12-06
The issuee property partially solves this issue, because it is highly improbable that an issuer would issue a VC to an entity (the issuee) who was not entitled to present it. So by defining the issuee property you already have a partial solution. As to providing a solution for a completely different third party (i.e. not the issuer, not the issuee nor the subject) being authorised to present it, the question is, even if the issuer knows who this third party is, how did this third party get the VC in the first place? One solution is for this third party to request the VC from the issuer, and for its identity to be inserted into the issuee property. Then you have a complete solution to your problem. Another alternative is for the third party to request the VC from the issuee, but this pre-supposes that the issuee knows who the set of authorised presenters are. And that may not be feasible in all situations, nor even desirable. So assuming that the issuer is the only entity that knows who the authorised presenters are, I suggest the simplest solution is for each of these entities to ask the issuer for the VC, and to have their identity inserted into the issuee property.
even if the issuer knows who this third party is, how did this third party get the VC in the first place
there are cases like a parent presenting on behalf of their child, or even an individual who has migrated to a new identifier that wishes to present their credential
I suggest the simplest solution is for each of these entities to ask the issuer for the VC, and to have their identity inserted into the issuee property.
I agree this is simplest and while not ideal (it will cause friction and assumes interoperable protocols) we should probably add some text like this
Issue #942 suggested adding the issuee property, so that it is standardised and will minimise interoperability problems (which would happen if each issuer defined its own issuee property). @decentralgabe Would you like to suggest re-opening this issue?
@David-Chadwick personally I think there is value in doing that, but given the long discussion, and pushback in #942 I am not sure we will end up with a different result. May be worth briefly discussing this on an upcoming call (cc: @brentzundel).
I'm curious what the PR will be.
My general disposition is that VCs should not present an information control system, aka DRM, which is what we get if we allow issuers to dictate who is allowed to share a VC.
I missed the chance to mention this on the call today, but I would strongly oppose changes to the spec, normative or otherwise, that suggests issuers have any legitimate authority to restrict what information a holder shares, including the VCs that they have in their position.
IMO, the right nuance of this is addressed with the confidence method, in which issuers indicate how a verifier might establish confidence that the subject of a claim in a VC is interacting with them in some way.
I agree in theory @jandrieu but with confidence method in its current (lackluster) state I view this as a gap worth adding some language to. I welcome your suggestions and wordsmithing help. I do not want to suggest that an issuer can restrict, but instead, allow certain authorized presenters explicitly.
The issue was discussed in a meeting on 2024-03-06
Sorry I missed the meeting on 6 March, but I was travelling. @jandrieu
if we allow issuers to dictate who is allowed to share a VC.
Adding an issuee property to a VC is not saying anything about who is allowed to share a VC. It is simply stating a fact about who the issuer issued the VC to. The current holder or verifier can process this data is whatever way they wish to.
@decentralgabe I agree with you that the confidence method is not likely to solve your problem anytime soon.
[@David-Chadwick] Adding an issuee property
Note that this issue (#1359) is about adding a property for "authorized presenters", which is not an "issuee" property.
Correct, but it can double up for that if the verifier wants to do so
The issue was discussed in a meeting on 2024-03-27
I think issuee(s)
is insufficient for authorizedPresenter(s)
. (I think both of these should be singular as property names, though they should not be limited to single values.)
I think an implementation extension (i.e., not directly handled within our spec) might be the best way to handle authorizedPresenters
, at present.
Yes I agree. We said at our WG meeting that introducing the definition of issuee should not make any normative changes to VCDM. So any use of the issuee role should be done in an extension document and added to the directory of extensions.
There is not consensus to add an authorized presenter role or capability to the VCDM at this point.
The conversation around whether to add an Issuee role and the extent to which there may be consensus to do so is being discussed in #1467
I am closing this issue.
We are running into a use case where require a credential to be presented by an issuer, or other set of parties known at issuance time. Currently, we do not have a way to express this in the VC a list of "authorized presenters."
I know this is related to confidence method and binding work.
I am not sure if there's enough demand to get a spec change in (unless there is - chime in!), so I'm mostly curious how others are solving this problem. Solutions that involve additional "relationship credentials" seem too complex.