I get the data and use aes or blowfish to encrypt it before storing it in the database, so encryption is done at the application level. If someone steals the database, the data will be relatively safe if they do not steal the application as well (where the key is stored / available).
Now I am studying database encryption with libraries such as ezNcrypt for MySQL , Encryption-GENERAL or SQLCipher .
But I do not quite understand how database encryption works. If the application only transfers raw data to the database, and the database somehow decrypts the data, would this make encryption at the database level less secure if the database were stolen because 100% of the encryption component was stolen?
In my current situation, if the database is stolen, the attacker would have to install the second component (the key, which is at the application level) to decrypt the database. But using database encryption, the database itself is fully responsible for encryption, therefore, having stolen the database, will the attacker not have everything necessary to decrypt the database?
Perhaps I do not understand how decryption works at the database level.
security database mysql encryption
cooper
source share