Closed OR13 closed 11 months ago
@msporny @tplooker
related:
https://github.com/Wind4Greg/BBS-LinkedData/blob/master/exampleIO/signedDocBBS.json
Yes, we'll need to settle on a name for the signature and the proof. The suggested names above feel fine to me.
One thing we will probably want to do is fold things like disclosed
and generators
into the proofValue
and make proofValue
a CBOR structure of some kind.
Other things to consider:
I don't know what data structures are being proposed to achieve those features?
Big +1 for moving all cryptographic material (proof data specifically here) representations into a binary format that is packed and stored in proofValue
as a multibase-encoded value. The details should not be exposed at the JSON layer as this ends up increasing attack surface, requiring more validation surface, potentially duplicative validation, and a variety of other problems. It's also beneficial to keep the JSON-layer as simple as possible and let the cryptosuite-specific implementations just deal with their own formats which sometimes have a tendency to be crypto-specific anyway!
Lets discuss CBOR compression on proof in a dedicated issue:
https://github.com/w3c/vc-di-bbs/issues/80
Bound signatures should be discussed separately, here is an issue for that: https://github.com/w3c/vc-di-bbs/issues/79
...
^ This will need to be addressed in the proof suites, above. AFAIK, it only applies to to the full disclosure case, since the selected one, already has support for this.
I suggest we address mandatory to disclose messages as we are currently handling disclosed
in the derived proof format, as a JSON member of the the proof the original issuer signs over.
Will this work?
Actually I spoke too soon, we should be discussing mandatory to reveal here: https://github.com/w3c/vc-di-bbs/issues/3
and not on this issue probably...
We can close this issue, after we establish that there are 2 ciphersuites needed in the current spec.
Signatures and Proof values are now packed up via CBOR with "header" values used to differentiate the two. See serialize base proof and [serialize derived proof](https://w3c.github.io/vc-di-bbs/#serializederivedproofvalue.
From examples I generated...