一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

保護(hù)和控制存儲(chǔ)在閃存中的軟件

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Kerry Maletsky ? 2022-08-17 10:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

許多系統(tǒng)使用外部標(biāo)準(zhǔn)閃存芯片來(lái)存儲(chǔ)不包括嵌入式非易失性程序存儲(chǔ)的處理器的操作程序。這非常棒,因?yàn)樗梢暂p松進(jìn)行閃存擴(kuò)展和軟件修改,可能在生產(chǎn)線上作為客戶下載或在維護(hù)操作期間進(jìn)行。缺點(diǎn)是 OEM 失去了對(duì)閃存內(nèi)容的控制,可能會(huì)允許未經(jīng)授權(quán)的復(fù)制或修改。

然而,要擔(dān)心的不僅僅是收入損失。如果惡意軟件被下載到系統(tǒng)中,OEM 的聲譽(yù)可能會(huì)受到影響。對(duì)于醫(yī)療設(shè)備等系統(tǒng),OEM 甚至可能面臨責(zé)任問(wèn)題。

收回安全

硬件安全芯片可以幫助將控制權(quán)交還給 OEM???a target="_blank">編程的、高度安全的智能卡處理器已經(jīng)面世一段時(shí)間了,但需要編寫(xiě)額外的固件,并且會(huì)增加系統(tǒng)的不可接受的成本。另一方面,硬件認(rèn)證芯片是交鑰匙設(shè)備,不需要內(nèi)部編程或密碼算法的詳細(xì)知識(shí),而且價(jià)格適中。

這些芯片的工作方式非常簡(jiǎn)單。系統(tǒng)微處理器向芯片發(fā)送質(zhì)詢,然后芯片使用加密算法將質(zhì)詢與安全存儲(chǔ)在非易失性存儲(chǔ)器中的秘密結(jié)合起來(lái)。然后將響應(yīng)發(fā)送回系統(tǒng)。芯片內(nèi)部實(shí)現(xiàn)的算法的選擇方式是,觀察總線的觀察者可以看到挑戰(zhàn)和響應(yīng),但無(wú)法確定密鑰的值。根據(jù)芯片存儲(chǔ)秘密的安全程度,復(fù)制這樣的個(gè)性化芯片可能非常困難。

雖然這些芯片可以以各種方式用于為系統(tǒng)增加安全性,但有兩個(gè)軟件保護(hù)功能特別令人感興趣。第一個(gè)是安全啟動(dòng),它提供了一種方法來(lái)確保只執(zhí)行真實(shí)的程序,同時(shí)仍然允許進(jìn)行升級(jí)。第二,反克隆,防止未經(jīng)授權(quán)的系統(tǒng)構(gòu)建或設(shè)計(jì)的完全復(fù)制。

安全啟動(dòng)

片上系統(tǒng) (SoC) 設(shè)備通常包含一個(gè)小型引導(dǎo) ROM,其中包含用于在執(zhí)行外部閃存內(nèi)容之前初始化芯片操作的程序。該引導(dǎo) ROM 可以很容易地重新編程以與外部驗(yàn)證芯片一起工作。

在系統(tǒng)發(fā)貨之前,OEM 將驗(yàn)證值與程序一起存儲(chǔ)在閃存中。這是通過(guò)將程序的摘要與秘密相結(jié)合來(lái)計(jì)算的,其副本存儲(chǔ)在認(rèn)證芯片中。使用諸如安全散列算法 1 (SHA-1) 或 SHA-2 之類的散列算法來(lái)生成程序摘要。黑客可能能夠更改閃存的內(nèi)容,但在不知道秘密的情況下,無(wú)法生成新的驗(yàn)證值。

在執(zhí)行引導(dǎo) ROM 中的代碼期間,微處理器實(shí)時(shí)生成存儲(chǔ)在閃存中的可執(zhí)行程序的摘要(參見(jiàn)圖 1)。然后將該摘要作為質(zhì)詢發(fā)送到認(rèn)證芯片。芯片會(huì)將摘要與其內(nèi)部存儲(chǔ)的秘密結(jié)合起來(lái),并且可以將響應(yīng)視為一種程序簽名。如果響應(yīng)與閃存中存儲(chǔ)的驗(yàn)證值匹配,則允許繼續(xù)執(zhí)行閃存內(nèi)容;如果不是,微處理器可以循環(huán)到下載器以等待加載有效的閃存映像。

圖 1:引導(dǎo) ROM 可以與微處理器一起工作,該微處理器生成存儲(chǔ)在閃存中的可執(zhí)行程序的摘要,并將其作為質(zhì)詢發(fā)送到身份驗(yàn)證芯片。

poYBAGL8UvSAHDT6AAKZlAV-lU0956.png

如果黑客可以將修改后的軟件發(fā)送到身份驗(yàn)證芯片,使用邏輯分析儀讀取響應(yīng),然后將此驗(yàn)證值與修改后的代碼一起存儲(chǔ)在閃存中,則此方案可能存在安全漏洞。但是,有幾種方法可以解決此問(wèn)題。

最好的解決方案是使用不返回預(yù)期驗(yàn)證值而是將其作為輸入并返回真/假以指示匹配的身份驗(yàn)證芯片。摘要通常太大,而且芯片太慢,攻擊者無(wú)法猜測(cè)修改代碼的正確驗(yàn)證值。為了獲得更高的安全性,安全芯片可以將隨機(jī)挑戰(zhàn)(或者可能是當(dāng)前時(shí)間或處理器序列號(hào))與真/假加密組合,并將其返回給處理器。這樣,就不能使用簡(jiǎn)單的開(kāi)關(guān)類電路修改來(lái)欺騙處理器。

另一種方法是機(jī)械地防止訪問(wèn)安全芯片的引腳。對(duì)于 ASIC SoC,可以以裸片形式購(gòu)買(mǎi)安全芯片,并以多裸片封裝的形式集成到主封裝中。另一種方法是購(gòu)買(mǎi)類似于 BGA 封裝的安全芯片,由于焊盤(pán)完全隱藏,因此不允許探測(cè)?;蛘甙迳系陌踩酒梢杂铆h(huán)氧樹(shù)脂進(jìn)行保形涂層以防止訪問(wèn)。

在某些情況下,系統(tǒng)可能能夠使用引導(dǎo) ROM 中的軟件計(jì)算閃存程序的摘要。但是,在啟動(dòng)時(shí)驗(yàn)證整個(gè)內(nèi)存陣列可能過(guò)于耗時(shí),尤其是對(duì)于具有較大閃存的系統(tǒng)。有兩種方法可以解決這個(gè)問(wèn)題:增量驗(yàn)證或硬件加速。

使用增量驗(yàn)證方案,僅使用引導(dǎo) ROM 代碼驗(yàn)證存儲(chǔ)在閃存中的模塊加載程序。在加載每個(gè)新模塊以供執(zhí)行之前,模塊加載器使用認(rèn)證芯片對(duì)該模塊執(zhí)行相同的驗(yàn)證過(guò)程。這些模塊也可以在空閑時(shí)間提前驗(yàn)證,以提高事件響應(yīng)性能。

現(xiàn)代處理器并不總是包含硬件哈希引擎,但高級(jí)加密標(biāo)準(zhǔn) (AES) 或三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn) (3DES) 引擎非常常見(jiàn)。通過(guò)將加密引擎配置為在基于密碼的消息驗(yàn)證碼 (CMAC) 模式下運(yùn)行,可以輕松使用這些加密算法以硬件速度生成程序摘要。

反克隆

大多數(shù)原始設(shè)備制造商現(xiàn)在使用分包商來(lái)制造他們的設(shè)備。因此,系統(tǒng)有時(shí)會(huì)過(guò)度構(gòu)建以供本地銷售或可能在灰色市場(chǎng)上銷售?;蛘?,競(jìng)爭(zhēng)對(duì)手或黑客可能會(huì)克隆系統(tǒng)并以較低的成本出售,因?yàn)樗麄儾槐赝顿Y于軟件開(kāi)發(fā)。如果系統(tǒng)僅使用現(xiàn)成的組件,則可以降低制造成本,但這會(huì)使未經(jīng)授權(quán)的系統(tǒng)更容易構(gòu)建。

