RE: Application Level Encryption

From: Zahir Lalani <ZahirLalani(at)oliver(dot)agency>
To: Michel Pelletier <pelletier(dot)michel(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: RE: Application Level Encryption
Date: 2020-07-05 17:14:19
Message-ID: DB8PR06MB6187F1C82D55D207DF915F5EA7680@DB8PR06MB6187.eurprd06.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

From: Michel Pelletier <pelletier(dot)michel(at)gmail(dot)com>
Sent: 05 July 2020 17:00
To: Zahir Lalani <ZahirLalani(at)oliver(dot)agency>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Application Level Encryption

Hi Zahir,

pgsodium is a new-ish encyption extension built around the libsodium encryption API.

https://github.com/michelp/pgsodium

It supports calling a script to load a hidden key in memory and use that key to derive other keys. There's an example shown in the documentation. I'm working on support for the Zymkey hardware security module, as well as support for the AWS key management API.

-Michel

Thx all

So what Michael has posted above is actually the target. We are hosted in Google Cloud and have been told that we need to use a key manager outside of PG (Google have KMS) and that it must have a master key which is rotated regularly. We are having a debate about what to encrypt – “it must encrypt our data” – we are multi-tenanted and also we have data that is not client facing in each tenant. I worry about applying app level to all data for sheer performance reasons.

We have suggested we only encrypt what is truly client data so that we do not have to refactor everything.

The other challenge we have is the external reporting tools we use – none of these will work as, and we cannot pass them the unencrypted data.

So I wanted to understand approaches that could be taken and how to minimise performance impacts and how to manage the use of 3rd party tools

Hope that makes sense

Z

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michel Pelletier 2020-07-05 18:40:11 Re: Application Level Encryption
Previous Message Michel Pelletier 2020-07-05 15:59:38 Re: Application Level Encryption