Re: Page-Level Encryption - Mailing list pgsql-general

From David Blewett
Subject Re: Page-Level Encryption
Date
Msg-id 20060120162722.qkht6oiwn7sw0cco@mail.dawninglight.net
Whole thread Raw
In response to Re: Page-Level Encryption  (Scott Marlowe <smarlowe@g2switchworks.com>)
Responses Re: Page-Level Encryption
List pgsql-general
Quoting Scott Marlowe <smarlowe@g2switchworks.com>:

> On Fri, 2006-01-20 at 14:47, David Blewett wrote:
>> Quoting Scott Marlowe <smarlowe@g2switchworks.com>:
>>
>> >> Having the table containing the index, or the database object,
>> >> encrypted would protect against system admins,
>> >
>> > IF they've got root, and the unencrypted data or the password / key is
>> > on the machine or in memory on it, you've lost.  It may make it harder
>> > for them to get it, but they can.
>>
>>
>> The password shouldn't be saved anywhere, it should be entered manually
>> when the application starts. Or, only store it on secure removable
>> media.
>
> But it will be in memory, and root can get anything out of memory that
> they want to.
>
> The only way to keep root on this box from getting it is to put the key
> on another box that the administrator doesn't have access to.  I.e. on
> the client side of postgresql.  If you want to keep root out of your
> data on your server, you encrypt it before you give it to the server.
>
> Then, you can set up a different box with the keys on it that encrypts /
> decrypts the data there.
>

In reading the documentation of Peter Gutmann's Cryptlib, I came across
this section:
"The use of crypto devices can also complicate key management, since
keys generated or loaded into the device usually can't be extracted
again afterwards. This is a security feature that makes external access
to the key impossible, and works in the same way as cryptlib's own
storing of keys inside it's security perimeter. This means that if you
have a crypto device that supports (say) DES and RSA encryption, then
to export an encrypted DES key from a context stored in the device, you
need to use an RSA context also stored inside the device, since a
context located outside the device won't have access to the DES
context's key."

I'm not familiar with how his library protects keys, but this suggests
that it would be possible to use it as a basis for transparent
encryption. He later writes, "There can be a significant difference
between theoretical and effective security. In theory, we should all be
using smart cards and PKI for authentication. However, these measures
are so painful to deploy and use that they're almost never employed,
making them far less effectively secure than basic usernames and
passwords. Security experts tend to focus exclusively on the measures
that provide the best (theoretical) security, however sometimes these
measures provide very little effective security because they end up
being misused, or turned off, or bypassed."

David



pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: Page-Level Encryption
Next
From: Doug McNaught
Date:
Subject: Re: Page-Level Encryption