精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

TF-A主要保護(hù)的是什么

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-09-11 16:25 ? 次閱讀

大量的嵌入式設(shè)備使用 ARM 為核心的芯片,為了保證安全 ARM 推出了 Arm Trusted Firmware 的可信固件,簡(jiǎn)稱 TF-A。它是一個(gè)開(kāi)源的軟件,最早是用在 Armv8-A。它的作用是隔離硬件,為硬件提供一個(gè)安全環(huán)境并且提供安全服務(wù)。

智能手機(jī)里面保存了我們的指紋、Face ID(3D 人臉信息)、虹膜、銀行卡密碼等重要信息。因此智能設(shè)備的安全問(wèn)題就成了半導(dǎo)體行業(yè)的重要問(wèn)題,ARM 為此提供了 TrustZone 解決方案,TrustZone 將 CPU 的工作狀態(tài)分為了 Secure World 和 Normal World,涉及到安全相關(guān)的內(nèi)容運(yùn)行在安全世界,比如指紋、密碼等,其他的操作都在非安全世界運(yùn)行,比如應(yīng)用程序。TrustZone 是一種硬件解決方案。

我們并不會(huì)直接去官方網(wǎng)站下載 TF-A 的源碼,這樣的開(kāi)發(fā)難度太大,半導(dǎo)體廠商都會(huì)從 TF-A 官網(wǎng)下載源碼,然后修改適配自己的芯片,把自家的芯片加進(jìn)去。我們?cè)趯?shí)際項(xiàng)目開(kāi)發(fā)中直接使用半導(dǎo)體原廠給提供的 TF-A 即可。

TF-A 是有自己的 Makefile 文件的,而且真正編譯的時(shí)候也是要用 TF-A 自己的 Makefile。

TF-A 主要保護(hù)的就是設(shè)備啟動(dòng)過(guò)程,通過(guò)各種鑒權(quán),保證設(shè)備啟動(dòng)的過(guò)程中每個(gè)階段的固件都是安全的,防止被不法分子替換某些啟動(dòng)固件導(dǎo)致安全信息泄露。

對(duì)于傳統(tǒng)的 ARM 處理器而言 , Linux 系統(tǒng)的啟動(dòng)流程是:內(nèi)部 BootROM -》 Uboot -》 kernel -》 rootfs,整個(gè)啟動(dòng)過(guò)程是一個(gè)鏈?zhǔn)浇Y(jié)構(gòu),啟動(dòng)過(guò)程其實(shí)是沒(méi)有安全校驗(yàn)的。加入 TF-A 固件以后,TF-A 就可以對(duì) uboot、kernel 進(jìn)行校驗(yàn),如果還要使用 TEE OS(Trusted Execution Environment,TEE),那么 TF-A 還要完成對(duì) TEE OS 的校驗(yàn)。

Linux 啟動(dòng)是一個(gè)鏈?zhǔn)浇Y(jié)構(gòu),因此安全啟動(dòng)的鑒權(quán)(校驗(yàn))過(guò)程也是鏈?zhǔn)浇Y(jié)構(gòu)的。在系統(tǒng)啟動(dòng)的過(guò)程中,會(huì)先對(duì)下一個(gè)要加載運(yùn)行的鏡像進(jìn)行鑒權(quán),只有鑒權(quán)成功此鏡像才能運(yùn)行,并進(jìn)入到下一階段,只要其中有一環(huán)鑒權(quán)失敗,那么整個(gè)系統(tǒng)就會(huì)啟動(dòng)失敗。

bl1、bl2 和 bl31 都屬于 TF-A 固件,而 bl32 和 bl33 是 TF-A 要啟動(dòng)的其他第三方固件,比如 TEE OS 和 uboot。

bl1、bl2、bl31、bl32 和 bl33 是 TF-A 的不同啟動(dòng)階段,TF-A 的啟動(dòng)過(guò)程是鏈?zhǔn)降模煌碾A段完整的功能不同, bl1、bl2、bl31、bl32 和 bl33 全名如下:

