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

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

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

ARMv7安全引導的過程

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-11-07 15:25 ? 次閱讀

對于安全引導功能的實現(xiàn)和驗證過程各家芯片公司的方案都不一樣,這是由該芯片的啟動流程以及啟動所需鏡像文件來決定的,但都會遵循鏈式驗簽啟動的原則。

ARMv7架構(gòu)并沒有使用ATF,系統(tǒng)的啟動流程與以前一樣使用BootLoader來引導Linux內(nèi)核和TEE
OS。安全引導的啟動流程如圖下所示。

圖片

安全引導的啟動流程

系統(tǒng)啟動過程使用鏈式驗簽的方式進行引導,其中任何一環(huán)驗簽失敗都會導致系統(tǒng)啟動失敗,為防止通過替換ramdisk來修改根文件系統(tǒng)中的內(nèi)容,一般將ramdisk與Linux內(nèi)核打包在同一個鏡像文件中,而且該鏡像文件需要待驗簽通過后才可被使用。

簽名信息一般是對鏡像文件的內(nèi)容進行哈希計算獲取摘要后再對該摘要使用RSA私鑰進行電子簽名來獲得,驗證時同樣會計算需要被引導的鏡像文件的摘要,然后使用該摘要、簽名信息以及RSA公鑰進行RSA算法的驗證。這個就是對稱的過程,加密簽名,驗簽解密。

ARMv8安全引導的過程

ARMv8架構(gòu)之后ARM提供了ATF,BootLoader、TEE鏡像文件、Linux內(nèi)核鏡像文件、recovery鏡像文件都是由ATF來進行引導和加載而不是由ChipRom來完成的。

ChipRom只會去驗證ATF中bl1的合法性,后續(xù)引導過程同樣也是按照鏈式驗簽的方式進行,符合TBBR規(guī)范。讀者可使用git命令從gitHub上獲取ATF的所有源代在ARMv8架構(gòu)中整個安全引導的流程如圖下所示。

圖片

ARMv8的Secure Boot流程

ARMv8架構(gòu)中引入了ATF,同時在ATF中提供了安全引導的功能,BootLoader鏡像、Linux內(nèi)核、recovery鏡像和TEE OS鏡像文件的簽名方式都由ATF決定。當然開發(fā)者也可以對ATF進行定制化,修改ATF中的驗簽過程,但是修改后的驗簽方案需要符合TBBR規(guī)范。

此時ATF不要和BL31搞混了哦。ATF是一個整個啟動鏈路。

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

    關(guān)注

    450

    文章

    49622

    瀏覽量

    417093
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    8965

    瀏覽量

    364993
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    501

    瀏覽量

    25374
