Skip to content
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

Change proof reference from JWT to JWS. #652

Merged
merged 3 commits into from
Jun 30, 2019
Merged

Conversation

msporny
Copy link
Member

@msporny msporny commented May 26, 2019

Related to #609.


Preview | Diff

@msporny msporny mentioned this pull request May 26, 2019
@awoie
Copy link
Contributor

awoie commented May 27, 2019

@msporny As far as I understood, this PR does not change the "Proof Format" from JWT to JWS. Only the reference was corrected? If this assumption is correct, then I'm ok with this PR although the spec already says:

If no JWS is present, a proof property MUST be provided.

@nadalin
Copy link

nadalin commented May 29, 2019

A JWT alone can't provide any proof, its the combination with JWS, this has not cleared up the issue

index.html Outdated
@@ -592,7 +592,7 @@ <h3>Use Cases and Requirements</h3>
an essential part of processing a <a>verifiable credential</a>. At the time
of publication, Working Group members had implemented
<a>verifiable credentials</a> using at least three proof mechanisms:
JSON Web Tokens [[RFC7519]], Linked Data Signatures [[?LD-SIGNATURES]], and
JSON Web Signature [[RFC7515]], Linked Data Signatures [[?LD-SIGNATURES]], and
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps --
JSON Web Tokens [[RFC7519]] with JSON Web Signatures [[RFC7515]]; Linked Data Signatures [[?LD-SIGNATURES]]; and

@nadalin
Copy link

nadalin commented Jun 3, 2019

@TallTed Why LD-Signatures? its not a standard, it requires LD-C14N which is also not a standard? If these specs were in a standards track I would comment on them as the C14N aspects have serious issues.

@TallTed
Copy link
Member

TallTed commented Jun 3, 2019

@nadalin - As the preceding text states, LD-Signatures is one of the proof mechanisms which have been used in verifiable credential implementations by members of the VCWG, and has been included in the spec since at least Apr 18, 2018.

I do not understand you objecting to LD-Signatures now, given that it was quoted in the text with which you raised your issue with JWT vs JWS.

To be quite clear, as it seems you did not understand @msporny's suggested revision in markup form, it reads:

At the time of publication, Working Group members had implemented verifiable credentials using at least three proof mechanisms: JSON Web Signature [RFC7515], Linked Data Signatures [?LD-SIGNATURES], and Camenisch-Lysyanskaya Zero-Knowledge Proofs [?CL-SIGNATURES].

(Note -- JWS is a normative reference; the other two are informative a/k/a non-normative references.)

I now think you had not understood that, and may in fact be fine with it, in which case my follow-on is moot. That said, because you objected to @msporny's revision, I suggested the following:

At the time of publication, Working Group members had implemented verifiable credentials using at least three proof mechanisms: JSON Web Tokens [RFC7519] with JSON Web Signatures [RFC7515]; Linked Data Signatures [?LD-SIGNATURES]; and Camenisch-Lysyanskaya Zero-Knowledge Proofs [?CL-SIGNATURES].

(Note -- JWS and JWT are normative references; the other two are informative a/k/a non-normative references.)

Hopefully you'll now be OK with one of the revisions above.

@nadalin
Copy link

nadalin commented Jun 4, 2019

@TallTed I think that to make it clear to the reader that there should be separate sentences.

At the time of publication, Working Group members had implemented verifiable credentials using at least three proof mechanisms: JSON Web Tokens [RFC7519] with JSON Web Signatures [RFC7515].

Alternatively Linked Data Signatures [?LD-SIGNATURES]; and Camenisch-Lysyanskaya Zero-Knowledge Proofs [?CL-SIGNATURES] specifications that are still in development have been used at various iterations have been used.

@TallTed
Copy link
Member

TallTed commented Jun 4, 2019

@nadalin - How about --

At the time of publication, Working Group members had implemented verifiable credentials using at least three proof mechanisms: one based on a combination of the JSON Web Tokens [RFC7519] and JSON Web Signatures [RFC7515] standards; one based on the developing Linked Data Signatures [?LD-SIGNATURES] standard; and one based on the developing Camenisch-Lysyanskaya Zero-Knowledge Proofs [?CL-SIGNATURES] standard.

@nadalin
Copy link

nadalin commented Jun 4, 2019

@TallTed close but "developing" does not quite capture or stress the unstableness or fully thought-out aspects.

@msporny
Copy link
Member Author

msporny commented Jun 8, 2019

@awoie wrote:

As far as I understood, this PR does not change the "Proof Format" from JWT to JWS.

Yes, that's correct.

@msporny
Copy link
Member Author

msporny commented Jun 8, 2019

@nadalin wrote:

@TallTed close but "developing" does not quite capture or stress the unstableness or fully thought-out aspects.

I've added the following text:

... at least three proof mechanisms: JSON Web Tokens [[RFC7519]] secured using JSON Web Signatures [[RFC7515]]; ...

and this text:

Implementers are advised to note that not all proof mechanisms have been standardized as
of the publication date of this specification. The group expects some of these mechanisms, as well as new ones, to mature independently and become standardized in time.

That, coupled with the clear markers on each referenced spec (that they are or are not W3C/IETF standards) will give implementers more than enough of a warning to consider their implementation choices.

@msporny
Copy link
Member Author

msporny commented Jun 8, 2019

Please re-review @nadalin to see if you agree with the changes.

@burnburn
Copy link
Contributor

From VCWG call on 11 June 2019:
RESOLUTION: The Working Group has confirmed that calling out the phase of standardization that any particular specification is in is not necessary as implementers can determine that information from the heading information in each specification as well as perusing the normative and non-normative reference section.

@nadalin
Copy link

nadalin commented Jun 11, 2019

@msporny This will come down to the discussion on interoperability and what is acceptable

@msporny
Copy link
Member Author

msporny commented Jun 30, 2019

Multiple positive reviews, non-normative, non-substantive, merging.

@msporny msporny merged commit 18757f0 into gh-pages Jun 30, 2019
@msporny msporny deleted the msporny-issue-609 branch February 20, 2021 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants