imx6: Added DEK blob generator command
Freescale's SEC block has built-in Data Encryption Key(DEK) Blob Protocol which provides a method for protecting a DEK for non-secure memory storage. SEC block protects data in a data structure called a Secret Key Blob, which provides both confidentiality and integrity protection. Every time the blob encapsulation is executed, a AES-256 key is randomly generated to encrypt the DEK. This key is encrypted with the OTP Secret key from SoC. The resulting blob consists of the encrypted AES-256 key, the encrypted DEK, and a 16-bit MAC. During decapsulation, the reverse process is performed to get back the original DEK. A caveat to the blob decapsulation process, is that the DEK is decrypted in secure-memory and can only be read by FSL SEC HW. The DEK is used to decrypt data during encrypted boot. Commands added -------------- dek_blob - encapsulating DEK as a cryptgraphic blob Commands Syntax --------------- dek_blob src dst len Encapsulate and create blob of a len-bits DEK at address src and store the result at address dst. Signed-off-by:Raul Cardenas <Ulises.Cardenas@freescale.com> Signed-off-by:
Nitin Garg <nitin.garg@freescale.com> Signed-off-by:
Ulises Cardenas <ulises.cardenas@freescale.com> Signed-off-by:
Ulises Cardenas-B45798 <Ulises.Cardenas@freescale.com>
Showing
- arch/arm/imx-common/Makefile 1 addition, 0 deletionsarch/arm/imx-common/Makefile
- arch/arm/imx-common/cmd_dek.c 91 additions, 0 deletionsarch/arm/imx-common/cmd_dek.c
- arch/arm/imx-common/timer.c 17 additions, 0 deletionsarch/arm/imx-common/timer.c
- arch/arm/include/asm/arch-mx6/imx-regs.h 4 additions, 0 deletionsarch/arm/include/asm/arch-mx6/imx-regs.h
- doc/README.mxc_hab 48 additions, 0 deletionsdoc/README.mxc_hab
- drivers/crypto/fsl/Makefile 1 addition, 1 deletiondrivers/crypto/fsl/Makefile
- drivers/crypto/fsl/desc.h 15 additions, 0 deletionsdrivers/crypto/fsl/desc.h
- drivers/crypto/fsl/fsl_blob.c 52 additions, 0 deletionsdrivers/crypto/fsl/fsl_blob.c
- drivers/crypto/fsl/jobdesc.c 147 additions, 2 deletionsdrivers/crypto/fsl/jobdesc.c
- drivers/crypto/fsl/jobdesc.h 14 additions, 0 deletionsdrivers/crypto/fsl/jobdesc.h
- drivers/crypto/fsl/jr.c 27 additions, 4 deletionsdrivers/crypto/fsl/jr.c
- include/fsl_sec.h 75 additions, 3 deletionsinclude/fsl_sec.h
Loading
Please register or sign in to comment