使用硬件安全芯片可以結(jié)束這些克隆,而不會(huì)顯著增加系統(tǒng)的大小或成本。編譯到嵌入式軟件中的是許多測(cè)試,以檢查是否存在正確編程的硬件安全芯片。OEM 控制著被編程到芯片中的秘密,并控制著將被編程的芯片分發(fā)給分包商。作為另一種選擇,芯片供應(yīng)商可以為 OEM 管理芯片的個(gè)性化。

有幾種方法可以實(shí)現(xiàn)這些軟件測(cè)試。一種簡(jiǎn)單的方法是在軟件中編譯挑戰(zhàn)和預(yù)期響應(yīng)。如果安全芯片丟失或密碼錯(cuò)誤,響應(yīng)不匹配,系統(tǒng)可以被禁用或返回下載模式以獲取更正的文件。在程序的許多地方添加這些檢查,黑客很難刪除它們,尤其是當(dāng)代碼在初始加載時(shí)由 ROM 驗(yàn)證時(shí)。

這些軟件測(cè)試的其他選項(xiàng)包括在程序的各個(gè)部分分配挑戰(zhàn)生成和響應(yīng)檢查。來(lái)自安全芯片的響應(yīng)可以用作即時(shí)軟件模塊解密的密鑰。響應(yīng)可以與一個(gè)單獨(dú)的常數(shù)進(jìn)行異或運(yùn)算,然后用作跳轉(zhuǎn)向量。如果安全芯片支持它,那么可以從不同的代碼部分發(fā)送多個(gè)質(zhì)詢并組合生成單個(gè)響應(yīng)。

在典型的實(shí)現(xiàn)中,芯片中包含許多不同類型的測(cè)試,因此即使一種機(jī)制被擊敗,其他機(jī)制仍能發(fā)揮作用。理想情況下,這些測(cè)試依賴于存儲(chǔ)在安全芯片中的多個(gè)秘密,以確保即使一個(gè)秘密值被泄露,也能維持整個(gè)系統(tǒng)的安全性。

秘密安全

如果很容易從身份驗(yàn)證芯片中獲取秘密,那么所有這些都無(wú)關(guān)緊要。在這種情況下,黑客可以創(chuàng)建正確的軟件驗(yàn)證值,或者系統(tǒng)克隆者可以使用簡(jiǎn)單的微處理器對(duì)安全芯片進(jìn)行建模。認(rèn)證芯片至少以兩種方式保護(hù)秘密:使用強(qiáng)大的密碼算法和使用特殊的硬件芯片設(shè)計(jì)技術(shù)來(lái)防止對(duì)硅的直接或間接攻擊。

過(guò)去,某種形式的線性反饋移位寄存器 (LFSR),也稱為循環(huán)冗余校驗(yàn) (CRC),被用作哈希算法。由于實(shí)施成本低,這些算法很常見(jiàn),但對(duì)于現(xiàn)代高速 PC,這些算法通常可以在短時(shí)間內(nèi)被分析和破解。

如果秘密大小太小,LFSR/CRC 算法尤其薄弱,因?yàn)槭褂孟鄬?duì)簡(jiǎn)單的軟件可以進(jìn)行蠻力攻擊。沒(méi)有關(guān)于什么大小足夠大的通用規(guī)則,但大多數(shù)現(xiàn)代系統(tǒng)使用 128 位或更長(zhǎng)的密鑰。

目前,SHA 算法是安全啟動(dòng)和反克隆的最佳選擇。SHA-1 在今天已經(jīng)足夠安全了,但是它有一些已知的弱點(diǎn)并且已經(jīng)被 SHA-2 系列(包括 SHA-256 和 SHA-512 等)所取代。由于大多數(shù)嵌入式系統(tǒng)的生命周期是以年為單位來(lái)衡量的,因此即使在其使用壽命結(jié)束時(shí),使用最新的算法也能確保系統(tǒng)的安全性。

也可以購(gòu)買(mǎi)使用公鑰(非對(duì)稱)算法的身份驗(yàn)證芯片,這些算法通常更慢且更復(fù)雜。系統(tǒng)端的軟件也可以復(fù)雜得多。與使用散列算法的身份驗(yàn)證芯片相比,它們可以提高安全啟動(dòng)方案的安全性,同時(shí)對(duì)軟件克隆幾乎沒(méi)有或沒(méi)有額外的好處。

