openwallet-foundation / openwallet-foundation/askar
Support storing multiple salts for MultiWalletSingleTable-equivalent
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 86
- Forks
- 60
- PR merge metrics
- No merged PRs in 30d
Description
Askar does not currently have a setup equivalent to the MultiWalletSingleTable wallet management mode in Indy-SDK, in which all wallets are stored in a single table in a single database and each wallet has its own master key.
Each profile must have its own store key in order for Askar to have a MultiWalletSingleTable-like setup. The problem is that Askar does not support storing multiple salts. Per @dbluhm’s observation, the salt associated with the store key is saved in the config table as the value of key, which prevents the use of different passphrases for different profiles keys without sharing salt.
A potential solution proposed by @dbluhm is to change the structure of the profiles table to include another column in which to store the salt for the passphrase to unlock its associated profile.
cc @burdettadam
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the profiles table and config table handling described in the issue, then trace how a profile's store key and salt are saved and retrieved. Done means a MultiWalletSingleTable-like setup can store multiple profiles in one database, with each profile using its own passphrase and salt without relying on a shared salt.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- database, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100