Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rfc-1105 integrating wallet daemon into Tari Universe #141

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MCozhusheck
Copy link
Collaborator

This RFC describes how Tari Universe will integrate wallet daemon

Storing private keys and confidential data is crucial part of Tari Universe. To ensure security we suggest to adapt wallet daemon from tari-dan with some changes regarding communication where tapplet and wallet daemon communicate through IPC provided by Tauri framework.

Copy link
Collaborator

@stringhandler stringhandler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems reasonable, but why not just use the JSON-rpc exposed by the wallet daemon already?

Copy link
Collaborator

@stringhandler stringhandler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how to describe this problem accurately, so I'll write it out and maybe we can substitute the correct terms later

We also need to make sure that the security mechanism and access granted to the tapplet cannot be distributed to a website and reused.

For example, say the tapplet communicates with the wallet and is given a JWT granting it spending access. A malicious tapplet could send this JWT to a server and make requests from there. This must be prevented.

@MCozhusheck
Copy link
Collaborator Author

JSON-RPC creates attack vectors where hostile actor could send requests to this rpc. By making direct communication with wallet daemon through IPC we keep JWT on the backend and just allow main view (through provider) to make calls and just return results to the tapplet. In this case tapplets needs to delegate calls to the wallet daemon to the provider which will ask users for permissions for listed actions that he will obtain from manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants