Re: [Proposal] Table-level Transparent Data Encryption (TDE) and Key Management Service (KMS)
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Bruce Momjian <bruce@momjian.us>
Cc: Ryan Lambert <ryan@rustprooflabs.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Joe Conway <mail@joeconway.com>, Antonin Houska <ah@cybertec.at>, Masahiko Sawada <sawada.mshk@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Haribabu Kommi <kommi.haribabu@gmail.com>, "Moon, Insung" <Moon_Insung_i3@lab.ntt.co.jp>, Ibrar Ahmed <ibrar.ahmad@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-07-10T18:44:30Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Revamp the WAL record format.
- 2c03216d8311 9.5.0 cited
Greetings, * Bruce Momjian (bruce@momjian.us) wrote: > On Wed, Jul 10, 2019 at 12:38:02PM -0600, Ryan Lambert wrote: > > > > what is it that gets stored in the page for > > decryption use, the nonce or the IV derived from it? > > > > > > I believe storing the IV is preferable and still secure per [1]: "The IV need > > not be secret" > > > > Beyond needing the database oid, if every decrypt function has to regenerate > > the IV from the nonce that will affect performance. I don't know how expensive > > the forward hash is but it won't be free. > > Well, I think we have three options. We have 3 4-byte integers > (pg_class.oid, LSN, page-number) that could be concatenated to be the > IV, we could run those through a hash, or we could run them through the > encryption function with the secret. I didn't see where it was said that using a hash was a good idea in this context..? Encrypting it with the key looked like it was discussed as a viable option. I had understood that part of the point of using the table OID and page-number was also so that we didn't have to explicitly store the result, therefore requiring us to need less space on the page to make this happen. Thanks, Stephen