AnsweredAssumed Answered

HAB on i.MX8M

Question asked by Bartlomiej Nowak on Jul 24, 2019
Latest reply on Jul 31, 2019 by Yuri Muhin

Hello,

 

I'm implementing HAB on an i.MX8M based board. I've built u-boot with CONFIG_SECURE_BOOT, created an u-boot/dtb/atf image using `imx-mkimage`, appended a CSF binary compiled from CSF files using code signing tools 3.1.0, utilizing the HAB blocks data from `imx-mkimage` output, generated a PKI tree using the code signing tool scripts, burned the eFuses using the SRK table.

 

 

=> hab_status

 

Secure boot disabled

 

HAB Configuration: 0xf0, HAB State: 0x66

 

--------- HAB Event 1 -----------------
event data:
        0xdb 0x00 0x14 0x43 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x40 0x1f 0xdd 0xc0
        0x00 0x00 0x00 0x20

 

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

 


--------- HAB Event 2 -----------------
event data:
        0xdb 0x00 0x14 0x43 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x40 0x1f 0xcd 0xc0
        0x00 0x00 0x00 0x04

 

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

 


--------- HAB Event 3 -----------------
event data:
        0xdb 0x00 0x34 0x43 0x33 0x18 0xc0 0x00
        0xca 0x00 0x2c 0x00 0x02 0xc5 0x1d 0x00
        0x00 0x00 0x16 0x54 0x40 0x1f 0xcd 0xc0
        0x00 0x00 0x10 0x20 0x40 0x20 0x00 0x00
        0x00 0x0a 0x53 0x18 0x00 0x91 0x00 0x00
        0x00 0x00 0xb6 0xa0 0x40 0x2a 0x53 0x18
        0x00 0x00 0xc0 0x73

 

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_SIGNATURE (0x18)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)

 

 

These are the events that I'm getting on the board. First two point at the main image IVT and first byte of boot data, saying they're not signed, third one says that the four blocks of code (specified in the CSF binary) have an invalid signature.

I consulted the HABv4 API reference manual and HAB CST User's Guide, but they don't really point at any possible solutions to these problems.

 

What should I do to fix these?

Outcomes