> 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

Reply via email to