NXP MCU 技术论坛
直播中

张华

7年用户 1427经验值
私信 关注
[问答]

如何在imx6q实现HAB?

大家好,
目前我在 imx6q 板上工作。试图在其中实现 HAB,所以我在 u-boot 的配置文件中总结了 CONFIG_IMX_HAB 。
使用 CST 工具创建签名的 u-boot 和密钥。
但是在检查 hab_status 的状态时,会出现以下事件。
MX6 地平线 U-Boot > hab_status
安全启动已禁用
HAB 配置:0xf0,HAB 状态:0x66
---------- HAB 事件 1 --------------
事件数据:
0xdb 0x00 0x24 0x42 0x69 0x30 0xe1 0x1d
0x00 0x04 0x00 0x02 0x40 0x00 0x36 0x06
0x55 0x55 0x00 0x03 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x01
STS = HAB_WARNING (0x69)
RSN = HAB_ENG_FAIL (0x30)
CTX = HAB_CTX_ENTRY (0xE1)
ENG = HAB_ENG_CAAM (0x1D)

---------- HAB 事件 2 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x00
0x00 0x00 0x00 0x20
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERtiON (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 3 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x2c
0x00 0x00 0x02 0xf8
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 4 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x20
0x00 0x00 0x00 0x01
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 5 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x80 0x00 0x00
0x00 0x00 0x00 0x04
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 6 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x21 0xc0 0x00
0xbe 0x00 0x0c 0x00 0x03 0x17 0x00 0x00
0x00 0x00 0x00 0x50
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_CERTIFICATE (0x21)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)
MX6 HORIZON U-Boot > <中断>
MX6 HORIZON U-Boot >
MX6 HORIZON U-Boot >
MX6 HORIZON U-Boot >
MX6 HORIZON U-Boot >
MX6 HORIZON U-Boot > hab_status
安全启动已禁用
HAB 配置:0xf0,HAB 状态:0x66
---------- HAB 事件 1 --------------
事件数据:
0xdb 0x00 0x24 0x42 0x69 0x30 0xe1 0x1d
0x00 0x04 0x00 0x02 0x40 0x00 0x36 0x06
0x55 0x55 0x00 0x03 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x01
STS = HAB_WARNING (0x69)
RSN = HAB_ENG_FAIL (0x30)
CTX = HAB_CTX_ENTRY (0xE1)
ENG = HAB_ENG_CAAM (0x1D)

---------- HAB 事件 2 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x00
0x00 0x00 0x00 0x20
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 3 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x2c
0x00 0x00 0x02 0xf8
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 4 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x7f 0xf4 0x20
0x00 0x00 0x00 0x01
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 5 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x17 0x80 0x00 0x00
0x00 0x00 0x00 0x04
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

---------- HAB 事件 6 --------------
事件数据:
0xdb 0x00 0x14 0x42 0x33 0x21 0xc0 0x00
0xbe 0x00 0x0c 0x00 0x03 0x17 0x00 0x00
0x00 0x00 0x00 0x50
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_CERTIFICATE (0x21)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)
下面是我的 csf 文件。
[Header]
Version = 4.2
Hash Algorithm = sha256
Engine Configuration = 0
Certificate Format = X509
Signature Format = CMS
Engine = CAAM

[Install SRK]
# 要安装的SRK表中关键位置的索引
File = "../.. /crts/SRK_1_2_3_4_table.bin"
Source index = 0

[Install CSFK]
# Key used to authentication the CSF data
File = "../../crts/CSF1_1_sha256_2048_65537_v3_usr_crt.pem"

[Authenticate CSF]

[Install Key]
# Key slot 索引用于验证要安装的密钥
Verification index = 0
# 将安装密钥的 HAB 密钥库中的目标密钥槽
Target Index = 2
# Key to install
File= "../../crts/IMG1_1_sha256_2048_65537_v3_usr_crt.pem"

[Authenticate Data]
# Key slot index 用于验证图像数据
Verification index = 2
# Authenticate Start Address, Offset, Length and file
#Blocks = 0x177ff400 0x00000000 0x00091c00 “u-boot-dtb.imx”
块 = 0x177ff400 0x00000000 0x00092c00 “u-boot-dtb.imx”

[解锁]
引擎 = CAAM
功能 = RNG
下面是 u-boot-dtb.imx.log 文件。
图像类型:Freescale IMX 引导图像图像
版本:2(i.MX53/6/7 兼容)
模式:DCD
数据大小:610400 字节 = 596.09 KiB = 0.58 MiB
加载地址:177ff420
入口点:17800000
HAB 块:0x177ff400 0x00000000 0x00092c00
DCD块:0x00910000 0x0000002c 0x000002f8

更多回帖

发帖
×
20
完善资料,
赚取积分