-
Notifications
You must be signed in to change notification settings - Fork 2
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
BBS Cryptosuite v2023 2023-12-15 > 2024-01-15 #126
Comments
I'm planning to do a deeper review on this within the next week or two, but just wanted to add this while I'm briefly looking over it. In section 5.2.5 it goes on to mention linkability concerns based on external information such as IP addresses/MAC addresses but doesn't mention that this can also occur just based on the claims themselves. For example, if a zip code, gender, and birthdate are supplied that's likely enough entropy within the claims that the subject could be de-anonymized further through the use of public datasets. This is generally true across all VC data models but should be specifically called out as a privacy concern for any selective disclosure based proof mechanism. In this case, I'd highlight this within a separate section of 5.2 and cite https://dataprivacylab.org/projects/identifiability/paper1.pdf which I believe was the original paper that pointed this issue out. |
Hi Kyle thanks for taking a look. In section 5.2.4 Linkage via Holder Selective Reveal I tried to address the linkage from the claims that a holder might reveal. I cited: [NISTIR8053] NISTIR 8053: De-Identification of Personal Information. Simson L. Garfinkel. October 2015. URL: https://nvlpubs.nist.gov/nistpubs/ir/2015/NIST.IR.8053.pdf [Powar2023] SoK: Managing risks of linkage attacks on data privacy. J. Powar; A. R. Beresford. Proceedings on Privacy Enhancing Technologies. 2023. URL: https://petsymposium.org/popets/2023/popets-2023-0043.php Both of these cite the "Simple Demographics Often Identify People Uniquely" paper that you gave a link to. (Thanks for the link, I didn't have a copy!). I chose the Powar2023 reference since it was a "systematization of knowledge" of dealing with linkage attacks and cited/summarized 94 known public cases. This discussion was put in this section since even if the "other layers" do their job right, what the holder chooses to reveal can provide strong linkage if care is not taken. We can move this discussion around if you think appropriate. I like citing more recent references, but could add another. Cheers Greg B. |
Thanks for highlighting this - I completely missed this and should have completed my deeper review before commenting it looks like. When I finish up reading through this more I'll add comments on whether or not I think it's worth splitting into it's own section better or if it's fine the way it is. It's good to see it's at least called out even if I missed it the first time. |
No worries @kdenhartog its a big chunk of text and there was no equivalent to emulate. I've been working with the IETF/DIF BBS folks on privacy considerations but when we get to using BBS we need to take in the "higher layers". Hence my layered discussion with information in the claims being the highest layer (and the thing most out of our control). |
Here's some unstructured notes that I'll leave here for now and come back to edit before the upcoming call
Many of these are confusing aspects that I had questions about or editorial comments. Some are security related, and the final two are privacy related and should be discussed further on the call. Will put more structure in tomorrow, but going to stop for tonight. |
Hi @kdenhartog, some comments
|
Thanks for clarifying this. I figured that out later on and forgot to remove it before I published my notes. This comment can be ignored and I think it's also worth saying using JSON Pointers seems like a simpler solution to JSON-LD frames because it avoids the concerns I was thinking about.
In this case I'm delineating between the two different entities that represent the holder - The holder software and the user of said software. The reason this matters is because in certain circumstances a conformant implementation may be required to over-reveal information by the issuer (e.g. say they required that credentialSubject.id is a mandatory pointer) or alternatively a non-compliant holder software implementation seems like it could drop mandatory properties without the users knowledge. Both of these seem like it would introduce a consent prompt issue where implementations should be displaying consent prompts at the UI layer.
Yeah, it's odd because it seems to be redefining normatively (kind of normative statements aren't used in the algorithms, but it's assumed that's the intention) what these specs already define. For example, prefixing b64url encoded data with a
The confusing part here was not only that these weren't normatively referenced, but also that the recommended variable name doesn't point out that these are what are being used. It currently leaves it up to the reader to infer this based on the name of the variables and mention of JSON Pointers in an example at the bottom.
Part of the issue here is that the BBS draft is written under the assumption that the randomness here will likely be generated in a non-interactive way using a fiat-shamir heurstic. This creates a bit of an issue because the purpose of the
A safer way to handle this seems to be to add the challenge as an additional message and to leverage the non-interactive randomness generation technique. I've not thought too deeply about if this breaks the validation of the proof generated, but there's got to be a safer way to do this by normatively requiring usage of the non-interactive method instead. |
Yes, the 0x5d00 (23808) ecdsa-sd-2023 base proof |
I was having trouble following the above -- but I think I may have sorted out why, which is that there seems to be some confusion that the In short, the implementation and use of the BBS Do we need a statement indicating that the |
[[ |
@kdenhartog @dlongley it looks like the review triggered a lot of useful conversation. Now that the review is complete though, would it be possible to move the conversation into relevant issues filed against the spec? |
name of spec to be reviewed: BBS Cryptosuite v2023 Securing Verifiable Credentials with Selective Disclosure
using BBS Signatures
URL of spec: https://www.w3.org/TR/vc-di-bbs/#introduction
What and when is your next expected transition?
Transition to Candidate Recommendation in January 2024
What has changed since any previous review?
No previous review.
Does your document have an in-line Privacy Considerations section, ideally one separate from the Security Considerations? If not, corrrect that before proceeding further.
Yes.
Please point to the results of your own self-review (see https://w3ctag.github.io/security-questionnaire/ , https://w3c.github.io/fingerprinting-guidance/, https://tools.ietf.org/html/rfc6973)
Security and Privacy Self Review w3c/vc-di-bbs#106
Where and how to file issues arising?
https://github.com/w3c/vc-di-bbs/issues
Pointer to any explainer for the spec?
https://github.com/w3c/vc-di-bbs/blob/main/EXPLAINER.md (soon to be merged from PR Add Explainer w3c/vc-di-bbs#105
Other comments: This is a cryptosuite for use within the Verifiable Credential Data Integrity framework.
The text was updated successfully, but these errors were encountered: