Search Postgresql Archives

Re: Looking for advice on database encryption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Jonathan Bond-Caron" <jbondc@xxxxxxxxxx> wrote:
>
> On Thu Apr 16 05:06 PM, Bill Moran wrote:
> > 
> > The problem comes when the company head wants to search through the 
> > database to find out which employee has a specific SSN.  He should be 
> > able to do so, since he has access to everything, but the logistics of 
> > doing so in a reasonable amount of time are rather complex and very 
> > time consuming.  On a million rows with the SSN unencrypted, such a 
> > query would take less than a second with an appropriate index, but 
> > pulling those million rows into the application in order to decrypt 
> > each one and see if it matches can easily take a half hour or longer.
> > 
> > That's where we're having difficulty.  Our requirements are that the 
> > data must be strongly protected, but the appropriate people must be 
> > able to do (often complex) searches on it that complete in record time.
> 
> Would storing a one-way hash of the SSN work for you? i.e. combine sha1
> and/or md5, use a salt...
> 
> SELECT ssn_encrypted FROM employees WHERE ssn_hash =
> yourhashmethod(SSN_PLAINTEXT)
> 
> So you have both an encrypted version of the SSN and a one-way hash of it.
> 
> That's how we store credit card numbers. 

We're considering that for some fields.  It does limit a lot ... we can't
do partial matching for example.

Other fields don't work so well.  If I try to use that trick on a field
that has too few choices (true/false is the worst, but anything with
less than a few thousand possibilities, i.e. "county of residence" is
a problem) then I've left it open to an easy dictionary attack.

Thanks for the input.

-- 
Bill Moran
http://www.potentialtech.com

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux