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

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

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

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


  什么是安全引導加載程序?


  安全引導加載程序不同于標準的普通引導加載程序,因為引導加載程序通常是:


  信任鏈的一部分


  驗證新的軟件映像


  驗證軟件映像的完整性


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


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


  安全引導加載程序試圖解決四個主要問題:


  防止固件逆向工程


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


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


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


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




  引導加載過程


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


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


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


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


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


  硬件隔離


  硬件加密引擎


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


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


  使引導加載程序不可變的閃存位


  安全存儲密鑰的地方


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


  結(jié)論


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

電話咨詢

電話咨詢

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

回到頂部