91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

使用安全元件的3大固件驗證用例

星星科技指導員 ? 來源:microchip ? 作者:microchip ? 2023-05-06 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在當今的市場中,嵌入式電子系統(tǒng)種類繁多,并且需要獲得越來越多的認證,例如工業(yè)應(yīng)用的IEC62443安全標準,或者有時法規(guī)取決于其操作的關(guān)鍵性質(zhì)。然而,安全性不僅僅是法規(guī),而是關(guān)于實施基本和負責任的實踐,今天我們將討論小型和受限嵌入式系統(tǒng)的固件驗證。每個嵌入式系統(tǒng)都基于其執(zhí)行的代碼(固件、軟件、RTL 等)運行。在本系列的第一部分中,我們將研究如果固件受到攻擊,連接的起搏器、工業(yè)網(wǎng)關(guān)、物聯(lián)網(wǎng)嬰兒監(jiān)視器甚至工業(yè)機器中的電機會發(fā)生什么。

產(chǎn)品代碼是公司許多知識產(chǎn)權(quán)(IP)所在的位置。連接起搏器的代碼,控制著人類的生命,變得極其關(guān)鍵。同樣的心臟起搏器也需要認證。在工業(yè)泵中,代碼是使電機性能更好的原因,因為它比競爭對手更好地處理速度和扭矩調(diào)節(jié)。工業(yè)網(wǎng)關(guān)代碼旨在以市場上最好的速度處理復雜的智能工廠網(wǎng)絡(luò)中非常大的有效載荷,但該網(wǎng)關(guān)背后是包含機器和操作員的工業(yè)網(wǎng)絡(luò)?,F(xiàn)在,如果要改變機器操作,這很快就會成為工廠中個人的安全問題。物聯(lián)網(wǎng)嬰兒監(jiān)視器代碼可確保與網(wǎng)絡(luò)的牢固連接,但也為父母提供有關(guān)新生兒的相關(guān)和私人信息。下面,我們分享了為什么公司的代碼對其知識產(chǎn)權(quán)如此珍貴的四個原因。公司應(yīng)考慮此處提到的各種現(xiàn)有標準中定義的威脅模型:

遠程數(shù)字攻擊:漏洞是否遠程訪問代碼以影響目標或整個產(chǎn)品系列?

遠程邏輯攻擊:漏洞利用是否集中在代碼中的錯誤上,該錯誤可以幫助黑客在網(wǎng)絡(luò)上遠程擴展攻擊?

本地物理攻擊:如果黑客可以物理訪問產(chǎn)品,可以對代碼執(zhí)行哪些操作,而不一定是利用錯誤?

本地邏輯攻擊:如果黑客對產(chǎn)品具有物理訪問權(quán)限,代碼錯誤中可以利用什么?

為了解決上述問題,近年來,政府和行業(yè)已開始制定物聯(lián)網(wǎng)安全法規(guī)以創(chuàng)建標準。例如,在工業(yè)市場中,ISA/IEC62443標準記錄了設(shè)計工業(yè)產(chǎn)品的安全實踐。來自歐洲的EN303656遵循歐洲政府的安全法規(guī)和指南,在當?shù)叵M市場銷售物聯(lián)網(wǎng)產(chǎn)品。UL2900 最初非常注重軟件安全實踐,現(xiàn)在正被大公司視為消費者市場。在所有主要標準或法規(guī)中,您會發(fā)現(xiàn)建議驗證代碼是否真實的常見要求。

那么,可以做些什么來保護這段代碼,需要權(quán)衡什么呢?

代碼需要通過加密操作進行驗證,以確保它是真實的。驗證可以在嵌入式系統(tǒng)操作期間的不同時間點執(zhí)行。

何時驗證代碼的真實性?

啟動時:常見的技術(shù)術(shù)語是安全啟動,它有多種方法可以使用對稱密鑰或非對稱密鑰實現(xiàn),僅驗證摘要、簽名或整個代碼映像。安全啟動過程旨在確保在目標嵌入式設(shè)計上僅執(zhí)行正版代碼。

