Re: storing an explicit nonce
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Ants Aasma <ants@cybertec.at>, Sasasu <i@sasa.su>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-10-06T17:06:54Z
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 Wed, Oct 6, 2021 at 11:17:59AM -0400, Robert Haas wrote: > If you enable checksums or set wal_log_hints=on, then you might incur > a some write-ahead log records that would otherwise be avoided, and > those records will include full page images. This can happen once per > page per checkpoint cycle. However, if the first modification to a > particular page within a given checkpoint cycle is a regular > WAL-logged operation rather than a hint bit change, then the extra WAL > record and full-page image are not needed so the overhead is zero. > Also, if the first modification is a hint bit change, and then the > page is evicted, prompting a full page write, but a regular WAL-logged > operation occurs later within the same checkpoint, the later operation > no longer needs a full page write. So you still paid the cost of an > extra WAL record, but you didn't pay the cost of an extra full page > write. In other words, enabling checksums or turning wal_log_hints=on > has a relatively low cost except when you have pages that incur only > hint-type changes, and no regular changes, within the course of a > single checkpoint cycle. > > On the other hand, in order to avoid IV reuse, your patch needed to > bump the page LSN for every change, or at least for every eviction. > That means you could potentially incur the overhead of an extra full > page write multiple times per checkpoint cycle, and even if there were > non-hint changes to that page in the same checkpoint cycle. Now you > could say, well, let's not bump the page LSN for every hint-type > change, and then your patch would have lower overhead than an approach > based on XTS, but I think that also loses a ton of security, because > now you're reusing IVs with an encryption system that is documented > not to tolerate the reuse of IVs. > > I'm not here to try to pretend that encryption is going to be cheap. I > just don't believe this particular argument about why AES-XTS should > be more expensive. OK, good to know. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.