存儲器數(shù)據(jù)的穩(wěn)定可靠是MCU安全運行的基礎,但環(huán)境因素和存儲器本身的物理特性都可能造成存儲器數(shù)據(jù)異常,本文將詳細介紹RAM&ROM常用安全機制。
存儲器(ROM,RAM)數(shù)據(jù)的安全可靠是MCU穩(wěn)定運行的基礎,在汽車功能安全設計中,存儲器相關的安全機制也是系統(tǒng)基本保障的重點之一。通常,不同的汽車芯片都有自己的存儲器校驗機制以及相應的處理手段來保證功能的正常運行。下面會對常見的處理機制進行一些介紹。
RAM的校驗糾錯機制
RAM的校驗機制相對ROM的校驗機制較少,校驗機制基本都屬于MCU本身的特性,通過內部硬件實現(xiàn),對于用戶來說是透明的。而一般用戶使用時也不會主動的對RAM進行校驗。1. Parity BitParity Bit(奇偶校驗位)是一種數(shù)據(jù)校驗機制,常用與判斷數(shù)據(jù)在存儲過程中是否發(fā)生了比特位錯誤。
圖1 奇偶校驗模式可以看到圖1,帶有Parity Bit的內存在每一個字節(jié)(B7~B0)外又額外增加了一個校驗位(C)用于對錯誤進行校驗。Parity Bit有著計算簡單的優(yōu)點,只需要對前面字節(jié)的位進行異或操作:
C = B7^ B6^ B5^ B4^ B3^ B2^ B1^ B0Parity Bit在ECC技術之前,是RAM中應用最多的錯誤檢查技術,當然,現(xiàn)在只有在已經(jīng)很少有CPU用到,因為每1 Byte的數(shù)據(jù)都需要1 bit的校驗位,對于MCU本就很緊張的RAM顯然不合適。另外Parity Bit只具備檢錯能力,并不具備糾錯能力。2. ECC通過上面對Parity Bit的分析可以知道,通過在原來的數(shù)據(jù)1 byte基礎上增加1 bit,可以用來檢查當前1 byte數(shù)據(jù)的正確性。如果數(shù)據(jù)為256 byte就需要256 bit的校驗位,而且出錯的數(shù)據(jù)無法糾正。由于上述的缺點,出現(xiàn)了一種新的存儲檢錯糾錯機制 – ECC。
圖2 檢錯能力對比ECC(Error-Correcting Code),可以譯為檢錯糾錯碼。ECC的計算過程比Parity Bit的計算過程復雜一點,這里不進行過多描述。僅針對ECC的兩個主要特點進行說明:① ECC有極強的檢錯能力ECC的計算方式與Parity Bit不同,當數(shù)據(jù)為1 Byte時,ECC需要5 bit校驗位對數(shù)據(jù)進行校驗,之后數(shù)據(jù)每增加1倍,相應的只需要增加1 bit的ECC 校驗位。可以看到圖2,ECC的檢錯能力相比Parity Bit有極大的提升。② ECC具有糾錯能力當數(shù)據(jù)只有單bit 錯誤時,ECC能夠對錯誤進行修復,但需要注意的是,當數(shù)據(jù)中有超過 2 bit的錯誤同時產(chǎn)生時,ECC不一定能檢測出來,這一點Parity Bit也是一樣。
ROM的檢驗糾錯機制
與復雜的RAM空間相比,ROM空間的操作顯然簡單的多,因此,對于ROM的校驗使用者可以根據(jù)不同的需求,選擇不同的方式。
常用的有hash,CRC,對于大容量ROM,比如Nand Flash同樣也可以使用ECC的方式。基本上,只需要滿足ROM內容和生成的校驗碼存在相對唯一的映射關系即可。
但是用戶自己實現(xiàn)的ROM校驗機制存在不少缺點:校驗失敗沒有靈活的處理措施,對ROM的校驗需要消耗額外MCU資源等。1. HSE隨著汽車產(chǎn)業(yè)的不斷升級,汽車智能化程度也在不斷加深,越來越多的汽車會通過OTA的方式實現(xiàn)客戶的個性化需求。但OTA在增加汽車升級和維護便利性的同時,也給數(shù)據(jù)的安全可靠性帶來了新的考驗。顯然,應用開發(fā)者自己實現(xiàn)的ROM校驗并不足以滿足汽車應用的安全需求,汽車應用上,保證MCU程序的正確運行顯然需要一套更靈活,更完善的校驗機制,并且該校驗機制不僅需要保證數(shù)據(jù)的可靠性,還要保證檢驗機制本身的可靠性。下面會介紹NXP S32系列芯片是如何利用其HSE安全子系統(tǒng)來為ROM數(shù)據(jù)的可靠性提供支持,進而保證汽車應用的安全穩(wěn)定運行的。
圖3 HSE框架HSE(Hardware Security Engine)全稱為硬件安全引擎,用于給對數(shù)據(jù)的可靠性和保密性有嚴格要求的應用提供相應的安全服務。其有以下特點:
獨立的內核,固件,存儲空間;
可以為加密算法提供安全硬件加速;
支持固件升級。
可以看到圖3中,HSE模塊最基礎也最主要的部分是它的Crypto Engine(加密引擎),其可以通過硬件實現(xiàn)加解密/MAC生成校驗/簽名驗簽等功能。因為HSE全面完善的算法和密鑰管理機制,可以利用HSE模塊可以對用戶設定的存儲區(qū)域進行校驗,并根據(jù)檢驗結果執(zhí)行不同的操作,正是HSE安全可靠,設置靈活的特性,構成了MCU安全穩(wěn)定運行的基礎。當然HSE除了能夠為MCU的OTA和安全啟動功能提供可靠保證外,HSE通過硬件加速特性和完善的加解密算法庫還能夠對網(wǎng)絡協(xié)議進行全面可靠的支持,可以實現(xiàn)TLS offload,IP offload,減少網(wǎng)絡協(xié)議的通信時延。
結語
上面提到了一些存儲器常見的校驗方式和NXP S32系列的HSE安全子系統(tǒng),當然無論通過哪種方式,為了實現(xiàn)OTA和越來越多的網(wǎng)絡應用功能,通過MCU實現(xiàn)更加安全可靠的數(shù)據(jù)存儲傳輸都是現(xiàn)在的趨勢。
-
mcu
+關注
關注
146文章
16992瀏覽量
350310 -
存儲器
+關注
關注
38文章
7452瀏覽量
163606 -
RAM
+關注
關注
8文章
1367瀏覽量
114531 -
數(shù)據(jù)存儲
+關注
關注
5文章
963瀏覽量
50858
發(fā)布評論請先 登錄
相關推薦
評論