0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RAM、ROM常用安全機(jī)制

科技綠洲 ? 來源:立功科技 ? 作者:立功科技 ? 2022-06-13 14:48 ? 次閱讀

存儲(chǔ)器數(shù)據(jù)的穩(wěn)定可靠是MCU安全運(yùn)行的基礎(chǔ),但環(huán)境因素和存儲(chǔ)器本身的物理特性都可能造成存儲(chǔ)器數(shù)據(jù)異常,本文將詳細(xì)介紹RAM&ROM常用安全機(jī)制。

存儲(chǔ)器(ROM,RAM)數(shù)據(jù)的安全可靠是MCU穩(wěn)定運(yùn)行的基礎(chǔ),在汽車功能安全設(shè)計(jì)中,存儲(chǔ)器相關(guān)的安全機(jī)制也是系統(tǒng)基本保障的重點(diǎn)之一。通常,不同的汽車芯片都有自己的存儲(chǔ)器校驗(yàn)機(jī)制以及相應(yīng)的處理手段來保證功能的正常運(yùn)行。下面會(huì)對(duì)常見的處理機(jī)制進(jìn)行一些介紹。

RAM的校驗(yàn)糾錯(cuò)機(jī)制

RAM的校驗(yàn)機(jī)制相對(duì)ROM的校驗(yàn)機(jī)制較少,校驗(yàn)機(jī)制基本都屬于MCU本身的特性,通過內(nèi)部硬件實(shí)現(xiàn),對(duì)于用戶來說是透明的。而一般用戶使用時(shí)也不會(huì)主動(dòng)的對(duì)RAM進(jìn)行校驗(yàn)。1. Parity BitParity Bit(奇偶校驗(yàn)位)是一種數(shù)據(jù)校驗(yàn)機(jī)制,常用與判斷數(shù)據(jù)在存儲(chǔ)過程中是否發(fā)生了比特位錯(cuò)誤。

pYYBAGKm3YSALt5-AAAT2QbpJIg793.png

圖1 奇偶校驗(yàn)?zāi)J娇梢钥吹綀D1,帶有Parity Bit的內(nèi)存在每一個(gè)字節(jié)(B7~B0)外又額外增加了一個(gè)校驗(yàn)位(C)用于對(duì)錯(cuò)誤進(jìn)行校驗(yàn)。Parity Bit有著計(jì)算簡(jiǎn)單的優(yōu)點(diǎn),只需要對(duì)前面字節(jié)的位進(jìn)行異或操作:

C = B7^ B6^ B5^ B4^ B3^ B2^ B1^ B0Parity Bit在ECC技術(shù)之前,是RAM中應(yīng)用最多的錯(cuò)誤檢查技術(shù),當(dāng)然,現(xiàn)在只有在已經(jīng)很少有CPU用到,因?yàn)槊? Byte的數(shù)據(jù)都需要1 bit的校驗(yàn)位,對(duì)于MCU本就很緊張的RAM顯然不合適。另外Parity Bit只具備檢錯(cuò)能力,并不具備糾錯(cuò)能力。2. ECC通過上面對(duì)Parity Bit的分析可以知道,通過在原來的數(shù)據(jù)1 byte基礎(chǔ)上增加1 bit,可以用來檢查當(dāng)前1 byte數(shù)據(jù)的正確性。如果數(shù)據(jù)為256 byte就需要256 bit的校驗(yàn)位,而且出錯(cuò)的數(shù)據(jù)無法糾正。由于上述的缺點(diǎn),出現(xiàn)了一種新的存儲(chǔ)檢錯(cuò)糾錯(cuò)機(jī)制 – ECC。

poYBAGKm3ZSAa9pAAAAhkQrXSWM972.png

