91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HAB boot的啟動流程與實(shí)現(xiàn)步驟

我快閉嘴 ? 來源:MCU頻道 ? 作者:MCU頻道 ? 2022-08-12 09:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問題簡介

在《深扒HAB boot 啟動安全性》中,小編介紹了HAB boot的啟動流程(如圖1所示),其中的1、2、3驗證步驟本質(zhì)上就是驗簽過程。

2ac58412-1971-11ed-ba43-dac502259ad0.png圖1

驗簽過程在公鑰可信的情況下,可用于檢測數(shù)據(jù)的完整性(Integrity),身份認(rèn)證(Authentication)和不可否認(rèn)(Non-repudiation/Undeniable),而hab4_pki_tree.sh和hab4_pki_tree.bat腳本又保證生成的公鑰與私鑰對,證書是可信的,所以能“完美閉環(huán)”,使得HAB boot的安全性得到保證。

在應(yīng)用手冊AN12079中,介紹了實(shí)現(xiàn)HAB boot的步驟,大致可分為:

  • 生成證書與密鑰
  • 對bootable image進(jìn)行簽名
  • 打包簽名后的bootable image生成SB文件

簽名過程需借助elftosb工具和BD文件,其中BD文件包含了實(shí)現(xiàn)簽名的命令,

options{
flags=0x08;
startAddress=0x60000000;
ivtOffset=0x1000;
initialLoadSize=0x2000;

entryPointAddress=0x60004645;
}

sources{
elfFile=extern(0);
}

constants{
SEC_CSF_HEADER=20;
SEC_CSF_INSTALL_SRK=21;
SEC_CSF_INSTALL_CSFK=22;
SEC_CSF_INSTALL_NOCAK=23;
SEC_CSF_AUTHENTICATE_CSF=24;
SEC_CSF_INSTALL_KEY=25;
SEC_CSF_AUTHENTICATE_DATA=26;
SEC_CSF_INSTALL_SECRET_KEY=27;
SEC_CSF_DECRYPT_DATA=28;
SEC_NOP=29;
SEC_SET_MID=30;
SEC_SET_ENGINE=31;
SEC_INIT=32;
SEC_UNLOCK=33;
}

section(SEC_CSF_HEADER;
Header_Version="4.2",
Header_HashAlgorithm="sha256",
Header_Engine="DCP",
Header_EngineConfiguration=0,
Header_CertificateFormat="x509",
Header_SignatureFormat="CMS"
)
{
}

section(SEC_CSF_INSTALL_SRK;
InstallSRK_Table="............Users
xa07025secure_provisioning000000000000000000000000000gen_hab_certsSRK_hash.bin",
InstallSRK_SourceIndex=0
)
{
}

section(SEC_CSF_INSTALL_CSFK;
InstallCSFK_File="............Users
xa07025secure_provisioning000000000000000000000000000crtsCSF1_1_sha256_2048_65537_v3_usr_crt.pem",
InstallCSFK_CertificateFormat="x509"
)
{
}

section(SEC_CSF_AUTHENTICATE_CSF)
{
}

section(SEC_CSF_INSTALL_KEY;
InstallKey_File="............Users
xa07025secure_provisioning000000000000000000000000000crtsIMG1_1_sha256_2048_65537_v3_usr_crt.pem",
InstallKey_VerificationIndex=0,
InstallKey_TargetIndex=2)
{
}

section(SEC_CSF_AUTHENTICATE_DATA;
AuthenticateData_VerificationIndex=2,
AuthenticateData_Engine="DCP",
AuthenticateData_EngineConfiguration=0)
{
}


section(SEC_SET_ENGINE;
SetEngine_HashAlgorithm="sha256",
SetEngine_Engine="DCP",
SetEngine_EngineConfiguration="0")
{
}

section(SEC_UNLOCK;
Unlock_Engine="SNVS",
Unlock_features="ZMKWRITE"
)
{
}


在運(yùn)行類似下面的命令后,bootable image的組成會有如圖2所示的變化。

./elftosb.exe-fimx-V-cimx-flexspinor-normal-signed.bd-oivt_application_signed.binled_demo_evk_flexspi_nor_0x60002000.srec
2aeb1498-1971-11ed-ba43-dac502259ad0.jpg圖2

在仔細(xì)查看BD文件后,我們會發(fā)現(xiàn)里面有加載SRK公鑰,IMG1和CSF1證書等命令,卻沒有了關(guān)于私鑰的相關(guān)命令?那么私鑰是如何參與bootable image的簽名過程的呢?

私鑰在哪里?

圖3的左邊部分表示elftosb.exe執(zhí)行如下命令后,首先application和CSF(Command Sequence File)會進(jìn)行Hash運(yùn)算生成摘要,跟著私鑰會對其加密生成簽名。

./elftosb.exe-fimx-V-cimx-flexspinor-normal-signed.bd-oivt_application_signed.binled_demo_evk_flexspi_nor_0x60002000.srec
2b10134c-1971-11ed-ba43-dac502259ad0.jpg圖3

那么elftosb.exe是從哪里加載私鑰的呢?答案就是在與證書所處文件夾crts同一層目錄下的keys文件夾中,且elftosb.exe會加載與BD文件中的公鑰證書所對應(yīng)的私鑰文件,比如上述BD文件的公鑰證書是CSF1_1_sha256_2048_65537_v3_usr_crt.pem和IMG1_1_sha256_2048_65537_v3_usr_crt.pem,那么對應(yīng)的私鑰文件就是CSF1_1_sha256_2048_65537_v3_usr_key.pem和IMG1_1_sha256_2048_65537_v3_usr_key.pem,當(dāng)然,你也可以移除keys文件夾來進(jìn)行驗證。

