3

我目前正在使用 HABv4 在 imx6ul 上执行安全启动。我按照以下文档中提供的步骤进行操作。

http://marc.info/?l=u-boot&m=139227973004718&q=p5

在执行了我在下面描述的所有步骤后,我在 U-boot 命令提示符下输入了 hab_status。然后我得到下面显示的 HAB 事件。我没有执行的唯一步骤是融合 SRK 表。我想知道以下信息:

  1. 开发阶段必须融合SRK表吗?

  2. 从哪里可以找到必须在 csf 文件中指定的加载地址?我使用了 Uboot 配置文件中定义的以下值。文档 AN4581 (Rev.0,10/2012) 描述了 start* = TEXT_BASE 并且在 config.mk 文件中定义。但是,我的 U-boot 文件夹中没有 config.mk 文件(可能是因为我使用的是较新版本)。

                #define CONFIG_SYS_TEXT_BASE 0x87800000
    

AN4581(Rev. 1, 10/2015)未提供任何有关此的信息。

  1. Uboot怎么知道cfs的起始指针?我们应该在任何其他位置指定它吗?
  2. 我已经指定了我在下面执行的步骤。让我知道我是否做错了什么。

执行的步骤: 请参阅下面执行的步骤。

  1. 内置 u-boot.imx 启用安全模式。

  2. 生成所有根公钥文件和相应的哈希。

  3. 创建了具有以下内容的 csf 文件。文件内容附在文末。

  4. 我的 u-uboot.imx 文件是 0x60830。我使用以下命令将其扩展为 0x61000。

               objcopy -I binary -O binary --pad-to 0x61000 --gap-fill=0x5A u-boot.imx u-boot-pad.imx
    
  5. 然后我使用下面的命令生成了 csf.bin 文件。

              ./cst -o u-boot_csf.bin -i uboot.csf
    
  6. 使用以下命令合并图像和 csf 数据。

              cat u-boot-pad.imx u-boot_csf.bin  > u-boot-signed.imx
    
  7. 然后将最终图像扩展到0x63000

              objcopy -I binary -O binary --pad-to 0x63000 --gap-fill=0x5A u-boot-signed.imx u-boot-signed-pad.imx
    
  8. 块的长度计算为:长度 = u-boot-pad.imx (0x61000) - IVT_OFFSET (0x400)。并在起始地址上加了400,如下图。

           #        Address    Offset Length Data File Path
    
           Blocks = 0x87800400 0x400 0x00060C00 "u-boot-pad.imx"
    

HAB 事件:

HAB Configuration: 0xf0, HAB State: 0x66
--------- HAB Event 1 -----------------
event data:
        0xdb 0x00 0x1c 0x42 0x33 0x18 0xc0 0x00
        0xca 0x00 0x14 0x00 0x02 0xc5 0x00 0x00
        0x00 0x00 0x0d 0x34 0x87 0x80 0x04 0x00
        0x00 0x06 0x0c 0x00
--------- HAB Event 2 -----------------
event data:
        0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x87 0x7f 0xf7 0xd0
        0x00 0x00 0x00 0x20
--------- HAB Event 3 -----------------
event data:
        0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x87 0x7f 0xf7 0xfc
        0x00 0x00 0x01 0xf0
--------- HAB Event 4 -----------------
event data:
        0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x87 0x7f 0xf7 0xf0
        0x00 0x00 0x00 0x01
--------- HAB Event 5 -----------------
event data:
        0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x87 0x80 0x00 0x00
        0x00 0x00 0x00 0x04



Command Sequency File Description:
#Illustrative Command Sequence File Description
[Header]
Version = 4.1
Hash Algorithm = sha256
Engine = ANY
Engine Configuration = 0
Certificate Format = X509
Signature Format = CMS
[Install SRK]
File = "../crts/SRK_1_2_3_4_table.bin"
# Index of the key location in the SRK table to be installed
Source index = 0
[Install CSFK]
# Key used to authenticate the CSF data
File = "../crts/CSF1_1_sha256_2048_65537_v3_usr_crt.pem"
[Authenticate CSF]
[Install Key]
# Key to install
File= "../crts/IMG1_1_sha256_2048_65537_v3_usr_crt.pem"
# Target key slot in HAB key store where key will be installed
Target Index = 2
# Key slot index used to authenticate the key to be installed
Verification index = 0
[Authenticate Data]
#        Address    Offset Length Data File Path
Blocks = 0x87800400 0x400 0x00060C00 "u-boot-pad.imx"

# Key slot index used to authenticate the image data
Verification index = 2

此致

4

0 回答 0