• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素4——安全引導(dǎo)加載程序
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素4——安全引導(dǎo)加載程序

嵌入式開發(fā):保護(hù)嵌入式系統(tǒng)的要素4——安全引導(dǎo)加載程序

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

  引導(dǎo)加載程序是嵌入式系統(tǒng)中一個(gè)特別有趣的組件,引導(dǎo)加載程序經(jīng)常被嵌入式開發(fā)團(tuán)隊(duì)忽視并在最后一刻開發(fā),盡管它們通常很難實(shí)現(xiàn)并為系統(tǒng)創(chuàng)建關(guān)鍵功能。


  什么是安全引導(dǎo)加載程序?


  安全引導(dǎo)加載程序不同于標(biāo)準(zhǔn)的普通引導(dǎo)加載程序,因?yàn)橐龑?dǎo)加載程序通常是:


  信任鏈的一部分


  驗(yàn)證新的軟件映像


  驗(yàn)證軟件映像的完整性


  需要訪問加密算法和加速器


  非安全引導(dǎo)加載程序通常只使用校驗(yàn)和來確保軟件映像是完整的,但在接受并嘗試運(yùn)行映像之前幾乎沒有做任何其他事情,從安全角度來看這是非常危險(xiǎn)的。


  安全引導(dǎo)加載程序試圖解決四個(gè)主要問題:


  防止固件逆向工程


  防止未經(jīng)授權(quán)的固件修改


  加載未經(jīng)授權(quán)的固件


  在未經(jīng)授權(quán)的設(shè)備上加載固件


  安全引導(dǎo)加載程序的行為方式有很多種,讓我們快速、高層次地看一下整個(gè)過程是如何工作的。




  引導(dǎo)加載過程


  在嵌入式開發(fā)中,當(dāng)準(zhǔn)備好部署新的固件映像時(shí),公司將生成一個(gè)固件簽名,該簽名將伴隨將在現(xiàn)場部署的固件。為新固件生成hash,然后使用公司私鑰對其進(jìn)行加密以生成簽名。然后通過引導(dǎo)加載程序?qū)⒑灻凸碳?加密或未加密)發(fā)送到嵌入式系統(tǒng)。如果你查看微控制器供應(yīng)商提供的許多安全引導(dǎo)加載程序示例,你通常會(huì)發(fā)現(xiàn)安全引導(dǎo)加載程序?qū)⒔邮芗用艿墓碳诚?,但也可能?huì)發(fā)送未加密的映像,具體取決于引導(dǎo)加載程序的配置方式。即使安全引導(dǎo)加載程序確實(shí)接受加密映像,該映像通常在運(yùn)行中未加密,然后將其本地存儲(chǔ)在閃存中的某個(gè)地方(可能是內(nèi)部或外部)。


  引導(dǎo)加載程序收到映像后,將使用存儲(chǔ)在系統(tǒng)中的公鑰解密簽名以獲得固件的原始hash。然后,引導(dǎo)加載程序可以散列接收到的未加密圖像,并比較兩者是否相等。如果它們相等,則引導(dǎo)加載程序已驗(yàn)證固件映像是真實(shí)的(來自簽名)并且其完整性沒有受到損害(來自哈希)。此時(shí),引導(dǎo)加載程序可以完成更新固件和引導(dǎo)新軟件映像的過程。


  如果黑客決定嘗試將自己的圖像放置在設(shè)備上,他們將需要擁有公司的私鑰才能生成適當(dāng)?shù)淖C書。如果他們以某種方式可以訪問固件并想要進(jìn)行更改,他們將再次需要能夠通過簽名對新hash進(jìn)行身份驗(yàn)證,而這是他們無法做到的。如果他們試圖向設(shè)備發(fā)送新固件,引導(dǎo)加載程序?qū)⒛軌驒z測到它不是有效的固件,然后會(huì)丟棄映像并繼續(xù)運(yùn)行它已經(jīng)運(yùn)行的應(yīng)用程序代碼。


  微控制器需要硬件支持什么?


  開發(fā)安全的引導(dǎo)加載程序可能具有挑戰(zhàn)性。根據(jù)安全級別和所需功能,并非每個(gè)微控制器都適用。嵌入式開發(fā)人員通常需要支持以下功能的微控制器:


  硬件隔離


  硬件加密引擎


  內(nèi)存保護(hù)單元 (MPU)


  真隨機(jī)數(shù)生成器 (TRNG)


  使引導(dǎo)加載程序不可變的閃存位


  安全存儲(chǔ)密鑰的地方


  這些只是微控制器實(shí)現(xiàn)安全引導(dǎo)加載程序解決方案所需的一些功能。你可以想象,成功在于細(xì)節(jié),并且需要對硬件和安全引導(dǎo)加載程序解決方案有專業(yè)的了解。因此,致力于安全嵌入式產(chǎn)品的團(tuán)隊(duì)?wèi)?yīng)該盡早開始他們的安全引導(dǎo)加載程序解決方案,而不是等到最后一刻才嘗試實(shí)施它!


  結(jié)論


  安全引導(dǎo)加載程序比傳統(tǒng)的引導(dǎo)加載程序?qū)嵤┥婕案?。他們將更新和運(yùn)行新應(yīng)用程序映像的能力與驗(yàn)證和驗(yàn)證新映像完整性的需要結(jié)合在一起。這要求引導(dǎo)加載程序?qū)崿F(xiàn)加密服務(wù)。嵌入式開發(fā)人員可以利用特定于微控制器的安全引導(dǎo)加載程序解決方案,從而降低團(tuán)隊(duì)實(shí)施安全引導(dǎo)加載程序解決方案所需的安全知識。如果這些解決方案還不夠,團(tuán)隊(duì)必須盡快啟動(dòng)他們的安全引導(dǎo)加載程序解決方案,因?yàn)槌晒?gòu)建、測試和驗(yàn)證它需要幾個(gè)月的時(shí)間。

電話咨詢

電話咨詢

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

回到頂部