雙區(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í),芯片可保持對較高安全級(jí)別資源的加密保護(hù)。
該技術(shù)架構(gòu)實(shí)現(xiàn)的芯片安全級(jí)別如表1所示。雙區(qū)域的設(shè)計(jì),表示對于任何一個(gè)區(qū)域來說,另一個(gè)區(qū)域和未被配置為安全區(qū)的區(qū)域皆為“安全區(qū)外”。每個(gè)區(qū)域歸屬于一個(gè)用戶,用戶可以為各自的區(qū)域分配存儲(chǔ)區(qū)域,并通過在USER OTP中對相應(yīng)地址進(jìn)行編程來配置每個(gè)存儲(chǔ)區(qū)域的安全設(shè)置。兩個(gè)獨(dú)立的區(qū)域保證了兩位用戶可以在同一器件上編寫各自的專有代碼,而且保證了其專有代碼的秘密性,防止對方或其他潛在黑客對代碼進(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)試接口對該區(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)將禁用對該存儲(chǔ)區(qū)域的讀寫訪問,僅允許執(zhí)行CPU的取指訪問。同時(shí)USER OTP中還可配置密碼鎖,CRC鎖和JTAG鎖,用以實(shí)現(xiàn)對各區(qū)域128位密碼的保護(hù),對安全區(qū)域資源CRC功能執(zhí)行的禁用和對整個(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)對訪問權(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對資源分區(qū)域管理示例
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398062 -
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
73960 -
架構(gòu)
+關(guān)注
關(guān)注
1文章
532瀏覽量
26589
原文標(biāo)題:代碼分區(qū)的藝術(shù):雙區(qū)域架構(gòu)如何兼顧安全與性能?
文章出處:【微信號(hào):中科本原,微信公眾號(hào):中科本原】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
憶聯(lián)AM6D1以DRAMLess架構(gòu)重塑性能與成本平衡
屏蔽雙絞網(wǎng)線:選擇與安裝的藝術(shù)
深度解析SPL階段A/B分區(qū)啟動(dòng):spl_ab.c代碼全拆解
恩智浦推出基于S32K3的雙芯片區(qū)域控制器解決方案
H橋降壓-升壓電路的瞬態(tài)性能優(yōu)化策略
如何進(jìn)行動(dòng)態(tài)策略的性能測試?
工業(yè)互聯(lián)網(wǎng)架構(gòu)的安全層是如何保障網(wǎng)絡(luò)安全的
安森美如何推動(dòng)區(qū)域控制架構(gòu)進(jìn)化
無法將 XOM 設(shè)置為非安全區(qū)域,為什么?
恩智浦區(qū)域控制開發(fā)驗(yàn)證平臺(tái)的功能
Linux系統(tǒng)安裝技巧與分區(qū)策略
【「DeepSeek 核心技術(shù)揭秘」閱讀體驗(yàn)】第三章:探索 DeepSeek - V3 技術(shù)架構(gòu)的奧秘
雙三相感應(yīng)電機(jī)SVPWM的新型過調(diào)制策略
三相電機(jī)驅(qū)動(dòng)系統(tǒng)逆變器故障補(bǔ)救與容錯(cuò)策略
詳解電動(dòng)汽車的區(qū)域控制架構(gòu)
代碼分區(qū)的藝術(shù):雙區(qū)域架構(gòu)下的安全與性能平衡策略
評(píng)論