收藏 人收藏

    評論

    相關(guān)推薦

    armv7 generic timer使用筆記

    armv7-A架構(gòu)中每個CPU核心都包含自己的私有定時器,所有cpu的定時器共享一個System counter, System counter負責產(chǎn)生計數(shù),傳遞到每個核心的私有定時器
    的頭像 發(fā)表于 09-27 15:10 ?2105次閱讀
    <b class='flag-5'>armv7</b> generic timer使用筆記

    arm7 armv7 cortexm3它們是什么關(guān)系請問?

    arm7 armv7 cortexm3它們是什么關(guān)系請問?
    發(fā)表于 11-15 21:21

    基于ARMv7架構(gòu)的Cortex系列

    基于ARMv7架構(gòu)的Cortex系列由ARM公司在2006年推出,Cortex系列的推出滿足人們對性能日漸復雜的設(shè)計要求,根據(jù)不同需求,Cortex系列共三個不同的子系列...
    發(fā)表于 08-09 06:37

    ARMv8架構(gòu)資料分享

      隨著開發(fā)工作逐漸遷移到 ARMv8 的 64 位平臺,因此有必要盡快熟悉 ARMv8 架構(gòu)。ARMv8 與先前較為熟悉的 ARMv7 架構(gòu)有較大變化,其中非常重要的一點是支持了 A
    發(fā)表于 03-21 14:50

    ARMv7系列芯片算法的NEON優(yōu)化耗時異常的原因是什么

    目前正在做ARMv7 系列芯片算法的NEON優(yōu)化,發(fā)現(xiàn)一個耗時異常的地方,現(xiàn)象描述如下:首先主循環(huán)里會處理三類數(shù)據(jù),三類數(shù)據(jù)分開存放在DDR上,每次循環(huán)分別處理三類數(shù)據(jù)的8個uchar數(shù)據(jù),存儲數(shù)據(jù)
    發(fā)表于 08-16 15:22

    Cortex-A53使用AArch32 Kernel,可以直接使用ARMv7的所支持的CPU嗎?

    CA53 run 32bit linux kernel, 發(fā)現(xiàn)arch/arm/kernel/perf_event_v7.c 只支持ARMv7 的 ca17, ca15, ca12, ca9
    發(fā)表于 08-29 14:11

    請問怎么理解ARMv7的Secure和Non-secure狀態(tài)

    我在看ARMv7異常部分,看到Vector tables發(fā)現(xiàn)和以前不一樣了,有Secure和Non-secure狀態(tài)(還有Hyp和Monitor),請問怎么理解這兩種狀態(tài)?讀那個寄存器可以知道當前ARM處于哪種狀態(tài)?
    發(fā)表于 09-01 15:46

    如何在arm32 arch和armv7中打印堆??蚣艿目蚣苤羔樀刂纺?/a>

    我正在嘗試在arm32 arch和armv7中打印堆??蚣艿目蚣苤羔樀牡刂?。為了找到先前的堆棧幀地址,我正在arch_prev_frame()中執(zhí)行(frame-12),并在
    發(fā)表于 09-05 16:01

    Armv7Armv8系統(tǒng)中跟蹤的高級視圖詳解

    本指南主要介紹Armv7系統(tǒng)和Armv8系統(tǒng)中跟蹤的高級視圖,最高可達Armv8.4版本。 該指南涵蓋: ?跟蹤是什么以及如何使用 ?跟蹤體系結(jié)構(gòu)是如何定義的,以及它如何映射到不同的跟蹤組件實現(xiàn) ?在Arm系統(tǒng)中可以看到哪些跟蹤
    發(fā)表于 08-02 06:11

    ARM體系結(jié)構(gòu)參考手冊ARMv7-A和ARMv7-R版本

    本手冊介紹ARM?架構(gòu)v7、ARMv7的A和R配置文件。 其中包括以下內(nèi)容的描述: ·處理器指令集: -原始ARM?指令集-高代碼密度Thumb?指令集-ThumbEE指令集,包括對實時(JIT)或
    發(fā)表于 08-12 07:46

    在基于ARMv7的平臺1.0版上使用CSAT進行低級調(diào)試

    此教程提供了使用 CoreSight Access 工具在基于 Armv7 的平臺上執(zhí)行某些基本調(diào)試操作的信息。 此教程側(cè)重于使用與 DS-5 一起運輸?shù)暮诵腟ight Access 工具在
    發(fā)表于 08-28 06:50

    如何將軟件應用程序從ARMv5遷移到ARMv7-A/R

    本文檔旨在幫助您將軟件應用程序從ARMv5遷移到ARMv7。 它描述了ARMv5和ARMv7之間的區(qū)別,并解釋了將現(xiàn)有軟件應用程序從ARMv
    發(fā)表于 08-29 06:51

    ARMv7的Cortex系列微處理器技術(shù)特點

    ARMv7的Cortex系列微處理器 隨著嵌入式技術(shù)應用領(lǐng)域的不斷擴展,對嵌入式系統(tǒng)的要求越來越高,而作為嵌入式系統(tǒng)核心的微處理器也面臨日益嚴竣的挑
    發(fā)表于 10-17 09:17 ?3257次閱讀
    <b class='flag-5'>ARMv7</b>的Cortex系列微處理器技術(shù)特點

    ARMv7ARMv7的體系結(jié)構(gòu)參考手冊免費下載

    ARM? Architecture Reference Manual ARMv7-A and ARMv7-R edition
    發(fā)表于 09-28 08:00 ?26次下載
    <b class='flag-5'>ARMv7</b>和<b class='flag-5'>ARMv7</b>的體系結(jié)構(gòu)參考手冊免費下載

    ARMv7-A工作模式介紹

    意思就是 64 位和 32 位,其中 AArch32 和 ARMv7基本一樣(會多一些其他操作指令)。 安全不能僅僅依靠軟件來實現(xiàn),也是需要硬件支持的,比如 ARM處理器就有不同的運行等級,運行在低等
    的頭像 發(fā)表于 09-11 16:31 ?756次閱讀
    <b class='flag-5'>ARMv7</b>-A工作模式介紹