Re: [PATCH 0/4] KEYS: trusted: Introduce support for NXP CAAM-based trusted keys
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
Date: 2021-08-20 20:36:57
Also in:
keyrings, linux-crypto, linux-security-module, lkml
On 20.08.21 22:20, Tim Harvey wrote:
On Fri, Aug 20, 2021 at 9:20 AM Ahmad Fatoum [off-list ref] wrote:quoted
On 20.08.21 17:39, Tim Harvey wrote:quoted
Thanks for your work! I've been asked to integrate the capability of using CAAM to blob/deblob data to an older 5.4 kernel such as NXP's downstream vendor kernel does [1] and I'm trying to understand how your series works. I'm not at all familiar with the Linux Key Management API's or trusted keys. Can you provide an example of how this can be used for such a thing?Here's an example with dm-crypt: https://lore.kernel.org/linux-integrity/5d44e50e-4309-830b-79f6-f5d888b1ef69@pengutronix.de/ (local) dm-crypt is a bit special at the moment, because it has direct support for trusted keys. For interfacing with other parts of the kernel like ecryptfs or EVM, you have to create encrypted keys rooted to the trusted keys and use those. The kernel documentation has an example: https://www.kernel.org/doc/html/v5.13/security/keys/trusted-encrypted.html If you backport this series, you can include the typo fix spotted by David. I'll send out a revised series, but given that a regression fix I want to rebase on hasn't been picked up for 3 weeks now, I am not in a hurry.Thanks for the reference. I'm still trying to understand the keyctl integration with caam. For the 'data' param to keyctl you are using tings like 'new <len>' and 'load <data>'. Where are these 'commands' identified?
Search for match_table_t in security/keys/trusted-keys/trusted_core.c
I may still be missing something. I'm using 4.14-rc6 with your series and seeing the following:
That's an odd version to backport stuff to..
# cat /proc/cmdline trusted.source=caam # keyctl add trusted mykey 'new 32' @s)# create new trusted key named 'mykey' of 32 bytes in the session keyring 480104283 # keyctl print 480104283 # dump the key keyctl_read_alloc: Unknown error 126 ^^^ not clear what this is
Not sure what returns -ENOKEY for you. I haven't been using trusted keys on v4.14, but you can try tracing the keyctl syscall. Cheers, Ahmad
Best regards, Tim
-- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |