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

嵌入式開發(fā):保護嵌入式系統(tǒng)的要素2—信任根 (RoT)

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

  在嵌入式開發(fā)中,當我們啟動嵌入式系統(tǒng)并開始啟動過程時,我們希望確保我們的嵌入式系統(tǒng)使用合法軟件啟動。許多系統(tǒng)面臨的問題是確定設(shè)備上運行的第一個代碼是否真的是他們的代碼并且是真實的。當然,系統(tǒng)可以成功啟動,但如果首先運行的是某個惡意軟件,而其他軟件都信任該代碼,會發(fā)生什么情況?信任根確保從執(zhí)行重置向量的那一刻起,我們正在運行正確的軟件。


  定義信任根


  信任根是一個不可變的過程或身份,用作信任鏈中的第一個實體。因此,沒有祖先實體可以為信任根的初始代碼和數(shù)據(jù)狀態(tài)提供可信任的證明(以摘要或其他方式)。換句話說,嵌入式開發(fā)人員的信任根是一個不可更改的身份和最小的軟件集,可以成功地驗證自己并促進系統(tǒng)上的安全操作。


  我們應(yīng)該考慮上述定義中的幾個關(guān)鍵點。首先,不可變的過程或身份是無法改變的。在為我們的產(chǎn)品選擇微控制器時,我們必須確保我們可以永久“burn-in”信任根使用的重要信息,例如公司私鑰,一旦進入微控制器,我們不希望這些信息是可變的。


  其次,我們希望能夠證明系統(tǒng)。證明允許我們向系統(tǒng)發(fā)送要執(zhí)行的操作,然后它將使用其私鑰進行簽名。通過訪問公鑰,我可以驗證操作結(jié)果并識別設(shè)備。


  為什么要使用信任根?


  信任根從系統(tǒng)引導確定授權(quán)軟件正在系統(tǒng)上運行。它充當基礎(chǔ)可信軟件,然后驗證和驗證加載的下一個軟件,從而建立信任鏈。如果沒有信任根,系統(tǒng)很容易受到攻擊,因為沒有任何東西可以驗證加載的固件。


  建立信任根可能有點棘手。例如,如果合同制造商建立了一個典型的漏洞,則可能會出現(xiàn)這種漏洞。但是,他們完全有可能繞過嵌入式開發(fā)人員的密鑰并將他們的信任根放在微控制器上,允許他們對系統(tǒng)做任何他們想做的事情!




  信任根能夠防止以下活動:


  設(shè)備克隆


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


  加載惡意軟件


  建立信任根


  為了避免這些類型的問題,創(chuàng)建一個基于硬件的信任根就很重要。如果可能,讓正在使用的微控制器供應(yīng)商首先建立信任根。假設(shè)信任根是由微控制器供應(yīng)商在微控制器發(fā)貨時設(shè)置的。在這種情況下,它已經(jīng)有一個不可變的信任根,可以證明它的身份并且它來自那個制造商!信任根也幫助避免假冒微控制器!


  使用供應(yīng)商建立的信任根,我們可以使用現(xiàn)有的信任根將我們的信任根轉(zhuǎn)移到設(shè)備。

此外,當我們將信任根轉(zhuǎn)移到我們公司時,我們可以為微控制器提供描述系統(tǒng)應(yīng)該如何運行的安全策略和密鑰!


  建立信任根至關(guān)重要,因為它將在安全設(shè)置中燃燒,例如:


  啟用或禁用調(diào)試端口


  允許或不允許固件更新


  加密固件更新或未加密


  啟用或禁用固件回滾


  安全設(shè)置還將建立允許信任鏈中的各種軟件組件運行的安全上下文。


  通過這些初始設(shè)置,嵌入式開發(fā)人員可以確保他們在系統(tǒng)上運行的第一個代碼是安全的、不可變的,并且能夠驗證之后加載的所有軟件。


  建立信任根對嵌入式系統(tǒng)至關(guān)重要。信任根用于驗證系統(tǒng)上加載的所有附加軟件,它是信任鏈中成功啟動嵌入式系統(tǒng)的第一個基礎(chǔ)鏈接。

信任根應(yīng)該是基于硬件且不可變的,信任根不能被篡改,然后允許系統(tǒng)檢測以后加載的軟件是否可以信任。開發(fā)人員應(yīng)該尋找內(nèi)置基于硬件的信任根的微控制器解決方案。


  如果微控制器沒有內(nèi)置信任根,則可以使用第三方組件、Cortex-M (TF-M)

的可信固件等來建立信任根,它只是需要嵌入式開發(fā)人員的更多工作。

電話咨詢

電話咨詢

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

回到頂部