-
Notifications
You must be signed in to change notification settings - Fork 4
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
Encryption of vault keys #22
Comments
I think vault metadata is good to store in a hidden |
Upon further reflection, there is an edge case in which pure key derivation won't work and that is a cycling of the users master key. Upon initialisation, the vault key is derived from this master key but then we must store this somewhere. So as mentioned in the initial comment, we can encrypt the vault with the vault key and then encrypt the vault key in the This would also help if we ever employ key sharing (i.e. shamir's secret sharing. as in https://www.vaultproject.io/docs/internals/architecture |
I've sort of squeezed a fix into the upcoming PR. Now the vault keys are stored and managed as metadata by the |
FYI, directories inside home are hidden with Furthermore, as part of the design spec, I'm sure that Also the XDG spec https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html to be put into |
Each Vault will have it's own individual symmetric key for aes encryption. This needs to be secret. We also need to determine where to store the encrypted vault key so it can be retrieved easily when encrypting and decryption secrets.
To tackle the first problem, the vault key can be encrypted with the Keynode's public key so only it can only be decrypted with it's passphrase protected private key. Another option is to simply have a password derived symmetric key which will encrypt the vault key. This key need not be stored anywhere it can be recreated each time from the user's password and the salt which can be persisted upon creation of the keynode.
As to where the vault keys will be stored. Each Vault can have a hidden '.vault' folder at the root which can contain the encrypted vault key as well as other metadata.
The text was updated successfully, but these errors were encountered: