S32K3的安全啟動(dòng)用于確保設(shè)備僅使用受原始設(shè)備制造商(OEM)信任的軟件進(jìn)行啟動(dòng)。當(dāng)設(shè)備復(fù)位后啟動(dòng),HSE安全子系統(tǒng)將會(huì)檢查軟件片段的有效性,若檢查有效,則設(shè)備將啟動(dòng),否則將執(zhí)行相應(yīng)制裁。
Secure boot簡介
Secure Boot是驗(yàn)證應(yīng)用域內(nèi)的一個(gè)/多個(gè)應(yīng)用CPU子系統(tǒng)執(zhí)行的一個(gè)/多個(gè)應(yīng)用程序映像的完整性和真實(shí)性(多應(yīng)用核和多內(nèi)存段),驗(yàn)證策略由用戶定義,包括:被驗(yàn)證的內(nèi)容、驗(yàn)證方式、驗(yàn)證結(jié)果分析處理。
三種Secure boot模式
共有三種安全啟動(dòng),如表1:
基本安全啟動(dòng)(BSB):通過解析APPBL頭,確定APPBL代碼的起始地址和大小。
高級安全啟動(dòng)方式(ASB):使用SMR(Secure Memory Region)和CR(Core Reset)實(shí)現(xiàn)的。
基于SHE的安全啟動(dòng)(SSB):同樣是使用SMR以及CR實(shí)現(xiàn),其與ASB不同的是這種安全啟動(dòng)模式只使用SMR#0和CR#0,是ASB的一種特殊用法。
表1 安全啟動(dòng)的區(qū)別
在介紹安全啟動(dòng)模式之前,給大家介紹APPBL、SMR、CR是什么?如圖1所示,APPBL主要提供APP起始地址、APP內(nèi)容大小、認(rèn)證標(biāo)簽。
圖1 APPBL介紹
如圖 2所示,SMR是一段安全內(nèi)存區(qū)域的描述符,描述需要驗(yàn)證內(nèi)容的起始地址、大小、驗(yàn)證內(nèi)容的方式(MAC/SIGN)等。
圖2 SMR介紹CR表指的是內(nèi)核復(fù)位表,該表關(guān)聯(lián)對應(yīng)的Core與最多8個(gè)SMR關(guān)聯(lián)起來,關(guān)聯(lián)的SMR驗(yàn)證成功,HSE將釋放對應(yīng)的Core,使其正常運(yùn)行App程序;驗(yàn)證失敗則進(jìn)行相應(yīng)的制裁:禁用密鑰、復(fù)位內(nèi)核等。
(一) 基礎(chǔ)安全啟動(dòng)模式 – BSB
如圖 3所示,BSB是一種簡化的啟動(dòng)方式,與ASB不同,不基于SMR;
① 在使能安全啟動(dòng)功能之前,進(jìn)行相應(yīng)的配置;
② 使用AES-GMAC、密鑰為ADK/P,計(jì)算GMAC;
③ 把計(jì)算出來的MAC碼存儲在flash中,作為初始值;
④ 使能安全啟動(dòng)功能,并執(zhí)行復(fù)位;
⑤ 復(fù)位后,進(jìn)入安全啟動(dòng)流程,同樣執(zhí)行②,把計(jì)算結(jié)果和初始值對比驗(yàn)證;
⑥ 驗(yàn)證結(jié)果一致則執(zhí)行APP代碼,否則進(jìn)入recovery模式。
圖 3 基礎(chǔ)安全啟動(dòng)模式(二) 高級安全啟動(dòng)模式 - ASB如圖 4所示,ASB是通過SMR和CR表實(shí)現(xiàn),并支持多種認(rèn)證方案(MAC、Sign)來驗(yàn)證App映像:
① 在使能安全啟動(dòng)功能之前,進(jìn)行相應(yīng)的配置;
② 格式化NVM和RAM的密鑰,并導(dǎo)入需要用到的對稱/非對稱的密鑰;
③ 安裝SMR和CR表:
SMR:驗(yàn)證內(nèi)容的起始地址,大小、驗(yàn)證方式、驗(yàn)證密鑰、驗(yàn)證tag存儲位置等;
CR:關(guān)聯(lián)需要驗(yàn)證的SMR、復(fù)位地址、制裁方式等。
④ 根據(jù)SMR配置,執(zhí)行相應(yīng)計(jì)算方式(MAC/Sign),把計(jì)算結(jié)果存儲在對應(yīng)得位置;
⑤ 使能安全啟動(dòng)功能,并執(zhí)行復(fù)位;
⑥ 復(fù)位后,進(jìn)入安全啟動(dòng)流程,啟動(dòng)流程中把計(jì)算結(jié)果和初始值對比驗(yàn)證;
⑦ 驗(yàn)證結(jié)果一致則執(zhí)行APP代碼,否則執(zhí)行CR定義的制裁。
圖 4 高級安全啟動(dòng)
(三) 基于SHE安全啟動(dòng)模式 – SSB(ASB)
如圖 5所示,SSB和ASB的啟動(dòng)流程是很相似的,異同點(diǎn)如下:
① HSE固件同樣通過使用SMR和CR表來進(jìn)行執(zhí)行SSB的啟動(dòng);
② SSB是ASB的一種特殊用法,與ASB的區(qū)別:
SSB只是用SMR#0;
密鑰使用的是SHE BOOT_MAC_KEY;
校驗(yàn)方式是CMAC。
圖 5 基于SHE安全啟動(dòng)模式
以上內(nèi)容講解了S32K3 SecureBoot的全部內(nèi)容,主要介紹了什么是Secure Boot以及三種模式,也便于后續(xù)大家需要用到S32K3的安全啟動(dòng),奠定一定的基礎(chǔ)。
-
cpu
+關(guān)注
關(guān)注
68文章
10905瀏覽量
213031 -
軟件
+關(guān)注
關(guān)注
69文章
5013瀏覽量
88084 -
APP
+關(guān)注
關(guān)注
33文章
1577瀏覽量
72787 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3292瀏覽量
57918
發(fā)布評論請先 登錄
相關(guān)推薦
請問zstack的三種安全模式有什么區(qū)別?
啟動(dòng)Spring Boot項(xiàng)目應(yīng)用的三種方法
STM32的三種啟動(dòng)模式
STM32的三種啟動(dòng)模式
STM32三種啟動(dòng)模式對應(yīng)的存儲介質(zhì)
STM32有三種啟動(dòng)模式
什么是Boot模式?STM32三種Boot模式有什么差異?
STM32的三種Boot模式的差異
STM32三種BOOT啟動(dòng)方式的設(shè)置與應(yīng)用
secure boot相關(guān)的基本概念和框架
安全啟動(dòng)Secure Boot流程
![安全啟動(dòng)<b class='flag-5'>Secure</b> <b class='flag-5'>Boot</b>流程](https://file1.elecfans.com/web2/M00/AC/20/wKgaomVDXzqAMMjWAAB2ByVt58c732.jpg)
評論