Re: Fast Search on Encrypted Feild

From: John R Pierce <pierce(at)hogranch(dot)com>
To: Naoko Reeves <naoko(at)lawlogix(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Fast Search on Encrypted Feild
Date: 2009-11-14 22:08:23
Message-ID: 4AFF2A57.7050000@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Naoko Reeves wrote:
>
> I have a encrypted column use encrypt function.
>
> Querying against this column is almost not acceptable – returning 12
> rows took 25,908 ms.
>
> The query was simply Select decrypt(phn_phone_enc) FROM phn WHERE
> decrypt(phn_phone_enc,’xxx’,’xxx’) LIKE ‘123%’
>
> So I built index like: CREATE INDEX idx_phn_phone_dec ON phn
> (decrypt(phn_phone_enc, ‘xxx’, ‘xxx’))
>
> This returns 12 rows in 68 ms.
>
> Would this be the solution for the fast encrypted field search or does
> this raise the security issue?
>

very ugly for all the reasons given by the others.

if all your LIKE searches are specifically for the first 3 chars of the
phn_phone field, I dunno, but maybe you could have a seperate field (and
index) which consists of just the first three characters encrypted.

this would, however, allow people with access to the database but
without the cipher key to group your data by this prefixm, and
potentially the knowlege of that grouping could be used as an aid in
cracking the keys.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Sabino Mullane 2009-11-14 22:42:25 Re: Upgrading databases
Previous Message Naoko Reeves 2009-11-14 22:00:11 Re: Fast Search on Encrypted Feild