openid / OpenID4VP

57 stars 20 forks source link

Clarification on the Definition of "Holder" #225

Open peppelinux opened 3 months ago

peppelinux commented 3 months ago

The current definition of "Holder" in the OpenID4VP specifications states:

Holder: An entity that receives Verifiable Credentials and has control over them to present them to the Verifiers as Verifiable Presentations.

This definition, while succinct, lacks clarity on the technical aspects of who or what constitutes a "Holder" in practical scenarios, especially when considering the interaction between the user and their digital wallet.

Points for Clarification:

User vs. User+Wallet as Holder

Role of the Wallet

Combined Entity as Holder

Suggested Revision

To address these points, I propose revising the definition of "Holder" to better articulate the relationship and roles of the user and the wallet. The revised definition could read:

Holder: A combined entity, typically consisting of a user and their digital wallet, that receives Verifiable Credentials and has control over them. This entity is responsible for managing and presenting the credentials to Verifiers as Verifiable Presentations. While the user is the administrative owner of the credentials, the wallet provides the necessary technical support to store, manage, and present the credentials effectively.

All this issue description can be summarized with the question <<Really, who is the Holder?>>

TallTed commented 3 months ago

Note that a VC may be carried as printed material (e.g., a barcode). In other words, a VC does not need to be digital, nor does holding it require the use of a digital wallet.

TomCJones commented 3 months ago

a qr code is digital no matter the medium here are the terms in other specs. -- i would not try to change word definitions to match some protocol, but how it really works in the real world. Guardian = a human or role that has statutory capability to control access to the subject’s credentials and other data. (See below) Holder = the person who has control of the phone and of access to the wallet and credentials on the wallet. Subject = the identified person (or persona) that the credential is issued to, maybe the Holder or another User as well. User = In this report the user can be any of the Holder, Verifier agent, Subject or other person in authorized possession of the Phone to complete the consent process. Verifier = the entity that receives and determines if the subject attribute data is sufficient Wallet = code running on the phone that will protect PII or authentication secrets and can collect consent and register accesses.

patatoid commented 2 months ago

I agree with @peppelinux for the clarification about the entity. Note that the change may be reflected in oid4vci which has the same definition in the terminology section https://github.com/openid/OpenID4VCI/blob/main/openid-4-verifiable-credential-issuance-1_0.md#terminology