在運行時:這里更通用的術(shù)語是 IP 保護。固件工程師可以決定在系統(tǒng)運行期間的任何相關(guān)點實施代碼驗證,除了安全啟動和無線 (OTA) 更新之外,以確保它沒有被篡改。

OTA更新后:在物聯(lián)網(wǎng)世界中,一旦通過網(wǎng)絡(luò)“無線”推送新代碼圖像以替換現(xiàn)有代碼圖像,該新代碼必須在運行之前驗證為真實代碼。

上述三個嵌入式安全功能總體上與代碼驗證實踐相關(guān)。

現(xiàn)在,讓我們看一下實現(xiàn)技術(shù),然后我們將回顧它們的權(quán)衡。從根本上說,代碼需要在企業(yè)環(huán)境中進行“簽名”,這是理想情況下安全的,然后在嵌入式系統(tǒng)中進行“驗證”。這些“簽名”和“驗證”操作由加密算法和對稱或非對稱密鑰集執(zhí)行。有四個主要步驟,如下圖所示。第一個是查看制造過程中發(fā)生的情況以及如何處理代碼加密和簽名。第二個是代碼如何加載到嵌入式系統(tǒng)(安全加載器)中。第三步涉及如何將代碼下載到嵌入式系統(tǒng)中。第四步側(cè)重于嵌入式系統(tǒng)制造后內(nèi)部發(fā)生的情況,以確保在目標應(yīng)用程序上運行的代碼確實是真實的。

使用對稱密鑰在制造過程中對操作進行簽名

對稱加密基于共享密鑰體系結(jié)構(gòu),換句話說,一對完全相同的兩個密鑰(對稱密鑰或也稱為共享密鑰)。主要的缺點是,如果有人訪問一個密鑰,另一個共享密鑰是相同的,并且系統(tǒng)很容易被擊敗。此外,基本實踐要求為每個設(shè)備使用不同的對稱密鑰,這會產(chǎn)生一個邏輯悖論:如何將唯一的對稱密鑰配置到整個設(shè)備隊列中。因此,由于易于實施和項目進度限制,開發(fā)人員對整個設(shè)備群使用相同的對稱密鑰,因此對這些密鑰的暴露變得更糟。但是讓我們來看看它。第一步發(fā)生在您的公司環(huán)境中。

作為原始最終制造商 (OEM),您的代碼將通過“哈?!焙瘮?shù)傳遞。我們在這里使用 SHA256 作為示例。此哈希的輸出是代碼圖像的 32 字節(jié)摘要。

該哈希是使用對稱密鑰(簽名 OEM 密鑰)執(zhí)行的。

輸出是“MAC”或消息身份驗證代碼。

MAC 提供給合同制造商 (CM),后者將在生產(chǎn)現(xiàn)場刷新主控制器。在此階段,MAC 和對稱密鑰都由 CM 加載。

請注意,這是供應(yīng)鏈漏洞發(fā)生的地方,因為密鑰永遠不應(yīng)該暴露,當然不應(yīng)該在制造過程中或微控制器內(nèi)暴露。此時此刻,密鑰將暴露給工廠內(nèi)的操作員以及如果 OEM 尚未完成將執(zhí)行 MAC 的設(shè)備。

poYBAGRVrkiALUvGAAEuOdqRXf4642.png

圖 1:OEM 站點的對稱簽名

使用非對稱密鑰在制造期間對操作進行簽名

更可靠且可擴展的方法包括利用非對稱密鑰而不是對稱密鑰。非對稱密鑰是兩個密鑰不同但通過加密算法在數(shù)學上相關(guān)的密鑰對。例如,我們將使用ECC-P256,這是嵌入式系統(tǒng)中最常用和最有效的算法之一。私鑰將對代碼進行簽名,公鑰(根據(jù)私鑰計算)將驗證簽名和/或摘要。

pYYBAGRVrkSAMfu3AAFXBqtc1O8942.png

圖 2:OEM 站點的非對稱代碼簽名

問問自己,在您的制造過程中,誰可以訪問您的密鑰?

無論您選擇對稱還是非對稱架構(gòu),都有幾個重要問題要問自己。由于您需要在嵌入式系統(tǒng)中加載加密密鑰以驗證映像,因此請問自己:

