anoncreds-spec icon indicating copy to clipboard operation
anoncreds-spec copied to clipboard

Checklist to finish specification

Open swcurran opened this issue 2 years ago • 2 comments

We are getting close to finishing the specification. The work from @aritroCoder has gotten the "hard to do" things out of the way, now to get the text ready. Here is a checklist of the remaining items that I think need to be done to finish the specification:

  • [x] Fix the "Requirements" section -- seems to have some extra text in it.
  • [ ] Add an example presentation that includes all types of data, including self-attested and unrevealed.
  • [ ] A pass over the full text for clean up.
    • [ ] #132
    • [ ] #54
    • [ ] #73
    • [ ] #143
    • [ ] #100
    • [ ] #145
    • [x] #149
  • [x] Finalize the [[def: ]] entries in the Terminology section.
  • [ ] Finalize the [[ref: ]] entries to match up to the Terminology section.
  • [x] Remove the "Cryptography Protocols" section no longer needed -- it's now inline.
  • [x] Security considerations
  • [x] Privacy considerations
  • [ ] References
  • [ ] Acknowledgements and Author Addresses

OK -- not a short list, but not too bad either!

swcurran avatar Nov 03 '23 20:11 swcurran

Addition -- update the warning about weak issuer keys to cover the impacts based on conversation with Mike.

  • anyone can detect that the keys are weak.
  • The use of weak keys also results in the "sharing" of the private key, and hence the ability for others to issue the same credential as if they were the issuer.

Also, update the verification section to reference the "ge_proof" as "ne_proof" -- not equal.

swcurran avatar Nov 09 '23 18:11 swcurran

I would not have closed #100 because in the issue itself, as well as the discussions, some points were made that I don't think have been adequately addressed. Also, I've noticed some other things that may need clarification. Here's a list of what I think are (potential) issues:

  • [ ] the idea was to expressly state that 'holder' refers to IT (software), and that this would also be clarified for 'issuer' and 'verifier'. This remains to be done.
  • [ ] an 'issuer identifier' would (then) identify an IT component with issuing functionality (similar for 'holder identifier' and 'verifier identifier', if they were to be used. Please consider that in a business setting, it is people (and organizations) that are interested in any data that has identifiers, and that they are typically not interested in the IT components that work for them, but in the parties that control them.
  • [ ] one of the old issues I have with AnonCreds (and their ABC predecessors) is that credentials are bound to the link secret (implying the holder (IT component)), rather than to its subject. My colleague Oskar and I have played with an implementation (by others, using issuers that we did not control), and showed that we could get a gov't ID-credential for Oskar and a bank credential for me in the same holder. I haven't seen anything in the spec that enables verifiers to make sure that the subject of both credentials is in fact the same entity. I did see that the spec allows a holder to create a presentation that selectively discloses the name attributes of the 'oskar-credential' and the bank account attributes of the 'rieks-credential', then proves they come from credentials issued by the expected (and trusted) issuers and haven't been tampered with, and that credentials haven't been revoked. All this seems to be according to the spec. But it also shows that AnonCreds would be useless in practice.

RieksJ avatar Dec 22 '23 06:12 RieksJ