作者:sx
01 資料準(zhǔn)備
01Security Key Management Tool用戶手冊(cè)
RA8D1產(chǎn)品頁(yè)面https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra8d1-480-mhz-arm-cortex-m85-based-graphics-microcontroller-helium-and-trustzoneDocumentation條目可以找到并下載到《Security Key Management Tool User’s Manual》,文檔鏈接:https://www.renesas.com/en/document/mat/security-key-management-tool-users-manual
![wKgZoWdD9ceAZUvgAADHYQCtZyk460.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceAZUvgAADHYQCtZyk460.png)
02Security Key Management Tool安裝程序
閱讀文檔可知,瑞薩提供的工具名為Security Key Management Tool,可以在官網(wǎng)首頁(yè)搜索Security Key Management Tool。
![wKgZoWdD9ceAE_xYAADCpE8e3vg163.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceAE_xYAADCpE8e3vg163.png)
進(jìn)入Security Key Management Tool主頁(yè),在Downloads類目可找到:
![wKgaoWdD9ceAK2mMAAEUSpEUl8I662.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAK2mMAAEUSpEUl8I662.png)
為了方便使用,本次使用了Security Key Management Tool V1.07 for Windows,點(diǎn)擊鏈接即可下載。下載完執(zhí)行安裝即可。安裝完打開此工具,點(diǎn)擊菜單欄“幫助”->關(guān)于Security Key Management Tool,在彈出的“幫助-安全密鑰管理工具”下找到“打開用戶手冊(cè)”按鈕,可以找到第一步所述的用戶手冊(cè),中文版本 。
![wKgZoWdD9ceASqd-AAHMfGt29FQ080.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceASqd-AAHMfGt29FQ080.png)
![wKgaoWdD9ceAaYIhAAKqWfECrE4310.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAaYIhAAKqWfECrE4310.png)
03其他文檔和鏈接
3.1Renesas DLM在線服務(wù)系統(tǒng)
在Security Key Management Tool生成UFPK(用戶工廠燒錄密鑰)后,界面提示需要登錄Renesas密鑰封裝服務(wù)頁(yè)面:
https://dlm.renesas.com/keywrap/
首次使用需要注冊(cè)->交換GPG key,具體過(guò)程在下一步FAQ中獲取的Manual有詳細(xì)描述,由于是首次使用,在這一步花了些時(shí)間。
注冊(cè)并登錄后可以通過(guò)FAQ->“Is there a manual of this system?”獲取系統(tǒng)使用幫助。
![wKgaoWdD9ceAFeUmAADAO7e0_84784.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAFeUmAADAO7e0_84784.png)
具體鏈接:https: // dlm. renesas. com/ manual/ KeyWrap_ Service_ Operation_ Manual. pdf
3.2基于RA芯片的應(yīng)用手冊(cè)《Injecting and Updating Secure User Keys》和示例代碼
https://www.renesas.com/en/document/apn/injecting-and-updating-secure-user-keys-ra-family-application-project
![wKgZoWdD9ceAcHt3AAFZ6p_bMkE429.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceAcHt3AAFZ6p_bMkE429.png)
關(guān)于RA系列產(chǎn)品SCE操作模式
https://www.renesas.com/en/document/apn/secure-crypto-engine-operational-modes-application-note#:~:text=The+Secure+Crypto+Engine+9,Compatibility+Mode+and+Protected+Mode.
3.3基于RA芯片的應(yīng)用手冊(cè)《Injecting Plaintext User Keys》和示例代碼
https://www.renesas.com/en/document/apn/injecting-plaintext-user-keys-application-project?r=25456556
![wKgZoWdD9ceABfUuAADksU9p0qg265.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceABfUuAADksU9p0qg265.png)
3.4FSP v5.0.0和FSP v5.5.0
FSP v5.0.0可配合上面2,3小節(jié)的Demo,無(wú)需更改調(diào)試配置;
FSP v5.5.0包含第二節(jié)所述例程,默認(rèn)安裝e2studio 2024.07版本會(huì)自動(dòng)安裝好FSP v5.5.0,此種情況如果要增加v5.0.0可以下載FSP Pack v5.0.0進(jìn)行安裝。
RA8D1產(chǎn)品頁(yè)面FSP:
![wKgaoWdD9ceAYVEJAAE3WDIr8B4436.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAYVEJAAE3WDIr8B4436.png)
FSP github路徑:
https://github.com/renesas/fsp/releases
![wKgaoWdD9ceAQJTYAACAR5MYdOk731.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAQJTYAACAR5MYdOk731.png)
4.5RA8D1官方例程
https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra8d1-480-mhz-arm-cortex-m85-based-graphics-microcontroller-helium-and-trustzone?sam_secondary=visible#design_development
![wKgZoWdD9ceAZ65yAAEuNPJiAyU673.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceAZ65yAAEuNPJiAyU673.png)
使用這里的示例"mbed_crypto_ek_ra8d1_ep"與所述前“Injecting and Updating Secure User Keys”基本相同。
也即,如前述應(yīng)用手冊(cè)對(duì)應(yīng)代碼未下載,直接用這個(gè)工程也可完成AES密鑰封裝驗(yàn)證。
02 準(zhǔn)備工作
01SKMT生成所需文件
1.1 打開Security Key Management Tool
![wKgZoWdD9ceAX1wYAAGakCAXYrs049.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ceAX1wYAAGakCAXYrs049.png)
設(shè)置如上圖UFPK值和存儲(chǔ)路徑,點(diǎn)擊“生成UFPK密鑰文件”。
? DLM官網(wǎng)生成W-UFPK
詳細(xì)步驟參考文檔《Injecting and Updating Secure User Keys》章節(jié):4. Wrapping the User Factory Programming Key Using the Renesas Key Wrap Service
? 封裝AES密鑰
詳細(xì)步驟參考文檔《Injecting and Updating Secure User Keys》章節(jié):6.1 Wrap an AES-128 User Key Using the UFPK for RSIP-E51A Compatibility Mode
![wKgaoWdD9ceAPTpoAAI6DRbySew194.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ceAPTpoAAI6DRbySew194.png)
切換到密鑰數(shù)據(jù)文件選項(xiàng)卡,輸入明文密鑰:000102030405060708090a0b0c0d0e0f
![wKgaoWdD9ciAHg21AAHlmQ9cwPU595.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ciAHg21AAHlmQ9cwPU595.png)
1.2DLM官網(wǎng)生成W-UFPK
詳細(xì)步驟參考文檔《Injecting and Updating Secure User Keys》章節(jié):4. Wrapping the User Factory Programming Key Using the Renesas Key Wrap Service。
1.3封裝AES密鑰
詳細(xì)步驟參考文檔《Injecting and Updating Secure User Keys》章節(jié):6.1 Wrap an AES-128 User Key Using the UFPK for RSIP-E51A Compatibility Mode。
圖片
切換到密鑰數(shù)據(jù)文件選項(xiàng)卡,輸入明文密鑰:000102030405060708090a0b0c0d0e0f。
1.4點(diǎn)擊生成文件按鈕
生成的封裝AES密鑰的結(jié)構(gòu)體數(shù)據(jù)。
const RA8M1_AES128_t g_RA8M1_AES128 = { /* uint32_t keytype; */ 0x00000005, /* uint32_t shared_key_number; */ 0x00000000, /* uint8_t wufpk[32]; */ { 0x6A, 0x7C, 0x31, 0xF9, 0xB8, 0x2E, 0x7B, 0xF5, 0xC5, 0xCE, 0x0F, 0x66, 0x14, 0xCE, 0x63, 0x4C, 0x6A, 0x7C, 0x31, 0xF9, 0xB8, 0x2E, 0x7B, 0xF5, 0xC5, 0xCE, 0x0F, 0x66, 0x14, 0xCE, 0x63, 0x4C }, /* uint8_t initial_vector[16]; */ { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }, /* uint8_t encrypted_user_key[ENCRYPTED_KEY_BYTE_SIZE]; */ { 0xFD, 0xE4, 0xFB, 0xAE, 0x4A, 0x09, 0xE0, 0x20, 0xEF, 0xF7, 0x22, 0x96, 0x9F, 0x83, 0x83, 0x2B, 0x7A, 0xDF, 0x8A, 0x36, 0x63, 0xAE, 0x23, 0x54, 0xF5, 0x91, 0xC7, 0x03, 0x1B, 0x8A, 0x52, 0xB0 }, /* uint8_t crc[4]; */ { 0x43, 0x7F, 0x0D, 0x70 }, };
02使用外部AES計(jì)算工具計(jì)算后續(xù)調(diào)試過(guò)程的明文、IV、密文
百度搜索"AES在線加密"找到一個(gè)網(wǎng)頁(yè):https://www.lddgo.net/encrypt/aes。
![wKgZoWdD9ciAYPAaAADzFTwJHrk683.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ciAYPAaAADzFTwJHrk683.png)
除1、2、3、4外其他幾項(xiàng):
? 加密模式:CBC
? 填充:nopadding
? 密碼格式、偏移量格式、輸入格式、輸出格式:hex
點(diǎn)擊AES加密選項(xiàng)可知:
明文:
00000000000000000000000000000000
通過(guò)密鑰:
000102030405060708090a0b0c0d0e0f
加密為:
c6a13b37878f5b826f4f8162a1c8d879
03 調(diào)試和結(jié)果確認(rèn)
01 按3所述例程導(dǎo)入工程后生成代碼
![wKgaoWdD9ciAK1giAAEFpBH_K4M374.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ciAK1giAAEFpBH_K4M374.png)
02將準(zhǔn)備工作章節(jié)內(nèi)容替換成我們的測(cè)試密鑰和測(cè)試結(jié)果
![wKgaoWdD9ciATVwDAAFGdGy4jSg780.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ciATVwDAAFGdGy4jSg780.png)
03編譯和調(diào)試
![wKgaoWdD9ciATVwDAAFGdGy4jSg780.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ciATVwDAAFGdGy4jSg780.png)
這個(gè)設(shè)置比較重要,未設(shè)置正確的話后續(xù)程序會(huì)HardFault,需使用集成到e2studio IDE的Renesas Device Partition Manager執(zhí)行設(shè)備初始化。
![wKgZoWdD9ciAPcLWAADso98bkKw769.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ciAPcLWAADso98bkKw769.png)
具體過(guò)程:
? 選中“Initialize device back to factory default”
? 點(diǎn)擊Run
? 取消選中“Initialize device back to factory default”
? 點(diǎn)擊Run
? 確認(rèn)打印以下內(nèi)容:
Current status of the device
DLM state : Original Equipment Manufacturer (OEM)
Protection level (PL) : PL2
Authentication level (AL) : AL2
Secure/NSC memory partition size :
- Code Flash Secure (kB) : 16352
- Data Flash Secure (kB) : 63
END of current status of the device.
![wKgZoWdD9ciAaBMeAAMWi5O1VwQ746.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ciAaBMeAAMWi5O1VwQ746.png)
04跟蹤程序或者打開J-Link RTT viewer V7.96觀察程序的Trace輸出
![wKgaoWdD9ciADb2xAAFXVIrlyhw487.png](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD9ciADb2xAAFXVIrlyhw487.png)
if語(yǔ)句時(shí)進(jìn)入else表示與我們網(wǎng)頁(yè)計(jì)算結(jié)果相同,程序密文如圖調(diào)試結(jié)果顯示數(shù)組。
![wKgZoWdD9ciAEiY2AADHpfjcjQI626.png](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9ciAEiY2AADHpfjcjQI626.png)
04 總結(jié)
本次實(shí)踐完成了RA8D1芯片AES密鑰封裝和芯片上加解密功能驗(yàn)證,后續(xù)可繼續(xù)RSA、ECC、哈希等功能進(jìn)行調(diào)試驗(yàn)證。
-
芯片
+關(guān)注
關(guān)注
456文章
51168瀏覽量
427206 -
瑞薩
+關(guān)注
關(guān)注
35文章
22310瀏覽量
86736
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【瑞薩RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)
如何在RA8D1 MIPI LCD上顯示任意內(nèi)容
![如何在<b class='flag-5'>RA8D1</b> MIPI LCD上顯示任意內(nèi)容](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
【瑞薩RA8D1 CPK開發(fā)板試用】開箱與點(diǎn)燈
基于Arm Cortex-CM85內(nèi)核的RA8D1作為控制器 通過(guò)MIPI DSI實(shí)現(xiàn)LVGL顯示
![基于Arm Cortex-CM85內(nèi)核的<b class='flag-5'>RA8D1</b>作為控制器 通過(guò)MIPI DSI實(shí)現(xiàn)LVGL顯示](https://file1.elecfans.com/web2/M00/ED/59/wKgaomZitWuAOqWNAACBUodRsT4191.png)
基于瑞薩電子RA系列的野火耀陽(yáng)RA8D1開發(fā)板產(chǎn)品簡(jiǎn)介
![基于瑞薩電子<b class='flag-5'>RA</b>系列的野火耀陽(yáng)<b class='flag-5'>RA8D1</b>開發(fā)板產(chǎn)品簡(jiǎn)介](https://file1.elecfans.com/web2/M00/EB/03/wKgaomZWyWqAF2l3AAAbN7pwg2I917.jpg)
《RA8D1 Vision Board開發(fā)實(shí)踐指南》上線啦
![《<b class='flag-5'>RA8D1</b> Vision Board開發(fā)<b class='flag-5'>實(shí)踐</b>指南》上線啦](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1-Vision Board開箱使用
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board Camera 初體驗(yàn)
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board初體驗(yàn)
RA8D1 Vision Board上的SPI loopback測(cè)試
![<b class='flag-5'>RA8D1</b> Vision Board上的SPI loopback測(cè)試](https://file1.elecfans.com/web2/M00/D5/61/wKgZomYmhR-AC-OjAAFQXPBsYLs808.png)
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board上的SPI實(shí)踐
瑞薩RA8D1 CEU介紹與使用說(shuō)明
![瑞薩<b class='flag-5'>RA8D1</b> CEU介紹與使用說(shuō)明](https://file1.elecfans.com/web2/M00/C0/44/wKgZomXUJ9-AeK4aAAAZndD3W_c276.png)
評(píng)論