S32K3的安全啟動用于確保設備僅使用受原始設備制造商(OEM)信任的軟件進行啟動。當設備復位后啟動,HSE安全子系統將會檢查軟件片段的有效性,若檢查有效,則設備將啟動,否則將執行相應制裁。
Secure boot簡介
Secure Boot是驗證應用域內的一個/多個應用CPU子系統執行的一個/多個應用程序映像的完整性和真實性(多應用核和多內存段),驗證策略由用戶定義,包括:被驗證的內容、驗證方式、驗證結果分析處理。
三種Secure boot模式
共有三種安全啟動,如表1:
基本安全啟動(BSB):通過解析APPBL頭,確定APPBL代碼的起始地址和大小。
高級安全啟動方式(ASB):使用SMR(Secure Memory Region)和CR(Core Reset)實現的。
基于SHE的安全啟動(SSB):同樣是使用SMR以及CR實現,其與ASB不同的是這種安全啟動模式只使用SMR#0和CR#0,是ASB的一種特殊用法。
表1 安全啟動的區別
在介紹安全啟動模式之前,給大家介紹APPBL、SMR、CR是什么?如圖1所示,APPBL主要提供APP起始地址、APP內容大小、認證標簽。
圖1 APPBL介紹
如圖 2所示,SMR是一段安全內存區域的描述符,描述需要驗證內容的起始地址、大小、驗證內容的方式(MAC/SIGN)等。
圖2 SMR介紹CR表指的是內核復位表,該表關聯對應的Core與最多8個SMR關聯起來,關聯的SMR驗證成功,HSE將釋放對應的Core,使其正常運行App程序;驗證失敗則進行相應的制裁:禁用密鑰、復位內核等。
(一) 基礎安全啟動模式 – BSB
如圖 3所示,BSB是一種簡化的啟動方式,與ASB不同,不基于SMR;
① 在使能安全啟動功能之前,進行相應的配置;
② 使用AES-GMAC、密鑰為ADK/P,計算GMAC;
③ 把計算出來的MAC碼存儲在flash中,作為初始值;
④ 使能安全啟動功能,并執行復位;
⑤ 復位后,進入安全啟動流程,同樣執行②,把計算結果和初始值對比驗證;
⑥ 驗證結果一致則執行APP代碼,否則進入recovery模式。
圖 3 基礎安全啟動模式(二) 高級安全啟動模式 - ASB如圖 4所示,ASB是通過SMR和CR表實現,并支持多種認證方案(MAC、Sign)來驗證App映像:
① 在使能安全啟動功能之前,進行相應的配置;
② 格式化NVM和RAM的密鑰,并導入需要用到的對稱/非對稱的密鑰;
③ 安裝SMR和CR表:
SMR:驗證內容的起始地址,大小、驗證方式、驗證密鑰、驗證tag存儲位置等;
CR:關聯需要驗證的SMR、復位地址、制裁方式等。
④ 根據SMR配置,執行相應計算方式(MAC/Sign),把計算結果存儲在對應得位置;
⑤ 使能安全啟動功能,并執行復位;
⑥ 復位后,進入安全啟動流程,啟動流程中把計算結果和初始值對比驗證;
⑦ 驗證結果一致則執行APP代碼,否則執行CR定義的制裁。
圖 4 高級安全啟動
(三) 基于SHE安全啟動模式 – SSB(ASB)
如圖 5所示,SSB和ASB的啟動流程是很相似的,異同點如下:
① HSE固件同樣通過使用SMR和CR表來進行執行SSB的啟動;
② SSB是ASB的一種特殊用法,與ASB的區別:
SSB只是用SMR#0;
密鑰使用的是SHE BOOT_MAC_KEY;
校驗方式是CMAC。
圖 5 基于SHE安全啟動模式
以上內容講解了S32K3 SecureBoot的全部內容,主要介紹了什么是Secure Boot以及三種模式,也便于后續大家需要用到S32K3的安全啟動,奠定一定的基礎。
-
cpu
+關注
關注
68文章
10826瀏覽量
211158 -
軟件
+關注
關注
69文章
4774瀏覽量
87162 -
APP
+關注
關注
33文章
1568瀏覽量
72377 -
應用程序
+關注
關注
37文章
3243瀏覽量
57603
發布評論請先 登錄
相關推薦
評論