3 ms·
There are multiple levels of encryption. Server side encryption of cloud block storage and object storage are simple to enable or even defaults in public clouds
by hodgesrm 3y ago
There are multiple levels of encryption. Server side encryption of cloud block storage and object storage are simple to enable or even defaults in public clouds. (Well for sure in AWS and GCP.) I would do these because they are simple.
On the other hand if somebody gets access to a database account or gets root access to cloud VMs they can usually read your data anyway even if it's encrypted at rest. I would worry about that before implementing more complex client side encryption schemes. Besides the question of where you spend time it's possible to make a mistake and end up locked out of your data.
If users explicitly ask for encryption that's a different matter. However, many enterprise users don't really care what you do as they avoid liability if you mess up. In this sense contractual terms like the scope of limitations of liability or indemnification are the user-visible product "features." You should at least think of them that way and price accordingly. You might encrypt in that case to make them cheaper to implement.
- santy-gegen 3y agoThis is a very thoughtful and detailed take. Thank you. I was thinking of doing something like client side field level encryption because I personally think the product will be better that way. This type of encryption would protect against data theft even if someone got hold of db access, since they would only see encrypted strings and binary buffers. It's a good idea to point out to be careful, since getting locked out of your own data would certainly be annoying.