Firebase - GDPR+Schrems requires end-to-end encryption, but how?

373 Views Asked by At

I need to protect a group of user’s data, i.e. to facilitate multiple invited users to read and contribute protected data. My understanding is that I need to implement the following design:

1 . Each user gets authenticated with Firebase Auth (OAuth2 or email/password).

2 . Each user creates a public/private key-pair (How?). The public keys can be shared in Firebase. How to store the private key? Seems natural to store it in Firebase in encrypted form (passcode protected), but how?...

2a. Either the users must manually store the passcode in e.g. a “personal password manager”. Password protect private key

2b. Or could the passcode come from e.g. the OAuth 3rd party?

3 . Encrypt/decrypt data (support user group). Multi-user-data requires an extra layer for having a common (symmetrical) key (How?), so all invited users can encrypt and decrypt data. The group manager stores this common key in Firebase to all users, using their individual public keys. Virgils story about the Creator.

So does the above requirement make sense(!), and how to get around compliance? How to document such security measures? Protecting your customer’s data might make you sleep at night, but you also need to convince the future customers that data will be safe.

I wonder why Firebase does not have a guide on all this, to safely facilitate GDPR. The topic seems such a show stopper nowadays.

All constructive input are highly appreciated!

0

There are 0 best solutions below