-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The easiest method for adding encryption to Bacula would be via basic
symmetric key encryption, coupled with MAC for data integrity
validation. However, public key algorithms provide a few key features
that symmetric algorithms can not, namely:
        * Data integrity validation by a 3rd party without access to the
creator's private MAC key.
        * Use of master key(s), allowing for decryption of data by the master
key holder, even if the original encryption key is lost, and without
sacrificing data integrity validation.

After considering the above, I decided to move ahead with public-key
encryption, and am currently working on the implementation of signed
message digests.

Each FD will have a private/public key-pair, and use that to encrypt a
random per-job session key. The session key will in turn be used to
encrypt the file data using symmetric encryption.

The code currently supports PEM-encoded RSA and DSA private keys, and
PEM-encoded x509 public keys, allowing you to leverage existing x509
infrastructure, if any. If you are using RSA keys and OpenSSL 0.9.8 or
later, SHA-512 is used to verify message integrity. Otherwise, SHA-1 is
used for RSA. DSA keys use SHA-1 with DSS.

A special master private/public key-pair can be made and then stored
somewhere very safe, such as a safety deposit box. The master public key
can then be distributed to all FDs. When initiating a new job, the
per-job session key will be encrypted for both the File Daemon and for
the Master key. If the FD's key is lost, the master key can be used to
recover the file contents.

If you are currently using Bacula's TLS support, you can use the same
key-pair for data encryption/integrity validation. However, there is
absolutely no requirement to do so -- You can create a self-signed
key-pair very easily:
~    openssl genrsa -out fd.key 2048
~    openssl req -new -key fd.key -x509 -out fd.cert

Additionally, integrity validation can be used independently of data
encryption -- providing assurance that the files stored on the backup
server were restored without modification.

For now, Bacula will only support encryption and validation of file
contents. Supporting additional stream types will require considerable
overhauling of the STREAM system; something Kern has tentatively planned
for the next release.

- -landonf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD4DBQFC/u8VlplZCE/15mMRAvNjAJ9wsA3fzUWEcVJAyw5mMo0pHxbBXQCVFAQU
aRrD3qZ+igqR4Rltpj7Faw==
=842S
-----END PGP SIGNATURE-----


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to