2b3281ac-1971-11ed-ba43-dac502259ad0.png圖4

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    154

    瀏覽量

    37753
  • 啟動流程
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6667

原文標(biāo)題:消失的私鑰-HAB boot

文章出處:【微信號:MCU頻道,微信公眾號:MCU頻道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    u-boot啟動流程分析

    今天給大家全面的分析一下u-boot啟動流程。整理這篇文章花費(fèi)時間較長,中間很長時間未更新,希望這篇文章對大家有所幫助。
    發(fā)表于 07-12 15:16 ?1551次閱讀
    u-<b class='flag-5'>boot</b><b class='flag-5'>啟動</b><b class='flag-5'>流程</b>分析

    U-BOOT啟動流程分享

    Bootloader移植(下)U-BOOT 啟動流程u-boot啟動三個2啟動
    發(fā)表于 01-18 10:17

    U-boot的完整啟動流程是怎樣的?

    U-boot的完整啟動流程是怎樣的?
    發(fā)表于 03-03 06:18

    為什么U-boot顯示的HAB事件數(shù)據(jù)不符合HAB的數(shù)據(jù)表?

    ,HAB 狀態(tài):0x00 u-boot=> hab_status安全啟動已禁用HAB 配置:0x00,H
    發(fā)表于 03-16 07:42

    i.MX8M Mini安全啟動HAB錯誤怎么解決?

    ,是 imx8mm-evk-qca-wifi 機(jī)器)。我已經(jīng)到達(dá)步驟 1.8“驗證 HAB 事件”。我執(zhí)行hab_status命令,但出現(xiàn) HAB 錯誤: U-
    發(fā)表于 03-28 08:35

    IMX8M沒有HAB事件,而SRK_HASH未定義是為什么?

    我正在 IMX8M 上試驗 HAB,我正在使用我想在啟動時驗證的 U-boot 映像。HAB 激活后,hab_status命令會生成 4 個
    發(fā)表于 04-03 07:26

    如何在imx6q實(shí)現(xiàn)HAB

    大家好, 目前我在 imx6q 板上工作。試圖在其中實(shí)現(xiàn) HAB,所以我在 u-boot 的配置文件中總結(jié)了 CONFIG_IMX_HAB 。使用 CST 工具創(chuàng)建簽名的 u-
    發(fā)表于 04-04 08:44

    imx6q安全啟動HAB錯誤的原因?

    大家好, 我正在使用 imx6q 設(shè)備來實(shí)現(xiàn)安全啟動。我已經(jīng)簽署了 u-boot 并按照以下步驟操作。但是出現(xiàn) 6 個錯誤..安全啟動已禁用
    發(fā)表于 04-06 06:49

    U-Boot啟動及移植分析

    bootloader 開發(fā)是嵌入式系統(tǒng)必不可少而且十分重要的部分,U-Boot 為功能強(qiáng)大的bootloader 開發(fā)軟件。本文詳細(xì)分析了U-Boot啟動流程,并結(jié)合其源碼,闡述了
    發(fā)表于 09-01 16:34 ?27次下載

    嵌入式U-BOOT啟動流程及移植

    摘要:嵌入式系統(tǒng)一般沒有通用的bootloader,u-boot是功能強(qiáng)大的bootloader開發(fā)軟件,但相對也比較復(fù)雜。文中對u-boot啟動流程作了介紹,詳細(xì)給出了u-
    發(fā)表于 02-25 16:00 ?59次下載

    串行SPI Nor Flash啟動流程

    關(guān)于外部Flash的代碼安全問題和代碼在外部執(zhí)行對整個系統(tǒng)性能的影響,RT105x的加密啟動HAB)功能和32KB的L1 ICache/DCache是可以解決的,只是本文先從RT105x的啟動
    的頭像 發(fā)表于 03-16 09:32 ?2.3w次閱讀
    串行SPI Nor Flash<b class='flag-5'>啟動</b><b class='flag-5'>流程</b>

    Spring Boot啟動 Eureka流程

    在上篇中已經(jīng)說過了 Eureka-Server 本質(zhì)上是一個 web 應(yīng)用的項目,今天就來看看 Spring Boot 是怎么啟動 Eureka 的。 Spring Boot 啟動 E
    的頭像 發(fā)表于 10-10 11:40 ?1669次閱讀
    Spring <b class='flag-5'>Boot</b><b class='flag-5'>啟動</b> Eureka<b class='flag-5'>流程</b>

    安全啟動Secure Boot流程

    安全啟動-Secure Boot 除了NSPE和SPE兩個環(huán)境的溝通流程之外,secure boot也是Trusted Firmware很重要的設(shè)計環(huán)節(jié)。 Secure
    的頭像 發(fā)表于 11-02 16:45 ?3345次閱讀
    安全<b class='flag-5'>啟動</b>Secure <b class='flag-5'>Boot</b><b class='flag-5'>流程</b>

    啟動(Cold boot流程及階段劃分

    restart--冷啟動 reset--熱啟動 ATF冷啟動實(shí)現(xiàn)分為5個步驟: ? BL1 - AP Trusted ROM,一般為Boot
    的頭像 發(fā)表于 11-07 15:17 ?5128次閱讀
    冷<b class='flag-5'>啟動</b>(Cold <b class='flag-5'>boot</b>)<b class='flag-5'>流程</b>及階段劃分

    springboot啟動流程

    。 Spring Boot啟動流程可以分為以下幾個步驟:初始化啟動環(huán)境、加載自動配置類、創(chuàng)建 Spring 上下文、
    的頭像 發(fā)表于 11-22 16:04 ?1312次閱讀