這是關(guān)于安全啟動的三部分系列中的第三部分。如果您還沒有查看前兩篇文章,它們是:(第 1 部分 - 安全啟動介紹)和(第 2 部分 - MCU 設(shè)備的安全啟動)。在我們的上一篇文章中,我的同事 Yamanaka-san 先生描述了我們的 RH850 MCU 設(shè)備上的安全啟動。在本博客中,我將介紹基于 Arm 的 Renesas R-Car Gen 3 SoC 設(shè)備的安全啟動。
R-Car 上的安全啟動
片上系統(tǒng) (SoC) 設(shè)備具有比典型微控制器設(shè)備更復(fù)雜的啟動序列。安全啟動可確保整個啟動鏈的完整性和真實(shí)性。該軟件可以選擇以靜態(tài)加密方式存儲以保護(hù)機(jī)密性。
建立信任鏈
為了在 R-Car 上提供安全啟動,瑞薩電子構(gòu)建了一條植根于硬件的信任鏈。掩碼 ROM 和 H BK(引導(dǎo)密鑰散列)充當(dāng)不可變的信任錨。這些不能在生產(chǎn)中更改。在整個引導(dǎo)鏈中,信任鏈的每一部分都由較早的(授權(quán)的)部分進(jìn)行驗(yàn)證。元素的鏈接允許所有階段驗(yàn)證都指向原始的信任根,就像鏈中的鏈接一樣。此驗(yàn)證過程的起點(diǎn)是 R-Car 的掩模 ROM。復(fù)位后立即執(zhí)行。
R-Car 設(shè)備中的信任鏈
關(guān)鍵要點(diǎn):瑞薩電子建立了一條植根于硬件的信任鏈
Mask ROM 和 H BK用作不可變的信任錨,這些不能更改
信任鏈的每一部分都由前一個(授權(quán)的)部分驗(yàn)證
此驗(yàn)證過程的起點(diǎn)是作為“信任根”的 R-Car 設(shè)備的掩碼 ROM
準(zhǔn)備安全引導(dǎo)環(huán)境
在 R-Car 設(shè)備中,安全啟動從準(zhǔn)備簽名鏈開始。簽名過程的先決條件包括生成兩個 RSA 密鑰對(設(shè)備根密鑰對和安全啟動密鑰對)和生成設(shè)備根公鑰哈希 (H BK )。每個客戶都將在其安全的 OT 環(huán)境中控制一個唯一的根密鑰。必須安全存儲根和安全啟動私鑰,以確保整體系統(tǒng)安全。創(chuàng)建密鑰對后,瑞薩電子提供的工具會生成根公鑰的加密哈希。此公鑰哈希 (H BK ) 提供給瑞薩電子,并在制造過程中被編程到 R-Car 設(shè)備中。H BK用于安全引導(dǎo)鏈中,用于驗(yàn)證根公鑰的完整性和真實(shí)性。
安全啟動順序
簽名圖像
環(huán)境準(zhǔn)備好后,就可以開始簽名過程了。將根密鑰和安全啟動密鑰對以及軟件映像作為輸入,簽名工具生成兩個證書:1) 包含公共根密鑰的根密鑰證書和 2) 包含安全啟動公鑰和映像簽名內(nèi)容的內(nèi)容證書。 軟件映像和證書被編程到 R-Car 設(shè)備內(nèi)存中。只有公鑰存儲在 R-Car 設(shè)備上。
R-Car 設(shè)備上的安全啟動
復(fù)位釋放 (1) 后,調(diào)用安全引導(dǎo)功能 (2)。安全啟動功能使用根密鑰和內(nèi)容證書 (3) 驗(yàn)證軟件。只有驗(yàn)證過程成功(4),設(shè)備才會執(zhí)行部署的軟件。
這是安全啟動序列的分解版本。
腳步:
設(shè)備重置已發(fā)布
設(shè)備執(zhí)行掩碼 ROM。如果設(shè)備處于安全啟用狀態(tài),則執(zhí)行安全啟動。
掩碼 ROM 從外部閃存加載證書和內(nèi)容
掩碼 ROM 解析根密鑰證書并提取根密鑰。計(jì)算根密鑰散列并將其與已知的根密鑰散列 (H BK ) 進(jìn)行比較。如果密鑰正確,則系統(tǒng)進(jìn)行下一步。
掩碼 ROM 計(jì)算并比較在安全啟動內(nèi)容證書中找到的啟動密鑰的哈希值與在密鑰證書中找到的安全啟動密鑰哈希值(在上一步中驗(yàn)證)。如果檢查通過,則使用公鑰來驗(yàn)證內(nèi)容證書簽名。如果內(nèi)容證書中的 有效,則內(nèi)容證書中的數(shù)據(jù)用于計(jì)算下一個引導(dǎo)階段的有效性和完整性。如果一切檢查執(zhí)行跳轉(zhuǎn)到下一個引導(dǎo)階段。
腳步:
后續(xù)啟動階段可以調(diào)用掩碼 ROM 安全啟動功能來驗(yàn)證后續(xù)階段的內(nèi)容。在此示例中,IPL 調(diào)用掩碼 ROM API 以驗(yàn)證應(yīng)用程序 1-3。通過在后期調(diào)用掩碼 ROM API,設(shè)計(jì)人員可以利用硬件加速進(jìn)行 RSA 簽名檢查和 SHA 加速器進(jìn)行散列。
掩碼 ROM 驗(yàn)證內(nèi)容證書是否在下一個引導(dǎo)階段加載
IPL 可以驗(yàn)證每個圖像,或僅驗(yàn)證它加載的圖像子集。在此示例中,應(yīng)用程序 1-3 使用安全啟動 API,而應(yīng)用程序 4 和 5 使用另一種方法。
當(dāng) IPL 完成加載和驗(yàn)證內(nèi)容時,它會跳轉(zhuǎn)到下一個引導(dǎo)階段。
結(jié)論:
SoC 具有比 MCU 設(shè)備更長的引導(dǎo)鏈。我們的 R-Car 設(shè)備中的安全啟動邏輯允許設(shè)計(jì)人員在整個啟動過程中利用簽名檢查的硬件加速。瑞薩電子 R-Car 設(shè)備利用硬件作為構(gòu)建可靠、安全系統(tǒng)的安全信任根。
審核編輯:郭婷
-
mcu
+關(guān)注
關(guān)注
146文章
17172瀏覽量
351553 -
soc
+關(guān)注
關(guān)注
38文章
4174瀏覽量
218434 -
瑞薩電子
+關(guān)注
關(guān)注
37文章
2867瀏覽量
72237
發(fā)布評論請先 登錄
相關(guān)推薦
評論