圖2 檢錯(cuò)能力對(duì)比ECC(Error-Correcting Code),可以譯為檢錯(cuò)糾錯(cuò)碼。ECC的計(jì)算過程比Parity Bit的計(jì)算過程復(fù)雜一點(diǎn),這里不進(jìn)行過多描述。僅針對(duì)ECC的兩個(gè)主要特點(diǎn)進(jìn)行說明:① ECC有極強(qiáng)的檢錯(cuò)能力ECC的計(jì)算方式與Parity Bit不同,當(dāng)數(shù)據(jù)為1 Byte時(shí),ECC需要5 bit校驗(yàn)位對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),之后數(shù)據(jù)每增加1倍,相應(yīng)的只需要增加1 bit的ECC 校驗(yàn)位。可以看到圖2,ECC的檢錯(cuò)能力相比Parity Bit有極大的提升。② ECC具有糾錯(cuò)能力當(dāng)數(shù)據(jù)只有單bit 錯(cuò)誤時(shí),ECC能夠?qū)﹀e(cuò)誤進(jìn)行修復(fù),但需要注意的是,當(dāng)數(shù)據(jù)中有超過 2 bit的錯(cuò)誤同時(shí)產(chǎn)生時(shí),ECC不一定能檢測(cè)出來,這一點(diǎn)Parity Bit也是一樣。

ROM的檢驗(yàn)糾錯(cuò)機(jī)制

與復(fù)雜的RAM空間相比,ROM空間的操作顯然簡(jiǎn)單的多,因此,對(duì)于ROM的校驗(yàn)使用者可以根據(jù)不同的需求,選擇不同的方式。

常用的有hash,CRC,對(duì)于大容量ROM,比如Nand Flash同樣也可以使用ECC的方式?;旧希恍枰獫M足ROM內(nèi)容和生成的校驗(yàn)碼存在相對(duì)唯一的映射關(guān)系即可。

但是用戶自己實(shí)現(xiàn)的ROM校驗(yàn)機(jī)制存在不少缺點(diǎn):校驗(yàn)失敗沒有靈活的處理措施,對(duì)ROM的校驗(yàn)需要消耗額外MCU資源等。1. HSE隨著汽車產(chǎn)業(yè)的不斷升級(jí),汽車智能化程度也在不斷加深,越來越多的汽車會(huì)通過OTA的方式實(shí)現(xiàn)客戶的個(gè)性化需求。但OTA在增加汽車升級(jí)和維護(hù)便利性的同時(shí),也給數(shù)據(jù)的安全可靠性帶來了新的考驗(yàn)。顯然,應(yīng)用開發(fā)者自己實(shí)現(xiàn)的ROM校驗(yàn)并不足以滿足汽車應(yīng)用的安全需求,汽車應(yīng)用上,保證MCU程序的正確運(yùn)行顯然需要一套更靈活,更完善的校驗(yàn)機(jī)制,并且該校驗(yàn)機(jī)制不僅需要保證數(shù)據(jù)的可靠性,還要保證檢驗(yàn)機(jī)制本身的可靠性。下面會(huì)介紹NXP S32系列芯片是如何利用其HSE安全子系統(tǒng)來為ROM數(shù)據(jù)的可靠性提供支持,進(jìn)而保證汽車應(yīng)用的安全穩(wěn)定運(yùn)行的。

poYBAGKm3aOAE67IAAByA9MKpUE952.png

圖3 HSE框架HSE(Hardware Security Engine)全稱為硬件安全引擎,用于給對(duì)數(shù)據(jù)的可靠性和保密性有嚴(yán)格要求的應(yīng)用提供相應(yīng)的安全服務(wù)。其有以下特點(diǎn):

獨(dú)立的內(nèi)核,固件,存儲(chǔ)空間;

可以為加密算法提供安全硬件加速;

支持固件升級(jí)。

