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-26T01:51:31Z
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 09:42:48PM -0400, Stephen Frost wrote: > The nonce needs to be a new one, if we include the hint bits in the set > of data which is encrypted. > > However, what I believe folks are getting at here is that we could keep > the LSN the same, but increase the nonce when the hint bits change, but > *not* WAL log either the nonce change or the hint bit change (unless > it's being logged for some other reason, in which case log both), thus > reducing the amount of WAL being produced. What would matter is that > both the hint bit change and the new nonce hit disk at the same time, or > neither do, or we replay back to some state where the nonce and the hint > bits 'match up' so that the page decrypts (and the integrity check > works). How do we prevent torn pages if we are writing the page with a new nonce, and no WAL-logged full page image? > That generally seems pretty reasonable to me and basically makes the > increase in nonce work very much in the same manner that the hint bits > themselves do- sometimes it changes even when the LSN doesn't but, in > such cases, we don't actually WAL it, and that's ok because we don't > actually care about it being updated- what's in the WAL when the page is > replayed is perfectly fine and we'll just update the hint bits again > when and if we decide we need to based on the actual visibility > information at that time. We get away with this because hint-bit only changes only change single bytes on the page, and we can't tear a page between bytes, but if we change the nonce, the entire page will have different bytes. What am I missing here? -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.