這篇博客文章是三部分系列的第 2 部分,旨在讓讀者基本了解什么是安全啟動(dòng)以及為什么需要它。
RH850 MCU 上有 2 種安全 IP,ICU-S 和 ICU-M。在這篇博客文章中,我們介紹了如何在這兩種類型的設(shè)備上實(shí)現(xiàn)安全啟動(dòng)。
ICU-S 和 ICU-M 中的安全啟動(dòng)可以基于 HIS(現(xiàn)為 AUTOSAR)安全硬件擴(kuò)展(SHE)規(guī)范來實(shí)現(xiàn)。如果您想了解有關(guān) SHE 規(guī)范的更多信息,請(qǐng)參閱 AUTOSAR SHE(URL:安全硬件擴(kuò)展規(guī)范 (autosar.org))。每個(gè)人都可以從 AUTSAR SHE 站點(diǎn)獲得 SHE 規(guī)范。
RH850上使用ICU-S的安全啟動(dòng)實(shí)現(xiàn)方法
ICU-S 是相當(dāng)于 EVITA light 的智能密碼單元。
安全軟件適用于 ICU-S MCU 中的主處理器元件 (MainPE)。MainPE 可以通過 ICUS 的特殊功能寄存器接口使用 ICU-S 模塊中的硬件資源,例如加密加速器和安全密鑰存儲(chǔ)。
ICU-S 沒有專用的純安全 CPU。安全啟動(dòng)從非安全 CPU (PE1) 運(yùn)行。為防止篡改,初始安全啟動(dòng)邏輯存儲(chǔ)在一次性程序 (OTP) 存儲(chǔ)器中。重置向量必須指向這個(gè)不可變的代碼以防止篡改。與 OTP 一起,ICUS 設(shè)備上的安全啟動(dòng)使用安全啟動(dòng) MAC 密鑰和存儲(chǔ)在 ICUS 中受保護(hù)的安全啟動(dòng) MAC 插槽。在這個(gè)策略中,OTP 內(nèi)存和ICUS 創(chuàng)建了信任根。
方法總結(jié):
硬件信任根:
OTP閃存和ICUS中受保護(hù)的密鑰存儲(chǔ)
防篡改:
MAC 和 MAC 密鑰安全地存儲(chǔ)在受保護(hù)的 ICUS 內(nèi)存中
密碼算法
CMAC ( NIST SP 800-38B )
在 RH850 上使用 ICUS 的分段安全啟動(dòng)示例:
MCU 復(fù)位后,CPU(PE1) 啟動(dòng)并運(yùn)行位于 OTP 內(nèi)存中的安全啟動(dòng)程序。
安全引導(dǎo)程序驗(yàn)證用戶程序 A。
安全啟動(dòng)程序根據(jù)用戶程序 A 和啟動(dòng) MAC 密鑰計(jì)算 CMAC 值。
安全啟動(dòng)程序驗(yàn)證計(jì)算結(jié)果和“程序 A 的 CMAC 值” (注 1)。
如果步驟 2 中的驗(yàn)證通過,PE1 運(yùn)行用戶程序 A,并在 ICU-S 的幫助下驗(yàn)證用戶程序 B。
與步驟 2 相同(程序 A -》 程序 B)。
如果步驟 3 中的驗(yàn)證通過,則 PE1 執(zhí)行用戶程序(程序 B)。
注 1:“程序 A 的 CMAC 值”可以注冊(cè)在 ICU-S 管理的安全數(shù)據(jù)閃存上
RH850上使用ICU-M的安全啟動(dòng)實(shí)現(xiàn)方法
ICU-M 是符合 EVITA 中等用例的瑞薩智能密碼單元。
具有 ICU-M 的 MCU 有一個(gè)單獨(dú)的 ICU-M 處理器,稱為智能密碼單元處理器 (ICUP)。安全軟件完全在 ICUP 上運(yùn)行。ICUP 可以獨(dú)占訪問 ICU-M 中的硬件資源,例如加密加速器和安全閃存。此外,ICUP 可以訪問一些共享資源以與主處理器元件 (MainPE) 進(jìn)行通信。
在 MainPE 上運(yùn)行的應(yīng)用軟件不能直接訪問 ICU-M 中的資源,例如加密加速器和安全閃存。因此,MainPE 必須通過定義好的通信接口向 ICUP 請(qǐng)求安全服務(wù)。該接口由 ICUM 固件設(shè)計(jì)定義。具有 ICUM 的 MCU 支持通過共享內(nèi)存郵箱和處理器間中斷進(jìn)行處理器間通信。
在具有 ICUM 的設(shè)備上,安全啟動(dòng)從安全 ICUP 運(yùn)行。初始安全啟動(dòng)邏輯存儲(chǔ)在僅 ICU-M 可訪問的安全代碼存儲(chǔ)中。安全啟動(dòng)實(shí)施使用存儲(chǔ)在受保護(hù) ICUM 數(shù)據(jù)閃存中的安全啟動(dòng)密鑰驗(yàn)證應(yīng)用程序。安全啟動(dòng)密鑰和 ICUM 構(gòu)成了硬件“信任根”。復(fù)位后, ICUP 首先啟動(dòng)并執(zhí)行應(yīng)用軟件的安全啟動(dòng)。驗(yàn)證后, ICUP 將 MCU 中的其他處理器元件從復(fù)位狀態(tài)釋放并開始運(yùn)行。如前所述,ICU-M 中的硬件資源,例如加密加速器和安全閃存,由 ICUP 獨(dú)占訪問。
方法總結(jié):
硬件信任根:
ICU-M硬件。和安全代碼閃存上的安全啟動(dòng)程序。(攻擊者無法更改受 ICU-M 硬件保護(hù)的安全啟動(dòng)程序)
防篡改:
引導(dǎo) MAC 存儲(chǔ)在受保護(hù)的數(shù)據(jù)閃存中,只有 ICUM 可以訪問。
密碼算法:
CMAC ( NIST SP 800-38B )
RSA 數(shù)字簽名算法
在 RH850 MCU 中使用 ICUM 的分階段安全啟動(dòng)示例(對(duì)稱算法)
ICUP 配置為 MCU 復(fù)位后的引導(dǎo)處理器。
用戶程序 A 由 ICU-M 中的安全啟動(dòng)程序驗(yàn)證。
安全啟動(dòng)程序根據(jù)用戶程序 A 和啟動(dòng) MAC 密鑰計(jì)算 CMAC 值。
安全啟動(dòng)程序驗(yàn)證計(jì)算結(jié)果和“程序 A 的 CAMC 值”。
如果步驟 2 中的驗(yàn)證通過,CPU(PE1) 由 ICUM(安全軟件)啟動(dòng)
PE1 運(yùn)行用戶程序 A 并驗(yàn)證用戶程序 B 使用安全軟件。
與步驟 2 相同(程序 A -》 程序 B)。
如果步驟 4 中的驗(yàn)證通過,則用戶程序 B 由 PE1 操作。
在 RH850 MCU 中使用 ICUM 的分階段安全啟動(dòng)示例(非對(duì)稱算法)
ICUP 配置為 MCU 復(fù)位后的引導(dǎo)處理器。
用戶程序 A 由 ICU-M 中的安全啟動(dòng)程序驗(yàn)證。
安全啟動(dòng)程序計(jì)算來自用戶程序 A 的消息摘要(哈希)。
安全啟動(dòng)程序根據(jù)程序 A 的簽名和公鑰計(jì)算消息摘要。
安全啟動(dòng)程序驗(yàn)證這兩個(gè)消息摘要。
如果步驟 2 中的驗(yàn)證通過,CPU(PE1) 由 ICUM(安全軟件)啟動(dòng)
PE1 運(yùn)行用戶程序 A 并驗(yàn)證用戶程序 B 使用安全軟件。
與步驟 2 相同(程序 A -》 程序 B)。
如果步驟 4 中的驗(yàn)證通過,則用戶程序 B 由 PE1 操作。
結(jié)論
總之…
ICU-S和ICU-M可以做“信任根”和“信任鏈”。
ICU-S 和 ICU-M 中的安全啟動(dòng)可以基于 AUTOSAR (SHE) HIS 實(shí)現(xiàn)。
ICU-M中的安全啟動(dòng)可以基于簽名驗(yàn)證來實(shí)現(xiàn)。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19440瀏覽量
231321 -
mcu
+關(guān)注
關(guān)注
146文章
17358瀏覽量
352813 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7530瀏覽量
164413
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【瑞薩RA2L1入門學(xué)習(xí)】05、待機(jī)模式按鍵外部中斷喚醒 低功耗測(cè)試
適配器電源IC U231X集合高效率、安全性、小體積多重優(yōu)勢(shì)
![適配器電源IC U231X集合高效率、<b class='flag-5'>安全</b>性、小體積多重優(yōu)勢(shì)](https://file.elecfans.com/web2/M00/3F/D6/poYBAGJqO7eAPdiKAAAI2RTYaos360.jpg)
【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】按鍵點(diǎn)燈:使用輪詢方式和中斷方式實(shí)現(xiàn)
MHMF084L1S9M-MINAS A6 系列 Block動(dòng)作應(yīng)用說明資料 -Modbus啟動(dòng)- 松下
![MHMF084L1<b class='flag-5'>S9M</b>-MINAS A6 系列 Block動(dòng)作應(yīng)用說明資料 -Modbus<b class='flag-5'>啟動(dòng)</b>- 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
buildroot中添加nodejs后推薦加哪些包?
如何在MSP430?上實(shí)現(xiàn)內(nèi)置振蕩器的高精度定時(shí)器
![如<b class='flag-5'>何在</b>MSP430?<b class='flag-5'>上</b><b class='flag-5'>實(shí)現(xiàn)</b>內(nèi)置振蕩器的高精度定時(shí)器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何在反激式拓?fù)渲?b class='flag-5'>實(shí)現(xiàn)軟啟動(dòng)
![如<b class='flag-5'>何在</b>反激式拓?fù)渲?b class='flag-5'>實(shí)現(xiàn)</b>軟<b class='flag-5'>啟動(dòng)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何在DRA821U上使用Linux實(shí)現(xiàn)快速引導(dǎo)
![如<b class='flag-5'>何在</b>DRA821U<b class='flag-5'>上</b>使用Linux<b class='flag-5'>實(shí)現(xiàn)</b>快速引導(dǎo)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
33W自帶恒率GAN快充電源ic U8733
![33W自帶恒率GAN快充電源ic U8733](https://file.elecfans.com/web2/M00/3F/D6/poYBAGJqO7eAPdiKAAAI2RTYaos360.jpg)
18W LED驅(qū)動(dòng)電源ic U6271S 回歸節(jié)能本性
![18W LED驅(qū)動(dòng)電源ic U6271<b class='flag-5'>S</b> 回歸節(jié)能本性](https://file.elecfans.com/web2/M00/3F/D6/poYBAGJqO7eAPdiKAAAI2RTYaos360.jpg)
tc377在線調(diào)試和離線調(diào)試的區(qū)別是什么?
手機(jī)充電器ic U62143S大大提高配置效率
![手機(jī)充電器ic U62143<b class='flag-5'>S</b>大大提高配置效率](https://file.elecfans.com/web2/M00/3F/D6/poYBAGJqO7eAPdiKAAAI2RTYaos360.jpg)
TDK的InvenSense SmartSonic ICU-10201 (ToF)傳感器集成SoC
宏集eX700M系列HMI實(shí)現(xiàn)港口設(shè)備數(shù)據(jù)上云
![宏集eX700<b class='flag-5'>M</b>系列HMI<b class='flag-5'>實(shí)現(xiàn)</b>港口<b class='flag-5'>設(shè)備</b>數(shù)據(jù)<b class='flag-5'>上</b>云](https://file1.elecfans.com/web2/M00/CB/92/wKgaomYfOnuAThqPAAf5_Nq_nqs550.png)
手術(shù)室、ICU(CCU)監(jiān)護(hù)病房醫(yī)用隔離電源絕緣監(jiān)測(cè)裝置
![手術(shù)室、<b class='flag-5'>ICU</b>(CCU)監(jiān)護(hù)病房醫(yī)用隔離電源絕緣監(jiān)測(cè)裝置](https://file1.elecfans.com//web2/M00/C1/D5/wKgZomXe5vaAT2SGAAA-cbn5WkU782.png)
評(píng)論