本文檔旨在介紹如何在MCXN947微控制器上配置安全啟動和生命周期,以確保產(chǎn)品在量產(chǎn)階段的安全性,防止代碼被竊取和篡改,并且能夠安全地升級更新固件。通過本應(yīng)用筆記,開發(fā)者可以更好地理解和實施安全啟動和固件更新的最佳實踐。
實施簡介
1.1安全固件(Secure Binary)簡介
安全啟動(Secure Binary, SB)提供了一種安全且便捷的方法,用于在制造過程或最終用戶設(shè)備生命周期中燒錄或更新嵌入式設(shè)備的固件。SB文件是一種基于命令的固件更新鏡像。SB文件可以被視為一種腳本(命令和數(shù)據(jù)),ROM是其解釋器。ROM支持3.1版的SB鏡像格式。
SB3.1使用最新的加密算法來確保所攜帶固件的真實性和機密性。啟動時間和安全級別根據(jù)所需用例的最佳匹配來控制多種可用的安全配置?;跈E圓曲線密碼學(xué)(ECC)的數(shù)字簽名確保了SB3.1容器的真實性。使用高級加密標準(AES)的密碼塊鏈接(CBC)模式確保了SB3.1容器的機密性。
1.2生命周期(Lifecycle)簡介
芯片生命周期狀態(tài)用于反映芯片的實際狀態(tài),進一步用于指導(dǎo)芯片在特定時間如何保護其所托管的資產(chǎn)。例如,當(dāng)客戶開發(fā)完項目、進入量產(chǎn)階段,或在終端客戶使用時,芯片的訪問權(quán)限比在開發(fā)階段要少得多。
MCXN947微控制器支持多種安全生命周期狀態(tài),詳細信息請參閱《MCX Nx4x安全參考手冊》中的“生命周期狀態(tài)”章節(jié)。注意,生命周期狀態(tài)是單調(diào)遞增的,這意味著它只能不斷增加,訪問權(quán)限只能更加嚴格。本文是針對現(xiàn)場模式(Infield)配置,確保設(shè)備在部署后的安全性。
1.3 MCUXpresso SEC工具簡介
MCUXpresso安全配置(SEC)工具是一款基于GUI的應(yīng)用程序,用于簡化在恩智浦MCU上生成和配置可啟動的可執(zhí)行文件。該工具可用于生成SB3.1文件和部署MCU安全配置。
實施步驟
2.1準備
2.2步驟
2.2.1恢復(fù)MCU到默認配置
1). ISP模式鏈接MCU
按住 ISP鍵,POR上電啟動。本文使用ISP-USB接口,因此使用USB線連接J11(HS-USB)端口。
2).配置CMPA和CFPA為默認狀態(tài)
打開SEC工具,新建一個工作空間,選擇對應(yīng)的芯片。配置如下:
SEC工具配置方法:
3).燒寫CMPA和CFPA
OK -> Build image, Write image,將配置好的默認的CMPA和CFPA燒寫到MCU內(nèi)。
4).全片擦除Flash
USB連接板子的調(diào)試接口MCU-link。SEC工具選擇debug probe。連接成功后,利用Erase全片擦除。
芯片恢復(fù)為默認狀態(tài),沒有任何使能的安全配置。
2.2.2配置安全啟動和生命周期為現(xiàn)場模式(In-field)
1).生成配置安全啟動的秘鑰
選擇PKI management界面->Generate Keys... ->Generate
2).配置鏡像文件
打開“Build image”界面,配置如下:
Boot:選擇Encrypted (PRINCE/IPED) and signed
Source executable image:選擇應(yīng)用鏡像文件frdmmcxn947_led_blinky_green.s19
Start address: 0x00000000
Firmware version: 1
Authentication key: 4選1,任何一個都可以
CUST_MK_SK:點擊Random隨機數(shù)
OEM seed:點擊Random隨機數(shù)
3).配置CMPA和CFPA
打開CMPA和CFPA,配置使能安全
4).生成配置文件和鏡像文件
配置完成后,Build image生CMPA, CFPA配置文件及SB3格式的鏡像文件。
2.2.3燒錄應(yīng)用程序
1).燒寫配置文件和鏡像文件
打開“Write image”窗口,點擊“Write image”燒寫配置文件及鏡像SB文件。
2).驗證應(yīng)用程
重新上電板子,可以看到綠燈閃爍,應(yīng)用程序正常運行。
然后按住ISP按鍵同時PIN軟件重啟板子(注意此處必須是軟件重啟,CFPA生命周期配置才生效,如果是上電POR重啟CFPA不生效。如果開發(fā)完畢生產(chǎn)階段,用OTP管理生命周期,則可以忽略此處,任何重啟都會檢測OTP的配置。)。
此時,使能了安全啟動和配置生命周期為現(xiàn)場模式。所以此時芯片不再支持SWD接口調(diào)試,也不支持通過ISP讀取Flash內(nèi)容。如果想更新Flash程序,只能通過燒寫一個合格的SB3文件更新。
2.2.4更新應(yīng)用程序
1).制作新的SB3文件
編譯SDK例程frdmmcxn947_led_blinky生成.bin文件或s19文件,具體SEC工具支持的所有格式可以查看SEC手冊。
此處,使用S19文件格式frdmmcxn947_led_blinky_red.s19。
打開SEC工具,最好使用生成第一個應(yīng)用鏡像文件時的工作空間。因為這樣會直接導(dǎo)入所需的秘鑰。然后導(dǎo)入frdmmcxn947_led_blinky_red.s19。
Image firmware version大于0即可。因為我們沒有配置Set minimal firmware version,限定的最小版本號就是0。此處涉及更新防回滾功能,將在以后具體詳解介紹。
配置完成后,板子按住ISP同時上電重啟。然后Build image.則生成frdmmcxn947_led_blinky_red.sb。
2).燒寫新的SB3文件
使用blhost receive-sb-file命令燒寫:
blhost.exe -u0x1fc90x014f receive-sb-file frdmmcxn947_led_blinky_red.sb
燒寫完畢,重啟MCU,開發(fā)板紅燈閃爍說明更新固件成功。
2.2.5驗證安全特性
使能了安全啟動和生命周期配置為現(xiàn)場模式后,MCU不能通過SWD和ISP讀取Flash,保證了客戶代碼的安全,不被盜取和更改。如果想測試是否配置成功,可以通過SWD和ISP接口測試。發(fā)現(xiàn)SWD接口無法連接,ISP可以連接,但不能讀寫。注意,測試前需要按住ISP同時軟件PIN reset,并非重新上電。
注意事項
通過本文檔,開發(fā)者可以了解如何在MCX N947微控制器上配置和管理安全生命周期,確保設(shè)備在不同階段的安全性和可靠性。遵循本文檔中的步驟,可以有效地實現(xiàn)安全啟動和運行,以及升級固件。
作者:Alice Yang
-
微控制器
+關(guān)注
關(guān)注
48文章
7932瀏覽量
154014 -
恩智浦
+關(guān)注
關(guān)注
14文章
5963瀏覽量
114637 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3328瀏覽量
58875 -
生命周期
+關(guān)注
關(guān)注
0文章
18瀏覽量
7507
原文標題:MCX N947安全配置?(Secure Binary + Lifecycle),一文講通!
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
恩智浦MCU MCXN947 基于MCUXpresso Config tools創(chuàng)建IIC的教程步驟

如何在MCXN947板的FlexSPI接口接HyperRAM

關(guān)于將Flash寫入FRDM-MCXN947的問題求解
MCXN947使用ADC并編寫代碼,總是報警告是怎么回事?
MCXN947如何配置和外擴PSRAM?
ServiceAbility的生命周期介紹
《電子發(fā)燒友電子設(shè)計周報》聚焦硬科技領(lǐng)域核心價值 第17期:2025.06.23--2025.06.27
AutoScaling 生命周期掛鉤功能
Synopsys 啟動硅生命周期管理計劃

恩智浦MCX系列MCU的新品MCXN947
使用VSCode調(diào)試FRDM MCXN947開發(fā)板

MCXN947系列高性能微控制器產(chǎn)品介紹

評論