Re: XTS cipher mode for cluster file encryption

From: Sasasu <i(at)sasa(dot)su>
To: Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: XTS cipher mode for cluster file encryption
Date: 2021-10-19 15:46:12
Message-ID: 4b73c57e-0941-9e66-ea7e-087793c4c927@sasa.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2021/10/19 00:37, Robert Haas wrote:
> I think what we ought to be doing at
> this point is combining our efforts to try to get some things
> committed which make future work in this area committed - like that
> patch to preserve relfilenode and database OID, or maybe some patches
> to drive all of our I/O through a smaller number of code paths instead
> of having every different type of temporary file we write reinvent the
> wheel.

A unified block-based I/O API sounds great. Has anyone tried to do this
before? It would be nice if the front-end tools could also use these API.

As there are so many threat models, I propose to do the TDE feature by a
set of hooks. those hooks are on the critical path of IO operation, add
the ability to let extension replace the IO API. and also load extension
when initdb, single-mode, and in front-end tools.
This sounds Like using $LD_PRELOAD to replace pread(2) and pwrite(2),
which widely used in folder based encryption. but the hook will pass
more context (filenode, tableoid, blocksize, and many) to the under
layer, this hook API will look like object_access_hook.
then implement the simplest AES-XTS. and put it to contrib. provide a
tool to deactivate AES-XTS to make PostgreSQL upgradeable.

I think this is the most peaceful method. GCM people will not reject
this just because XTS. and XTS people will satisfied(maybe?) with the
complexity. for performance, just one more long-jump compare with
current AES-XTS code.

Attachment Content-Type Size
OpenPGP_0x4E72AF09097DAE2E.asc application/pgp-keys 7.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bossart, Nathan 2021-10-19 16:10:52 Re: parallelizing the archiver
Previous Message vignesh C 2021-10-19 15:44:16 Re: Added schema level support for publication.