使用HABv4

时间:2016-07-22 12:41:26

标签: linux u-boot imx6

我目前正致力于使用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
    
  3. AN4581(Rev.1,10 / 2015)未提供任何有关此事的信息。

    1. Uboot如何知道cfs的起始指针?我们应该在其他任何地方指定吗?
    2. 我已经指定了我在下面执行的步骤。让我知道我做错了什么。
    3. 执行的步骤: 请参阅下面执行的步骤。

      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. 块的长度计算如下:Length = u-boot-pad.imx(0x61000) - IVT_OFFSET(0x400)。 并将400添加到起始地址,如下所示。

               #        Address    Offset Length Data File Path
        
               Blocks = 0x87800400 0x400 0x00060C00 "u-boot-pad.imx"
        
      9. 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
        

        最好的问候

0 个答案:

没有答案