-
Notifications
You must be signed in to change notification settings - Fork 109
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
Determine interoperable way for Holder to make claims directly in VPs #860
Comments
Discussed on WG call 2022.08.24. @msporny and @dlongley advocated for sticking with the use of VCs rather than supporting a different way to make claims. @jandrieu Suggested that unless we change the open-world data model of the VP itself, this behavior "holderClaims" as a property in the VP is allowed, and as such, is likely be used by developers who find it to be a more convenient solution. I could support a debate about moving away from an open world model (and considering restricting this practice), but if we stay with the current spec, which allows arbitrary properties in the VP, then standardizing the use would increase interoperability. Note that if a developer wants to stick with the VC-based approach, a standard property for holder asserted claims, such as "holderClaims" would not prevent that approach. However, today, the only interoperable option requires duplicate signatures and duplicate verifications. In some use cases, the additional cryptography is more of a burden than justified, e.g., in IOT devices where computation and data size are both at a premium. Kristina mentioned there is support for this use case and recommended we leave the conversation open for people to consider. No resolutions made. |
This is close to the user-centric authorization request we use for sharing health records. Along with credentials, the signed presentation includes a claim of purpose as well as the scope of the request. Our use-case helps focus the question of open world vs. interop. Every request has three orthogonal dimensions:
RAR is one relevant aspect of this conversation. |
I wonder how the "User-Centric Request Model" (UCRM) perspective fits into
this discussion.
Briefly, UCRM, assumes that one or more VCs are combined with a stated
purpose and scope of a transaction resulting in a capability /
authorization for the transaction. The party signing the request is held
accountable based on their signature on the request.
Aside from the VCs presented, interoperability of scope seems pretty
trivial since asking for a resource or scope that is not understood by the
verifier is guaranteed to fail even before validating other aspects of the
request. That leaves interoperability of purpose specification which is
probably out of scope for this WG except as it relates to open world
schemas and contexts.
I'm hoping that this UCRM use-case helps drive consensus around the
presentation of VCs.
…On Wed, Aug 24, 2022 at 11:57 AM Joe Andrieu ***@***.***> wrote:
Discussed on WG call 2022.08.24. @msporny <https://github.com/msporny>
and @dlongley <https://github.com/dlongley> advocated for sticking with
the use of VCs rather than supporting a different way to make claims.
@jandrieu <https://github.com/jandrieu> Suggested that unless we change
the open-world data model of the VP itself, this behavior "holderClaims" as
a property in the VP is allowed, and as such, is likely be used by
developers who find it to be a more convenient solution. I could support a
debate about moving away from an open world model (and considering
restricting this practice), but if we stay with the current spec, which
allows arbitrary properties in the VP, then standardizing the use would
increase interoperability.
Note that if a developer wants to stick with the VC-based approach, a
standard property for holder asserted claims, such as "holderClaims" would
not prevent that approach. However, today, the only interoperable option
requires duplicate signatures and duplicate verifications. In some use
cases, the additional cryptography is more of a burden than justified,
e.g., in IOT devices where computation and data size are both at a premium.
Kristina mentioned there is support for this use case and recommended we
leave the conversation open for people to consider.
No resolutions made.
—
Reply to this email directly, view it on GitHub
<#860 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABB4YMLAKCY367TJR4SDBDV2ZBADANCNFSM5LZ7BVBA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
The issue was discussed in a meeting on 2022-12-14
View the transcript5.3. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Joe: had in credential the issuer issued a mDL but nothing about the subject presenting the credential. Is the current presenter the same as the issuer gave the VC to use case individual claiming US citizenship, the birth certificate claims the relationship to his mother, but she's remarried and has changed her name. Need something to connect these changes. This is me; this is my boss, my child, or simply I found this vc.
Manu Sporny: we should think more about this and provide a standard mechanism for representing this relationships.
Dave: we should try to leverage the primitives we already have. One way to do that is the VC. Given there is a lot complicated relationships and not have a highly complex reasoning engine to process it we should leverage VCs where the kinds of relationships are modeled. EG. give a parent child assertion yourself offered..
Joe: a little confused by what Dave just said. VCs require a separate artifact and different from the flow. Should be an action of the presentation. This is still "openworld" - should express this with some constrained openworld. Need a vocab that expresses common relationships. Good to address nontransferrable property, etc. would help us get rid of babel problem but need to express things as the real world works.. Kristina Yasuda: let's leave this conversation for further thought. Happy New Year for everyone. We've made progress with new V2 WG and working on it.. |
The issue was discussed in a meeting on 2023-02-08
View the transcript4.3. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Brent Zundel: determine interoperable way to make claims directly in VPs. Joe Andrieu: not much convo back and forth. Last time there was some pushback on call. Manu Sporny: concern is that we have primitive already. That is the VC.
Manu Sporny: can we compose it. VC allows us to say anything about anyone. Joe Andrieu: separate VC need a way to bind to a VP. Brent Zundel: how terrible would it be to have property in VP. But specify that the value of that property would be a VC.
Brent Zundel: so property in VP would be in form of a VC. Manu Sporny: its a good though. I had similar. It is a way of doing this. Still thinking about it. Michael Prorock: Going the same direction as brent. Feels like a vocab problem.
Michael Prorock: The tools we need exist. Joe Andrieu: I like idea of property whose values are credentials. Push back on making the VCs.
Joe Andrieu: semantics of VP are about why is this thing being presented and by whom.
Brent Zundel: don't have normatively defined way to sign and secure a VP..
Manu Sporny: data integrity work covers embedded proofs for presentations.
Manu Sporny: hard to talk about presentations without going into protocols.
Manu Sporny: agree with mprorock. For us to say this is applicable and useful need to see use cases in the field and then standardise from that. Michael Prorock: I agree with manu.
Michael Prorock: when you start to get into practicalities, start going into protocols.. Joe Andrieu: frustrated to deference to implementations.
Joe Andrieu: The semantics of what the presentations means is the gap. Orie Steele: joe is getting at 2 possible world views. Michael Prorock: agree, there are things we need to improve about VPs in spec. Not sure this is one of them. David Chadwick: I support JoeAndrieu's view.
David Chadwick: likely something about holder binding too. Proof of possession.
Mahmoud Alkhraishi: Have similar problem with the issuer field. Manu Sporny: agree with mkhraisha.
|
@iherman — Please edit your #860 (comment) and code fence the now-bare |
I understand the need for self-attested claims, and I think we can do it without defining anything new by providing guidance that "to make claims, |
The issue was discussed in a meeting on 2023-04-11
View the transcript1.1. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Kristina Yasuda: "Determine interoperable way for Holder to make claims directly in VPs". Joe Andrieu: The notion of this issue is that right now the only way to handle this is for holders to extend the model on their own, but no interoperable and normative way. also possible to embed a VC, but no standard way of having a VC referencing a VP. Kristina Yasuda: question for this call - is there a resolution, or an assignment to take it on. Joe Andrieu: volunteers to take the issue on. |
1 similar comment
The issue was discussed in a meeting on 2023-04-11
View the transcript1.1. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Kristina Yasuda: "Determine interoperable way for Holder to make claims directly in VPs". Joe Andrieu: The notion of this issue is that right now the only way to handle this is for holders to extend the model on their own, but no interoperable and normative way. also possible to embed a VC, but no standard way of having a VC referencing a VP. Kristina Yasuda: question for this call - is there a resolution, or an assignment to take it on. Joe Andrieu: volunteers to take the issue on. |
"pending-close" unless DavidC's presentation will be an inspiration. |
I had a similar proposal to this which I wanted to present at the last face to face but there was insufficient time. However the slides are still publicly available here
@jandrieu I think you can see how the above generalises your proposal. We could then add to the directory specific values of the URI to mean specific things e.g. relative, bearer, issuee, subject etc. I give various examples in my slide set |
P.S. I don't really care what name we give to property X as it is the concept that is the most important thing. I have suggested |
The issue was discussed in a meeting on 2023-06-14
View the transcript2.3. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Joe Andrieu: I think we don't have 2 implementations of this. Orie Steele: Just a comment on normative requirements, proof is optional, party can include additional fields by relying on JSON-LD context, you don't need two independent implementations to achieve this, you can use reserved terms, if W3C doesn't reserve terms, won't matter in context of standards, if govt. processing, they determine those terms. David Chadwick: I noticed a similar requirement a couple months ago, but we never presented at the face to face. Dave Longley: seems like the verifier won't accept arbitrary properties.
Dave Longley: i think we have the tools to make this happen, we don't need new reserved W3C terms. Kristina Yasuda: maybe leave a comment regarding the proposed paths forward. Joe: DavidC can you leave a comment on the issue, unless there is something to fight for, we should close it. Kristina Yasuda: thanks all.
Kristina Yasuda: please review PRs and issues outside of call time.
|
I'm warming up to @Sakurann's proposal, if we can find normative language to add to the spec. Something like
That seems like a workable direction, but I'm not fluent enough in the JWT work to understand if that works for VP-JWTs or the equivalent. Is that where you were headed @Sakurann? |
What is the difference between a self-signed a VP with an unsigned VC versus a self-signed VC? |
There is a difference in approach based on the hierarchical level at which the holder's assertions are placed. These assertions could be placed at the VP level, and relate to the VCs in the verifiableCredential property, or they could be in a separate (unsigned) VC along with the other VCs to which it relates. In my view turning these assertions into an unsigned VC introduces extra baggage that is not needed if they are placed at the VP level, since the VP already includes the extra baggage of validFrom, validUntil, type, issuer etc. |
Indeed. The requesting party (aka “holder”) must be held responsible for
the totality and context of their request. That includes Purpose as well as
Scope as well as any VCs and possibly a Deposit to offset processing costs.
Therefore the RqP must sign the request itself.
…On Thu, Jun 15, 2023 at 5:12 AM David Chadwick ***@***.***> wrote:
There is a difference in approach based on the hierarchical level at which
the holder's assertions are placed. These assertions could be placed at the
VP level, and relate to the VCs in the verifiableCredential property, or
they could be in a separate (unsigned) VC along with the other VCs to which
it relates. In my view turning these assertions into an unsigned VC
introduces extra baggage that is not needed if they are placed at the VP
level, since the VP already includes the extra baggage of validFrom,
validUntil, type, issuer etc.
—
Reply to this email directly, view it on GitHub
<#860 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABB4YLRRXLHXPRBEKGV7E3XLLGYBANCNFSM5LZ7BVBA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I'm not sure there is much of a difference, but a self-signed VC would allow an implementer to avoid having to create a separate flow to account for both signed and unsigned VCs in a VP. |
Makes sense. Which is why the one flow to use VCs that bears
standardization is Request (as specified by IETF GNAP) instead of VP.
…On Thu, Jun 22, 2023 at 12:13 PM Brent Zundel ***@***.***> wrote:
What is the difference between a self-signed a VP with an unsigned VC
versus a self-signed VC?
I'm not sure there is much of a difference, but a self-signed VC would
allow an implementer to avoid having to create a separate flow to account
for both signed and unsigned VCs in a VP.
—
Reply to this email directly, view it on GitHub
<#860 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABB4YMT3QHJVU4TO6QC57TXMRVI5ANCNFSM5LZ7BVBA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
The issue was discussed in a meeting on 2023-07-05
View the transcript2.6. Determine interoperable way for Holder to make claims directly in VPs (issue vc-data-model#860)See github issue vc-data-model#860. Kristina Yasuda: This is about self-signed VCs, right? Orie Steele: Brent has a raised a PR that addresses a lot of this issue. See github pull request vc-data-model#1181.
Brent Zundel: I don't remember if I tried to address the comments or not yet, but I definitely can. Kristina Yasuda: I've assigned this to you, Brent.
|
The issue was discussed in a meeting on 2023-07-11
View the transcript1.9. Add interoperable way for holder-asserted claims in a VP (pr vc-data-model#1186)See github pull request vc-data-model#1186. Brent Zundel: P.R seeks to address issue #860. See github issue vc-data-model#860. Brent Zundel: alternatively they can include an unsecured VC in the presented vcs.
Andres Uribe: made a comment about enabling forwarding of credentials. Oliver Terbu: can see interop issues with this approach in the future. Dave Longley: think forwarding use case can be solved by attaching a signature to the VC. Joe Andrieu: part of this shift has missed some of initial point from issue #860.
Joe Andrieu: not sure how we address that.
Oliver Terbu: I heard that we have two different issues. Brent Zundel: any concrete proposals or changes to this P.R is appreciated. Not sure how to act on the general guidance. Joe Andrieu: think that is pretty good. E.g. if it says if you are making a VP, you could have the ID of a VP that you then refer to. Brent Zundel: okay I can make that change. |
1 similar comment
The issue was discussed in a meeting on 2023-07-11
View the transcript1.9. Add interoperable way for holder-asserted claims in a VP (pr vc-data-model#1186)See github pull request vc-data-model#1186. Brent Zundel: P.R seeks to address issue #860. See github issue vc-data-model#860. Brent Zundel: alternatively they can include an unsecured VC in the presented vcs.
Andres Uribe: made a comment about enabling forwarding of credentials. Oliver Terbu: can see interop issues with this approach in the future. Dave Longley: think forwarding use case can be solved by attaching a signature to the VC. Joe Andrieu: part of this shift has missed some of initial point from issue #860.
Joe Andrieu: not sure how we address that.
Oliver Terbu: I heard that we have two different issues. Brent Zundel: any concrete proposals or changes to this P.R is appreciated. Not sure how to act on the general guidance. Joe Andrieu: think that is pretty good. E.g. if it says if you are making a VP, you could have the ID of a VP that you then refer to. Brent Zundel: okay I can make that change. |
PR #1186 was raised to address this issue and has been merged. Closing in 7 days if no objections are raised. |
VPs include a "verifiableCredential" for embedding VCs in the VP.
It's also possible to add properties to the VP that can represent claims made by the holder about the claims presented, thanks to the open world data model.
For example, in the VC Use Cases, 5.1 Citizenship by Parentage
the holder claims that he is the person born in the birth certificate, his mother is the parent in that birth certificate, that the person in the US passport is his mother, and that one of the subjects in the marriage license is his mother, all using the identifiers in those VCs to describe the relationship between the VCs.
You could of course, have the holder self-issue a VC and include in as any other VC. However, in practice, that is an unfortunate overhead, needing two signatures (the VC and the VP). It's easier just to add a property to the VP and get rid of the extra proof.
I'd like to see this standardized in some way (a candidate for v2.0). I initially considered "holderSubject" for symmetry with "credentialSubject" in the VCs. However, "holderClaims" might be more appropriate as statements about his mother have a different subject.
In a very pseudocode example:
The text was updated successfully, but these errors were encountered: