identity.rs icon indicating copy to clipboard operation
identity.rs copied to clipboard

Add Selective Disclosure Support to VC

Open JelleMillenaar opened this issue 3 years ago • 2 comments

As an option, update the way verifiable credentials are signed by hashing individual data points inside the credentialSubject object of a verifiable credential using the Merkle Tree algorithm. The last remaining hash is used to sign the verifiable credential. During the revealing of the verifiable credential, fields may either be revealed or may be replaced by its hash.

  • [ ] Add option to sign using the Merkle Tree, enabling Selective Disclosure for the Holder
  • [ ] Salt the individual fields to prevent brute force guessing
  • [ ] Generate Verifiable Presentation while hiding/revealing specific fields in the VC
  • [ ] Verify a Verifiable Presentation that is signed with the Selective Disclosure method

For reference: W3C Verifiable Credentials Selective Disclosure

### Tasks
- [ ] https://github.com/iotaledger/identity.rs/issues/1324
- [ ] https://github.com/iotaledger/identity.rs/issues/1325

JelleMillenaar avatar Mar 02 '21 15:03 JelleMillenaar

This issue needs to be reconsidered with our advanced on ZKP. Does the provided ZKP selective disclosure solution provide full benefits over our Merkle Tree algorithm, or does this have advantages over ZKP making it worth implementing?

JelleMillenaar avatar Jan 25 '22 13:01 JelleMillenaar

The implementation is shifting towards BBS+ based signatures via JWPs

eike-hass avatar Jan 26 '24 16:01 eike-hass