但是一個(gè)強(qiáng)大的算法是不夠的。如今,微探針很容易在 eBay 上購(gòu)買(mǎi),因此芯片必須防止攻擊者蝕刻掉封裝并微探針一些內(nèi)部節(jié)點(diǎn)以獲取這些秘密?,F(xiàn)代芯片通過(guò)整個(gè)芯片上的有源內(nèi)部屏蔽、超過(guò)三層的窄寬度金屬、內(nèi)部塊的額外加密以及沒(méi)有暴露的測(cè)試焊盤(pán)來(lái)防止這種情況。

黑客還可能會(huì)嘗試使用高電壓或低電壓或過(guò)高的時(shí)鐘頻率來(lái)讓身份驗(yàn)證芯片泄露其秘密。如果試圖在正常操作范圍之外進(jìn)行操作,則可以使用內(nèi)部篡改檢測(cè)器來(lái)防御這些攻擊,該檢測(cè)器會(huì)關(guān)閉芯片。這些是常見(jiàn)的安全塊,大多數(shù)芯片制造商在通常的篡改塊之外添加了其他專有安全組件。

嵌入式實(shí)現(xiàn)

嵌入式系統(tǒng)中的認(rèn)證芯片可以檢測(cè)存儲(chǔ)在閃存中的系統(tǒng)軟件的未經(jīng)授權(quán)的修改或復(fù)制。此外,它們可以以多種其他方式用于交換會(huì)話加密密鑰、向遠(yuǎn)程服務(wù)器提供節(jié)點(diǎn)身份驗(yàn)證、驗(yàn)證序列號(hào)存儲(chǔ)、安全存儲(chǔ)制造和/或維護(hù)歷史,以及各種其他與安全相關(guān)的功能。

