OpenMined / PyDentity

A repository for leveraging Self-Sovereign Identity in applications
65 stars 25 forks source link

Digital Signing using ACA-Py #35

Open wip-abramson opened 4 years ago

wip-abramson commented 4 years ago

What?

ACA-Py is a aries cloudagent developed by BC Gov and includes the capability to generate DIDs (public and private key pairs). What is not immediately clear to me is how we use these agents with the aries-basic-controller to create arbitary digital signatures on information that can be publically verified. And is there a way to publish these signatures indepndently from a DIDComm connection? There is also the problem of how does the DID used to sign statements get correlated to a physical entity. Signatures from public DIDs seems to be a sensible place to start experimenting.

ACA-Py currently creates signatures using decorators - see SigningDecorator.

The aim of this research would be to suggest a protocol and swagger API to include this functionality into ACA-Py.

How long?

Hopefully not too long, around a month.

Is your research related to a problem?

There is currently no easy mechanism to sign statements from an application point of view using ACA-Py despite having a key store and the capability to create signatures built into the agent. This is a useful primitive we would like to enable using these agents.

Additional Context

If unsure about some of the terminology in this issue but you are still interested, we recommend you start with our tutorials highlighting what is possible now using ACA-Py and the aries-basic-controller.

https://github.com/OpenMined/PyDentity/tree/master/tutorials/aries-basic-controller

wip-abramson commented 4 years ago

This is very relevant to track https://github.com/hyperledger/aries-cloudagent-python/issues/736

wip-abramson commented 4 years ago

And this - https://github.com/hyperledger/aries-rfcs/tree/master/concepts/0017-attachments