ARM的TrustZone技術(shù),針對(duì)安全應(yīng)用劃分

2013-09-25 13:48 來(lái)源:互聯(lián)網(wǎng) 作者:洛小辰

隨著ARM Cortex-A9多處理器和FPGA SoC的推出,可把現(xiàn)有的分立微控制器和數(shù)字邏輯功能集成到一個(gè)多核器件中。這減小了功耗和體積,而主要難點(diǎn)之一是在一個(gè)器件中同時(shí)實(shí)現(xiàn)安全關(guān)鍵和非安全關(guān)鍵軟件單元。圖1顯示了使用三個(gè)分立器件實(shí)現(xiàn)的一個(gè)典型電機(jī)控制系統(tǒng)。系統(tǒng)有一個(gè)非安全網(wǎng)絡(luò)/用戶接口處理器,一個(gè)電機(jī)控制監(jiān)控微控制器和一片用于實(shí)現(xiàn)硬核實(shí)時(shí)電機(jī)控制器的FPGA。圖1中的陰影部分含有設(shè)計(jì)的安全關(guān)鍵單元,需要通過(guò)外部權(quán)威機(jī)構(gòu)進(jìn)行安全認(rèn)證。

1


把一個(gè)電機(jī)控制系統(tǒng)合并到SoC中,支持使用一個(gè)器件來(lái)實(shí)現(xiàn)信號(hào)處理、監(jiān)控和通信等應(yīng)用。Altera的28 nm Cyclone V SoC便是適用于這方面應(yīng)用的一個(gè)器件實(shí)例。它具有低功耗FPGA架構(gòu)和硬核處理器系統(tǒng)(HPS),含有ARM Cortex-A9雙處理器內(nèi)核和外設(shè)。HPS包括對(duì)ARM TrustZone技術(shù)的支持;這也可以延伸到FPGA架構(gòu)中。

2


ARM的TrustZone技術(shù)支持把多核系統(tǒng)劃分成關(guān)鍵系統(tǒng)資源運(yùn)行的安全的環(huán)境和其他系統(tǒng)資源運(yùn)行的非安全環(huán)境。因此,TrustZone隔離系統(tǒng)的關(guān)鍵部分只能在安全環(huán)境下訪問(wèn)這些部分;其基礎(chǔ)是Cortex-A9 MPCore硬件和AMBA AXI3總線標(biāo)準(zhǔn)。在TrustZone支持系統(tǒng)中,每一AXI會(huì)話包括一個(gè)非安全(NS)比特,用于表示此次會(huì)話來(lái)自非安全還是安全環(huán)境。每次會(huì)話利用這一信息,系統(tǒng)中的從機(jī)可以選擇根據(jù)其TrustZone狀態(tài)進(jìn)行響應(yīng)。例如,處于安全模式的一個(gè)系統(tǒng)復(fù)位控制器只響應(yīng)來(lái)自安全環(huán)境的復(fù)位申請(qǐng),忽略非安全環(huán)境的響應(yīng),否則會(huì)產(chǎn)生錯(cuò)誤。這一方法可以延伸到系統(tǒng)中的所有從機(jī),在SoC器件中提供一個(gè)安全環(huán)境子系統(tǒng)。這一安全子系統(tǒng)與非安全環(huán)境隔離,可以用于運(yùn)行可信軟件,或者,在我們的安全軟件中,不會(huì)受到流氓軟件的危害,也不會(huì)受到來(lái)自系統(tǒng)非安全部分AXI會(huì)話的影響。安全檢查器可以接受這類保護(hù)。

可以使用Altera的Cyclone V SoC來(lái)開(kāi)發(fā)電機(jī)控制實(shí)例。這些器件在Cortex-A9 MPCore處理器、HPS外設(shè)、SDRAM控制器和FPGA上采用了ARM的TrustZone技術(shù),能夠在SoC的所有外設(shè)中構(gòu)建安全感知功能。在這個(gè)例子中,系統(tǒng)軟件的控制部分運(yùn)行在μC/OS-II RTOS上,用戶接口軟件運(yùn)行在Linux上。為能夠?qū)Υ颂峁┲С?,Cortex-A9 MPcore處理器被配置為一個(gè)內(nèi)核運(yùn)行Linux,另一個(gè)內(nèi)核運(yùn)行μC/OS-II,實(shí)現(xiàn)AMP操作。

實(shí)時(shí)關(guān)鍵電機(jī)控制功能運(yùn)行μC/OS-II,工作在內(nèi)核1上,而Linux以及提供控制和通信通道的應(yīng)用程序運(yùn)行在內(nèi)核0上。目的是提供一個(gè)隔離域,在處理器內(nèi)核1中運(yùn)行功能時(shí)不會(huì)受到內(nèi)核0的干擾。對(duì)此,內(nèi)核1 (μC/OS-II)運(yùn)行在安全環(huán)境中,內(nèi)核0 (Linux)運(yùn)行在非安全環(huán)境中。兩個(gè)處理器內(nèi)核通過(guò)共享物理存儲(chǔ)器通道進(jìn)行通信,使用了OpenMCAPI標(biāo)準(zhǔn)。對(duì)YHPS系統(tǒng)進(jìn)行了靜態(tài)劃分,每一操作系統(tǒng)(OS)只可訪問(wèn)到其分配資源中。存儲(chǔ)器映射被劃分為分配給μC/OS-II或者Linux的區(qū)域,以及由二者共享的區(qū)域。

同樣的,在μC/OS-II和Linux之間劃分了外設(shè),外設(shè)是不共享的。主機(jī)配置表列出了HPS中的所有AXI主機(jī)及其TrustZone安全狀態(tài)??梢栽O(shè)置狀態(tài),這樣,外設(shè)總是產(chǎn)生安全或者非安全訪問(wèn),或者在每次“會(huì)話”基礎(chǔ)上進(jìn)行安全訪問(wèn)(例如,專門在每一訪問(wèn)上設(shè)置安全狀態(tài))。

1 2 > 
安全 ARM 電機(jī)控制 TrustZone

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門