openwallet-foundation / acapy

ACA-Py is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://aca-py.org
Apache License 2.0
419 stars 512 forks source link

Question API: Send Presentation without pres_ex_id or with connection_id #3321

Closed ikamii closed 6 days ago

ikamii commented 3 weeks ago

Hi there,

I am using aca-py for my master's thesis and trying to achieve the trust between user and my system.

What I am trying to achieve is to expose the system's VC to the user's wallet so they can be sure that they have connected with the right entity.

Is there a way to send VC presentation without needing a request first?

Thanks in advance!

swcurran commented 1 week ago

Hi @ikamii -- we discussed this briefly at the ACA-Pug meeting (recording here, jump to 53:40 mark) and had some questions / comments.

I think what you are after is "verify the verifier", right? E.g. that the wallet knows who the verifier is via a VC before responding.

If you are going to use AnonCreds for that, you do need to have a presentation request before the presentation. That is because the presentation request has required data necessary to construct the request -- at minimum a nonce to ensure replaying of a VC is not possible.

The Wallet could have a pre-defined list of "valid" verifiers by DID/identitifier, or could use a trust registry to look up the DID/identifier of the verifier before responding.

We are working on a concept called "/whois" for this type of purpose -- a distributed Trust Registry concept. Given a published, resolvable DID, support (ideally, across all published DID Methods) the endpoint /whois, which returns a W3C signed VP containing VCs about the DID and/or the entity behind the DID -- e.g. a VC issued by a "trusted" registry. Given that, the Presentation Request from a unknown verifier could come in and the wallet could use the DID of Verifier to resolve <did>/whois to find out what is known about the verifier. For details:

We talked about this at yesterday's ID Working Group call, and it was suggested that I post this notice, get an feedback and we can have a formal request to start the work item at the next call. Background material:

Hope that helps.

ikamii commented 6 days ago

Hi @swcurran,

Thank you for your detailed answer.

I should maybe check out AnonCreds for now in my case, but I am going to watch the given zoom recording as well thank you for that.

Best,