MTK Secure boot verify安全启动

安全启动阶段

  MTK 的bootload, lk, boot三阶段的验证和签名过程。

1.  签名主要python 脚本

       vendor/mediatek/proprietary/scripts/sign-image_v2/sign.py

       vendor/mediatek/proprietary/scripts/sign-image_v2/img_key_deploy.py

                                                                                               sign_flow.py

       img_key_deploy.py <platform> <project>\
               cert1_key_path=<key_path> \
              cert2_key_path=<key_path> \
               root_key_padding=<padding_type>"
      img_key_deploy.py mt6797 k97v1_64 \
                 cert1_key_path=privk1.pem \
                  cert2_key_path=privk2.pem"

2. 签名key,可以定制,生成证书

        cert1_key_path: ./hsm_test_keys/root_prvk.pem
        cert2_key_path: ./hsm_test_keys/img_prvk.pem

        sign-image_v2\x509_template

3.  Pub key,Priv Key

       vendor\mediatek\proprietary\custom\mt6xxx\security\cert_config

         lib.asn1_gen.asn1_gen(tbs_config_file_path, tbs_cert_file_path, False)
         lib.cert.sig_gen(tbs_cert_file_path, prvk_file_path, 'pss', sig_file_path)

4. Preload 

       vendor\mediatek\proprietary\bootable\bootloader\preloader\platform\mt6xxx\src\core\partition.c

       vendor\mediatek\proprietary\bootable\bootloader\preloader\platform\mt6xxx\src\core\partition.c

       vendor/mediatek/proprietary/bootable/bootloader/lk/target/k71v1_64_bsp/inc/oemkey.h

       seclib_set_pubk(g_oemkey, OEM_PUBK_SZ);

       vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6771/src/security/sec.c:  

         seclib_set_pubk(g_oemkey, OEM_PUBK_SZ);

static void lk_vb_vfy_dtbo(void)
{
#ifdef MTK_SECURITY_SW_SUPPORT
    PROFILING_START("dtbo vfy");
    if (0 != img_auth_stor(get_dtbo_part_name(), "dtbo", 0x0))
        assert(0);

5、下载 DA文件

       vendor/mediatek/proprietary/scripts/secure_chip_tools/resign_da.py

      可以对DA文件重签名,有你意想不到的效果!!

       #sign all load regions of the specified chip
     python resign_da.py prebuilt/resignda/MTK_AllInOne_DA.bin MT6755 settings/resignda/bbchips_pss.ini all               out/resignda/MTK_AllInOne_DA.bin-resign
      #sign only the specified load region of the specified chip, e.g. 0
     python resign_da.py prebuilt/resignda/MTK_AllInOne_DA.bin MT6755 settings/resignda/bbchips_pss.ini 0 out/resignda/MTK_AllInOne_DA.bin-resign

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值