• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素1——基于硬件的隔離
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素1——基于硬件的隔離

嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素1——基于硬件的隔離

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:22℃        返回列表

  幾乎每個(gè)嵌入式系統(tǒng)都需要一定程度的安全性,無論是鎖定編程端口的基礎(chǔ)知識(shí)還是保護(hù)連接設(shè)備免受黑客攻擊的更復(fù)雜的東西。對于許多開發(fā)人員來說,創(chuàng)建安全的嵌入式系統(tǒng)可能會(huì)令人生畏。許多嵌入式開發(fā)人員并非來自安全背景,必須隨時(shí)學(xué)習(xí)安全概念。在建立安全系統(tǒng)的主要要素時(shí),有五個(gè)關(guān)鍵要素:


  基于硬件的隔離


  信任根(RoT)


  安全啟動(dòng)解決方案


  安全的引導(dǎo)加載程序


  安全存儲(chǔ)


  今天我們來講講第一要素——基于硬件的隔離。


  談到安全性,應(yīng)該在開發(fā)人員腦海中回蕩的關(guān)鍵概念是安全性始于隔離。開發(fā)人員需要將他們的應(yīng)用程序隔離到不同的域中,每個(gè)域都有自己的權(quán)限并且只能訪問特定的內(nèi)存區(qū)域。在傳統(tǒng)的嵌入式系統(tǒng)中,許多應(yīng)用程序的架構(gòu)使得任何軟件模塊或組件都可以訪問整個(gè)內(nèi)存映射。如果黑客能夠訪問內(nèi)存中的單個(gè)模塊,他們就可以毫不費(fèi)力地完全擁有該系統(tǒng)。


  隔離背后的想法是將應(yīng)用程序分解為單獨(dú)的安全域。如果黑客能夠訪問內(nèi)存中的一個(gè)區(qū)域,他們將無法訪問其他內(nèi)存區(qū)域。如果他們想要訪問,他們必須投入更多的時(shí)間和精力來弄清楚如何突破隔離屏障。在嵌入式系統(tǒng)中實(shí)現(xiàn)隔離的最好方法是實(shí)現(xiàn)基于硬件的隔離,它有幾種不同的形式,應(yīng)該一起使用。


  隔離工具 #1 – 處理器架構(gòu)


  首先,對于安全性至關(guān)重要的應(yīng)用程序,嵌入式開發(fā)人員應(yīng)該使用具有基于硬件隔離的微控制器將應(yīng)用程序執(zhí)行環(huán)境分成兩個(gè)不同的環(huán)境;

安全和非安全環(huán)境。 安全區(qū)域處理對保護(hù)設(shè)備至關(guān)重要的外圍設(shè)備、內(nèi)存和功能。 非安全環(huán)境是傳統(tǒng)的、豐富的執(zhí)行環(huán)境。

在現(xiàn)代微控制器中,這種隔離通過兩種方式實(shí)現(xiàn),一種是使用賽普拉斯 PSoC 64 等多核處理器,另一種是使用 Arm 的 TrustZone

等單核隔離技術(shù)。


  多核微控制器通過具有一個(gè)專用于安全處理環(huán)境和一個(gè)專用于非安全處理環(huán)境的微控制器內(nèi)核來實(shí)現(xiàn)基于硬件的隔離。另一方面,TrustZone

只是一個(gè)在安全處理環(huán)境和非安全處理環(huán)境之間切換的單核,TrustZone

確實(shí)需要幾個(gè)時(shí)鐘周期來在環(huán)境之間切換,但允許開發(fā)人員使用單個(gè)內(nèi)核。


  單核和多核解決方案都很有趣,并且提供了第一個(gè)基于硬件的隔離層。




  隔離工具 #2 – 內(nèi)存保護(hù)單元 (MPU)


  無論使用哪種主要隔離技術(shù),許多安全應(yīng)用程序中的第二個(gè)隔離層都是使用內(nèi)存保護(hù)單元 (MPU) 進(jìn)一步分解應(yīng)用程序。 MPU

已成為微控制器中的常用工具,因?yàn)樗鼈兛捎糜诎踩珣?yīng)用并提高應(yīng)用的穩(wěn)健性。 事實(shí)上,許多專為安全解決方案設(shè)計(jì)的微控制器將在安全和非安全執(zhí)行環(huán)境中都有

MPU。


  MPU

可用于在內(nèi)存映射中創(chuàng)建額外的邊界,強(qiáng)制功能和任務(wù)僅在其特定進(jìn)程中使用內(nèi)存。如果出于某種原因這些函數(shù)試圖訪問其分配區(qū)域之外的內(nèi)存,MPU

將檢測到內(nèi)存違規(guī)并引發(fā)異常。 MPU 可用于創(chuàng)建安全任務(wù)和分區(qū),從而進(jìn)一步隔離應(yīng)用程序組件。


  隔離工具 #3 – SMPU 和 PPU


  幫助基于硬件的隔離的最后一個(gè)工具是 SMPU 和

PPU。有些微控制器包含額外的安全層,允許嵌入式開發(fā)人員共享內(nèi)存內(nèi)容。這些被稱為共享內(nèi)存保護(hù)單元 (SMPU)。 SMPU

可以區(qū)分處理器內(nèi)的不同保護(hù)上下文,包括安全訪問和非安全訪問之間的差異。這些上下文對于在應(yīng)用程序中開發(fā)不同級(jí)別的安全和訪問非常有用。


  開發(fā)人員還可以利用外圍保護(hù)單元 (PPU)。 PPU 管理對不同外圍模塊(如 UART、SPI、USB

等)的訪問。這些訪問可能發(fā)生在由 SMPU 控制的不同安全上下文中,而這些安全上下文又保護(hù)運(yùn)行在可能兩個(gè)不同的 MPU

上下文中的上下文微控制器內(nèi)的內(nèi)核!(或在單個(gè)處理器內(nèi)的兩個(gè)硬件隔離區(qū)域內(nèi))。


  在開發(fā)安全的嵌入式系統(tǒng)時(shí),開發(fā)人員可以利用這些不同的機(jī)制來構(gòu)建屏障并隔離代碼,從而使黑客更難以訪問系統(tǒng)。事實(shí)上,我甚至看到并聽說過芯片供應(yīng)商提供的未來安全產(chǎn)品,這些產(chǎn)品將允許開發(fā)人員輕松地將他們的執(zhí)行環(huán)境分解為許多可以被視為執(zhí)行容器的小型執(zhí)行環(huán)境。在接下來的幾年里,看看這些方案將變得多么復(fù)雜和強(qiáng)大,以及如果開發(fā)人員實(shí)施它們,他們的系統(tǒng)將變得多么安全,將會(huì)很有趣。


  嵌入式開發(fā)人員在嵌入式系統(tǒng)中實(shí)現(xiàn)安全性的第一個(gè)要素是將他們的應(yīng)用程序分解為硬件隔離的執(zhí)行環(huán)境?;谟布母綦x設(shè)置了一道屏障,使黑客更難以完全訪問系統(tǒng)和其中包含的數(shù)據(jù),并且更加耗時(shí)?;谟布母綦x首先將執(zhí)行環(huán)境分解為安全和非安全執(zhí)行環(huán)境,然后可以通過使用

MPU、SMPU 和 PPU 進(jìn)一步分解這些環(huán)境中的每一個(gè)。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部