-
Notifications
You must be signed in to change notification settings - Fork 20
Update controller document reference #99
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This text aligns with https://w3c.github.io/did-core/#dfn-publickeyjwk , which we came to after considerable debate. If we want to change this text, that will make the Data Integrity definition deviate from the one in DID Core.
-1 for making the definitions mis-matched unless there is a really good reason to do so. What is the reason that this text is being proposed, which overrides what the DID WG decided the text should be?
The `publicKeyJwk` property is RECOMMENDED. If present, the value MUST | ||
conform to the <a data-cite="RFC7517#section-4">JSON Web Key (JWK) Format</a>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-1 to show preference for JWKs over other formats. If we want to make advice here on not exposing private key information to be more concise that could be ok if we also link to the DID core spec. I also don't think we should lose the advice for fragment identifiers.
In short, I think this should mirror what we did with the DID core spec, but extend it to other documents -- which is what I think the current spec already does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As @dlongley said.
The issue was discussed in a meeting on 2023-06-14
View the transcript1.5. Update controller document reference (pr vc-data-integrity#99)See github pull request vc-data-integrity#99. Manu Sporny: data integrity has 1 pr on it. |
https://lists.w3.org/Archives/Public/public-vc-wg/2023Jun/0026.html This is why we should recommend JWK over multibase. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's helpful to implementers to have clear guidance like this
Listing 2 key representations, making them both optional and defining a key resolution protocol in a data model document, seems to be not a great way to ensure interoperability. Instead, we should define a RECOMMENDED way to obtain key material and RECOMMENDED representation for the material, to discourage people from implementing support for every possible key format that might ever exist.... which will not help issuers secure claims about subjects in way that verifiers will be able to consistently understand. |
The issue was discussed in a meeting on 2023-07-12
View the transcript4.3. Update controller document reference (pr vc-data-integrity#99)See github pull request vc-data-integrity#99. mnau: there is a stuck PR, 99... Manu Sporny: need to discuss PR 99 probably. Ivan Herman: the invitation has been received, but he needs to review documents before possibly signing. |
The issue was discussed in a meeting on 2023-07-18
View the transcript1.2. Update controller document reference (pr vc-data-integrity#99)See github pull request vc-data-integrity#99. Brent Zundel: feel like we have a possible path forward. Orie Steele: DI has some excellent stuff that is not specific to data integrity, notably controller descriptions especially of did docs. Manu Sporny: think that the group has been clear that we should not prefer one approach or format over another.
Manu Sporny: the other issue is that the did wg did spend a lot of time trying to improve mistakes around publishing key material, and this pr removes some guidance that could permit an implementer to publish private key material.
Manu Sporny: we should have the ability to ensure that errors are thrown when errors or leakage is detected. Michael Prorock: I think Manu's speaking to an important point, especially because we're talking about Data Integrity and this spec and security data in general, while I have approved this PR and think that this is a good path forward, I do agree that we should also explicitly call out items and not remove items that deal with accidents we know happen in the wild. Specifically, inclusion of 'd' in a public key, just grep Github. Brent Zundel: is there a path forward for this PR and are there next steps? Orie Steele: agree with comments regarding avoiding preference - might consider applying those comments more generally. Manu Sporny: we should be specific in security guidance. the text in red that is being removed is good text and stuff that should be said.
Manu Sporny: disagreement is on whether or not this PR makes improvements. Michael Prorock: There are shades of what turned out to be a painful PR, which was the context integrity related items that came up initially in the JOSE/COSE spec, initially. We said yes, big enough issue to open issue on vc data model side... this feels a bit like that to me, particularly when we're talking about most of this, ZKPs, basically we can refer to what we're doing w/ VCs as dealing with public key crypto... so if that's the case, we should pull top level guidance into security considerations ... take areas that are deleted, put them into core data model explicitly and PR on data integrity that points to that. Dave Longley: general comment - if we have 3 diff approaches, we should give the best advice we can about each approach.
Manu Sporny: support for good security guidance should stay in, should get better, and we should see if we can get it in the core spec. Brent Zundel: look forward to seeing where this goes and i will be looking for an issue on the main spec. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 👍 to pointing to the
https://www.iana.org/assignments/jose#web-key-parameters
registry (though it still wouldn't hurt to provide an example private parameter liked
). - -1 to removing the recommendation to use public key fingerprint as
kid
. That is an extremely useful piece of implementer guidance.
I also feel uneasy to RECOMMEND a key representation in this top level spec.
@dmitrizagidulin If I understand your feedback, you want us to include an example where Do you plan similar guidance on using the multicodec representation for fragments on |
I think the current language misleads implementers regarding key representation maturity and standardization. I feel similarly about adopting multikey in IETF... given COSE Key and JWK already exist and are good enough, for communicating keys in JSON and CBOR. I guess we'll continue this debate there when the charter goes up for review. |
See comment here: #135 (comment) Regarding the unsafe guidance we are currently giving regarding private keys and RSA. |
Not quite, but I don't feel strongly about this, I agree with you elsewhere that we should specifically say parameters not properties etc.
I would like to add similar guidance for multicodec, yeah. Advice to developers on how to form key fragments is super useful. |
@dmitrizagidulin propose some text, and I will update this PR to address both cases consistently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's helpful to deviate from DID Core, which (besides complexities around different representations) has been working quite well so far.
The issue was discussed in a meeting on 2023-08-23
View the transcript1.1. Update controller document reference (pr vc-data-integrity#99)See github pull request vc-data-integrity#99. Manu Sporny: Orie raised the PR; it has had a number of reviews which are approximately 50-50 for and against. It doesn't seem like there will be consensus. Orie Steele: I think we should copy the content into VC JOSE/COSE, and we should live the vc-data-integrity PR open until that or another strategy is completed. I agree that the vc-data-integrity PR is unlikely to gain consensus. Manu Sporny: I wonder if we should convert it to an issue in the VC JOSE/COSE specification. I also think that copying-and-pasting is a risky strategy for spec text. Orie Steele: We could promote the use of Multibase, and not mention JWK at all. Manu Sporny: I don't want to 'pick a side'; that's not what I think the specification is trying to do. We shouldn't force things on markets, because it would split communities of implementers.
Sebastian Crane: I think there is a philosophical issue and Manu alluded to that. There's the issue of whether or not VCs should essentially force a specific technology to facilitate the whole working of the ecosystem or if it's better to let the implementers decide. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
There is now a PR here that attempts to make the changes in this PR: https://github.com/w3c/vc-jose-cose/pull/144/files ... and many more that I expect will lead to objections. This PR is unlikely to be merged and overtaken by events (another PR in another repo). Closing. |
Preview | Diff