1. gzyueqian
      13352868059

      嵌入式開(kāi)發(fā):嵌入式應(yīng)用程序中的信任鏈簡(jiǎn)介

      更新時(shí)間: 2022-10-12 11:40:44來(lái)源: 粵嵌教育瀏覽量:8644

        在設(shè)計(jì)嵌入式系統(tǒng)時(shí),考慮安全性已經(jīng)成為許多行業(yè)的需要。將設(shè)備連接到互聯(lián)網(wǎng)的驅(qū)動(dòng)器允許對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程攻擊。想要構(gòu)建安全嵌入式系統(tǒng)的嵌入式開(kāi)發(fā)人員必須確保他們的設(shè)備實(shí)現(xiàn)信任鏈。在這篇文章中,我們將探討什么是信任鏈,以及嵌入式系統(tǒng)信任鏈中的關(guān)鍵元素。

        什么是信任鏈?

        信任鏈?zhǔn)且幌盗猩矸蒡?yàn)證和完整性檢查,可確保只有經(jīng)過(guò)批準(zhǔn)的軟件才能在系統(tǒng)上運(yùn)行——對(duì)于嵌入式系統(tǒng),開(kāi)發(fā)信任鏈需要開(kāi)發(fā)人員分階段啟動(dòng)他們的系統(tǒng)。每個(gè)階段都使用加密密鑰、證書(shū)和哈希來(lái)驗(yàn)證以下加載的軟件組件未被修改(完整性)以及它們來(lái)自開(kāi)發(fā)人員(身份驗(yàn)證)。

        多年來(lái),在運(yùn)行Linux的應(yīng)用處理器上工作的嵌入式軟件開(kāi)發(fā)人員一直采用多階段引導(dǎo)過(guò)程。然而,使用微控制器、實(shí)時(shí)操作系統(tǒng)或裸機(jī)系統(tǒng)的嵌入式開(kāi)發(fā)人員最初可能會(huì)發(fā)現(xiàn)這非常不同。一般來(lái)說(shuō),建立信任鏈看起來(lái)像下圖:

        

        信任根——The Root of Trust (RoT)

        每個(gè)系統(tǒng)都必須有一個(gè)錨,形成信任的基礎(chǔ)。然后,該錨點(diǎn)用于驗(yàn)證系統(tǒng)上加載的每一個(gè)軟件。RoT是用作信任鏈中第一個(gè)實(shí)體的不可變過(guò)程或身份。一個(gè)好的RoT利用硬件來(lái)建立信任錨。例如,加密PUF是從微控制器的RAM中生成安全密鑰對(duì)的軟件算法。

        一般來(lái)說(shuō),RoT是密鑰和證書(shū)的集合,它們驗(yàn)證運(yùn)行在系統(tǒng)上的軟件是完整的和經(jīng)過(guò)認(rèn)證的。RoT通常還會(huì)為系統(tǒng)提供安全服務(wù),如安全存儲(chǔ)、證明和應(yīng)用程序分區(qū)。

        當(dāng)系統(tǒng)首次啟動(dòng)時(shí),它會(huì)建立RoT。接下來(lái),RoT將認(rèn)證和驗(yàn)證安全引導(dǎo)加載程序的完整性。首先,引導(dǎo)裝載程序有公司創(chuàng)建的數(shù)字簽名。接下來(lái),嵌入式開(kāi)發(fā)人員使用在引導(dǎo)裝載程序上計(jì)算的散列來(lái)驗(yàn)證應(yīng)用程序簽名。成功的驗(yàn)證表明,引導(dǎo)加載程序是由該公司未經(jīng)修改就放在那里的。

        安全引導(dǎo)加載程序——Secure Bootloaders

        安全引導(dǎo)加載程序有幾個(gè)用途。首先,它們用于認(rèn)證和驗(yàn)證在它之后加載的安全和用戶應(yīng)用程序的完整性。如果身份驗(yàn)證或完整性失敗,引導(dǎo)加載程序?qū)⒉粫?huì)加載這些應(yīng)用程序。該設(shè)備將不會(huì)正常運(yùn)行,而是將在安全引導(dǎo)加載程序中保持安全狀態(tài)。通常,安全和用戶應(yīng)用將被驗(yàn)證并加載到存儲(chǔ)器中以執(zhí)行它們的主要功能。

        其次,引導(dǎo)加載程序也用于更新安全和用戶應(yīng)用程序代碼。當(dāng)軟件更新時(shí),引導(dǎo)裝載程序檢索新版本,存儲(chǔ)它,然后驗(yàn)證和確認(rèn)它。例如,如果新的應(yīng)用程序來(lái)自公司并且有效,引導(dǎo)裝載程序?qū)?zhí)行固件更新。

        

        安全應(yīng)用程序(安全代碼域)——Secure App

        有幾種方法可以創(chuàng)建硬件隔離的執(zhí)行環(huán)境。首先,嵌入式開(kāi)發(fā)人員可以使用多核微控制器。一個(gè)核心用于安全執(zhí)行環(huán)境,而另一個(gè)核心是用戶應(yīng)用程序。接下來(lái),開(kāi)發(fā)人員可以使用單核微控制器,這些微控制器使用Arm的Trustzone等技術(shù)。最后,開(kāi)發(fā)人員可以利用內(nèi)存保護(hù)單元(MPU)在其應(yīng)用中提供不同的隔離級(jí)別。

        用戶應(yīng)用程序(非安全代碼域)——User App

        在大多數(shù)嵌入式設(shè)備的信任鏈實(shí)現(xiàn)中,用戶應(yīng)用程序區(qū)域是最后一個(gè)環(huán)節(jié)。用戶應(yīng)用程序通常在引導(dǎo)期間被驗(yàn)證和認(rèn)證,但是是不安全的。用戶應(yīng)用程序是通常與外界交互的代碼,遵循嵌入式開(kāi)發(fā)人員常用的軟件模型。如果發(fā)生安全事故,預(yù)計(jì)會(huì)發(fā)生在用戶應(yīng)用程序代碼中。雖然有人可能會(huì)立即認(rèn)為這是不可接受的,但理解用戶代碼中的確切內(nèi)容是非常重要的。

        用戶數(shù)據(jù)、密鑰和任何需要保護(hù)的東西都不會(huì)放在用戶應(yīng)用程序區(qū)域。用戶應(yīng)用是與安全執(zhí)行環(huán)境分離的硬件隔離的執(zhí)行環(huán)境。如果有人設(shè)法注入代碼或進(jìn)入這個(gè)區(qū)域,他們將無(wú)法訪問(wèn)設(shè)備的任何秘密。

        結(jié)論

        安全性對(duì)于各種各樣的嵌入式系統(tǒng)已經(jīng)變得至關(guān)重要。在大多數(shù)情況下,公司不能再忽視設(shè)備的安全性需求。雖然安全性初看起來(lái)令人望而生畏,但是有各種各樣的工具和示例可供嵌入式開(kāi)發(fā)人員用來(lái)保護(hù)他們的嵌入式系統(tǒng)。每個(gè)安全系統(tǒng)的一個(gè)關(guān)鍵組件是建立信任鏈,該信任鏈利用信任根、安全引導(dǎo)加載程序,并將應(yīng)用程序分為安全和非安全執(zhí)行空間。

      免費(fèi)預(yù)約試聽(tīng)課

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

      
      

      1. 午夜精品福利波多野结衣 | 宅男在线观看国产精品 | 亚洲乱码中文字幕在线2021 | 一二三区在线播放国内精品自产拍 | 色综合一区二区三区 | 午夜福利久久野草 |