Firebird provides a plugin mechanism to encrypt the data stored in the database.This mechanism does not encrypt the entire database, but only data pages, index pages, and blob pages.
To make database encryption possible, you need to obtain or write a database encryption plugin.
Note
|
Out of the box, Firebird does not include a database encryption plugin. The encryption plugin example in On Linux, an example plugin named |
The main problem with database encryption is how to store the secret key.Firebird provides support for transferring the key from the client, but this does not mean that storing the key on the client is the best way;it is one of several alternatives.However, keeping encryption keys on the same disk as the database is an insecure option.
For efficient separation of encryption and key access, the database encryption plugin data is divided into two parts, the encryption itself and the holder of the secret key.This can be an efficient approach when you want to use a good encryption algorithm, but you have your own custom method of storing the keys.
Once you have decided on the plugin and key-holder, you can perform the encryption.