bl1:Boot loader stage 1(BL1)
bl2:Boot loader stage 2(BL2)
bl31:Boot loader stage 3-1(BL31)
bl32:Boot loader stage 3-2(BL32)
bl33:Boot loader stage 3-3(BL33)

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

    關(guān)注

    453

    文章

    50410

    瀏覽量

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

    關(guān)注

    134

    文章

    9051

    瀏覽量

    366824
  • 嵌入式
    +關(guān)注

    關(guān)注

    5068

    文章

    19019

    瀏覽量

    303308
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11229

    瀏覽量

    208931
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用Yocto更新已更改的TF-A設(shè)備樹(shù)來(lái)產(chǎn)生新的鏡像文件?

    求助大佬, 我用Yocto構(gòu)建了STM32MP157的鏡像文件,但我需要更改和移植TF-A和U-BOOT來(lái)適配我的板子, 我按照它正點(diǎn)原子教程里更改了.bl2和創(chuàng)建了新的.dtsi設(shè)備樹(shù)文件,但
    發(fā)表于 03-29 08:01

    關(guān)于TF-A(ATF)固件的基本知識(shí)詳解

    1、什么是ATF首先什么是TF-A(ATF)?ATF就是一個(gè)固件, 一段代碼,一個(gè)為armv7-A/armv8-A/armv9-A提供的參考實(shí)現(xiàn)代碼。(注意,這只是參考實(shí)現(xiàn),你也可以不
    發(fā)表于 06-15 16:57

    TF-A與U-boot的打印輸出顯示了不同的信息是為什么呢

    我已將 TF-A 放入詳細(xì)打印中,導(dǎo)致打印出有關(guān) BSEC 訪問(wèn)的信息。但是 TF-A 與 U-boot 的打印輸出顯示了不同的信息,或者至少是令人困惑的信息。是什么賦予了?(TF-A 2.6-r1
    發(fā)表于 12-01 07:30

    為157F-DK2設(shè)置TF-A sp_min總是報(bào)錯(cuò)的原因?

    您好,我正在嘗試為 157F-DK2 設(shè)置 TF-A sp_min。這是我的信息。搭建環(huán)境Ubuntu 22.04用于 OpenSSL 3.0 支持需要,因?yàn)?trusted-firmware-a
    發(fā)表于 12-08 07:40

    怎樣去更改默認(rèn)的tf-a和u-boot串口linux控制臺(tái)呢

    內(nèi)核控制臺(tái)。如果我在 tf-a 和 u-boot dts 中嘗試相同的修改,在啟動(dòng)時(shí)我會(huì)看到從 uart4 開(kāi)始的日志,但此時(shí)它會(huì)阻塞Preparing exit to normal worldNo serial driver found我也應(yīng)該修改一些引導(dǎo)環(huán)境嗎?
    發(fā)表于 12-19 06:23

    如何去調(diào)試U-Boot和TF-A中的USB以及OTG控制器呢

    我正在開(kāi)發(fā)基于 STM32MP157F 的定制板,我在 U-Boot 中的 USB 和 EHCI 驅(qū)動(dòng)程序以及 U-Boot 和 TF-A 中的 USB 和 OTG 控制器方面遇到了一些問(wèn)題。一旦
    發(fā)表于 12-20 07:00

    怎樣配置TF-A模塊來(lái)管理時(shí)間戳篡改呢

    我正在開(kāi)發(fā)一個(gè)基于 STM32mp153 MPU 和 Linux 操作系統(tǒng)的項(xiàng)目。我已經(jīng)配置了 TF-A 模塊來(lái)管理時(shí)間戳篡改。當(dāng)篡改事件發(fā)生時(shí),它會(huì)在標(biāo)準(zhǔn)輸出中報(bào)告。我想將 TF-A 檢測(cè)
    發(fā)表于 12-23 08:56

    請(qǐng)問(wèn)如何使用TF-A中的I2C1來(lái)控制STPMIC1?

    在我們的定制板中,我們使用 I2C1 來(lái)控制和配置 STPMIC1。我想在 TF-A 中使用 I2C1,這樣 PMIC 就可以配置為在引導(dǎo)期間為 DDR 供電。TF-A 默認(rèn)不支持 I2C1,但
    發(fā)表于 01-16 08:19

    構(gòu)建內(nèi)核/u-boot/tf-a時(shí)忽略自定義CubeMX DTS文件的路徑如何解決?

    嘗試構(gòu)建 tf-a、u-boot 或 linux 內(nèi)核時(shí)出現(xiàn)以下錯(cuò)誤(以下是嘗試對(duì) tf-a-stm32mp 進(jìn)行 bitbake 時(shí)):make: *** No rule to make
    發(fā)表于 01-29 06:28

    什么會(huì)導(dǎo)致fsbl tf-a引導(dǎo)加載程序在閃爍后崩潰?

    好,并以 100% 完成,但稍等片刻,我就遇到了錯(cuò)誤。似乎 TF-A 在加載后崩潰或無(wú)法啟動(dòng)。我正在尋找原因以及如何解決。附件是我在編程器中使用的 TSV 文件。我正在使用 EcoSystem 4.1.0。
    發(fā)表于 02-01 07:31

    如何使用STM32CubeProgrammer在沒(méi)有USB的情況下將TF-A、u-boot、根文件系統(tǒng)刷入SD卡?

    以下 Wiki 頁(yè)面顯示了如何使用 STM32CubeProgrammer 將 TF-A、u-boot、根文件系統(tǒng)刷入 SD 卡。在上面的 wiki 頁(yè)面中,我可以使用 USB將 TF-A
    發(fā)表于 02-03 10:40

    如何從TF-A或uboot加載/啟動(dòng)Cortex-M4?

    是否可以從 TF-A 或 uboot 加載/啟動(dòng) Cortex-M4?對(duì)于我們的用例,我們希望 Cortex-M4 中的 RTOS 盡快運(yùn)行。在 linux 完成啟動(dòng)之前。
    發(fā)表于 02-07 06:51

    TF-A的不同啟動(dòng)階段有哪些

    TF-A 不同啟動(dòng)階段 FSBL:First stage boot loader,第一階段啟動(dòng)文件 SSBL:Second stage boot loader,第二階段啟動(dòng)文件 TF-A 分為
    的頭像 發(fā)表于 09-11 16:54 ?885次閱讀
    <b class='flag-5'>TF-A</b>的不同啟動(dòng)階段有哪些

    TF-A啟動(dòng)流程詳解

    bl 1 bl 1 是 TF-A 的第一個(gè)啟動(dòng)階段,芯片復(fù)位以后就會(huì)運(yùn)行 bl1 鏡像,TF-A 提供了 bl1 源碼。但是,實(shí)際上 bl1一般是半導(dǎo)體廠商自己編寫的內(nèi)部 Boot ROM 代碼
    的頭像 發(fā)表于 09-11 16:59 ?1322次閱讀
    <b class='flag-5'>TF-A</b>啟動(dòng)流程詳解

    TF-A移植是什么意思

    TF-A 移植 當(dāng)我們實(shí)際做產(chǎn)品的時(shí)候我們的硬件平臺(tái)肯定會(huì)和芯片原廠的有區(qū)別,比如 DDR 容量會(huì)改變,自己的硬件沒(méi)有使用到官方開(kāi)發(fā)板所使用的 PMIC芯片等等。因此這里就涉及到將半導(dǎo)體原廠提供
    的頭像 發(fā)表于 09-11 17:04 ?749次閱讀
    <b class='flag-5'>TF-A</b>移植是什么意思