您能否信任您的合同制造商提供保護您簽名代碼的密鑰?請記住,您的代碼是您公司的 IP。如果他們有密鑰,則可以訪問您的代碼。

您的 CM 是否有權(quán)訪問簽名密鑰或用于驗證的密鑰?當您想要更改一個或多個合同制造商時,您的密鑰會發(fā)生什么情況?

您是否因為擁有密鑰而依賴您的合同制造商?

如果您雇用多個合同制造商,您如何管理各種密鑰對集?

合同制造商如何保護密鑰?安全審核結(jié)果是什么?

當涉及到制造中處理鑰匙的物流時,也有很多供應(yīng)鏈問題需要考慮。簽名密鑰始終是與所有可能的人隔離的最關(guān)鍵密鑰,最好使用 HSM。但是現(xiàn)在您處于這樣一種情況,即代碼驗證成為一個非常高的價值目標,因為它控制著您保護代碼的程度(請記住,這是您公司的 IP)。密鑰現(xiàn)在掌握在您的合同制造商手中,這是您的漏洞暴露增加的時候。您可能想問自己幾個問題,包括:

您知道您的密鑰是否安全存儲或在員工之間共享嗎?

由于制造設(shè)備網(wǎng)絡(luò)保護不佳,您的密鑰是否可以從工廠外部遠程訪問?

您的員工是否可以簡單地使用USB記憶棒離開包含驗證密鑰的工廠,以及如何對其進行審核和信任?

如果負責鑰匙的員工離開合同制造商的工作,鑰匙會怎樣?

您的嵌入式系統(tǒng)中的密鑰在哪里?

如果您有公鑰在傳統(tǒng)微控制器閃存中驗證固件,請三思而后行。然后,加密將成為代碼的二進制映像的一部分。傳統(tǒng)的工程師只需在微控制器或處理器的閃存中加載密鑰(公共或?qū)ΨQ)。讓我們談?wù)勀銘?yīng)該問自己的問題和你應(yīng)該思考的答案。

此密鑰有多大價值,攻擊者可以用它做什么?

截至今天,仍然有大量設(shè)備將密鑰存儲在閃存中。攻擊者的一些基本策略是嘗試使用各種技術(shù)訪問設(shè)備的內(nèi)存,例如緩沖區(qū)溢出(例如:Heartbleed)、HEX 文件提取或其他方法來訪問位于內(nèi)存中的密鑰。這些都是非常真實的攻擊,一些公司正在報告其系統(tǒng)中的此類漏洞。此時,所有賭注都已關(guān)閉,開始發(fā)起可擴展的攻擊。如果每個密鑰都可以像二進制映像中一樣訪問,那么它們就會變得可更改、可重現(xiàn),并且遠程訪問大型隊列變得越來越可能。如果我們還記得本文前面的內(nèi)容,使用對稱密鑰并不是最可靠的代碼簽名策略?,F(xiàn)在讓我們假設(shè)驗證代碼的密鑰位于控制器內(nèi)的 OTP 內(nèi)。OTP 方法是使您的系統(tǒng)更加健壯的合乎邏輯的第一步,因為現(xiàn)在密鑰位于不可變的內(nèi)存區(qū)域中。不可變并不意味著不可訪問或不可讀,它只是意味著不可更改。根據(jù)代碼中的值或 IP 值,代碼的值是應(yīng)重視密鑰的金額。因此,如果您的密鑰是可訪問的,則可以讀取、復制和重復使用?,F(xiàn)在,任何流氓用戶都可以合法地使用該密鑰來驗證自己的代碼。

如果是對稱密鑰,那將是最壞的情況,尤其是在系統(tǒng)連接云的情況下。當密鑰被訪問時,攻擊者現(xiàn)在可以執(zhí)行其流氓代碼的MAC,并使用checkMAC輕松驗證它,因為簽名對稱密鑰與驗證代碼的對稱密鑰相同。更糟糕的是,如果沒有使用密鑰多樣化,那么仔細考慮擁有整個設(shè)備組密鑰的人員列表非常重要。您所有連接的嬰兒監(jiān)視器工業(yè)機器都可能被偽造,您的所有 OTA 更新都可能損壞,情況可能會變得更糟。

