- From: Oliver Terbu <oliver.terbu@spruceid.com>
- Date: Mon, 20 Feb 2023 14:30:20 +0100
- To: Taylor Kendal <taylor@learningeconomy.io>
- Cc: Manu Sporny <msporny@digitalbazaar.com>, W3C Credentials CG <public-credentials@w3.org>
- Message-ID: <CAP7TzjD_D_JqCAjX+Oan16XnJue8nLWtJjSe_sMGu5=_juGYNQ@mail.gmail.com>
Hey all, First of all, thank you Manu for the summary. Nevertheless, Paul Bastian (Bundesdruckerei, Federal Printing House of Germany, co-author of RWOT Holder Binding paper and invited to the F2F session online) and I (led the Holder Binding session and presented the slides) wanted to give our interpretation of what was agreed during the session, what holder binding is, what it not is and what are the next steps. Please see our comments below... *From:* Manu Sporny <msporny@digitalbazaar.com> > *Sent:* Saturday, February 18, 2023 8:57 AM > *To:* W3C Credentials CG <public-credentials@w3.org> > *Subject:* Outcome of 2023 Miami Verifiable Credentials WG Meeting > > Holder Binding > -------------------- > > * There was consensus that "Holder Binding" was the wrong terminology > and the group does not want to use it going forward. There seemed to > be consensus forming around the term "assurance" plus another word > like "identity assurance" or "assurance method"... further > bikeshedding will be done on this terminology. > [Paul/Oliver] While there was consensus that the group does not want to adopt the term “Holder Binding”, the group was mostly against using the term “Identity Assurance”. While the term assurance was being discussed the group felt most comfortable with the term “confirmation method” but this term is up for bikeshedding once we have a concrete PR that introduces that feature. The RWOT paper used the term “Identifier Binding” which would be another option. Also the term “subjectEvidence” was brought up. > > * For use cases where the issuer would like to convey the mechanism > that it used to perform identity proofing, the `evidence` field could > be used. Expressing statements like: "I checked a passport that had > these fields and a photo against the individual standing in front of > me, in person, before I issued this credential" seemed like a bad fit > for`credentialSubject`, but a good fit for `evidence`. > [Paul/Oliver] The “evidence” in our opinion describes how the issuer got the data or checked the identity of the holder/subject which corresponds more to the NIST IAL (Identification Assurance Level). However, the mechanisms how the issuer got/checked the data, might not be available for the verifier or the issuer offers a simpler mechanism (so verifier doesn’t have to check all the evidence themselves, e.g., a utility bill). In the confirmation method the issuer describes one or more mechanisms how a verifier can confirm/authenticate a subject/holder. This corresponds to NIST AAL (Authentication Assurance Level). Therefore, the confirmation method can be independent from issuer evidence. The following are some examples for evidence and confirmation methods. Note, that both don't have to be always the same. It might be even fine to have a confirmation method property without a corresponding evidence and vice versa. Evidence: - Utility bill - Passport - Internal Government registry - DID Auth / Public Key Confirmation method: - DID Auth / Public Key - Portrait picture - Passport reference By including a confirmation method claim in the `credentialSubject`, the issuer of the VC declares that the presenter controls a particular confirmation method and that the verifier can confirm that the presenter has control of that confirmation method. The issuer binds the claims about the subject to the confirmation method. The confirmation method can have different types and each type can refer to different claims and properties in VCs such as the `evidence`, `credentialSubject.id` (in case of DID Auth), or something else. Confirmation Methods are more than just DIDs and Keys. They should offer mechanisms for different scenarios (on-site vs remote, attended vs unattended) for the same credential. Moreover they better describe what people today see as “obvious” and implicit by making the current approach with DID/credentialSubject.id more explicit and offer additional means to authenticate the subject/holder. Example (not normative): ... "confirmationMethods": [ { //refers to credentialSubject.id and can be defined //as verify the VP and that the VP is signed with linked DID "type": [ "SubjectDidAuthenticationConfirmation2023" ] }, { "type": [ "PassportConfirmation2023" ] , "nationality": "NL", "passportNumber": 012345678, "contentHash": "3338be69 ... 2398f392" }, { "type": [ "BiometricTemplateConfirmation2023" ] , "portrait": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8sAAAJl..." }, { "type": [ "BiometricTemplateConfirmation2023" ] , "linkedPortrait": "credentialSubject.userPicture" //refers to existing claim }] … ConfirmationMethods can also be used with a potential issuee/holder property if required. > > * For use cases where the issuer would like to shift liability or > constrain what the verifier does, such as "If you don't check the > individual's passport before you accept this VC, then you accept all > liability" were identified as problematic to support as we'd need a > lot of input from legal counsel and there were doubts that the sort of > liability shifting some were expecting was possible. > [Paul/Oliver] The verifier does not need to trust information issued by the issuer, if they choose to ignore expirationDate, that’s fine and the same holds true for confirmation methods. So the confirmation method gives guidance to the verifier, because the issuer knows best how to interpret the VC data. > * There will be a concrete pull request offered based on the > discussions at the F2F. > [Paul/Oliver] For the PR, we said, we will add the base properties for the confirmation methods to VCDM (type, potentially realm) and then we will define 1-2 concrete types, e.g., DID Auth, Biometric Template. For the use cases document, we also agreed it makes sense to add language that describes the importance of strong authentication, e.g., MFA. Thanks, Oliver & Paul
Received on Monday, 20 February 2023 13:30:44 UTC