新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 對(duì)ARM TrustZone的理解

對(duì)ARM TrustZone的理解

作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
TrustZoneARM對(duì)ARM6的擴(kuò)展,其實(shí)只是增加了一條指令,一個(gè)配置狀態(tài)位,以及一個(gè)新的有別于核心態(tài)和用戶態(tài)的安全態(tài)。ARM并沒有把TrustZone設(shè)計(jì)成能夠解決所有的安全問題,它的目標(biāo)是希望TrustZone能把一些安全性要求高的代碼放在安全區(qū)域里執(zhí)行,這也就是TrustZone名字的由來。


ARM把TrustZone固化在硬件里的道理是:

本文引用地址:http://m.butianyuan.cn/article/201611/317199.htm

系統(tǒng)的安全性不能全靠軟件來保證,而且改寫現(xiàn)有的不安全的軟件,使之更安全也不大可行。

較為可行的方案就是引入一塊安全的硬件邏輯,并且只讓一小塊軟>件控制此安全邏輯。

這樣既保護(hù)了既有投資,也把系統(tǒng)的安全風(fēng)險(xiǎn)降到最小。

因?yàn)椴僮飨到y(tǒng)和普通應(yīng)用都可以運(yùn)行在安全態(tài),所以安全態(tài)不同于傳統(tǒng)的運(yùn)行態(tài)環(huán)狀的特權(quán)劃分,因此ARM把安全態(tài)描述成一個(gè)平行區(qū)域,稱之為安全區(qū),又稱為安全監(jiān)控模式。

核心態(tài)程序要進(jìn)入到安全區(qū)運(yùn)行,必須執(zhí)行安全監(jiān)控中斷( secure monitor interrupt, SMI) 指令,而應(yīng)用程序則必須通過API 函數(shù)來調(diào)用SMI 指令,此時(shí),操作系統(tǒng)要負(fù)責(zé)檢查應(yīng)用程序是否安全,若通過檢查則執(zhí)行SMI 指令進(jìn)入到安全區(qū)。這樣,整個(gè)系統(tǒng)的安全性就全由操作系統(tǒng)負(fù)責(zé)了。換句話說,TrustZone需要軟件的支持,才能達(dá)到安全目標(biāo)。

執(zhí)行SMI 指令的具體動(dòng)作是,SMI 在CP15的安全狀態(tài)寄存器中設(shè)置S位.。S位擴(kuò)展還體現(xiàn)在AMBA總線上,這樣外設(shè)也可以實(shí)現(xiàn)對(duì)TrustZone的支持。

安全監(jiān)控程序(固件)是獨(dú)立于操作系統(tǒng)的、自足的、不可重入的一小段代碼。只要CP15安全狀態(tài)寄存的S位處于置1狀態(tài),安全監(jiān)控程序就要起作用(監(jiān)測(cè)所有處理器操作)。首先監(jiān)控程序要負(fù)責(zé)保存>上下文狀態(tài),即寄存器內(nèi)容(一般保存到緊致內(nèi)存TCM中),并且把當(dāng)前處理器配置信息保存到CP15的單獨(dú)一組分編(banked)寄存器中。TrustZone的開銷是增加了大約350位狀態(tài)信息,完成上下文切換需要200時(shí)鐘周期。

由于TrustZone為安全區(qū)配備了單獨(dú)的緩存、TLB和緊致內(nèi)存TCM,上下文切換并不會(huì)導(dǎo)致這些性能構(gòu)件內(nèi)容的倒換,也即不會(huì)導(dǎo)致系統(tǒng)性能的降低。

ARM建議把安全監(jiān)控程序及其運(yùn)行時(shí)需要的內(nèi)存置于一個(gè)TCM塊中,以使延遲更低且更可預(yù)測(cè)。

安全擴(kuò)展對(duì)于中斷處理也有影響。因?yàn)橹袛嗉瓤梢詠碜酝庠O(shè),也可來自軟件,那就必須假定中斷有可能造成安全漏洞,這樣,在安全代碼執(zhí)行時(shí),就不能簡(jiǎn)單地讓任何中斷切入進(jìn)來。ARM建議的方案是,把中斷也分為安全的和非安全的,安全代碼只能被安全中斷打斷。當(dāng)然,也可以把所有中斷都提升為安全的,但那樣會(huì)引入不必要的延遲。

TrustZone是體系結(jié)構(gòu)的擴(kuò)展,系統(tǒng)軟件可以利用這一擴(kuò)展提供安全支持,TrustZone本身并不能實(shí)現(xiàn)安全保障功能,但這一解決方案硬件實(shí)現(xiàn)不復(fù)雜,也不增加許多功耗,仍是具有很好性價(jià)比的安全嵌入式解決方案。



關(guān)鍵詞: ARMTrustZon

評(píng)論


技術(shù)專區(qū)

關(guān)閉