-
Notifications
You must be signed in to change notification settings - Fork 58
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
Verifiable Credential Status List 2021 #874
Comments
Hi @mkhraisha thanks for your review request. Is it possible for an issuer to use their own value for the Do the values of I have more general concerns about malicious issuers tracking credential holders, which I've no doubt has been thought about at length in the WG and wider community. It would be great to see pointers to more work on this, and mitigations in particular, given the types of organisations which are likely to issue credeintials, the limited options people may have for credentials that are accepted, and the power dynamics involved here. Thanks for your suggestion in the Security & Privacy questionnaire about asking about maturity of dependencies. I've raised an issue to add this to the questionnaire. Do you have an answer in mind for this question for the VC Status List spec? |
@rhiaro There are several kinds of statuses I've seen in the wild... Ones that go into a registry / list, which is expert curated... and ones which are open ended, and where you need to understand what the issuer wanted the status to mean, and each issuer can assign that value a different meaning... for example The other case is where a registry defines each status, and the RDF class ensured consistent meaning via term URLs:
Or a status list might not support multiple status, in which case, each bit is bound to a single meaning, regardless of where that meaning is defined.... this last category has been most contentious, since people fear that we will see issuer's creating a lot of implementation burden, on verifiers, by using multiple lists, with "custom status" values. AFAIK, the WG has not defined a way to support the "open world model for status'es", for either the single list case, or the multiple lists cases, but there is ongoing work to provide clarity on this topic. |
Dumb question... What's a bitstring? |
It is just a string of bits, https://csrc.nist.gov/glossary/term/bit_string |
Hi all. We are looking at this again in our W3C TAG breakout. @OR13, it sounds like you are replying to @rhiaro's question on your own behalf, but not on behalf of the working group. Is it possible to get a working group opinion on this? @brentzundel or @Sakurann, as working group chairs, perhaps you could help with this? |
Sorry for the delay on following up. Have you had chance to find pointers to any work on mitigations to the risks of malicious issuers and an answer to the suggested security question about dependencies? |
Hi @rhiaro, apologies for the delayed response. The VCWG has been heads down getting Data Integrity and VC JSON Schema into CR (this was done as of last week). We are now heads-down trying to get the VCDM v2.0 into CR (target date is last week of December). After we get through that hurdle, we'll shift our focus to "Verifiable Credential Status List 2021", which has been renamed to "Bitstring Status List". As such, we will probably not have a WG response on a timeline before the upcoming holiday break. I'll respond as an Editor of the specification, but this probably warrants TAG raising an issue on the spec and us marking it as "resolve before Candidate Recommendation". Note that my responses represent what the specification does today, not what we might change it to do in the future (based on TAG, implementation, and other Horizontal Review feedback):
At present, yes, it is possible to do that.
The
Yes. The more information you encode in the status list information, the more possibility there is for correlation (based on the extra bits of information you're getting). For example, we will most likely need to put Privacy Considerations entries in the specification noting the use of the (concerningly named) "status" value for the "statusPurpose" field.
It's the latter, we wanted multiple statuses to be able to be expressed... not all of them contemplated by the VCWG. As for legitimate values, one could conceive of: "sanctioned", "suspended-pending-review", "probation", "inactive", "under-review", "revoked-with-cause", "revoked-without-cause" ... though we don't know of anyone actively pursuing those As for, "Why a string instead of a JSON-LD type"? We've noted that there is a point of diminishing returns to use certain types. For example, with Data Integrity, we found that there was an explosion of JSON-LD Contexts for proof types and that we could reduce that explosion by just providing a single When it comes to malicious values, that implies a malicious issuer, and if you have a malicious issuer all bets are off. A malicious issuer can issue VCs that say horrible and untrue things about you, they can construct status lists that are designed to track you, and do a number of other harmful things. The key there to prevent abuse is to understand whether the behavior can be detected such that the issuer can be punished for that behavior (regulatory action, public shaming, boycott, loss of market share to more privacy-preserving issuer, etc.). We do speak to this in the current spec: https://w3c.github.io/vc-bitstring-status-list/#malicious-issuers-and-verifiers and the VCDM spec: https://w3c.github.io/vc-data-model/#issuer-cooperation-impacts-on-privacy ... but that might not be enough. Can you think of something more we should say in those sections (or others)?
Yes, they do. I imagine that we will probably want to say more about this, and a fresh set of eyes (the TAG's) will help focus our attention on what's missing and what more we should write. Again, this is commentary as an Editor of that specification, not a VCWG position. |
Thanks for your comprehensive reply, and for your patience while we loaded this back into our collective heads. |
I'm requesting a TAG review of Verifiable Credential Status List 2021.
This specification describes a privacy-preserving, space-efficient, and high-performance mechanism for publishing status information such as suspension or revocation of Verifiable Credentials.
Further details:
The VCWG is planning to take this specification to Candidate Recommendation in September 2023 (at W3C TPAC), reviews before that time frame (ideally, by the end of July 2023) would be ideal.
W3C Verifiable Credentials Working Group
The specification is undergoing work to address definition and reference of multiple status beyond suspension and revocation.
You should also know that this work intersects heavily with the Verifiable Credentials v2.0 work, which is also something that the TAG will be actively reviewing around the same time
We'd prefer the TAG provide feedback as (please delete all but the desired option):
☂️ open a single issue in our GitHub repo for the entire review
The text was updated successfully, but these errors were encountered: