[PATCH v2 0/2] Remove secret-size restrictions for hashes

Mark O'Donovan shiftee at posteo.net
Mon Oct 16 01:57:13 PDT 2023


This relates to the hash functions used to transform the secret.
The kernel currently restricts us to using secrets equal in size
to the transformation hash function they use.
e.g. 32 byte secrets with the SHA-256(32 byte) hash function.

This restriction is not required by the spec and means
incompatibility with more permissive implementations.

With these patches the example secret from the spec should now
be permitted with any of the following:
DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:01:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:02:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:03:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:

Note: Secrets are still restricted to 32,48 or 64 bits.


Mark O'Donovan (2):
  nvme-auth: use transformed key size to create resp
  nvme-auth: allow mixing of secret and hash lengths

 drivers/nvme/common/auth.c | 14 +++++---------
 drivers/nvme/host/auth.c   |  4 ++--
 drivers/nvme/target/auth.c |  4 ++--
 include/linux/nvme-auth.h  |  3 ++-
 4 files changed, 11 insertions(+), 14 deletions(-)

-- 
2.39.2




More information about the Linux-nvme mailing list