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ī)制

科技綠洲 ? 來(lái)源:立功科技 ? 作者:立功科技 ? 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)的處理手段來(lái)保證功能的正常運(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本身的特性,通過(guò)內(nèi)部硬件實(shí)現(xiàn),對(duì)于用戶來(lái)說(shuō)是透明的。而一般用戶使用時(shí)也不會(huì)主動(dòng)的對(duì)RAM進(jìn)行校驗(yàn)。1. Parity BitParity Bit(奇偶校驗(yàn)位)是一種數(shù)據(jù)校驗(yàn)機(jī)制,常用與判斷數(shù)據(jù)在存儲(chǔ)過(guò)程中是否發(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通過(guò)上面對(duì)Parity Bit的分析可以知道,通過(guò)在原來(lái)的數(shù)據(jù)1 byte基礎(chǔ)上增加1 bit,可以用來(lái)檢查當(dāng)前1 byte數(shù)據(jù)的正確性。如果數(shù)據(jù)為256 byte就需要256 bit的校驗(yàn)位,而且出錯(cuò)的數(shù)據(jù)無(wú)法糾正。由于上述的缺點(diǎn),出現(xiàn)了一種新的存儲(chǔ)檢錯(cuò)糾錯(cuò)機(jī)制 – ECC。

poYBAGKm3ZSAa9pAAAAhkQrXSWM972.png

圖2 檢錯(cuò)能力對(duì)比ECC(Error-Correcting Code),可以譯為檢錯(cuò)糾錯(cuò)碼。ECC的計(jì)算過(guò)程比Parity Bit的計(jì)算過(guò)程復(fù)雜一點(diǎn),這里不進(jìn)行過(guò)多描述。僅針對(duì)ECC的兩個(gè)主要特點(diǎn)進(jìn)行說(shuō)明:① 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)位??梢钥吹綀D2,ECC的檢錯(cuò)能力相比Parity Bit有極大的提升。② ECC具有糾錯(cuò)能力當(dāng)數(shù)據(jù)只有單bit 錯(cuò)誤時(shí),ECC能夠?qū)﹀e(cuò)誤進(jìn)行修復(fù),但需要注意的是,當(dāng)數(shù)據(jù)中有超過(guò) 2 bit的錯(cuò)誤同時(shí)產(chǎn)生時(shí),ECC不一定能檢測(cè)出來(lái),這一點(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)失敗沒(méi)有靈活的處理措施,對(duì)ROM的校驗(yàn)需要消耗額外MCU資源等。1. HSE隨著汽車產(chǎn)業(yè)的不斷升級(jí),汽車智能化程度也在不斷加深,越來(lái)越多的汽車會(huì)通過(guò)OTA的方式實(shí)現(xiàn)客戶的個(gè)性化需求。但OTA在增加汽車升級(jí)和維護(hù)便利性的同時(shí),也給數(shù)據(jù)的安全可靠性帶來(lái)了新的考驗(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)來(lái)為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(加密引擎),其可以通過(guò)硬件實(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通過(guò)硬件加速特性和完善的加解密算法庫(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)然無(wú)論通過(guò)哪種方式,為了實(shí)現(xiàn)OTA和越來(lái)越多的網(wǎng)絡(luò)應(yīng)用功能,通過(guò)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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17149

    瀏覽量

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

    關(guān)注

    38

    文章

    7492

    瀏覽量

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

    關(guān)注

    8

    文章

    1368

    瀏覽量

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

    關(guān)注

    5

    文章

    971

    瀏覽量

    50911
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    手機(jī)中的ROM與內(nèi)存的區(qū)別

    。 特點(diǎn): 非易失性: 數(shù)據(jù)即使在斷電后也能保持。 寫入速度慢: 相比RAM,ROM的寫入速度較慢。 成本較低: 相對(duì)于其他類型的存儲(chǔ)器,ROM的成本較低。 容量有限: ROM的容量通
    的頭像 發(fā)表于 11-04 10:23 ?1016次閱讀

    ROMRAM的主要區(qū)別

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)技術(shù)扮演著至關(guān)重要的角色。ROMRAM是兩種基本的存儲(chǔ)類型,它們共同支撐著計(jì)算機(jī)的運(yùn)行。 一、定義與基本功能 1.1 ROM(只讀存儲(chǔ)器) ROM是一種非易失
    的頭像 發(fā)表于 11-04 10:01 ?946次閱讀

    什么是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 ?4008次閱讀

    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 ?692次閱讀

    內(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 ?1509次閱讀

    外部存儲(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 ?1544次閱讀

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

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

    簡(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ù)訪問(wèn)速度、存儲(chǔ)容量、成本、功耗等方面存在顯著區(qū)別。
    的頭像 發(fā)表于 07-15 16:34 ?6490次閱讀

    只讀存儲(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 ?4148次閱讀

    可以同時(shí)用QSPI接2個(gè)片子,一個(gè)ROM,一個(gè)RAM嗎?

    求教,可以同時(shí)用QSPI接2個(gè)片子,一個(gè)ROM,一個(gè)RAM嘛?QSPI有2個(gè)bank,能用一個(gè)接flash,一個(gè)接QPI PSRAM嘛?分別用來(lái)外擴(kuò)ROMRAM嘛?
    發(fā)表于 04-10 07:43

    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 ?4864次閱讀

    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 ?2567次閱讀

    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 ?4018次閱讀

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

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

    如何采用TLF35584的CAN安全機(jī)制?

    采用 TLF35584 的 CAN 安全機(jī)制
    發(fā)表于 01-18 10:03