雙區(qū)域代碼安全模塊(Dual Code Security Module),通常簡稱為DCSM,是一種用于增強(qiáng)微控制器(MCU)代碼安全性的設(shè)計(jì)。
雙區(qū)域代碼安全模塊的設(shè)計(jì)提供了將關(guān)鍵程序和數(shù)據(jù)存儲(chǔ)在隔離的內(nèi)存部分的功能,防止未經(jīng)授權(quán)讀取或修改專有代碼。該功能通過將內(nèi)部存儲(chǔ)劃分為兩個(gè)獨(dú)立區(qū)域(區(qū)域一和區(qū)域二)并分別配置其信息來控制片上資源的訪問權(quán)限。每個(gè)區(qū)域可設(shè)置獨(dú)立的128位解鎖密鑰,可將片上資源的安全級(jí)別進(jìn)行分級(jí):在訪問較低安全級(jí)別的資源時(shí),芯片可保持對(duì)較高安全級(jí)別資源的加密保護(hù)。
該技術(shù)架構(gòu)實(shí)現(xiàn)的芯片安全級(jí)別如表1所示。雙區(qū)域的設(shè)計(jì),表示對(duì)于任何一個(gè)區(qū)域來說,另一個(gè)區(qū)域和未被配置為安全區(qū)的區(qū)域皆為“安全區(qū)外”。每個(gè)區(qū)域歸屬于一個(gè)用戶,用戶可以為各自的區(qū)域分配存儲(chǔ)區(qū)域,并通過在USER OTP中對(duì)相應(yīng)地址進(jìn)行編程來配置每個(gè)存儲(chǔ)區(qū)域的安全設(shè)置。兩個(gè)獨(dú)立的區(qū)域保證了兩位用戶可以在同一器件上編寫各自的專有代碼,而且保證了其專有代碼的秘密性,防止對(duì)方或其他潛在黑客對(duì)代碼進(jìn)行攻擊。
密碼是否匹配解鎖 | 被訪問的區(qū)域配置 | 程序執(zhí)行地址 | 保護(hù)行為描述 |
否 | 配置為安全區(qū) | 安全區(qū)外 | 只有CPU的取指是被允許的。區(qū)域內(nèi)的代碼只可以被執(zhí)行,不可以被讀取。 |
否 | 配置為安全區(qū) | 安全區(qū)內(nèi) | CPU擁有全部的訪問權(quán)限,但JTAG調(diào)試接口不可以執(zhí)行讀操作。 |
是 | 配置為非安全區(qū) | 任何位置 | CPU和JTAG調(diào)試接口對(duì)該區(qū)域有全部的訪問權(quán)限。 |
表1芯片安全級(jí)別 以中科本原FDM320R0049芯片為例,該芯片中可配置為安全區(qū)域的資源包括Flash和LS0-LS7 RAM。用戶可在Flash的USER OTP中將上述資源(包括Flash中的32各扇區(qū)和LS0-LS7 RAM共40個(gè)存儲(chǔ)區(qū)域)配置為區(qū)域一或區(qū)域二的安全資源。用戶可選擇將配置為安全資源的存儲(chǔ)區(qū)域的訪問權(quán)限設(shè)置為“僅執(zhí)行”,此狀態(tài)將禁用對(duì)該存儲(chǔ)區(qū)域的讀寫訪問,僅允許執(zhí)行CPU的取指訪問。同時(shí)USER OTP中還可配置密碼鎖,CRC鎖和JTAG鎖,用以實(shí)現(xiàn)對(duì)各區(qū)域128位密碼的保護(hù),對(duì)安全區(qū)域資源CRC功能執(zhí)行的禁用和對(duì)整個(gè)芯片JTAG功能的禁用。
圖1 DCSM與核和外設(shè)交互
用戶通過總線向DCSM輸入128位密鑰,該密鑰與其中存放的128位密碼比較,產(chǎn)生解鎖結(jié)果。該結(jié)果結(jié)合Flash各扇區(qū)和RAM各塊的從屬配置信息產(chǎn)生各存儲(chǔ)區(qū)域最終的從屬狀態(tài)、僅執(zhí)行保護(hù)狀態(tài)和不可訪問狀態(tài),同時(shí)不可訪問的狀態(tài)信息將發(fā)送給Flash和RAM。
CPU向DCSM發(fā)送讀寫訪問地址,經(jīng)過地址判斷,結(jié)合區(qū)域配置信息產(chǎn)生該訪問地址從屬于區(qū)域一或區(qū)域二或非安全區(qū)的結(jié)果。該結(jié)果結(jié)合區(qū)域解鎖狀態(tài)產(chǎn)生訪問是否可以執(zhí)行的判斷。最終DCSM將訪問使能結(jié)果返回CPU。CLA的訪問使能同CPU一樣,就不再贅述。
雙區(qū)域代碼安全架構(gòu)提供的安全級(jí)別能夠?qū)崿F(xiàn)對(duì)訪問權(quán)限的分級(jí)管理,提高了芯片的數(shù)據(jù)安全性和可用性,通過合理配置和使用DCSM,開發(fā)者可以有效保護(hù)其知識(shí)產(chǎn)權(quán),防止未授權(quán)的代碼訪問和篡改。如圖2,在工業(yè)控制領(lǐng)域,DCSM可以用于保護(hù)自動(dòng)化控制系統(tǒng)中的專有算法和關(guān)鍵操作程序:通過將控制邏輯劃分為兩個(gè)獨(dú)立的安全區(qū)域,可以將安全關(guān)鍵的控制代碼和非安全關(guān)鍵的維護(hù)代碼分別存儲(chǔ)在不同的安全區(qū)域中,并使用兩套獨(dú)立的密碼進(jìn)行保護(hù),確保只有授權(quán)的工程師能夠訪問和修改控制邏輯。這樣可以有效防止未授權(quán)的訪問和潛在的工業(yè)間諜活動(dòng),同時(shí)也便于軟件的維護(hù)和升級(jí)。
圖2 DCSM對(duì)資源分區(qū)域管理示例
-
mcu
+關(guān)注
關(guān)注
146文章
17970瀏覽量
366574 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70694 -
架構(gòu)
+關(guān)注
關(guān)注
1文章
528瀏覽量
25978
原文標(biāo)題:代碼分區(qū)的藝術(shù):雙區(qū)域架構(gòu)如何兼顧安全與性能?
文章出處:【微信號(hào):中科本原,微信公眾號(hào):中科本原】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
雙三相感應(yīng)電機(jī)SVPWM的新型過調(diào)制策略
三相電機(jī)驅(qū)動(dòng)系統(tǒng)逆變器故障補(bǔ)救與容錯(cuò)策略
詳解電動(dòng)汽車的區(qū)域控制架構(gòu)

DLP6500FYE偶爾部分區(qū)域不顯示圖形是怎么回事?
《DNESP32S3使用指南-IDF版_V1.6》第七章 分區(qū)表
測(cè)量ADS1292RECG-FE的阻抗的過程中, 發(fā)現(xiàn)有部分區(qū)域是非線性的,為什么?
迅為RK3568開發(fā)板傳統(tǒng)分區(qū)和定制擴(kuò)展分區(qū)鏡像對(duì)比
測(cè)試功放性能時(shí)輸入是需要選擇平衡輸入還是非平衡輸入?
海外HTTP安全挑戰(zhàn)與應(yīng)對(duì)策略
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得
使用FAL分區(qū)管理與easyflash變量管理

請(qǐng)問平衡電阻只對(duì)雙極運(yùn)放有作用,對(duì)mos型的運(yùn)放意義不大?
RK3568修改eMMC分區(qū)大小

區(qū)域架構(gòu)和 MCU I/O 擴(kuò)展

評(píng)論