From: Dave Chinner <david@fromorbit.com>
To: Eric Biggers <ebiggers@kernel.org>
Cc: linux-fscrypt@vger.kernel.org, linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-fsdevel@vger.kernel.org,
Satya Tangirala <satyat@google.com>,
Paul Crowley <paulcrowley@google.com>,
Paul Lawrence <paullawrence@google.com>,
"Theodore Y . Ts'o" <tytso@mit.edu>,
Jaegeuk Kim <jaegeuk@kernel.org>
Subject: Re: [PATCH 1/3] fscrypt: add support for inline-encryption-optimized policies
Date: Tue, 22 Oct 2019 16:27:12 +1100 [thread overview]
Message-ID: <20191022052712.GA2083@dread.disaster.area> (raw)
In-Reply-To: <20191021230355.23136-2-ebiggers@kernel.org>
On Mon, Oct 21, 2019 at 04:03:53PM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>
>
> Some inline encryption hardware has only a small number of keyslots,
> which would make it inefficient to use the traditional fscrypt per-file
> keys. The existing DIRECT_KEY encryption policy flag doesn't solve this
> because it assumes that file contents and names are encrypted by the
> same algorithm and that IVs are at least 24 bytes.
>
> Therefore, add a new encryption policy flag INLINE_CRYPT_OPTIMIZED which
> causes the encryption to modified as follows:
>
> - The key for file contents encryption is derived from the values
> (master_key, mode_num, filesystem_uuid). The per-file nonce is not
> included, so many files may share the same contents encryption key.
>
> - The IV for encrypting each block of file contents is built as
> (inode_number << 32) | file_logical_block_num.
>
> Including the inode number in the IVs ensures that data in different
> files is encrypted differently, despite per-file keys not being used.
> Limiting the inode and block numbers to 32 bits and putting the block
> number in the low bits is needed to be compatible with inline encryption
> hardware which only supports specifying a 64-bit data unit number which
> is auto-incremented; this is what the UFS and EMMC standards support.
These 32 bit size limits seem arbitrary and rules out implementing
this on larger filesystems. Why not just hash the 64 bit inode, file
offset and block numbers into a single 64 bit value? It is still
unique enough for the stated use (i.e. unique IV for each file
block) but it doesn't limit what filesystem configurations can
actually make use of this functionality....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2019-10-22 5:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-21 23:03 [PATCH 0/3] fscrypt: support for inline-encryption-optimized policies Eric Biggers
2019-10-21 23:03 ` [PATCH 1/3] fscrypt: add " Eric Biggers
2019-10-22 5:27 ` Dave Chinner [this message]
2019-10-22 6:00 ` Eric Biggers
2019-10-22 13:30 ` Theodore Y. Ts'o
2019-10-22 16:15 ` Eric Biggers
2019-10-23 9:27 ` Christoph Hellwig
2019-10-23 12:57 ` Theodore Y. Ts'o
2019-10-24 1:27 ` Christoph Hellwig
2019-10-24 2:44 ` Eric Biggers
2019-10-24 7:04 ` Christoph Hellwig
2019-10-24 9:54 ` Paul Crowley
2019-10-23 9:28 ` Christoph Hellwig
2019-10-21 23:03 ` [PATCH 2/3] ext4: add support for INLINE_CRYPT_OPTIMIZED encryption policies Eric Biggers
2019-10-22 13:37 ` Theodore Y. Ts'o
2019-10-22 16:37 ` Eric Biggers
2019-10-21 23:03 ` [PATCH 3/3] f2fs: " Eric Biggers
2019-10-22 16:43 ` Jaegeuk Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191022052712.GA2083@dread.disaster.area \
--to=david@fromorbit.com \
--cc=ebiggers@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=paulcrowley@google.com \
--cc=paullawrence@google.com \
--cc=satyat@google.com \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).