可以看到圖3中,HSE模塊最基礎(chǔ)也最主要的部分是它的Crypto Engine(加密引擎),其可以通過硬件實(shí)現(xiàn)加解密/MAC生成校驗(yàn)/簽名驗(yàn)簽等功能。因?yàn)镠SE全面完善的算法和密鑰管理機(jī)制,可以利用HSE模塊可以對(duì)用戶設(shè)定的存儲(chǔ)區(qū)域進(jìn)行校驗(yàn),并根據(jù)檢驗(yàn)結(jié)果執(zhí)行不同的操作,正是HSE安全可靠,設(shè)置靈活的特性,構(gòu)成了MCU安全穩(wěn)定運(yùn)行的基礎(chǔ)。當(dāng)然HSE除了能夠?yàn)镸CU的OTA和安全啟動(dòng)功能提供可靠保證外,HSE通過硬件加速特性和完善的加解密算法庫(kù)還能夠?qū)?a target="_blank">網(wǎng)絡(luò)協(xié)議進(jìn)行全面可靠的支持,可以實(shí)現(xiàn)TLS offload,IP offload,減少網(wǎng)絡(luò)協(xié)議的通信時(shí)延。

結(jié)語(yǔ)

上面提到了一些存儲(chǔ)器常見的校驗(yàn)方式和NXP S32系列的HSE安全子系統(tǒng),當(dāng)然無論通過哪種方式,為了實(shí)現(xiàn)OTA和越來越多的網(wǎng)絡(luò)應(yīng)用功能,通過MCU實(shí)現(xiàn)更加安全可靠的數(shù)據(jù)存儲(chǔ)傳輸都是現(xiàn)在的趨勢(shì)。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347786
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163092
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1344

    瀏覽量

    114215
  • 數(shù)據(jù)存儲(chǔ)

    關(guān)注

    5

    文章

    947

    瀏覽量

    50760
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是RAMROM

    RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)和ROM(Read-Only Memory,只讀存儲(chǔ)器)是計(jì)算機(jī)存儲(chǔ)系統(tǒng)中的兩種重要組成部分,它們?cè)谟?jì)算機(jī)的性能和功能上扮演著不同的角色。下面將分別詳細(xì)解釋RAM
    的頭像 發(fā)表于 08-30 11:38 ?925次閱讀

    ram存儲(chǔ)器和rom存儲(chǔ)器的區(qū)別是什么

    定義: RAM(Random Access Memory):隨機(jī)存取存儲(chǔ)器,是一種易失性存儲(chǔ)器,主要用于計(jì)算機(jī)和其他設(shè)備的臨時(shí)存儲(chǔ)。 ROM(Read-Only Memory):只讀存儲(chǔ)器,是一種
    的頭像 發(fā)表于 08-06 09:17 ?360次閱讀

    內(nèi)存儲(chǔ)器一般由romram組成嗎

    直接影響計(jì)算機(jī)的性能。 內(nèi)存儲(chǔ)器通常由兩種類型的存儲(chǔ)器組成:只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM)。 一、只讀存儲(chǔ)器(ROMROM的定義和特點(diǎn) 只讀存儲(chǔ)器(Read-Onl
    的頭像 發(fā)表于 08-06 09:15 ?376次閱讀

    外部存儲(chǔ)器是ROM還是RAM

    RAM(隨機(jī)存取存儲(chǔ)器)和ROM(只讀存儲(chǔ)器)有所不同,下面我們將介紹這三者的區(qū)別和特點(diǎn)。 1. RAM(隨機(jī)存取存儲(chǔ)器) RAM是計(jì)算機(jī)的主要工作內(nèi)存,用于存儲(chǔ)計(jì)算機(jī)運(yùn)行時(shí)的程序和
    的頭像 發(fā)表于 08-06 09:13 ?393次閱讀

    romram都是內(nèi)存儲(chǔ)器嗎

    ROMRAM都是計(jì)算機(jī)存儲(chǔ)器的重要組成部分,它們?cè)谟?jì)算機(jī)系統(tǒng)中扮演著不同的角色。 ROMRAM的概念 1.1 ROM(Read-Only
    的頭像 發(fā)表于 08-06 09:09 ?272次閱讀

    簡(jiǎn)述RAMROM的區(qū)別

    RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)和ROM(Read-Only Memory,只讀存儲(chǔ)器)是計(jì)算機(jī)系統(tǒng)中兩種不同類型的存儲(chǔ)器,它們?cè)跇?gòu)造、用途、存儲(chǔ)原理、數(shù)據(jù)可修改性、數(shù)據(jù)保存、數(shù)據(jù)訪問速度、存儲(chǔ)容量、成本、功耗等方面存在顯著區(qū)別。
    的頭像 發(fā)表于 07-15 16:34 ?3025次閱讀

    只讀存儲(chǔ)器(ROM)和隨機(jī)讀寫存儲(chǔ)器(RAM)的區(qū)別

    在計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器是不可或缺的組成部分,它負(fù)責(zé)存儲(chǔ)程序和數(shù)據(jù)以供處理器使用。其中,只讀存儲(chǔ)器(ROM)和隨機(jī)讀寫存儲(chǔ)器(RAM)是兩種常見的存儲(chǔ)器類型,它們?cè)谟?jì)算機(jī)系統(tǒng)中各自扮演著重要的角色。本文將詳細(xì)探討ROM
    的頭像 發(fā)表于 05-12 17:04 ?1879次閱讀

    ramrom的作用和區(qū)別是什么

    RAM(Random Access Memory)是一種計(jì)算機(jī)內(nèi)部存儲(chǔ)器,而ROM(Read-Only Memory)則是一種只讀存儲(chǔ)器。兩者在計(jì)算機(jī)系統(tǒng)中扮演著不同的角色,起到不同的作用。本文將
    的頭像 發(fā)表于 02-04 17:05 ?3475次閱讀

    RAMROM的區(qū)別,哪個(gè)與CPU連接

    RAM(Random Access Memory)和ROM(Read-Only Memory)是計(jì)算機(jī)中兩種主要的存儲(chǔ)器件,它們?cè)诮Y(jié)構(gòu)、功能以及與CPU之間的連接上有不同之處。RAM主要用于臨時(shí)存儲(chǔ)
    的頭像 發(fā)表于 01-31 14:14 ?1667次閱讀

    romram的主要區(qū)別 rom斷電后數(shù)據(jù)會(huì)丟失嗎

    ROM(Read-Only Memory)是只讀存儲(chǔ)器,而RAM(Random Access Memory)是隨機(jī)存取存儲(chǔ)器。它們?cè)谟?jì)算機(jī)系統(tǒng)中扮演著不同的角色和功能。 ROM是一種非易失性存儲(chǔ)器
    的頭像 發(fā)表于 01-25 10:46 ?2592次閱讀

    求助,如何指定變量的RAMROM地址?

    我使用 \" pragma 部分 far \" data 來指定 ram 地址,但我怎樣才能指定它加載的 ROM 地址?
    發(fā)表于 01-25 06:44

    ROMRAM的主要區(qū)別是什么?它們是如何影響計(jì)算機(jī)性能的?

    ROMRAM的主要區(qū)別是什么?它們是如何影響計(jì)算機(jī)性能的? ROMRAM是計(jì)算機(jī)中常見的兩種存儲(chǔ)器件,它們?cè)诠δ堋⒔Y(jié)構(gòu)和性能方面有很大的區(qū)別。下面將詳細(xì)介紹
    的頭像 發(fā)表于 12-11 11:42 ?2470次閱讀

    請(qǐng)問ramrom的關(guān)系是什么?

    ramrom的關(guān)系是什么
    發(fā)表于 10-19 07:26

    巧言單片機(jī)RAMROM

    巧言單片機(jī)RAMROM
    的頭像 發(fā)表于 10-17 15:45 ?688次閱讀

    單片機(jī)中的RAM vs ROM

    單片機(jī)中的RAM vs ROM
    的頭像 發(fā)表于 09-28 17:57 ?1029次閱讀