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

Find ways to encrypt all stored user data #274

Open
dominic22 opened this issue Oct 28, 2021 · 1 comment
Open

Find ways to encrypt all stored user data #274

dominic22 opened this issue Oct 28, 2021 · 1 comment

Comments

@dominic22
Copy link
Contributor

dominic22 commented Oct 28, 2021

If the database get compromised the user data should not be leaked, that is why it should be encrypted and decrypted on database layer.

  • claim of user
  • verifiable credentials

Data which needs to be encrypted:

[identity-docs]->key->secret

[key-collection]->keys->0->secret
[key-collection]->keys->1->secret
....
[key-collection]->keys->4095->secret

[users]->claim
[users]->verifiableCredentials->0
[users]->verifiableCredentials->1
....
[users]->verifiableCredentials->X

[verifiable-credentials]->vc->credentialSubject

@dominic22 dominic22 changed the title Encrypt all stored of users Encrypt all stored user data Oct 28, 2021
@mastrogiovanni mastrogiovanni changed the title Encrypt all stored user data Find ways to encrypt all stored user data Nov 18, 2021
@dominic22 dominic22 self-assigned this Nov 24, 2021
@mastrogiovanni
Copy link
Contributor

mastrogiovanni commented Nov 26, 2021

I implemented encryption/decryption with following limitations:

  • encryption key is a constant (need to be a configuration env parameter)
  • only identity-docs is encrypted (more need to be added)

This task need however to be paused.

With @michelenati we talked about data encryption and we concluded that the API should not care about it.
If a customer has high security requirements need to use an external database that support that level.
In case this will be the road, then the task will be converted in a check to allow connection to high secure MongoDB instances (e.g. Mongo Atlas)

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

No branches or pull requests

2 participants