如果它是控制器閃存中的公鑰,甚至是訪問的 OTP,則流氓用戶現(xiàn)在可以復制密鑰并隨意重復使用它以使用戶授權(quán)合法化,然后安裝惡意代碼并在目標微控制器上運行它。

使用公鑰基礎(chǔ)結(jié)構(gòu)與對稱密鑰體系結(jié)構(gòu)要健壯得多,因為對代碼進行簽名的私鑰是不同的,但在數(shù)學上與驗證代碼的公共相關(guān)。也就是說,訪問公鑰允許攻擊者查看并觸發(fā)代碼的驗證,還可以在執(zhí)行之前進行解密。此時,問題就變成了,“現(xiàn)在我看到了代碼,如果我更改代碼并繞過公鑰的驗證怎么辦?為了解決這個問題,除了適當?shù)募用芗铀倨鳎ㄈ?a target="_blank">Microchip安全元件的ECC-P256)之外,還需要微控制器或處理器內(nèi)部的BootROM功能。BootROM 將確??刂破靼l(fā)出驗證命令的內(nèi)存區(qū)域也是不可變的,并且無法繞過。然而,訪問公鑰仍然是一個基本問題。

使用對稱密鑰與非對稱密鑰進行固件驗證的優(yōu)缺點是什么?

鑰匙 缺點
對稱 少:
簡單加密
基本實現(xiàn)
好多:
被盜時很容易復制密鑰
可擴展攻擊的風險更高
難以部署 管理唯一密鑰隊列
非 對稱 好多:
強大的加密技術(shù)
可擴展的關(guān)鍵基礎(chǔ)架構(gòu)
使用 ECC 密鑰優(yōu)化內(nèi)存占用
一些:
固件驗證沒有缺點
ECDSA比SHA256更長的時間

在第 1 部分中,我們詳細討論了在應(yīng)用程序中實現(xiàn)固件驗證的重要性。您的應(yīng)用程序代碼需要使用加密操作進行驗證,以確保它是真實的。驗證可以在嵌入式系統(tǒng)操作期間的不同時間點執(zhí)行,例如在啟動時、運行時和安全固件升級期間。有許多技術(shù)可以使用非對稱和對稱加密算法實現(xiàn)固件驗證。這些技術(shù)中的每一種都有自己的優(yōu)勢和權(quán)衡。

