Firebird 3 Database Encryption Support
In Firebird 3.0 release there is an option to encrypt the whole database (http://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-security-encryption.html).
For the encryption of the database you need a plugin (like this one that is working with AES128 from https://www.ibphoenix.com/products/software/encryptionplugin).
To open an encrypted database you just have to send the encryption key via a callback function "setDBCryptCallback" to the Firebird server.
My idea is if it's possible that the IBDAC component would be upgraded with the functionality to automaticly pass a setted "encryption_password" parameter (maybe there will be a need to have also a paramter for setting the Encryption library).
If you want to connect to an encrypted database with the latest version of IBDAC (5.7.25 08-Sep-16) you get a message "Encryption key is not set" at trying to set TIBCConnection.Connected to true.
The whole point of the database encryption is that you gain security. If someone moves an encrypted database to an other location then they cannot access it until they decrypt it with your encryption key.
The idea is that you have to pass the encrypton key remotely. A big security leak would be to have a encrypted database and the encryption key on the same location (server).
-
Ertan Küçükoğlu commented
I believe, FirebirdSQL works on encryption thru a plugin. If Devart is to develop a solution with such a feature, they also should include their own plugin for FirebirdSQL moreover, that plugin needs to be updated with each new release of FiebirdSQL as well.
-
Boris commented
Firebird 3 Database encryption link:
http://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-security-encryption.htmlIBPhoenix Encryption plugin link:
https://www.ibphoenix.com/products/software/encryptionplugin