Re: storing an explicit nonce
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Stephen Frost <sfrost@snowman.net>
Cc: Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Masahiko Sawada <sawada.mshk@gmail.com>, Tom Kincaid <tomjohnkincaid@gmail.com>, Andres Freund <andres@anarazel.de>, Amit Kapila <amit.kapila16@gmail.com>, Thomas Munro <thomas.munro@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Date: 2021-05-25T21:12:05Z
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 →
-
Rethink method for assigning OIDs to the template0 and postgres DBs.
- 2cb1272445d2 15.0 landed
-
pg_upgrade: Preserve database OIDs.
- aa01051418f1 15.0 landed
-
pg_upgrade: Preserve relfilenodes and tablespace OIDs.
- 9a974cbcba00 15.0 landed
-
Fix for new Boolean node
- cf925936ecc0 15.0 cited
-
Improve error handling of HMAC computations
- 5513dc6a304d 15.0 cited
-
Add macro RelationIsPermanent() to report relation permanence
- 95d77149c535 14.0 landed
-
Enhance nbtree index tuple deletion.
- d168b666823b 14.0 cited
On Tue, May 25, 2021 at 05:04:50PM -0400, Stephen Frost wrote: > > Now, if we want to consult some security experts and have them tell us > > the hint bit visibility is not a problem, we could get by without using a > > new nonce for hint bit changes, and in that case it doesn't matter if we > > have a separate LSN or custom nonce --- it doesn't get changed for hint > > bit changes. > > I do think it's reasonable to consider having hint bits not included in > the encrypted part of the page and therefore remove the need to produce > a new nonce for each hint bit change. Naturally, there's always an > increased risk when any data in the system isn't encrypted but given > the other parts of the system which aren't being encrypted as part of > this effort it hardly seems like a significant increase of overall risk. > I don't believe that any of the auditors and security teams I've > discussed TDE with would have issue with hint bits not being encrypted- > the principle concern has always been the primary data. OK, this is good to know. I know the never-reuse rule, so it is good to know it can be relaxed for certain data without causing problems in other places. Should I modify my patch to do this? FYI, technically, the hint bit is still encrypted, but could _flip_ in the encrypted file if changed, so that's why we say it is visible. If we used a block cipher instead of a streaming one (CTR), this might not work because the earlier blocks can be based in the output of later blocks. > Naturally, the more we are able to encrypt and the more we can do to > provide data integrity validation, may open up the possibility for PG to > be used in even more places, which argues for having some way of making > these choices be options which a user could decide at initdb time, or at > least contemplating a road map to where we could offer users the option > to have other parts of the system be encrypted and ideally have data > integrity checks, but I don't think we necessarily have to solve > everything right now in that regard- just having TDE in some form will > open up quite a few new possibilities for v15, even if it doesn't > include data integrity validation beyond our existing checksums and > doesn't encrypt hint bits. I am thinking full-file system encryption should still be used by people needing that. I am concerned that if we add too many restrictions/additions on this feature, it will not be very useful. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.