--
You received this message because you are subscribed to the Google Groups "firebird-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-suppo...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/d9e3056f-79c4-4997-b4a4-9dfae6cf1e39n%40googlegroups.com.
The current version of Firebird SQL does not offer a robust file encryption feature; it only provides column-level encryption, which is insufficient for our needs.
Versions 3, 4 and 5 do have documented support for encryption
plugin to encrypt data pages.
For very old version 2.5 (and before) the (undocumented)
encryption support is disabled by default. It is possible to
reactivate it, but it should be a waste of time to do so for an
outdated database.
Additionally, existing third-party solutions are prohibitively expensive for our small to medium-sized healthcare agencies.
You are free to write your own Plugins, it's only some hundred lines of code in c++ with a simple implementation.
IBSurgeon's framework offers certainly more flexibility that is
not strictly required.
--
You received this message because you are subscribed to the Google Groups "firebird-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-suppo...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/fc899e95-7078-4c31-8270-82f44dfffa38%40risingsoftware.com.
You are wrong. Person having access to already running system can get the information from encrypted database as well. Just because "running" means that someone has a legit access to it and Firebird server performs decryption of data.
In theory, this is a weak point in database encryption and the reason there is no encryption plugin included in FirebirdSQL: It would be an easy job to modify that to log keys from legitimate access.
In practise the plugins generate some obsurity to make it difficult to get the keys.
If you have access to running system, you don't need the keys, you can get the information from the database directly.
You also need not to modify encryption plugin because you can modify Firebird itself.
The Server does not see the real encryption key.
In Database there is the Key-Name stored. This name is public an read by the Server.
The encryption plugin receives that name and sends some information to keyholder plugin.
Keyholder plugin sends some other information to client and receives an answer from there. This answer is processed to answer request of encryption plugin.
Only in the simple case encryption plugin sends keyname and receives clear encryption key.
Server can log every data plugins are sending to each other and
to client.
Elmar Haneke wrote 07.05.2024 13:02:
The Server does not see the real encryption key.
It sees the real decrypted data. Key is pointless, the data is the target.
In Database there is the Key-Name stored. This name is public an read by the Server.
The encryption plugin receives that name and sends some information to keyholder plugin.
Keyholder plugin sends some other information to client and receives an answer from there. This answer is processed to answer request of encryption plugin.
It is not how this system works in Firebird currently. Interaction client<->key holder happens way before interaction crypt plugin<->key holder and when crypt plugin ask key holder for key the ability of key holder to interact with client is already lost.