歡迎來到培訓無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網(wǎng) > 新聞資訊 > 電腦/IT > 嵌入式開發(fā) >  嵌入式開發(fā)培訓之系統(tǒng)如何做到安全啟動

嵌入式開發(fā)培訓之系統(tǒng)如何做到安全啟動

來源:培訓無憂網(wǎng) 發(fā)布人:星星

2022-01-20 13:52:15|已瀏覽:5065次

如何做到安全啟動

       安全啟動是在使用之前針對硬件驗證代碼和圖像的過程。這個想法是系統(tǒng)不應該信任任何代碼或圖像,直到它被驗證為真實并且其完整性得到確認。如前所述,系統(tǒng)應該使用基于硬件的信任根 (RoT) 來驗證代碼。

      我在職業(yè)生涯中遇到的許多系統(tǒng)只是假設其閃存中的代碼是正確的,并在處理器啟動的那一刻開始執(zhí)行它,幾乎沒有檢查(如果有的話)。如果嵌入式開發(fā)人員想要保護他們的系統(tǒng),這是一種可以長期遵循的做法。系統(tǒng)需要安全啟動并驗證將要加載和執(zhí)行的所有代碼。

從信任根引導

       安全啟動可能是我們一直在討論的第一個使用基于硬件的隔離和 RoT 的元素。在第一階段,建立 RoT 的 ROM 代碼用于計算引導代碼內(nèi)容的哈希值并驗證其內(nèi)容。計算出的散列通常與不可變的散列進行比較,并且在制造過程中已“燒錄”到閃存中。

      初始安全啟動階段將內(nèi)置配置信息,然后允許啟動序列驗證后續(xù)啟動階段。例如,該階段可能會經(jīng)過并計算引導加載程序上的散列,并將該散列與存儲在閃存中的另一個散列進行比較,以幫助在該階段建立信任。然后可以驗證和執(zhí)行引導加載程序,然后在運行應用程序之前通過并驗證其應用程序映像。

安全啟動階段
       現(xiàn)在,如你所見,安全啟動是分階段發(fā)生的,但安全啟動也經(jīng)常發(fā)生在隔離的內(nèi)存區(qū)域中。安全系統(tǒng)通常會首先啟動到被認為是安全執(zhí)行環(huán)境的內(nèi)存區(qū)域。有幾種不同的方法可以做到這一點。一種方法是使用多核微控制器,其中一個內(nèi)核專用于安全功能和代碼執(zhí)行,另一個內(nèi)核分配給應用豐富的代碼。在此設置中,處理器間通信 (IPC) 用于在內(nèi)核之間進行通信。
       或者,嵌入式開發(fā)人員可以使用單核技術(shù)將內(nèi)存和執(zhí)行環(huán)境分為安全和非安全環(huán)境。一個例子是 Arm TrustZone。使用 TrustZone,開發(fā)人員能夠指定哪些內(nèi)存區(qū)域應該分配給安全處理,哪些不應該。這些區(qū)域不僅包括代碼,還包括外設、閃存和 RAM 存儲器。應用程序?qū)⑦\行其執(zhí)行豐富的代碼,當它需要調(diào)用安全功能時,處理器將轉(zhuǎn)換到隔離的安全模式并允許執(zhí)行安全功能。這有助于確保如果黑客獲得對功能豐富的執(zhí)行環(huán)境的訪問權(quán)限,則無法訪問諸如私鑰、數(shù)據(jù)等安全信息。
安全處理

       在隔離環(huán)境中使用安全啟動時,安全處理區(qū)域通常最先開始執(zhí)行。換句話說,安全啟動操作是從安全執(zhí)行環(huán)境中執(zhí)行的,這是有道理的。一旦安全環(huán)境啟動并運行,將在應用程序豐富的代碼上計算另一個哈希值,以確保其完整性和真實性。通過此檢查后,安全執(zhí)行環(huán)境將允許該代碼運行。在啟動序列中的每個點,安全啟動都必須驗證下一個將要執(zhí)行的代碼或映像并驗證其完整性。從 RoT 開始,然后通過引導加載程序進入執(zhí)行映像。在多核系統(tǒng)中,甚至可能有多個圖像需要跨多個處理器進行驗證。

        安全啟動不僅僅是簡單地向系統(tǒng)添加一個軟件。安全啟動需要嵌入式開發(fā)人員仔細考慮啟動順序并開發(fā)源自信任根的信任鏈。在系統(tǒng)啟動時,每個映像和代碼都經(jīng)過驗證,然后才允許在系統(tǒng)上執(zhí)行。如果檢測到問題,系統(tǒng)可以停止引導序列,甚至可以恢復到早期已知的工作代碼版本。為了恢復代碼或?qū)⑵涓碌叫掳姹,這需要系統(tǒng)具有安全的引導加載程序。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://elsolbar.com/news-id-16913.html 違者必究!部分文章來源于網(wǎng)絡由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注嵌入式開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學什么:

  • 培訓無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!