> To work with encrypted database file we need a tool to encrypt database.
> I see 3 possible solutions for it. In all 3 cases some plugin dependent
> parameter may be passed to plugin. In all cases one may use decrypt
> instead encrypt to make
Encryption must be resistent to the database shutdown\server restart and so
on.
Therefore it must be restartable. As we going to add "encrypted" flag for each
page
we can know pages that already encrypted. To not read whole database searching
for the not encrypted pages after restart i offer to store last encrypted page
number
at header page (also, obviously, we need to store encription state on the
header
such as "clear", "encrypted", "encryption is in progress", "decryption is in
progress").
So, i see whole process as fully asyncronous and any way below will just
start
encryption\decryption in the database and return immediately. We also could
implement
ability to query status\progress of encryption\decryption work and to
suspend\resume it.
> 1. ALTER DATABASE ENCRYPT WITH <PLUGIN_NAME> { ('PARAMETER') }
> This SQL implementation has one main advantage - it looks (I think) very
> native for SQL server.
I, personally, prerfer SQL statement.
> 2. gfix -encrypt <plugin> {-cryptpar <parameter>} database
> gfix passes plugin name and parameter in DPB, the rest of activity are
> like in database validation. This implementation looks like most simple
> to implement.
>
> 3. Use of special utility: fbdbcrypt -encrypt <plugin> {-cryptpar
> <parameter>} {-verbose} local-database
> Certainly, appropriate support in services will be present.
> This method looks ugly at first, but it has one great advantage -
> ability to have switch 'verbose' and let user watch progress with
> database encryption.
>
> I like method 3 best of all - long silent validation in gfix is
> definitely not good thing. With SQL it's also not clear how to make
> crypt report progress. But I'd like to know what do others think.
Just my 0.02 uah,
Vlad
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel