色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

車載操作系統(tǒng)信息安全技術(shù)介紹 ARM Trust Zone技術(shù)解析

jf_EksNQtU6 ? 來源: 智車Robot ? 2023-09-24 14:13 ? 次閱讀

車載操作系統(tǒng)信息安全技術(shù)介紹

目前主流的車載操作系統(tǒng)信息安全技術(shù)是基于ARM Trust Zone的TEE技術(shù)。ARM Trust Zone是基于硬件的安全功能,通過對硬件架構(gòu)進(jìn)行修改,在處理器層次引入了兩個(gè)不同權(quán)限的保護(hù)域——安全域和普通域,任何時(shí)刻處理器僅在其中的一個(gè)環(huán)境內(nèi)運(yùn)行。同時(shí)這兩個(gè)域完全是硬件隔離的,具有不同的權(quán)限,普通域中運(yùn)行的應(yīng)用程序或操作系統(tǒng)訪問安全域資源受到嚴(yán)格的限制,反過來安全域中運(yùn)行的程序可以正常訪問普通域中的資源。兩種域之間的硬件隔離和不同權(quán)限等屬性為代碼和數(shù)據(jù)提供了有效安全機(jī)制,普通域用于運(yùn)行操作系統(tǒng),提供了正常執(zhí)行環(huán)境(Rich Execution Environment,REE);安全域則使用安全小內(nèi)核(TEE-kernel)提供可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE),機(jī)密數(shù)據(jù)可以在TEE中被存儲(chǔ)和訪問。即使普通域中操作系統(tǒng)被破壞入侵或ROOT,攻擊者也無法讀取或篡改TEE,保護(hù)關(guān)鍵業(yè)務(wù)與數(shù)據(jù)。TEE支持設(shè)備安全啟動(dòng)、安全升級保護(hù)、敏感信息保護(hù)、安全管理等,對關(guān)鍵業(yè)務(wù)實(shí)時(shí)保護(hù),TEE不需要額外的硬件支持,可由軟件控制自主切換。

(1)信息通訊的安全防護(hù)

系統(tǒng)可使用非對稱加密技術(shù)、鑒權(quán)技術(shù)、證書管理和認(rèn)證技術(shù)、安全協(xié)議技術(shù)、防火墻技術(shù)、VPN等技術(shù),對系統(tǒng)通信進(jìn)行信息安全防車載操作系統(tǒng)總體技術(shù)要求研究報(bào)告護(hù)。

(2)系統(tǒng)服務(wù)層的信息安全防護(hù)

系統(tǒng)可使用訪問控制、惡意行為檢測、加密存儲(chǔ)等技術(shù),對系統(tǒng)服務(wù)層進(jìn)行信息安全防護(hù)。其中訪問控制機(jī)制,依據(jù)安全策略控制用戶、進(jìn)程等主體對文件、數(shù)據(jù)庫等客體進(jìn)行訪問。禁止不必要的服務(wù)(如FTP服務(wù)等),禁止非授權(quán)的遠(yuǎn)程接入服務(wù),禁止ROOT用戶直接登錄,且限制用戶提權(quán)操作,刪除或禁用無用賬號。

(3)系統(tǒng)應(yīng)用的信息安全防護(hù)

系統(tǒng)應(yīng)用可通過混淆、加殼防護(hù)、防反編譯、安全應(yīng)用管理器等技術(shù)進(jìn)行信息安全防護(hù)。

(4)密碼加密安全

常見密碼算法類型包括對稱加密算法、非對稱加密算法、雜湊算法。

?對稱加密算法:數(shù)據(jù)加密標(biāo)準(zhǔn)DES、高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES、國際數(shù)據(jù)加密算法IDEA、分組密碼算法SM4。

?非對稱加密算法:RSA、橢圓曲線密碼算法ECC、數(shù)字簽名算法DSA、橢圓曲線公鑰密碼算法SM2。

?雜湊算法:MD5(不安全)、SHA1(160比特、不安全)、SM3、SHA256,用于保障數(shù)據(jù)完整性、數(shù)字簽名、MAC設(shè)計(jì)。

隨著國密算法的引入,國密安全模塊逐漸成為系統(tǒng)中的組成部分。國密安全服務(wù)通過固化在只讀存儲(chǔ)中的根證書和CA平臺進(jìn)行交互,當(dāng)系統(tǒng)收到外部請求,服務(wù)先將請求報(bào)文中的證書部分進(jìn)行校驗(yàn)比對,再通過證書附著的公鑰對請求內(nèi)容進(jìn)行驗(yàn)簽,以此確認(rèn)報(bào)文真實(shí)可靠,通過這種方式可以服務(wù)對外部進(jìn)入的軟件升級包、控制命令、推送消息等進(jìn)入的消息進(jìn)行驗(yàn)證,防止其被篡改。同時(shí),組合AES、3DES以及國密的SM2和SM4構(gòu)成的對稱、非對稱加密組合為通訊的私密性提供有效的保護(hù)。國密安全服務(wù)能夠?yàn)榭偩€通訊、網(wǎng)絡(luò)連接、數(shù)據(jù)存儲(chǔ)等其他模塊提供加密、驗(yàn)簽、簽名和密鑰存儲(chǔ)、證書管理等功能。

ARM Trust Zone

為提高系統(tǒng)的安全性,ARM早在ARMv6架構(gòu)中就引入了Trust Zone技術(shù),且在ARMv7和ARMv8中得到增強(qiáng),Trust Zone技術(shù)能提供芯片級別對硬件資源的保護(hù)和隔離,當(dāng)前在手機(jī)芯片領(lǐng)域已被廣泛應(yīng)用。

一個(gè)完整的片上系統(tǒng)(SoC)由ARM核、系統(tǒng)總線、片上RAM、片上ROM以及其他外圍設(shè)備組件構(gòu)成。只有支持Trust Zone技術(shù)的ARM核配合安全擴(kuò)展組件,才能為整個(gè)系統(tǒng)提供芯片硬件級別的保護(hù)和隔離。wKgaomUP06aAUFF6AAVAVDdNgME692.png

SoC硬件框

支持Trust Zone技術(shù)的ARM核在運(yùn)行時(shí)將工作狀態(tài)劃分為兩種:安全狀態(tài)和非安全狀態(tài)。當(dāng)處理器核處于安全狀態(tài)時(shí)只能運(yùn)行TEE側(cè)的代碼,且具有REE側(cè)地址空間的訪問權(quán)限。當(dāng)處理器核處于非安全狀態(tài)時(shí)只能運(yùn)行REE側(cè)的代碼,且只能通過事先定義好的客戶端接口來獲取TEE側(cè)中特定的數(shù)據(jù)和調(diào)用特定的功能。

系統(tǒng)通過調(diào)用安全監(jiān)控模式調(diào)用(secure monitor call,smc)指令實(shí)現(xiàn)ARM核的安全狀態(tài)與非安全狀態(tài)之間的切換。而ARM核對系統(tǒng)資源的訪問請求是否合法,則由SoC上的安全組件通過判定ARM核發(fā)送到SoC系統(tǒng)總線上的訪問請求中的安全狀態(tài)讀寫信號位(Non-secure bit,NS bit)來決定。只有當(dāng)ARM核處于安全狀態(tài)(NS bit=0)時(shí)發(fā)送到系統(tǒng)總線上的讀寫操作才會(huì)被識別為安全讀寫操作,對應(yīng)TEE側(cè)的數(shù)據(jù)資源才能被訪問。反之,當(dāng)ARM核處于非安全狀態(tài)(NS bit=1)時(shí),ARM核發(fā)送到系統(tǒng)總線上的讀寫操作請求會(huì)被作為非安全讀寫操作,安全組件會(huì)根據(jù)對資源的訪問權(quán)限配置來決定是否響應(yīng)該訪問請求。這也是Trust Zone技術(shù)能實(shí)現(xiàn)對系統(tǒng)資源硬件級別的保護(hù)和隔離的根本原因。

在ARMv8架構(gòu)中使用執(zhí)行等級(Execution Level,EL)EL0~EL3來定義ARM核的運(yùn)行等級,其中EL0~EL2等級分為安全態(tài)和非安全態(tài)。ARMv8架構(gòu)與ARMv7架構(gòu)中ARM核運(yùn)行權(quán)限的對應(yīng)關(guān)系如圖所示。

wKgaomUP06aACmqfAAG0502m58A548.png

ARMv7/v8運(yùn)行權(quán)限對比

一、ARM安全擴(kuò)展組件

Trust Zone技術(shù)之所以能提高系統(tǒng)的安全性,是因?yàn)閷ν獠抠Y源和內(nèi)存資源的硬件隔離。這些硬件隔離包括中斷隔離、片上RAM和ROM的隔離、片外RAM和ROM的隔離、外圍設(shè)備的硬件隔離、外部RAM和ROM的隔離等。實(shí)現(xiàn)硬件層面的各種隔離,需要對整個(gè)系統(tǒng)的硬件和處理器核做出相應(yīng)的擴(kuò)展。這些擴(kuò)展包括:

·對處理器核的虛擬化,也就是將AMR處理器的運(yùn)行狀態(tài)分為安全態(tài)和非安全態(tài)。

·對總線的擴(kuò)展,增加安全位讀寫信號線。

·對內(nèi)存管理單元(Memory Management Unit,MMU)的擴(kuò)展,增加頁表的安全位。

·對緩存(Cache)的擴(kuò)展,增加安全位。

·對其他外圍組件進(jìn)行了相應(yīng)的擴(kuò)展,提供安全操作權(quán)限控制和安全操作信號。

二、AXI總線上安全狀態(tài)位的擴(kuò)展

為了支持Trust Zone技術(shù),控制處理器在不同狀態(tài)下對硬件資源訪問的權(quán)限,ARM對先進(jìn)可擴(kuò)展接口(Advanced eXtensible Interface,AXI)系統(tǒng)總線進(jìn)行了擴(kuò)展。在原有AXI總線基礎(chǔ)上對每一個(gè)讀寫信道增加了一個(gè)額外的控制信號位,用來表示當(dāng)前的讀寫操作是安全操作還是非安全操作,該信號位稱為安全狀態(tài)位(NS bit)或者非安全狀態(tài)位(Non-Secure bit)。

·AWPROT[1]:總線寫事務(wù)——低位表示安全寫事務(wù)操作,高位表示非安全寫事務(wù)操作。

·ARPROT[1]:總線讀事務(wù)——低位表示安全讀事務(wù)操作,高位表示非安全讀事務(wù)操作。

當(dāng)主設(shè)備通過總線發(fā)起讀寫操作時(shí),從設(shè)備或者外圍資源同時(shí)也需要將對應(yīng)的PROT控制信號發(fā)送到總線上。總線或者從設(shè)備的解碼邏輯必須能夠解析該P(yáng)ROT控制信號,以便保證安全設(shè)備在非安全態(tài)下不被非法訪問。所有的非安全主設(shè)備必須將安全狀態(tài)位置成高位,這樣就能夠保證非安全主設(shè)備無法訪問到安全從設(shè)備。如果一個(gè)非安全主設(shè)備試圖訪問一個(gè)安全從設(shè)備,將會(huì)在總線或者從設(shè)備上觸發(fā)一個(gè)錯(cuò)誤操作,至于該錯(cuò)誤如何處理就依賴于從設(shè)備的處理邏輯和總線的配置。通常這種非法操作最終將產(chǎn)生一個(gè)SLVERR(slave error)或者DECERR(decode error)。

三、AXI-to-APB橋的作用

Trust Zone同樣能夠保護(hù)外圍設(shè)備的安全,例如中斷控制、時(shí)鐘、I/O設(shè)備,因此Trust-Zone架構(gòu)還能用來解決更加廣泛的安全問題。比如一個(gè)安全中斷控制器和安全時(shí)鐘允許一個(gè)非中斷的安全任務(wù)來監(jiān)控系統(tǒng),能夠?yàn)镈RM提供可靠的時(shí)鐘,能夠?yàn)橛脩籼峁┮粋€(gè)安全的輸入設(shè)備從而保證用戶密碼數(shù)據(jù)不會(huì)被惡意軟件竊取。

AMBA3規(guī)范包含了一個(gè)低門數(shù)、低帶寬的外設(shè)總線,被稱作外設(shè)總線(Advanced Peripheral Bus,APB),APB通過AXI-to-APB橋連接到系統(tǒng)總線上。而APB總線并不具有安全狀態(tài)位,為實(shí)現(xiàn)APB外設(shè)與Trust Zone技術(shù)相兼容,APB-to-AXI橋?qū)⒇?fù)責(zé)管理APB總線上設(shè)備的安全。APB-to-AXI橋會(huì)拒絕不匹配的安全事務(wù)設(shè)置,并且不會(huì)將該事務(wù)請求發(fā)送給外設(shè)。

四、Trust Zone地址空間控制組件

Trust Zone地址空間控制組件(Trust Zone Address Space Controller,TZASC)是AXI總線上的一個(gè)主設(shè)備,TZASC能夠?qū)脑O(shè)備全部的地址空間分割成一系列的不同地址范圍。在安全狀態(tài)下,通過編程TZASC能夠?qū)⑦@一系列分割后的地址區(qū)域設(shè)定成安全空間或者是非安全空間。被配置成安全屬性的區(qū)域?qū)?huì)拒絕非安全的訪問請求。

使用TZASC主要是將一個(gè)AXI從設(shè)備分割成幾個(gè)安全設(shè)備,例如off-Soc、DRAM等。ARM的動(dòng)態(tài)內(nèi)存控制器(Dynamic Memory Controller,DMC)并不支持安全和非安全分區(qū)的功能。如果將DMC接到TZASC上,就能實(shí)現(xiàn)DRAM支持安全區(qū)域和非安全區(qū)域訪問的功能。需要注意的是,TZASC組件只支持存儲(chǔ)映射設(shè)備對安全和非安全區(qū)域的劃分與擴(kuò)展,但不支持對塊設(shè)備(如EMMC、NAND flash等)的安全和非安全區(qū)域的劃分與擴(kuò)展。

wKgaomUP06aAHIm3AADWsPM-Sk8003.png

TZASC組件示意

五、Trust Zone內(nèi)存適配器組件

Trust Zone內(nèi)存適配器組件(Trust Zone Memory Adapter,TZMA)允許對片上靜態(tài)內(nèi)存(on-SoC Static Memory)或者片上ROM進(jìn)行安全區(qū)域和非安全區(qū)域的劃分。TZMA支持最大2MB空間的片上靜態(tài)RAM的劃分,可以將2MB空間劃分成兩個(gè)部分,高地址部分為非安全區(qū)域,低地址部分為安全區(qū)域,兩個(gè)區(qū)域必須按照4KB進(jìn)行對齊。分區(qū)的具體大小通過TZMA的輸入信號R0SIZE來控制,該信號來自TZPC的輸出信號TZPCR0SIZE。即通過編程TZPC可以動(dòng)態(tài)地配置片上靜態(tài)RAM或者ROM的大小。

wKgZomUP06aARN-eAADxqft8ePA099.png

使用TZMA組件的鏈接示意

六、Trust Zone保護(hù)控制器組件

Trust Zone保護(hù)控制器組件(Trust Zone Protection Controller,TZPC)是用來設(shè)定TZPCDECPORT信號和TZPCR0SIZE等相關(guān)控制信號的。這些信號用來告知APB-to-AXI對應(yīng)的外設(shè)是安全設(shè)備還是非安全設(shè)備,而TZPCR0SIZE信號用來控制TZMA對片上RAM或片上ROM安全區(qū)域大小的劃分。TZPC包含三組通用寄存器TZPCDECPROT[2:0],每組通用寄存器可以產(chǎn)生8種TZPCDECPROT信號,也就是TZPC最多可以將24個(gè)外設(shè)設(shè)定成安全外設(shè)。TZPC組件還包含一個(gè)TZPCROSIZE寄存器,該寄存器用來為TZMA提供分區(qū)大小信息。

wKgZomUP06aAYHXCAAEhMz4l2V4496.png

TZPC組件接口示意

當(dāng)上電初始化時(shí),TZPC的TZPCDECROT寄存器中的位會(huì)被清零,同時(shí)TZPCR0SIZE寄存器會(huì)被設(shè)置成0x200,表示接入到TZMA上的片上RAM或者ROM的安全區(qū)域大小為2MB。通過修改TZPC的寄存器配置的值可實(shí)現(xiàn)用戶對資源的特定配置。

wKgZomUP06aAU44kAAHlSOKtTfc567.png

TZPC使用示例

七、Trust Zone中斷控制器組件

在支持Trust Zone的SoC上,ARM添加了Trust Zone中斷控制器(Trust Zone Interrupt Controller,TZIC)。TZIC的作用是讓處理器處于非安全態(tài)時(shí)無法捕獲到安全中斷。TZIC是第一級中斷控制器,所有的中斷源都需要接到TZIC上。TZIC根據(jù)配置來判定產(chǎn)生的中斷類型,然后決定是將該中斷信號先發(fā)送到非安全的向量中斷控制器(Vector Interrupt Controller,VIC)后以nIRQ信號發(fā)送到處理器,還是以nTZICFIQ信號直接發(fā)送到處理器。

wKgaomUP06aAP_RuAAIHhegL2WE160.png

TZIC在SoC中的使用示意

通過對TZIC的相關(guān)寄存器進(jìn)行編程,可對TZIC進(jìn)行配置并設(shè)定每個(gè)接入到TZIC的中斷源的中斷類型。TZIC具有眾多寄存器,細(xì)節(jié)說明可以參考相關(guān)ARM的文檔。在TZIC中用來設(shè)置中斷源類型的寄存器為TZICIntSelect,如果TZICIntSelect中的某一位被設(shè)置成1,則該相應(yīng)的中斷源請求會(huì)被設(shè)置成快速中斷請求(Fast Interrupt Request,F(xiàn)IQ)。如果某一位被設(shè)置成0,則該中斷源的中斷請求會(huì)被交給VIC進(jìn)行處理。如果VIC的IntSelect將獲取到的中斷源設(shè)置成FIQ,那么該中斷源會(huì)被再次反饋給TZIC進(jìn)行處理。

八、Cache和MMU的擴(kuò)展

在支持Trust Zone的SoC上,會(huì)對MMU進(jìn)行虛擬化,使得寄存器TTBR0、TTBR1、TTBCR在安全狀態(tài)和非安全狀態(tài)下是相互隔離的,因此兩種狀態(tài)下的虛擬地址轉(zhuǎn)換表是獨(dú)立的。

存放在MMU中的每一條頁表描述符都會(huì)包含一個(gè)安全狀態(tài)位,用以表示被映射的內(nèi)存是屬于安全內(nèi)存還是非安全內(nèi)存。虛擬化的MMU共享轉(zhuǎn)換監(jiān)測緩沖區(qū)(Translation Lookaside Buffer,TLB),同樣TLB中的每一項(xiàng)也會(huì)打上安全狀態(tài)位標(biāo)記,只不過該標(biāo)記是用來表示該條轉(zhuǎn)換是正常世界狀態(tài)轉(zhuǎn)化的還是安全世界狀態(tài)轉(zhuǎn)化的。

Cache也同樣進(jìn)行了擴(kuò)展,Cache中的每一項(xiàng)都會(huì)按照安全狀態(tài)和非安全狀態(tài)打上對應(yīng)的標(biāo)簽,在不同的狀態(tài)下,處理器只能使用對應(yīng)狀態(tài)下的Cache。

九、Trust Zone技術(shù)對資源隔離的實(shí)現(xiàn)

ARM處理器核的虛擬化和資源隔離是Trust Zone實(shí)現(xiàn)安全需求的根本。支持Trust Zone的處理器核具有虛擬化,也即將一個(gè)物理核分成安全狀態(tài)和非安全狀態(tài)。當(dāng)處理器處于非安全狀態(tài)時(shí),只能訪問屬于非安全的外設(shè)和內(nèi)存,而不能訪問安全的資源;當(dāng)處理器處于安全態(tài)時(shí),處理器既可以訪問安全資源,也可以訪問非安全的資源,只有當(dāng)處理器核為安全世界狀態(tài)時(shí)才可能發(fā)出PROT的安全訪問信號。

十、中斷源的隔離

在原來的ARM芯片中,使用VIC來對外部中斷源進(jìn)行控制和管理,支持Trust Zone后,ARM提出了TZIC組件,在芯片設(shè)計(jì)時(shí),該組件作為一級中斷源控制器,控制所有的外部中斷源,通過編程TZIC組件的相關(guān)寄存器來設(shè)定哪個(gè)中斷源為安全中斷源FIQ,而未被設(shè)定的中斷源將會(huì)被傳遞給VIC進(jìn)行處理。一般情況下VIC會(huì)將接收到的中斷源設(shè)定成普通中斷請求(Interrupt Request,IRQ),如果在VIC中將接收到的中斷源設(shè)定成FIQ,則該中斷源會(huì)被反饋給TZIC組件,TZIC組件會(huì)將安全中斷源送到安全世界狀態(tài)中進(jìn)行處理。

十一、片上RAM和片上ROM的隔離

芯片內(nèi)部存在小容量的RAM或者ROM,以供芯片上電時(shí)運(yùn)行芯片ROM或者存放芯片自身相關(guān)的數(shù)據(jù)。Trust Zone架構(gòu)對該部分也進(jìn)行了隔離操作。隔離操作通過使用TZMA和TZPC組件來實(shí)現(xiàn)。

TZMA用來將片上RAM或者ROM劃分成安全區(qū)域和非安全區(qū)域,安全區(qū)域的大小則由接入的TZPCR0SIZE信號來決定。而TZPCR0SIZE的值可以通過編程TZPC組件中的TZPCR0SIZE寄存器來實(shí)現(xiàn)。

當(dāng)處理器核訪問片上RAM或者ROM時(shí),TZMA會(huì)判定訪問請求的PROT信號是安全操作還是非安全操作,如果處理器發(fā)出的請求為非安全請求而該請求又嘗試去訪問安全區(qū)域時(shí),TZMA就會(huì)認(rèn)為該請求為非法請求。這樣就能實(shí)現(xiàn)片上RAM和ROM的隔離,達(dá)到非安全態(tài)的處理器核無法訪問片上安全區(qū)域的RAM和ROM。

十二、片外DRAM的隔離

一個(gè)完整的系統(tǒng)必然會(huì)有片外RAM,對片外RAM的隔離是通過TZASC組件實(shí)現(xiàn)的,ARM本身的DMC可以將DRAM分割成不同的區(qū)域,這些區(qū)域是沒有安全和非安全分類。將DMC與TZASC相連后再掛到總線上,通過對TZASC組件進(jìn)行編程可以將DRAM劃分成安全區(qū)域和非安全區(qū)域。當(dāng)主設(shè)備訪問DRAM時(shí),除需要提供物理地址之外,還會(huì)發(fā)送PROT信號。TZASC組件首先會(huì)判定主設(shè)備需要訪問的DARM地址是屬于安全區(qū)域還是非安全區(qū)域,然后再結(jié)合接收到的PROT信號來判定該次訪問是否有效。如果PROT信號為非安全訪問操作,且訪問的DRAM地址屬于安全區(qū)域,則TZASC就不會(huì)響應(yīng)這次訪問操作,這樣就能實(shí)現(xiàn)DRAM中安全區(qū)域和非安全區(qū)域的隔離。

十三、外圍設(shè)備的隔離

其他外圍設(shè)備都會(huì)掛載到APB總線上,然后通過AXI-to-APB橋連接到AXI總線上,AXI-to-APB結(jié)合TZPC組件的TZPCDECROT的值及訪問請求的PROT信號來判定該訪問是否有效。當(dāng)處理器需要訪問外圍設(shè)備時(shí),會(huì)將地址和PROT信號發(fā)送到AXI總線上。

AXI-to-APB橋會(huì)對接收到的請求進(jìn)行解析,獲取需要訪問的所需外圍設(shè)備,然后通過查詢TZPCDECROT的值來判斷外設(shè)的安全類型,再根據(jù)PROT信號就能判定該請求的安全類型。如果該請求是非安全請求,但需要訪問的外圍設(shè)備屬于安全設(shè)備,則AXI-to-APB會(huì)判定該訪問無效。通過對TZPC中的TZPCDECROT寄存器進(jìn)行編程能夠設(shè)置外設(shè)的安全類型,從而做到外設(shè)在硬件層面的隔離。

十四、ARM可信固件

ARM可信任固件(ARM Trusted Firmware,ATF)是由ARM官方提供的底層固件,該固件統(tǒng)一了ARM底層接口標(biāo)準(zhǔn),如電源狀態(tài)控制接口(Power Status Control Interface,PSCI)、安全啟動(dòng)需求(Trusted Board Boot Requirements,TBBR)、安全世界狀態(tài)(SWS)與正常世界狀態(tài)(NWS)切換的安全監(jiān)控模式調(diào)用(secure monitor call,smc)操作等。ATF旨在將ARM底層的操作統(tǒng)一使代碼能夠重用和便于移植。

ATF的源代碼共分為bl1、bl2、bl31、bl32、bl33部分,其中bl1、bl2、bl31部分屬于固定的固件,bl32和bl33分別用于加載TEEOS和REE側(cè)的鏡像。整個(gè)加載過程可配置成安全啟動(dòng)的方式,每一個(gè)鏡像文件在被加載之前都會(huì)驗(yàn)證鏡像文件的電子簽名是否合法。

ATF主要完成的功能如下:

·初始化安全世界狀態(tài)運(yùn)行環(huán)境、異常向量、控制寄存器、中斷控制器、配置平臺的中斷。

·初始化ARM通用中斷控制器(General Interrupt Controller,GIC)2.0版本和3.0版本的驅(qū)動(dòng)初始化。

·執(zhí)行ARM系統(tǒng)IP的標(biāo)準(zhǔn)初始化操作以及安全擴(kuò)展組件的基本配置。

·安全監(jiān)控模式調(diào)用(Secure Monitor Call,smc)請求的邏輯處理代碼(Monitor模式/EL3)。

·實(shí)現(xiàn)可信板級引導(dǎo)功能,對引導(dǎo)過程中加載的鏡像文件進(jìn)行電子簽名檢查。

·支持自有固件的引導(dǎo),開發(fā)者可根據(jù)具體需求將自有固件添加到ATF的引導(dǎo)流程中。

十五、ATF與TEE的關(guān)系

為規(guī)范和簡化Trust Zone OS的集成,在ARMv8架構(gòu)中,ARM引入ATF作為底層固件并開放了源碼,用于完成系統(tǒng)中BootLoader、Linux內(nèi)核、TEEOS的加載和啟動(dòng)以及正常世界狀態(tài)和安全世界狀態(tài)的切換。

ATF將整個(gè)啟動(dòng)過程劃分成不同的啟動(dòng)階段,由BLx來表示。例如,TEEOS的加載是由ATF中的bl32來完成的,安全世界狀態(tài)和正常世界狀態(tài)之間的切換是由bl31來完成的。在加載完TEEOS之后,TEEOS需要返回一個(gè)處理函數(shù)的接口結(jié)構(gòu)體變量給bl31。當(dāng)在REE側(cè)觸發(fā)安全監(jiān)控模式調(diào)用指令時(shí),bl31通過查詢該結(jié)構(gòu)體變量就可知需要將安全監(jiān)控模式調(diào)用指令請求發(fā)送給TEE中的那個(gè)接口并完成正常世界狀態(tài)到安全世界狀態(tài)的切換。

ARMv8架構(gòu)之后ARM提供了ATF,BootLoader、TEE鏡像文件、Linux內(nèi)核鏡像文件、recovery鏡像文件都是由ATF來進(jìn)行引導(dǎo)和加載而不是由ChipRom來完成的。ChipRom只會(huì)去驗(yàn)證ATF中bl1的合法性,后續(xù)引導(dǎo)過程同樣也是按照鏈?zhǔn)津?yàn)簽的方式進(jìn)行,符合TBBR規(guī)范。在ARMv8架構(gòu)中整個(gè)安全引導(dǎo)的流程如圖所示。

wKgZomUP06aAaEyvAAOdvUl1HEA629.png

ARMv8的Secure Boot流程

在ARMv8架構(gòu)中,如果系統(tǒng)需要支持TEE,則幾乎都必須使用由ARM提供的ATF作為底層固件。

十六、ARM V9 CCA機(jī)密計(jì)算

Arm CCA建立在Armv8-A中已經(jīng)廣泛使用的隔離技術(shù)之上。Arm CCA提供額外的安全架構(gòu),即使在使用中也能保護(hù)數(shù)據(jù)和代碼,并能夠更好地控制誰可以訪問數(shù)據(jù)和算法。這項(xiàng)在Armv9-A中引入的技術(shù)將通過降低與共享數(shù)據(jù)相關(guān)的風(fēng)險(xiǎn)并幫助開發(fā)人員實(shí)施強(qiáng)大的隱私控制來幫助釋放數(shù)據(jù)的真正力量和潛力。

Arm CCA引入了兩項(xiàng)新功能:支持Realms和動(dòng)態(tài)Trust Zone。

1、機(jī)密計(jì)算Realms

Arm機(jī)密計(jì)算架構(gòu)引入了Realm Management Extension(RME),該擴(kuò)展支持稱為Realm的新型可證明隔離環(huán)境。該環(huán)境建立在Trust Zone Normal和Secure世界上,增加兩個(gè)額外的世界,每個(gè)世界都有自己的安全狀態(tài)和專用的物理地址空間。RME還允許在運(yùn)行時(shí)在世界之間移動(dòng)內(nèi)存,而新硬件會(huì)檢查每個(gè)內(nèi)存訪問,阻止那些世界之間的隔離邊界不允許的訪問。

RME保護(hù)主流計(jì)算工作負(fù)載,例如虛擬機(jī)或容器免受特權(quán)軟件和硬件代理的影響,包括hypervisor程序、普通世界內(nèi)核甚至Trust Zone應(yīng)用程序。

非常適合保護(hù)在公共云環(huán)境和主機(jī)操作系統(tǒng)的安全性和完整性難以審核或保證的任何平臺中運(yùn)行的工作負(fù)載。

數(shù)據(jù)和代碼不受任何平臺服務(wù)和其他執(zhí)行環(huán)境的影響:

?管理軟件,包括創(chuàng)建Realm的任何管理程序或內(nèi)核

?The host OS

?Other Realms

?Devices not trusted by the Realm

?Realm受到Trust Zone代碼的保護(hù)

wKgaomUP06aAWN2mAAFj8kdrXWI391.png

Realms、Normal和Secure世界之間的關(guān)系

2、動(dòng)態(tài)Trust zone技術(shù)

除了支持Realm之外,Realm Management Extension還允許在Normal和Secure世界之間按需移動(dòng)內(nèi)存。這允許Trust Zone使用的內(nèi)存量根據(jù)給定用例動(dòng)態(tài)擴(kuò)展。稱之為Arm動(dòng)態(tài)Trust Zone技術(shù)。

Trust Zone動(dòng)態(tài)內(nèi)存更有效地利用寶貴的DRAM提高了使用Trust Zone進(jìn)行內(nèi)存密集型操作的靈活性例如媒體解碼、內(nèi)容保護(hù)和機(jī)器學(xué)習(xí)模型的保護(hù)。

wKgZomUP06aAMESxAADo2sjX0EY659.png



審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    19259

    瀏覽量

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

    關(guān)注

    134

    文章

    9084

    瀏覽量

    367387
  • trustzone
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    12535
  • 車載操作系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7303

原文標(biāo)題:ARM Trust Zone技術(shù):硬件級的安全保護(hù)

文章出處:【微信號:談思實(shí)驗(yàn)室,微信公眾號:談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于安全操作系統(tǒng)

     XKI西科是為解決涉密單位移動(dòng)辦公的需求而研發(fā)的一款安全操作系統(tǒng),以移動(dòng)存儲(chǔ)設(shè)備為載體,集成常用辦公軟件,可實(shí)現(xiàn)自啟動(dòng)前的身份認(rèn)證、屏蔽本地磁盤和網(wǎng)絡(luò)功能,數(shù)據(jù)存儲(chǔ)區(qū)使用時(shí)需要進(jìn)行身份認(rèn)證,同時(shí)
    發(fā)表于 05-23 15:28

    實(shí)現(xiàn)向車載信息娛樂技術(shù)過渡

    和要求、車載信息娛樂系統(tǒng)架構(gòu)以及車輛與外部世界的連接。更多大量研究團(tuán)隊(duì)正在研究虛擬化和包含替代操作系統(tǒng),諸如安卓 (Android),等技術(shù)
    發(fā)表于 12-20 14:17

    車載顯示技術(shù)及其應(yīng)用方案~

    車載導(dǎo)航系統(tǒng)的研究與設(shè)計(jì)基于Linux的明導(dǎo)國際車載信息娛樂設(shè)計(jì)解決方案基于單片機(jī)的GPS車載終端設(shè)計(jì)與實(shí)現(xiàn)詳述便攜式GPS設(shè)備的設(shè)計(jì)挑戰(zhàn)
    發(fā)表于 12-15 14:19

    跟資深技術(shù)大牛學(xué)ARM mbed操作系統(tǒng)開發(fā)

    生態(tài)系統(tǒng)(mbed.org)創(chuàng)建安全高效的物聯(lián)網(wǎng)應(yīng)用The ARM? mbed? 有哪些功能?1.提供用于開發(fā)物聯(lián)網(wǎng)設(shè)備的通用操作系統(tǒng)基礎(chǔ),以解決嵌入式設(shè)計(jì)的碎片化問題。2.支持所有重
    發(fā)表于 05-22 10:22

    ARM CPU操作系統(tǒng)

    嵌入式操作系統(tǒng)ARM CPU的軟件基礎(chǔ) 從8 位/16位單片機(jī)發(fā)展到以ARM CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)的由手工編制的監(jiān)控程序或調(diào)度程序,成為重要
    發(fā)表于 07-04 07:03

    ARM安全技術(shù)介紹

    ARM安全技術(shù)-使用***技術(shù)構(gòu)建安全系統(tǒng)(翻譯)**第一章 介紹**本章提供了一些與嵌入式
    發(fā)表于 07-26 07:39

    基于嵌入式實(shí)時(shí)操作系統(tǒng)的編程技術(shù)之資源同步介紹

    .《基于嵌入式實(shí)時(shí)操作系統(tǒng)的編程技術(shù)》筆記清單:第六章行為同步.前言任務(wù)對共享資源進(jìn)行訪問的代碼段落稱為關(guān)鍵段落,各個(gè)任務(wù)訪問同一個(gè)資源的關(guān)鍵段落必須互斥,才能保障共享資源信息的可靠性和完整性。這種使得不同任務(wù)訪問共享資源時(shí)能夠
    發(fā)表于 12-22 06:30

    很小的ARM操作系統(tǒng)源代碼

    很小的ARM操作系統(tǒng)源代碼:
    發(fā)表于 12-26 00:21 ?48次下載
    很小的<b class='flag-5'>ARM</b><b class='flag-5'>操作系統(tǒng)</b>源代碼

    linux操作系統(tǒng)安全

    linux操作系統(tǒng)安全性 計(jì)算機(jī)系統(tǒng)安全性的內(nèi)涵 操作系統(tǒng)安全性功能 操作系統(tǒng)
    發(fā)表于 04-28 15:05 ?0次下載

    簡要介紹操作系統(tǒng)虛擬化的概念,以及實(shí)現(xiàn)操作系統(tǒng)虛擬化的技術(shù)

    本文簡要介紹操作系統(tǒng)級虛擬化的概念,并簡要闡述了實(shí)現(xiàn)操作系統(tǒng)虛擬化所用到的技術(shù)Namespace及cgroups的原理及使用方法。
    的頭像 發(fā)表于 01-10 15:00 ?1.3w次閱讀
    簡要<b class='flag-5'>介紹</b>了<b class='flag-5'>操作系統(tǒng)</b>虛擬化的概念,以及實(shí)現(xiàn)<b class='flag-5'>操作系統(tǒng)</b>虛擬化的<b class='flag-5'>技術(shù)</b>

    我國自主智能終端操作系統(tǒng)涌現(xiàn) 填補(bǔ)信息安全技術(shù)空白

    一直以來我國的智能終端操作系統(tǒng)都是用的國外的,信息幾乎沒有安全可言,不過以后這種現(xiàn)象將會(huì)有改善,我國自主智能終端操作系統(tǒng)涌現(xiàn),填補(bǔ)信息
    的頭像 發(fā)表于 05-09 08:58 ?3765次閱讀

    解析操作系統(tǒng)的概念、結(jié)構(gòu)和機(jī)制

    全面。解析操作系統(tǒng)的概念、結(jié)構(gòu)和機(jī)制。
    發(fā)表于 03-26 14:19 ?8次下載

    2022年Vector車載操作系統(tǒng)在線研討會(huì)亮點(diǎn)提前看

    Vector車載操作系統(tǒng)在線研討會(huì) 車載操作系統(tǒng)是一個(gè)面向車載領(lǐng)域所有服務(wù)和應(yīng)用的開發(fā)和運(yùn)行平臺。 Vector
    發(fā)表于 12-07 11:53 ?1032次閱讀

    潤和軟件參與openEuler社區(qū)操作系統(tǒng)安全主題技術(shù)交流

    信息技術(shù)飛速發(fā)展,操作系統(tǒng)安全已成為保障數(shù)字世界穩(wěn)定運(yùn)行的基石,OpenAtom openEuler(簡稱"openEuler")致力于構(gòu)建一個(gè)開放、可靠、安全的開源操作系統(tǒng)生態(tài)
    的頭像 發(fā)表于 11-13 16:14 ?407次閱讀

    Arm加入OpenCloudOS操作系統(tǒng)開源社區(qū)

    基于 Arm 架構(gòu)的應(yīng)用。近期,Arm 加入 OpenCloudOS 操作系統(tǒng)開源社區(qū),共同推進(jìn)開源云操作系統(tǒng)的發(fā)展。 Arm 作為全球領(lǐng)先
    的頭像 發(fā)表于 11-15 11:34 ?338次閱讀
    主站蜘蛛池模板: 国产精品线路一线路二| 国产成人精品在视频| 久久99久久成人免费播放| 午夜国产在线观看| 国产电影尺度| 色爱区综合激情五月综合激情| JEALOUSVUE成熟老师APP| 免费国产成人高清在线观看视频| 伊人在线视频| 九色91精品国产网站| 亚洲精品视频在线免费| 国产一级做a爰片久久毛片男| 思思久99久女女精品| 久久99这里只有精品| 亚洲成人免费看| 国产亚洲精品久久77777| 久久久精品久久久久三级| 亚洲国产在线视频中文字| 国产免费变态视频网址网站| 无码日本亚洲一区久久精品 | 高hh乱亲女真实| 人妻兽虐曲| 苍井空a 集在线观看网站| 旧里番6080在线观看| 在线播放一区| 久青草国产在线视频亚瑟影视| 最近2019中文字幕免费| 伦理片在线3348| 7756短视频| 琪琪婷婷五月色综合久久| xxxx俄罗斯1819| 浪潮AV色综合久久天堂| 在线国产视频观看| 老司机福利在 线影院| 97久久伊人精品影院| 漂亮的保姆3中文版完整版| 超碰在线97av视频免费| 天天久久影视色香综合网| 国产精品久久人妻无码网站一区无 | 精品无码一区二区三区不卡| 又黄又湿免费高清视频|