imx8qxp secure boot AHAB_BAD_KEY_HASH_IND

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx8qxp secure boot AHAB_BAD_KEY_HASH_IND

945件の閲覧回数
eduardo3
Contributor III

We are signing imx-boot and linux-imx using a HSM, cst_signer, CST 3.4.0.

Before issuing a ahab_close, verifying SECO events with ahab_status, we see the following in u-boot:


=> ahab_status
Lifecycle: 0x0020, NXP closed

SECO Event[0] = 0x0087FA00
CMD = AHAB_AUTH_CONTAINER_REQ (0x87)
IND = AHAB_BAD_KEY_HASH_IND (0xFA)

sc_seco_get_event: idx: 1, res:3

Reading the SRK OTP values from u-boot, using fuse read 0 730 16 results in the values we have in our uuu script.

We cannot understand where that mismatch is coming from. Any help what we could verify that or guidance in how to debug it would be appreciated.

If any additional info is required to help us to solve this issue, we can provide it.

---

Summary of the commands we are running, our build is yocto-based.

We export from the HSM 4 certificates, let's call them cert{1,2,3,4}.pem.

create table.bin and fuse.bin

.../cst-3.4.0/linux64/bin/srktool -a -s sha384 -t table.bin \
-e fuse.bin -f 1 \
-c cert1.pem,cert2.pem,cert3.pem,cert4.pem

linux-imx:

.../cst_signer -d -i flash_os.bin -c csf.cfg --pkcs11
mv signed-flash_os.bin os_cntr_signed.bin

imx-boot:

cst_signer -d -i imx-boot-imx8qxp-d7-sd.bin-flash -c csf.cfg --pkcs11


Note: the --pkcs11 flag on cst_signer is a patch we've added. It just adds the -b pkcs11 to the call to cst.


csf.cfg looks like this

#Header
header_version=1.0
#Install SRK
srktable_file=SRK_1_2_3_4_table.bin
srk_source=pkcs11:model=YubiHSM;token=YubiHSM;object=./SRK1_sha384_p384_v3_usr;type=cert;pin-value=xxyyxxyyxxyyxxyy
srk_source_index=0
srk_source_set=OEM
srk_revocations=0x0
#Install Certificate
sgk_file=
sgk_permissions=

PKI tree in the HSM params:

Existing CA: N
Use ECC: Y
Key Length: p384
Digest Algorithm: sha384
Duration: 5 years
SRK CA: N

タグ(2)
0 件の賞賛
返信
1 返信

882件の閲覧回数
Harvey021
NXP TechSupport
NXP TechSupport

The event tells that the key hash verification does not match OTP.

There may be problem with your SRK TABLE hash calculation. Have a try to compare SRK TABLE and Fuse hash values. 

 

Regards

