<!DOCTYPE HTML><html>
<head>
<meta name="Generator" content="Amazon WorkMail v3.1.2911.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>RE: [Openid-specs-digital-credentials-protocols] NOT READY --- RE: FW: Working group last call for proposed OpenID4VP Implementer's Draft</title>
</head>
<body>
<html><head></head><body><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">There are actually two root problems, not just one.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">1. The issuer of a VC does not sign the public key of the subject.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">2. The subject may not be the one presenting the credential,<br>and even it it is, there is no way for the RP to ascertain that it is.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">One good thing about OpenID4VP is that it is not vague like most of the VC literature,</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">so it forces us to face these problems, and perhaps solve them.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">I'm hoping to have a good session about all this at IIW.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">Francisco</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">-----Original message-----<br><strong>From:</strong> Francisco Corella via Openid-specs-digital-credentials-protocols <openid-specs-digital-credentials-protocols@lists.openid.net><br><strong>Sent:</strong> Wednesday, October 23 2024, 12:55 pm<br><strong>To:</strong> Orie Steele <orie@transmute.industries>; Digital Credentials Protocols List <openid-specs-digital-credentials-protocols@lists.openid.net><br><strong>Cc:</strong> Francisco Corella <fcorella@pomcor.com>; Gabe Cohen <gabe@tbd.email>; Veronica Wojnas <v.wojnas@gmail.com>; Sukhi Chuhan <sukhpreetchuhan@gmail.com><br><strong>Subject:</strong> Re: [Openid-specs-digital-credentials-protocols] NOT READY --- RE: FW: Working group last call for proposed OpenID4VP Implementer's Draft</p><p> </p><p> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">The issue is NOT how you resolve DIDs, nor any other technical details of decentralized identifiers.</p><p></p><p></p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">The issue is that there is no relationship between the credential subject and the holder of the presentation that can be cryptographically verified by the relying party.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Francisco</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><blockquote style="border-left: 2px solid rgb(176, 176, 183); margin-left: 5px; margin-right: 0px; padding-left: 5px;">-----Original message-----<br><strong>From:</strong> Orie Steele <orie@transmute.industries><br><strong>Sent:</strong> Wednesday, October 23 2024, 12:48 pm<br><strong>To:</strong> Digital Credentials Protocols List <openid-specs-digital-credentials-protocols@lists.openid.net><br><strong>Cc:</strong> Gabe Cohen <gabe@tbd.email>; Francisco Corella <fcorella@pomcor.com>; Veronica Wojnas <v.wojnas@gmail.com>; Sukhi Chuhan <sukhpreetchuhan@gmail.com><br><strong>Subject:</strong> Re: [Openid-specs-digital-credentials-protocols] NOT READY --- RE: FW: Working group last call for proposed OpenID4VP Implementer's Draft<br> <div dir="ltr">The idea with these JSON-LD graph node identifiers, is that you have some document loader that resolves the identifiers to cryptographic material or other credentials.<br><br>So in W3C VCDM where you see:<br><br><font face="monospace">kid: did:example:holder#key-1</font><br><br>You can mentally replace that with:<br><br><font face="monospace">- urn:ietf:params:oauth:ckt:sha-256:SWvYr63zB-WwjGSwQhv53AFSijRKQ72oj63RZp2iU-w<br>- urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs</font><br><br><font face="arial, sans-serif">And then assume that *somehow* the issuers, holders and verifiers have all agreed to resolve key identifiers to public keys the same way, and that they confirm signatures the same way.<br><br>In terms of "credential binding", you can use the "cnf" claim in W3C VCDM credentials just like you can use it with CWTs / JWTs.<br><br>- </font><a title="This external link opens in a new window" href="https://www.iana.org/assignments/cwt/cwt.xhtml#confirmation-methods">https://www.iana.org/assignments/cwt/cwt.xhtml#confirmation-methods</a><br><font face="arial, sans-serif">- </font><a title="This external link opens in a new window" href="https://www.iana.org/assignments/jwt/jwt.xhtml#confirmation-methods">https://www.iana.org/assignments/jwt/jwt.xhtml#confirmation-methods</a><br><br><font face="arial, sans-serif">From this view a "DID URL" aka "JSON-LD graph node identifier for a verification method", is just a special case of "weird looking" kid.<br><br>Notice that "kid" is in both registries as a valid confirmation method.<br><br>I'd suggest removing the DID examples from this specification before publishing or documenting what I have written above in the specification.<br><br>OS</font><br> </div> <div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 23, 2024 at 2:26 PM Francisco Corella via Openid-specs-digital-credentials-protocols <<a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a>> wrote:</div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"><div><div><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">That reference is not in the credential, it's in the presentation. And it is not a reference to the subject of the credential.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Even if the verifier were able to find the public key of the holder in the DID document of the holder,</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">it would no way of verifying cryptographically that the credential was issued to <span style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">did:example:holder.</span></p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Francisco</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><blockquote style="border-left: 2px solid rgb(176, 176, 183); margin-left: 5px; margin-right: 0px; padding-left: 5px;">-----Original message-----<br><strong>From:</strong> Gabe Cohen <gabe@tbd.email><br><strong>Sent:</strong> Wednesday, October 23 2024, 12:01 pm<br><strong>To:</strong> Digital Credentials Protocols List <<a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a>><br><strong>Cc:</strong> Francisco Corella <<a title="This external link opens in a new window" href="mailto:fcorella@pomcor.com">fcorella@pomcor.com</a>>; Veronica Wojnas <<a title="This external link opens in a new window" href="mailto:v.wojnas@gmail.com">v.wojnas@gmail.com</a>>; Sukhi Chuhan <<a title="This external link opens in a new window" href="mailto:sukhpreetchuhan@gmail.com">sukhpreetchuhan@gmail.com</a>><br><strong>Subject:</strong> Re: [Openid-specs-digital-credentials-protocols] NOT READY --- RE: FW: Working group last call for proposed OpenID4VP Implementer's Draft<br> <div dir="ltr">There is a reference to it in what you’ve quoted</div><div dir="ltr"> </div><blockquote type="cite" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"><div dir="ltr"><span style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> "verificationMethod": "did:example:holder#key-1"</span></div></blockquote><div> </div><div dir="ltr">If your implementation understands DIDs then this is a standard way to express referencing key material in a DID Document.</div><div dir="ltr"> </div><div dir="ltr">The examples do need to be updated, however, I would not classify this as a <em>fundamental security flaw</em>. I have an <a title="This external link opens in a new window" href="https://github.com/openid/OpenID4VP/issues/5">issue to make the W3C VC</a> examples better. </div><div dir="ltr"> </div><div dir="ltr">Gabe</div> <div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Oct 23, 2024 at 11:48:26 AM, Francisco Corella via Openid-specs-digital-credentials-protocols <<a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a>> wrote:</div><blockquote type="cite" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"><div><div> </div><div><div><div> </div><div><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Hello Mike,</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Thank you for sending the last call and the current Editor's draft of the OpenID4VP specification.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">I think the draft is not ready because it has a fundamental security flaw.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Section 2 says:</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Cryptographic Holder Binding:<br>Ability of the Holder to prove legitimate possession of a Verifiable Credential by proving control over the same private key during the issuance and presentation. Mechanism might depend on the Credential Format. For example, in jwt_vc_json Credential Format, a Verifiable Credential with Cryptographic Holder Binding contains a public key or a reference to a public key that matches to the private key controlled by the Holder.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">But Section B.1.2.3 has the following example of a verifiable presentation of a verifiable credential:</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">{<br> "@context": [<br> "<a title="This external link opens in a new window" href="https://www.w3.org/2018/credentials/v1">https://www.w3.org/2018/credentials/v1</a>"<br> ],<br> "type": [<br> "VerifiablePresentation"<br> ],<br> "verifiableCredential": [<br> {<br> "@context": [<br> "<a title="This external link opens in a new window" href="https://www.w3.org/2018/credentials/v1">https://www.w3.org/2018/credentials/v1</a>",<br> "<a title="This external link opens in a new window" href="https://www.w3.org/2018/credentials/examples/v1">https://www.w3.org/2018/credentials/examples/v1</a>"<br> ],<br> "id": "<a title="This external link opens in a new window" href="https://example.com/credentials/1872">https://example.com/credentials/1872</a>",<br> "type": [<br> "VerifiableCredential",<br> "IDCredential"<br> ],<br> "issuer": {<br> "id": "did:example:issuer"<br> },<br> "issuanceDate": "2010-01-01T19:23:24Z",<br> "credentialSubject": {<br> "given_name": "Max",<br> "family_name": "Mustermann",<br> "birthdate": "1998-01-11",<br> "address": {<br> "street_address": "Sandanger 25",<br> "locality": "Musterstadt",<br> "postal_code": "123456",<br> "country": "DE"<br> }<br> },<br> "proof": {<br> "type": "Ed25519Signature2018",<br> "created": "2021-03-19T15:30:15Z",<br> "jws": "eyJhb...JQdBw",<br> "proofPurpose": "assertionMethod",<br> "verificationMethod": "did:example:issuer#keys-1"<br> }<br> }<br> ],<br> "id": "ebc6f1c2",<br> "holder": "did:example:holder",<br> "proof": {<br> "type": "Ed25519Signature2018",<br> "created": "2021-03-19T15:30:15Z",<br> "challenge": "n-0S6_WzA2Mj",<br> "domain": "<a title="This external link opens in a new window" href="https://client.example.org/cb">https://client.example.org/cb</a>",<br> "jws": "eyJhb...IAoDA",<br> "proofPurpose": "authentication",<br> "verificationMethod": "did:example:holder#key-1"<br> }<br>}</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">The public key of the holder is "did:example:holder#key-1". There is no reference to it in the verifiable credential, so cryptographic holder binding cannot be verified.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">The root of this problem is that, in a verifiable credential, the signature of the issuer does not cover the public key of the subject.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">I plan to call a session at next week's IIW to discuss this issue.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Best regards,</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Francisco<br> </p><blockquote style="border-left: 2px solid rgb(176, 176, 183); margin-left: 5px; margin-right: 0px; padding-left: 5px;">-----Original message-----<br><strong>From:</strong> Michael Jones via Openid-specs-digital-credentials-protocols <<a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a>><br><strong>Sent:</strong> Wednesday, October 23 2024, 7:34 am<br><strong>To:</strong> <a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a> <<a title="This external link opens in a new window" href="mailto:openid-specs-digital-credentials-protocols@lists.openid.net">openid-specs-digital-credentials-protocols@lists.openid.net</a>><br><strong>Cc:</strong> Michael Jones <<a title="This external link opens in a new window" href="mailto:michael_b_jones@hotmail.com">michael_b_jones@hotmail.com</a>><br><strong>Subject:</strong> [Openid-specs-digital-credentials-protocols] FW: Working group last call for proposed OpenID4VP Implementer's Draft<br> <div><p class="MsoNormal"><span style="font-size: 11pt;">FYI</span></p><p class="MsoNormal"><span style="font-size: 11pt;"> </span></p><div><div style="border-bottom: none; border-left: none; border-right: none; border-top: 1pt solid rgb(225, 225, 225); padding: 3pt 0in 0in;"><p class="MsoNormal"><strong><span style="font-family: Calibri, sans-serif; font-size: 11pt;">From:</span></strong><span style="font-family: Calibri, sans-serif; font-size: 11pt;"> Openid-specs-ab <<a title="This external link opens in a new window" href="mailto:openid-specs-ab-bounces@lists.openid.net">openid-specs-ab-bounces@lists.openid.net</a>> <strong>On Behalf Of </strong>Michael Jones via Openid-specs-ab<br><strong>Sent:</strong> Wednesday, October 23, 2024 7:31 AM<br><strong>To:</strong> <a title="This external link opens in a new window" href="mailto:openid-specs-ab@lists.openid.net">openid-specs-ab@lists.openid.net</a><br><strong>Cc:</strong> Michael Jones <<a title="This external link opens in a new window" href="mailto:michael_b_jones@hotmail.com">michael_b_jones@hotmail.com</a>><br><strong>Subject:</strong> [Openid-specs-ab] Working group last call for proposed OpenID4VP Implementer's Draft</span></p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Dear OpenID Connect Working Group,</p><p class="MsoNormal"> </p><p class="MsoNormal">We would like to get working group consensus that the current OpenID4VP draft is ready to start the Implementer’s draft approval process. Please respond to this e-mail within the next week, by Wednesday, October 30th end of business hours in Pacific Time, saying whether you believe the current draft should proceed or not.</p><p class="MsoNormal"> </p><p class="MsoNormal">The current OpenID4VP document to be reviewed can be found here: <a title="This external link opens in a new window" href="https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html">https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html</a>.</p><p class="MsoNormal"> </p><p class="MsoNormal">The details of the Implementer’s Draft approval process can be found here: <a title="This external link opens in a new window" href="https://openid.net/wg/resources/approving-specifications/">https://openid.net/wg/resources/approving-specifications/</a>. This e-mail is about the first bullet point on this list, which is sometimes called Working Group Last Call. Following that, there’s a 45-day Foundation-wide review, followed by a 7-day voting period. (The poll itself will actually open 7 days before the end of the Foundation-wide review ends.) If all goes smoothly, the voting will hopefully start on Monday, 16th December.</p><p class="MsoNormal"> </p><p class="MsoNormal">As shared on the working group calls, completing this Implementer’s Draft process promptly is an important step in obtaining IPR commitments for the specification, thereby enabling the DCP working group to adopt it. This will allow the DCP WG to hopefully publish a final specification by the end of March for inclusion into the EUDI implementing acts. We hope to get implementers’ feedback on this draft over the next few months so we can continue to perfect the specification before it becomes final.</p><p class="MsoNormal"> </p><p class="MsoNormal"><span style="font-size: 11pt;"> -- Mike (writing as working group chair)</span></p><p class="MsoNormal"><span style="font-size: 11pt;"> </span></p><p class="MsoNormal"><span style="font-size: 11pt;">P.S. Thanks to Joseph Heenan for drafting most of the text above!</span></p><p class="MsoNormal"><span style="font-size: 11pt;"> </span></p></div><pre>--
Openid-specs-digital-credentials-protocols mailing list
<a title="This external link opens in a new window" href="mailto:Openid-specs-digital-credentials-protocols@lists.openid.net">Openid-specs-digital-credentials-protocols@lists.openid.net</a>
<a title="This external link opens in a new window" href="https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols">https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols</a>
</pre></blockquote></div></div></div></div><div><div>--<br>Openid-specs-digital-credentials-protocols mailing list<br><a title="This external link opens in a new window" href="mailto:Openid-specs-digital-credentials-protocols@lists.openid.net">Openid-specs-digital-credentials-protocols@lists.openid.net</a><br><a title="This external link opens in a new window" href="https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols">https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols</a></div></div></blockquote></div></blockquote></div></div>--<br>Openid-specs-digital-credentials-protocols mailing list<br><a title="This external link opens in a new window" href="mailto:Openid-specs-digital-credentials-protocols@lists.openid.net">Openid-specs-digital-credentials-protocols@lists.openid.net</a><br><a title="This external link opens in a new window" href="https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols">https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols</a></blockquote></div> <div> </div><span class="gmail_signature_prefix">-- </span><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"> </p><p dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; padding: 10pt 0pt;"><span><strong>ORIE STEELE</strong><br><span style="background-color: transparent; color: rgb(32, 18, 77); font-family: Arial; font-size: 10pt; text-wrap: wrap;">Chief Technology Officer</span><br><span style="background-color: transparent; color: rgb(32, 18, 77); font-family: Arial; font-size: 8pt; text-wrap: wrap;">www.transmute.industries</span></span></p><p dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; padding: 0pt 0pt 10pt;"><span><a title="This external link opens in a new window" href="https://transmute.industries"><img width="96" height="22" src="https://ci3.googleusercontent.com/mail-sig/AIorK4xqtkj5psM1dDeDes_mjSsF3ylbEa5EMEQmnz3602cucAIhjLaHod-eVJq0E28BwrivrNSBMBc"></a></span></p></div></div></div></div></div></div></blockquote><pre>--
Openid-specs-digital-credentials-protocols mailing list
Openid-specs-digital-credentials-protocols@lists.openid.net
https://lists.openid.net/mailman/listinfo/openid-specs-digital-credentials-protocols
</pre></body></html>
</body>
</html>