3 ms·
If it's a relational database, the core function of the database is to make it searchable. If you encrypt the fields, you have to decrypt everything to search
by droopybuns 11y ago
If it's a relational database, the core function of the database is to make it searchable. If you encrypt the fields, you have to decrypt everything to search them. So if search or relationships are important to you, encrypting the whole database would be disruptive.
There is a type of encryption called "homomorphic" which could allow you to perform operations on encrypted information. I haven't ever tried to implement it and consider it one of those seductive ideas that probably can't get implemented correctly in practice. But if there was a way to deliver an entire encrypted database and still make it useful, homomorphic encryption is the only way I am aware of that would make it work.
- jessaustin 11y agoPerhaps the data you need to search is not the same as the data you might want to encrypt? For instance name, address, ssn (or similar), billing info, etc. could all be encrypted and you could still look for e.g. 50yo women in the Northeast USA who haven't had a checkup in the last three years. Of course many DBs need to search by name, but maybe it can be set up to search by a hash of name? Hashes seem a bit simpler than homomorphic search.
- droopybuns 11y ago>>Perhaps the data you need to search is not the same as the data you might want to encrypt? Bingo. That would be the correct middle ground. This is why some of the database compromises that have happened are not complete disasters. I know there have been a few instances of systems that had their db's dumped, but passwords were safely protected by appropriate salting solutions.