審核編輯:郭婷

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

    關(guān)注

    5200

    文章

    20458

    瀏覽量

    334335
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2945

    文章

    47837

    瀏覽量

    415337
  • 電機
    +關(guān)注

    關(guān)注

    143

    文章

    9602

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    請問如何協(xié)同工作來保障物聯(lián)網(wǎng)設(shè)備固件安全的?

    固件加密存儲和安全啟動與固件驗證這兩種固件安全防護手段,是如何協(xié)同工作來保障物聯(lián)網(wǎng)設(shè)備
    發(fā)表于 11-18 07:30

    固件漏洞安全問題的解決辦法

    如何解決?  據(jù)萊迪思半導體亞太區(qū)應(yīng)用工程(AE)總監(jiān)謝征帆介紹,Sentry方案在啟動之前就會加密驗證每個IC的固件以保證平臺安全,并且在整個過程中都將進行實時檢測攻擊。當檢測到攻擊時,Sentry會
    發(fā)表于 09-07 17:16

    可以使用ECCDSA去驗證FW固件的真實性嗎

    程序無法驗證固件的真實性。我該如何調(diào)試這個問題?如果我從 STM32CubeIDE 單獨調(diào)試 SBSFU.elf,安全啟動會告訴我活動插槽中沒有固件(很明顯)所以不
    發(fā)表于 12-12 07:54

    如何安全實現(xiàn)車載網(wǎng)絡(luò)通信?

    。在BMS內(nèi),OEM通常需要更復雜的。由于BMS/網(wǎng)關(guān)是連通外界、向云端提供例行電池健康狀態(tài)報告的通信點,因此安全擴展為包含
    發(fā)表于 02-28 13:42

    ISP保護固件的刻錄安全

    安全,這時候就會將傳輸?shù)耐ㄓ嵾M行加密,以保護其中的固件,這相當于建立一個安全通道,來進行ISP的傳輸與刻錄的動作。 以新唐科技的M2351微控制器為,其內(nèi)建
    發(fā)表于 08-21 08:12

    安全固件燒錄/SFI

    驗證 ? 確實是STM32 ? 燒錄器外部總線上傳輸?shù)氖?b class='flag-5'>固件密文 ? 保證OEM固件的保密性 ? 使用License文件 ? 控制燒錄的次數(shù)
    發(fā)表于 09-11 06:27

    使用STM32安全啟動與固件更新

    STM32 X-CUBE-SBSFU 軟件包已經(jīng)發(fā)布,提供了安全啟動(Secure Boot)和安全固件更新(SecureFirmware Update)功能。安全啟動和
    發(fā)表于 09-11 07:35

    何使用專用身份驗證IC設(shè)備連接應(yīng)用中的安全

    本文將介紹Maxim Integrated的專用身份驗證IC之前的對稱和非對稱身份驗證的基礎(chǔ)知識。然后,本文將討論如何使用這些IC輕松添加對行業(yè)標準認證機制的支持。需要這些機制來確保在諸如物聯(lián)網(wǎng)(IoT),系統(tǒng)中的安全
    的頭像 發(fā)表于 02-06 09:43 ?4491次閱讀
    何使用專用身份<b class='flag-5'>驗證</b>IC設(shè)備連接應(yīng)用中的<b class='flag-5'>安全</b>

    關(guān)于元件化的教程

    關(guān)于元件化的教程大家可以下載學習哦
    發(fā)表于 06-24 14:58 ?5次下載

    受約束隨機驗證的效果真的比直接測試好嗎?

    當介紹uvm驗證時大家肯定都看過上面類似的圖片,以展示受約束的隨機驗證相比直接測試如何具有先進性。
    的頭像 發(fā)表于 04-10 11:13 ?1482次閱讀

    使用安全元件進行固件驗證的實現(xiàn)示例

    微控制器中的不可變啟動存儲器是任何通過安全啟動和安全固件升級實現(xiàn)固件驗證的應(yīng)用中非常重要的功能。最新的PIC24F低功耗微控制器(MCU)和
    的頭像 發(fā)表于 05-06 10:28 ?1790次閱讀
    使用<b class='flag-5'>安全</b><b class='flag-5'>元件</b>進行<b class='flag-5'>固件</b><b class='flag-5'>驗證</b>的實現(xiàn)示例

    ATECC608A安全引導入門

    電子發(fā)燒友網(wǎng)站提供《ATECC608A安全引導入門.pdf》資料免費下載
    發(fā)表于 09-21 10:38 ?7次下載
    ATECC608A<b class='flag-5'>安全</b>引導入門<b class='flag-5'>用</b><b class='flag-5'>例</b>

    蟻群算法在驗證自動化回歸中的應(yīng)用有哪些?

    如今的芯片規(guī)模越來越大,功能也愈加復雜。相應(yīng)的驗證也越來越復雜,動態(tài)仿真耗時也隨之增加,而且個數(shù)有時動輒上百個。
    的頭像 發(fā)表于 10-07 16:58 ?1191次閱讀

    車規(guī)MCU的安全啟動固件

    。其主要功能包括以下幾個方面: 啟動驗證安全啟動固件通過驗證啟動代碼的完整性和真實性來確保系統(tǒng)啟動過程的安全性。它會對啟動代碼進行數(shù)字簽名
    的頭像 發(fā)表于 10-27 17:20 ?3528次閱讀
    車規(guī)MCU的<b class='flag-5'>安全</b>啟動<b class='flag-5'>固件</b>

    是德科技助力三星電子驗證FiRa 2.0安全測距測試用

    是德科技(Keysight Technologies,Inc.)成功助力三星電子,在其Exynos Connect U100芯片組上驗證了FiRa 2.0安全測試用。此次驗證得益于是
    的頭像 發(fā)表于 11-18 10:08 ?1117次閱讀