Harvey

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2149283%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Eimx8qxp%20%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88%20AHAB_BAD_KEY_HASH_IND%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2149283%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHSM%E3%80%81cst_signer%E3%80%81CST%203.4.0%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81imx-boot%20%E3%81%A8%20linux-imx%20%E3%81%AB%E7%BD%B2%E5%90%8D%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Eahab_close%20%E3%82%92%E7%99%BA%E8%A1%8C%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81ahab_status%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20SECO%20%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81u-boot%20%E3%81%A7%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E%3CBR%20%2F%3E%3D%26gt%3B%20ahab_status%3CBR%20%2F%3E%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%3A%200x0020%E3%80%81NXP%20%E7%B5%82%E4%BA%86%3C%2FP%3E%3CP%3ESECO%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%5B0%5D%20%3D%200x0087FA00%3CBR%20%2F%3E%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%20%3D%20AHAB_AUTH_CONTAINER_REQ%20(0x87)%3CBR%20%2F%3E%20IND%20%3D%20AHAB_BAD_KEY_HASH_IND%20(0xFA)%3C%2FP%3E%3CP%3Esc_seco_get_event%3A%20idx%3A%201%E3%80%81res%3A3%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3Efuse%20read%200%20730%2016%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20u-boot%20%E3%81%8B%E3%82%89%20SRK%20OTP%20%E5%80%A4%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%A8%E3%80%81uuu%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AB%E3%81%82%E3%82%8B%E5%80%A4%E3%81%8C%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%9D%E3%81%AE%E4%B8%8D%E4%B8%80%E8%87%B4%E3%81%8C%E3%81%A9%E3%81%93%E3%81%8B%E3%82%89%E6%9D%A5%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B%E3%81%AFCAN%E7%90%86%E8%A7%A3%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%9D%E3%82%8C%E3%82%92%E6%A4%9C%E8%A8%BC%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%81%94%E5%8A%A9%E5%8A%9B%E3%82%84%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%96%B9%E6%B3%95%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%81%94%E6%8C%87%E5%B0%8E%E3%82%92%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8C%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%AE%E6%83%85%E5%A0%B1%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81CAN%E6%8F%90%E4%BE%9B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E---%3C%2FP%3E%3CP%3E%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E6%A6%82%E8%A6%81%E3%80%82%E3%83%93%E3%83%AB%E3%83%89%E3%81%AF%20yocto%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EHSM%204%20%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%BE%E3%81%99%E3%80%82cert%7B1%2C2%2C3%2C4%7D.pem%20%E3%81%A8%E5%91%BC%E3%81%B3%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Etable.bin%E3%81%A8fuse.bin%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E...%2Fcst-3.4.0%2Flinux64%2Fbin%2Fsrktool%20-a%20-s%20sha384%20-t%20table.bin%20%5C%3CBR%20%2F%3E%20-e%20fuse.bin%20-f%201%20%5C%3CBR%20%2F%3E%20-c%20cert1.pem%E3%80%81cert2.pem%E3%80%81cert3.pem%E3%80%81cert4.pem%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3Elinux-imx%3A%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E...%2Fcst_signer%20-d%20-i%20flash_os.bin%20-c%20csf.cfg%20--pkcs11%3CBR%20%2F%3E%20mv%20%E7%BD%B2%E5%90%8D%E6%B8%88%E3%81%BF%E3%83%95%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5OS.bin%20os_cntr_signed.bin%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3Eimx-%E3%83%96%E3%83%BC%E3%83%88%3A%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3Ecst_signer%20-d%20-i%20imx-boot-imx8qxp-d7-sd.bin-flash%20-c%20csf.cfg%20--pkcs11%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3E%3CBR%20%2F%3E%E6%B3%A8%3A%20cst_signer%20%E3%81%AE%20--pkcs11%20%E3%83%95%E3%83%A9%E3%82%B0%E3%81%AF%E3%80%81%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%83%91%E3%83%83%E3%83%81%E3%81%A7%E3%81%99%E3%80%82cst%20%E3%81%AE%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%AB%20-b%20pkcs11%20%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Ecsf.cfg%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E%EF%BC%83%E3%83%98%E3%83%83%E3%83%80%3CBR%20%2F%3E%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%3D1.0%3CBR%20%2F%3E%23SRK%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%3CBR%20%2F%3Esrktable_file%3DSRK_1_2_3_4_table.bin%3CBR%20%2F%3E%20srk_source%3Dpkcs11%3Amodel%3DYubiHSM%3Btoken%3DYubiHSM%3Bobject%3D.%2FSRK1_sha384_p384_v3_usr%3Btype%3Dcert%3Bpin-value%3Dxxyyxxyyxxyyxxyy%3CBR%20%2F%3Esrk_source_index%3D0%3CBR%20%2F%3E%20srk_source_set%3DOEM%3CBR%20%2F%3E%20srk_revocations%3D0x0%3CBR%20%2F%3E%20%23%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%3CBR%20%2F%3Esgk_file%3D%3CBR%20%2F%3E%20sgk_permissions%3D%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EHSM%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%20PKI%20%E3%83%84%E3%83%AA%E3%83%BC%3A%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E%E6%97%A2%E5%AD%98%E3%81%AECA%3A%20N%3CBR%20%2F%3E%20ECC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%3A%20Y%3CBR%20%2F%3E%E3%82%AD%E3%83%BC%E3%81%AE%E9%95%B7%E3%81%95%3A%20p384%3CBR%20%2F%3E%E3%83%80%E3%82%A4%E3%82%B8%E3%82%A7%E3%82%B9%E3%83%88%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%3A%20sha384%3CBR%20%2F%3E%E6%9C%9F%E9%96%93%3A%205%E5%B9%B4%3CBR%20%2F%3ESRK%20CA%3A%20N%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2149283%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%E3%83%95%E3%82%A1%E3%83%9F%E3%83%AA%20%7C%20i.MX%208QuadMax%E2%80%AF(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESecurity%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2151569%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx8qxp%20secure%20boot%20AHAB_BAD_KEY_HASH_IND%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2151569%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%81%AE%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E3%81%A7%E3%81%AF%E3%80%81%E3%82%AD%E3%83%BC%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E6%A4%9C%E8%A8%BC%E3%81%8C%20OTP%20%E3%81%A8%E4%B8%80%E8%87%B4%E3%81%97%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3ESRK%20TABLE%20%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E8%A8%88%E7%AE%97%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82SRK%20TABLE%20%E3%81%A8%20Fuse%20%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%82%92%E6%AF%94%E8%BC%83%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E