1. gzyueqian
      13352868059

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

      更新時間: 2022-01-17 15:07:35來源: 粵嵌教育瀏覽量:11020

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


        基于硬件的隔離


        信任根(RoT)


        安全啟動解決方案


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


        安全存儲


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


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


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


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


        首先,對于安全性至關(guān)重要的應(yīng)用程序,嵌入式開發(fā)人員應(yīng)該使用具有基于硬件隔離的微控制器將應(yīng)用程序執(zhí)行環(huán)境分成兩個不同的環(huán)境; 安全和非安全環(huán)境。 安全區(qū)域處理對保護設(shè)備至關(guān)重要的外圍設(shè)備、內(nèi)存和功能。 非安全環(huán)境是傳統(tǒng)的、豐富的執(zhí)行環(huán)境。 在現(xiàn)代微控制器中,這種隔離通過兩種方式實現(xiàn),一種是使用賽普拉斯 PSoC 64 等多核處理器,另一種是使用 Arm 的 TrustZone 等單核隔離技術(shù)。


        多核微控制器通過具有一個專用于安全處理環(huán)境和一個專用于非安全處理環(huán)境的微控制器內(nèi)核來實現(xiàn)基于硬件的隔離。另一方面,TrustZone 只是一個在安全處理環(huán)境和非安全處理環(huán)境之間切換的單核,TrustZone 確實需要幾個時鐘周期來在環(huán)境之間切換,但允許開發(fā)人員使用單個內(nèi)核。


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



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


        無論使用哪種主要隔離技術(shù),許多安全應(yīng)用程序中的第二個隔離層都是使用內(nèi)存保護單元 (MPU) 進一步分解應(yīng)用程序。 MPU 已成為微控制器中的常用工具,因為它們可用于安全應(yīng)用并提高應(yīng)用的穩(wěn)健性。 事實上,許多專為安全解決方案設(shè)計的微控制器將在安全和非安全執(zhí)行環(huán)境中都有 MPU。


        MPU 可用于在內(nèi)存映射中創(chuàng)建額外的邊界,強制功能和任務(wù)僅在其特定進程中使用內(nèi)存。如果出于某種原因這些函數(shù)試圖訪問其分配區(qū)域之外的內(nèi)存,MPU 將檢測到內(nèi)存違規(guī)并引發(fā)異常。 MPU 可用于創(chuàng)建安全任務(wù)和分區(qū),從而進一步隔離應(yīng)用程序組件。


        隔離工具 #3 – SMPU 和 PPU


        幫助基于硬件的隔離的最后一個工具是 SMPU 和 PPU。有些微控制器包含額外的安全層,允許嵌入式開發(fā)人員共享內(nèi)存內(nèi)容。這些被稱為共享內(nèi)存保護單元 (SMPU)。 SMPU 可以區(qū)分處理器內(nèi)的不同保護上下文,包括安全訪問和非安全訪問之間的差異。這些上下文對于在應(yīng)用程序中開發(fā)不同級別的安全和訪問非常有用。


        開發(fā)人員還可以利用外圍保護單元 (PPU)。 PPU 管理對不同外圍模塊(如 UART、SPI、USB 等)的訪問。這些訪問可能發(fā)生在由 SMPU 控制的不同安全上下文中,而這些安全上下文又保護運行在可能兩個不同的 MPU 上下文中的上下文微控制器內(nèi)的內(nèi)核!(或在單個處理器內(nèi)的兩個硬件隔離區(qū)域內(nèi))。


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


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

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲怡红院久久精品综合 | 日韩一区二区三区免费AⅤ 午夜性刺激在线观看视频 综合偷自拍亚洲乱中文字幕 | 亚洲se频在线观看 | 中文娱乐在线视频国产 | 天天综合精品在线观看 | 一本久久a精品一区二区 |