linux/drivers/crypto
David Gstir 3d16af0b4c crypto: mxs-dcp: Add support for hardware-bound keys
DCP (Data Co-Processor) is able to derive private keys for a fused
random seed, which can be referenced by handle but not accessed by
the CPU. Similarly, DCP is able to store arbitrary keys in four
dedicated key slots located in its secure memory area (internal SRAM).
These keys can be used to perform AES encryption.

Expose these derived keys and key slots through the crypto API via their
handle. The main purpose is to add DCP-backed trusted keys. Other
use cases are possible too (see similar existing paes implementations),
but these should carefully be evaluated as e.g. enabling AF_ALG will
give userspace full access to use keys. In scenarios with untrustworthy
userspace, this will enable en-/decryption oracles.

Co-developed-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Richard Weinberger <richard@nod.at>
Co-developed-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Signed-off-by: David Gstir <david@sigma-star.at>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
2024-05-09 18:29:03 +03:00
..
allwinner This update includes the following changes: 2024-03-15 14:46:54 -07:00
amcc crypto: crypto4xx - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
amlogic crypto: amlogic - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
aspeed crypto: aspeed - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
axis crypto: artpec6 - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
bcm crypto: bcm - Remove ofb 2023-12-08 11:59:46 +08:00
caam crypto: caam - fix asynchronous hash 2024-01-26 16:35:55 +08:00
cavium crypto: nitrox - Remove cfb 2023-12-08 11:59:46 +08:00
ccp x86/CPU/AMD: Track SNP host status with cc_platform_*() 2024-04-04 10:40:30 +02:00
ccree crypto: ccree - Remove ofb 2023-12-08 11:59:46 +08:00
chelsio crypto: chelsio - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
gemini crypto: sl3516 - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
hisilicon crypto: hisilicon/zip - fix the missing CRYPTO_ALG_ASYNC in cra_flags 2024-03-08 19:23:25 +08:00
inside-secure crypto: safexcel - Remove cfb and ofb 2023-12-08 11:59:46 +08:00
intel crypto: iaa - Fix nr_cpus < nr_iaa case 2024-03-22 19:42:20 +08:00
marvell crypto: octeontx2 - support setting ctx ilen for inline CPT LF 2023-12-29 11:25:55 +08:00
nx crypto: nx - fix build warnings when DEBUG_FS is not enabled 2023-05-24 18:12:33 +08:00
qce crypto: qce - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
rockchip This update includes the following changes: 2024-03-15 14:46:54 -07:00
starfive crypto: starfive - Fix dev_err_probe return error 2023-12-15 17:52:53 +08:00
stm32 crypto: stm32/cryp - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
virtio This update includes the following changes: 2024-03-15 14:46:54 -07:00
xilinx crypto: xilinx - call finalize with bh disabled 2024-02-09 12:57:18 +08:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
atmel-authenc.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
atmel-ecc.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-i2c.c This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-i2c.h This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-sha204a.c crypto: atmel - Switch i2c drivers back to use .probe() 2023-06-02 18:21:32 +08:00
atmel-sha-regs.h
atmel-sha.c crypto: atmel - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
exynos-rng.c crypto: exynos-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h
hifn_795x.c crypto: hifn_795x - Remove cfb and ofb 2023-12-08 11:59:46 +08:00
img-hash.c crypto: img-hash - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
Kconfig crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
Makefile crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
mxs-dcp.c crypto: mxs-dcp: Add support for hardware-bound keys 2024-05-09 18:29:03 +03:00
n2_asm.S
n2_core.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
n2_core.h
omap-aes-gcm.c crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-aes.c crypto: omap-aes - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-aes.h crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-crypto.c crypto: omap - Avoid redundant copy when using truncated sg list 2021-08-21 15:44:53 +08:00
omap-crypto.h
omap-des.c crypto: omap-des - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-sham.c crypto: omap-sham - stop setting alignmask for ahashes 2023-10-27 18:04:29 +08:00
padlock-aes.c
padlock-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
qcom-rng.c crypto: qcom-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
s5p-sss.c crypto: s5p-sss - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
sa2ul.c crypto: sa2ul - Return crypto_aead_setkey to transfer the error 2023-12-01 18:03:26 +08:00
sa2ul.h crypto: sa2ul - change unsafe data size limit to 255 bytes 2023-05-19 16:45:43 +08:00
sahara.c crypto: sahara - add support for crypto_engine 2023-12-29 11:25:56 +08:00
talitos.c crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
talitos.h crypto: talitos - Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper 2022-10-21 19:05:24 +08:00