From: Eric Biggers <ebiggers@kernel.org>
To: fstests@vger.kernel.org
Cc: linux-block@vger.kernel.org, linux-fscrypt@vger.kernel.org,
Gaurav Kashyap <quic_gaurkash@quicinc.com>
Subject: [RFC PATCH 0/8] xfstests: test the fscrypt hardware-wrapped key support
Date: Sun, 27 Feb 2022 23:47:14 -0800 [thread overview]
Message-ID: <20220228074722.77008-1-ebiggers@kernel.org> (raw)
This series adds xfstests for the "hardware-wrapped inline encryption
keys" feature which I've proposed adding to the kernel
(https://lore.kernel.org/linux-fscrypt/20220228070520.74082-1-ebiggers@kernel.org/T/#u).
This applies to the master branch of xfstests (commit 2ea74ba4e70b).
For now, the new tests just include ciphertext verification tests.
These are the most important type of test to have here, as they validate
the on-disk format, which must be gotten right from the start. They
verify that all the cryptography is implemented correctly, including
both the parts handled by the hardware and the parts handled by the
kernel. Naturally, to do their work they exercise the new UAPIs too.
For now this is an RFC, as the corresponding kernel patches have yet to
be applied. Patches 1-5 are cleanups that could be applied earlier, but
I need to look them over again first and probably will resend them.
In any case, any reviews would be greatly appreciated!
I've verified that the new tests run and pass when all their
prerequisites are met, namely:
- Hardware supporting the feature must be present. I tested this on the
SM8350 HDK (note: this currently requires a custom TrustZone image);
this hardware is compatible with both of IV_INO_LBLK_{64,32}.
- The kernel patches for hardware-wrapped key support must be applied.
- The filesystem must be ext4 or f2fs.
- The kernel must have CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y.
- The fscryptctl program must be available, and must have my patches for
hardware-wrapped key support applied. These can currently be found at
https://github.com/ebiggers/fscryptctl/tree/wip-wrapped-keys.
Eric Biggers (8):
fscrypt-crypt-util: use an explicit --direct-key option
fscrypt-crypt-util: refactor get_key_and_iv()
fscrypt-crypt-util: add support for dumping key identifier
common/encrypt: log full ciphertext verification params
common/encrypt: verify the key identifiers
fscrypt-crypt-util: add hardware KDF support
common/encrypt: support hardware-wrapped key testing
generic: verify ciphertext with hardware-wrapped keys
common/config | 1 +
common/encrypt | 149 +++++++++++--
src/fscrypt-crypt-util.c | 454 ++++++++++++++++++++++++++++++++-------
tests/generic/900 | 30 +++
tests/generic/900.out | 6 +
tests/generic/901 | 30 +++
tests/generic/901.out | 6 +
7 files changed, 579 insertions(+), 97 deletions(-)
create mode 100755 tests/generic/900
create mode 100644 tests/generic/900.out
create mode 100755 tests/generic/901
create mode 100644 tests/generic/901.out
base-commit: 2ea74ba4e70b546279896e2a733c8c7f4b206193
--
2.35.1
next reply other threads:[~2022-02-28 7:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-28 7:47 Eric Biggers [this message]
2022-02-28 7:47 ` [RFC PATCH 1/8] fscrypt-crypt-util: use an explicit --direct-key option Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 2/8] fscrypt-crypt-util: refactor get_key_and_iv() Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 3/8] fscrypt-crypt-util: add support for dumping key identifier Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 4/8] common/encrypt: log full ciphertext verification params Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 5/8] common/encrypt: verify the key identifiers Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 6/8] fscrypt-crypt-util: add hardware KDF support Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 7/8] common/encrypt: support hardware-wrapped key testing Eric Biggers
2022-02-28 7:47 ` [RFC PATCH 8/8] generic: verify ciphertext with hardware-wrapped keys Eric Biggers
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=20220228074722.77008-1-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=quic_gaurkash@quicinc.com \
/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).