高安全性認(rèn)證芯片不需要設(shè)計(jì)人員具備任何特殊的密碼知識(shí),并且可以集成到嵌入式系統(tǒng)中而不影響上市時(shí)間。通常以小包裝形式出現(xiàn),它們甚至適用于對(duì)空間最敏感的應(yīng)用。Atmel AT88SA102S 就是這樣一種芯片。它結(jié)合了 SHA-256 算法與 256 位密鑰長(zhǎng)度和與所有微處理器兼容的易于使用的單線接口。該設(shè)計(jì)包括覆蓋整個(gè)電路的有源屏蔽、篡改檢測(cè)器和加密的內(nèi)部存儲(chǔ)器。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167414
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9795

    瀏覽量

    87999
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2383

    瀏覽量

    84187
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    閃存的哪些扇區(qū)可用于用戶數(shù)據(jù)存儲(chǔ)?

    界面(通過(guò) AP 獲得),然后閃存存儲(chǔ)數(shù)據(jù),以便設(shè)備自動(dòng)以 ST 模式連接,并保存用戶密碼以保護(hù)配置。變化。 我已經(jīng)準(zhǔn)備了這樣的
    發(fā)表于 07-12 08:13

    控制器讀取閃存軟件信息時(shí),軟件信息部署在哪里? 是 SRAM 嗎?

    我對(duì) PMG1 閃光燈有疑問(wèn)。 1.微控制器讀取閃存軟件信息時(shí),軟件信息部署在哪里? 是 SRAM 嗎? 2.微
    發(fā)表于 05-23 06:22

    閃存技術(shù)基礎(chǔ)-1-1 #存儲(chǔ)技術(shù)

    閃存IC設(shè)計(jì)存儲(chǔ)技術(shù)閃存技術(shù)
    EE_Voky
    發(fā)布于 :2022年06月28日 17:31:14

    閃存技術(shù)基礎(chǔ)-1-2 #存儲(chǔ)技術(shù)

    閃存IC設(shè)計(jì)存儲(chǔ)技術(shù)閃存技術(shù)
    EE_Voky
    發(fā)布于 :2022年06月28日 17:31:41

    閃存技術(shù)基礎(chǔ)-1-3 #存儲(chǔ)技術(shù)

    閃存IC設(shè)計(jì)存儲(chǔ)技術(shù)閃存技術(shù)
    EE_Voky
    發(fā)布于 :2022年06月28日 17:32:08

    閃存存儲(chǔ)的VDI場(chǎng)景應(yīng)用

    行業(yè)向閃存時(shí)代平滑演進(jìn)。    以PC 為辦公工具的傳統(tǒng)辦公模式不但耗時(shí),而且成本高昂,隨著成熟VDI系統(tǒng)企業(yè)IT系統(tǒng)中廣泛應(yīng)用,不僅可以本地或云中交付、保護(hù)和管理 Windows
    發(fā)表于 11-29 11:41

    如何在閃存而不是RAM存儲(chǔ)大型常量數(shù)組

    如何在閃存而不是RAM存儲(chǔ)大型常量數(shù)組以上來(lái)自于谷歌翻譯以下為原文 How to store large constant arra
    發(fā)表于 02-20 15:30

    什么是基于閃存平臺(tái)的存儲(chǔ)管理策略?

    作者:李建勛 樊曉光 禚真福來(lái)源:什么是基于閃存平臺(tái)的存儲(chǔ)管理策略?嵌入式系統(tǒng),由于閃存成本低、容量大、非易失、訪問(wèn)速度高和機(jī)械故障少的
    發(fā)表于 07-31 08:17

    啟動(dòng)時(shí)清除閃存存儲(chǔ)的數(shù)據(jù)

    嗨,我做了一些函數(shù)閃存讀和存儲(chǔ)。代碼可以工作,當(dāng)我存儲(chǔ)數(shù)據(jù)時(shí),我可以讀回去,但是啟動(dòng)時(shí),當(dāng)
    發(fā)表于 03-13 10:27

    DLP4500將圖像存儲(chǔ)閃存

    新手入門(mén)DLP4500用戶手冊(cè)說(shuō)如果要?jiǎng)?chuàng)建序列,首先要將圖像存儲(chǔ)閃存Image/Fireware下的Fireware Bulid
    發(fā)表于 04-09 18:46

    STM32F103C8如何編程以斷電時(shí)將計(jì)數(shù)器值存儲(chǔ)閃存?

    STM32F103C8,帶MXCUBE,MDK-ARM V5。我想知道如何編程以斷電時(shí)將計(jì)數(shù)器值存儲(chǔ)閃存。當(dāng)電源上升時(shí)自動(dòng)調(diào)用計(jì)數(shù)器值
    發(fā)表于 01-30 07:34

    閃存儲(chǔ)控制器選擇技巧

    現(xiàn)代快閃存儲(chǔ)控制的磨損平衡技術(shù)已經(jīng)有顯著進(jìn)步,能夠克服快閃存儲(chǔ)器儲(chǔ)存介質(zhì)固有的弱點(diǎn),并幫助發(fā)揮出快閃存儲(chǔ)器的優(yōu)勢(shì)。對(duì)于現(xiàn)代快
    發(fā)表于 03-07 09:45 ?1540次閱讀

    閃存存儲(chǔ)企業(yè)為何如此受到歡迎?

    時(shí)至今日,貌似整個(gè)存儲(chǔ)行業(yè)都在談?wù)撊?b class='flag-5'>閃存存儲(chǔ),無(wú)論是廠商還是用戶,但凡提到有關(guān)存儲(chǔ)的相關(guān)話題,必須離不開(kāi)全閃存,貌似
    的頭像 發(fā)表于 06-17 15:34 ?3084次閱讀

    浪潮存儲(chǔ)閃存儲(chǔ)領(lǐng)域的產(chǎn)品及技術(shù)布局

    存儲(chǔ)作為新存儲(chǔ)引領(lǐng)者,以“云存智用 運(yùn)籌新數(shù)據(jù)”理念,加快布局閃存存儲(chǔ)步伐,針對(duì)用戶不同的應(yīng)用場(chǎng)景和需求,創(chuàng)新研發(fā)了浪潮新一代全閃存儲(chǔ)平臺(tái)
    的頭像 發(fā)表于 08-10 14:32 ?2745次閱讀

    保護(hù)控制存儲(chǔ)閃存軟件

      許多系統(tǒng)使用外部標(biāo)準(zhǔn)閃存芯片來(lái)存儲(chǔ)不包括嵌入式非易失性程序存儲(chǔ)的處理器的操作程序。這很棒,因?yàn)樗试S輕松的閃存擴(kuò)展和軟件修改,也許在生產(chǎn)
    的頭像 發(fā)表于 10-24 11:38 ?888次閱讀