吴忠躺衫网络科技有限公司

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

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

3天內不再提示

小型和受限嵌入式系統的固件驗證

科技綠洲 ? 來源:Microchip微芯 ? 作者:Microchip微芯 ? 2022-04-18 14:46 ? 次閱讀

在當今市場上,嵌入式電子系統種類繁多,需要接受的認證也日益增加,如適用于工業應用的 IEC62443 安全標準,有時法規也取決于系統工作方式的關鍵特性。然而,要確保安全性,不僅需要依靠法規,還應該實施負責任的基本做法。今天我們來介紹一下小型和受限嵌入式系統的固件驗證。每個嵌入式系統都基于其執行的代碼(固件、軟件和 RTL 等)運行。在本系列的第一部分中,我們將介紹當連接的心臟起搏器、工業網關、IoT 嬰兒監視器,甚至工業機器電機的固件遭到攻擊時,這些設備會發生什么。請留意第二部分,我們將在其中介紹如何在各種嵌入式系統上實現這些用例。

很多公司的知識產權(IP)處于產品的代碼中。連接的心臟起搏器的代碼可掌控人的生死,其重要性非同小可。同樣,心臟起搏器也要接受認證。在工業泵中,代碼可以處理速度和扭矩調整率,提高電機的性能,從而領先競爭對手。工業網關代碼的架構能夠以市場領先的速度處理復雜智能工廠網絡中的海量有效載荷,但網關背后是一個覆蓋多個機器和操作員的工業網絡。現在,如果機器操作被更改,很快就會給工廠中的人員帶來安全隱患。 IoT 嬰兒監視器代碼可確保網絡連接的穩健性,同時還能為父母提供與新生兒相關的隱私信息。我們在下文中介紹了一家公司的代碼對其 IP 至關重要的四個原因。公司應該考慮本文提到的各種現有標準所定義的威脅模式:

1. 遠程數字攻擊:漏洞是否在遠程訪問代碼,以試圖影響目標或整個產品群?

2. 遠程邏輯攻擊:漏洞是否在重點攻擊代碼中的某個錯誤,從而幫助黑客將攻擊范圍遠程擴展到整個網絡?

3. 本地物理攻擊:如果黑客對產品有物理訪問權限,可以對代碼做什么(不一定要利用錯誤)?

4. 本地邏輯攻擊:如果黑客對產品有物理訪問權限,可以利用代碼錯誤做什么?

近年來,為了解決上述問題,政府和許多行業已經著手制定 IoT 安全法規以創建相關標準。例如,在工業領域,ISA/IEC62443 標準載明了設計工業產品時要遵守的安全規范。歐洲的 EN303656 標準依據歐洲政府有關在當地消費市場銷售 IoT 產品的安全法規和指南制定。 UL2900 起初主要關注軟件安全規范,現在大型公司正在將其用于消費市場。在所有的主要標準或法規中,您會發現,建議驗證代碼的真實性是其共同要求。

那么,可以采取哪些措施來保護這些代碼?這些措施各有哪些優缺點?

代碼將需要通過加密操作進行驗證,以確保其真實性。驗證可以在嵌入式系統操作過程中的不同時間點執行。

何時驗證代碼的真實性?

1. 引導時:常見的技術術語是安全引導,它有多種實現方法:可以使用對稱密鑰,也可以使用非對稱密鑰,可以只驗證摘要、簽名,也可以驗證整個代碼映像。安全引導過程是為了確保只有真實代碼可以在目標嵌入式設計上執行。

2. 運行時:更通用的術語是 IP 保護。除了安全引導和無線(OTA)更新之外,固件工程師可以決定在系統運行期間的任何相關時間點執行代碼驗證,以確保代碼沒有被篡改。

3. OTA 更新之后:在 IoT 環境中,如果通過網絡以“無線”方式推送新的代碼映像來取代現有的代碼,則在運行此新代碼之前必須先驗證其真偽。

上面描述的三種嵌入式安全功能總體上與代碼驗證規范有關。

現在,我們來介紹一下實現技術,然后再評價一下各自的優缺點。從根本上說,需要在安全性比較理想的企業環境中對代碼進行“簽名”,然后在嵌入式系統中對代碼進行“驗證”。這些“簽名”和“驗證”操作通過加密算法和對稱或不對稱密鑰集實現。如下圖所示,有四個主要步驟。第一步關注的是制造過程中發生的情況,以及代碼加密和簽名的處理方式。第二步是如何將代碼加載到嵌入式系統中(安全加載程序)。第三步涉及如何將代碼下載到嵌入式系統中。第四步側重于嵌入式系統制造完成后內部發生的情況,以確保在目標應用程序上運行的代碼確實是真實的。

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

對稱加密基于共享密鑰架構,換言之,兩個相同的密鑰構成一個密鑰對(對稱密鑰或也稱為共享密鑰)。主要缺點是,如果有人可以訪問其中一個密鑰,另一個共享密鑰也是相同的,系統很容易遭到破壞。此外,基本做法要求為每個設備使用不同的對稱密鑰,這會產生邏輯悖論:如何在整個設備群中分配惟一對稱密鑰。因此,由于對稱密鑰易于實現和項目進度的限制,開發人員會在整個設備群中使用相同的對稱密鑰,因此這些密鑰暴露的情況變得更加嚴重。接下來具體分析一下。第一步發生在公司環境中。?

作為原始終端制造商(OEM),您的代碼將通過“哈希”函數傳遞。我們在本文中以 SHA256 為例。此哈希函數的輸出是代碼映像的 32 字節摘要。?

此哈希使用對稱密鑰(用于簽名的 OEM 密鑰)執行。?

輸出是“報文驗證代碼”(MAC)。?

MAC 提供給合約制造商(CM),合約制造商將在生產基地把 MAC 刷寫到主控制器上。MAC 和對稱密鑰均由 CM 在此階段加載。?

請注意,這是供應鏈中容易出現漏洞的環節,因為無論是在制造過程中,還是在單片機中,密鑰都不應該暴露。此時密鑰會暴露給工廠內的操作員和將執行 MAC(如果 OEM 尚未完成)的設備。

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

這是一種更穩健且可擴展的方法,包括利用非對稱密鑰取代對稱密鑰。非對稱密鑰是由兩個不同的密鑰構成的一個密鑰對,但兩個密鑰通過某種加密算法在數學上相關。我們將以 ECC-P256 為例,對于嵌入式系統來說,這是最常用,也是最有效的算法之一。私鑰將用于對代碼進行簽名,公鑰(根據私鑰計算得出)將用于驗證簽名和/或摘要。

想一想,在生產過程中,誰有密鑰的訪問權限?

無論選擇的是對稱架構還是非對稱架構,都有幾個重要的問題需要思考。由于需要將加密密鑰加載到嵌入式系統以驗證映像,請想一想:?

能否相信掌握保護您已簽名代碼的密鑰的合約制造商?切記,代碼是公司的 IP。如果擁有密鑰,他們就可以訪問您的代碼。?

CM 是否擁有簽名密鑰或用于驗證的密鑰的訪問權限?如果您想更換一家或多家合約制造商,密鑰怎么辦?? 您是否因合約制造商掌握了密鑰而依賴他們??

如果雇用了多家合約制造商,如何管理各種密鑰對集??

密鑰在合約制造商那里有哪些保護措施?安全審計的結果會是什么?

涉及到制造過程中處理密鑰的物流時,還有許多供應鏈問題需要考慮。簽名密鑰永遠是最關鍵的密鑰,要盡可能地與一切事物和人員隔離,最好是使用 HSM。但現在您面臨的情況是代碼驗證成為非常重要的目標,因為它可以決定您對代碼(記住這是公司的 IP)的保護程度。現在,密鑰已交給合約制造商,此時漏洞暴露的可能性會增加。有幾個問題可能需要您思考一下,包括:

? 您是否清楚密鑰是否已妥善存儲或在員工之間安全共享??

您的密鑰是否因制造設備的網絡保護不力,可以從工廠外部遠程訪問??

您的員工是否有可能簡單地使用 U 盤將驗證密鑰帶出工廠?如何對這種情況進行審計和確保員工可信??

如果掌管密鑰的員工從合約制造商離職,密鑰怎么辦?

密鑰位于嵌入式系統中的哪個位置?

如果將用于驗證固件的公鑰存儲在傳統單片機的閃存內,請慎重考慮。這將使加密成為代碼二進制映像的一部分。傳統工程師只是將密鑰(公鑰或對稱密鑰)加載到單片機或處理器的閃存中。我們來介紹一下您應該思考的問題和應該全盤考慮的答案。

密鑰的價值有多大?攻擊者能用它做什么?

時至今日,仍有大量設備將密鑰存儲在閃存中。攻擊者的一些基本策略是嘗試使用各種技術訪問設備的存儲器,如利用緩沖區溢出(示例:Heartbleed)、HEX 文件提取或其他方法來訪問位于存儲器中的密鑰。這些都是非常真實的攻擊,一些公司反映其系統中存在此類漏洞。在這種情況下,攻擊者完全有可能開始發起可擴展攻擊。如果每個密鑰都像在二進制映像中一樣容易訪問,它們就會變得可更改、可復制,對大型機群進行遠程訪問的可能性也越來越高。如果我們對本文前面的內容還有印象,就會記得對于代碼簽名來說,使用對稱密鑰并不是最穩健的策略。現在,我們假設用于驗證代碼的密鑰位于控制器的 OTP 內。OTP 方法是比較合理的初步措施,可以提高系統的穩健性,因為現在密鑰位于不可變的存儲區域。不可變并不意味著不可訪問或不可讀取,只是意味著不可更改。代碼的價值決定對密鑰的重視程度,具體視代碼的價值或其中的 IP 含量而定。

如果密鑰可訪問,它就可能被讀取、復制和重復使用。現在任何惡意用戶都可以合法地使用該密鑰來驗證他們自己的代碼。? 如果是對稱密鑰,情況將糟糕至極,特別是如果系統連接到云,更是雪上加霜。現在,當密鑰被訪問時,攻擊者可以執行其惡意代碼的 MAC,并且由于用于簽名的對稱密鑰與用于驗證代碼的對稱密鑰相同,他們可以輕而易舉地使用 checkMAC 驗證其惡意代碼。更糟糕的是,如果沒有采取密鑰多樣化措施,那么十分有必要仔細考慮擁有整個設備群的密鑰的人員名單。所有與嬰兒監視器連接的工業機器都可能被偽造,所有 OTA 更新都可能遭到破壞,而且情況可能會惡化。

? 現在,如果被訪問的是控制器閃存甚至是 OTP 中的公鑰,那么惡意用戶便可以隨意復制和重復使用密鑰以使用戶授權合法化,并隨后在目標單片機上安裝和運行惡意代碼。

與使用對稱密鑰架構相比,使用公鑰架構要更加穩健,因為用于對代碼進行簽名的私鑰與用于驗證代碼的公鑰不同,但二者在數學上相關。也就是說,訪問公鑰允許攻擊者查看并觸發代碼驗證,以及在執行之前進行解密。此時,問題變成了:“現在我看到了代碼,要是我能更改代碼并繞過公鑰驗證該怎么辦?”要解決這一問題,除了適當的加密加速器(如 Microchip 安全元件的 ECC-P256)外,還需要單片機或處理器內的 BootROM 功能。 BootROM 將確保控制器發出驗證命令的存儲區域也是不可變的,無法被繞過。然而,公鑰被訪問仍然是一個基本問題。

使用對稱密鑰與非對稱密鑰進行固件驗證分別有哪些優缺點?

密鑰 優點 缺點對稱 較少:

- 加密簡單 - 易于實現很多:

- 密鑰被盜時非常容易被復制 - 可擴展攻擊的風險較高 - 難以部署和管理惟一密鑰群非對稱 很多:

- 加密穩健 - 密鑰架構可擴展 - 可使用 ECC 密鑰優化存儲器占用空間較少:

- 固件驗證沒有缺點 - ECDSA 的時間比 SHA256 長

在第一部分中,我們已經詳細介紹了在應用中實現固件驗證的重要性。應用程序代碼將需要通過加密操作進行驗證,以確保其真實性。驗證可以在嵌入式系統運行過程中的不同時間點執行,如啟動時、運行時和安全固件升級時。有許多技術可以使用非對稱和對稱的加密算法來實現固件驗證。這些技術都有各自的優缺點。在本博客的第二部分,我們將介紹如何使用 Microchip 的安全元件和單片機實現固件驗證。

審核編輯:彭菁
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638518
  • 控制器
    +關注

    關注

    112

    文章

    16445

    瀏覽量

    179438
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3624

    瀏覽量

    129749
收藏 人收藏

    評論

    相關推薦

    小型嵌入式操作系統中斷管理的實現

    小型嵌入式操作系統中斷管理的實現
    發表于 04-22 12:57

    嵌入式系統的特點

    1.嵌入式系統的特點、分類、發展與應用,熟悉嵌入式系統的邏輯組成。(1)特點:專用性隱蔽性(嵌入式系統
    發表于 07-27 06:57

    簡述嵌入式系統的概念及組成

    目錄嵌入式第1章作業嵌入式第1章作業201班 董洪任1、簡述嵌入式系統的概念。嵌入式系統是一種專
    發表于 10-27 09:34

    嵌入式系統的特點

    ,以計算機技術為基礎,適應不同應用功能、可靠性、成本、梯級、功耗等方面的要求,集可配置、可裁剪的軟硬件于一體的專用計算機系統嵌入式、專用性、計算機系統嵌入式
    發表于 10-27 06:53

    如何構造一個小型嵌入式硬件系統

    迫切需要解決的問題。 龍芯系列處理器是我國第一款兼顧通用及嵌入式CPU特點的新一代32位CPU,本文以龍芯GS32I SoC處理器為核心,探討并設計如何構造一個小型嵌入式硬件系統,同時
    發表于 11-05 06:35

    嵌入式系統具有哪些特點應用

    嵌入式系統01011.嵌入式系統:為特定應用而設計開發的專用計算機系統,它和通用計算機一樣,由硬件和軟件兩部分組成。2.
    發表于 11-09 07:53

    嵌入式系統固件的開發與調試相關資料分享

    嵌入式系統固件的開發與調試主要學習? ? 嵌入式系統的質量屬性(quality attributes)? ?
    發表于 12-14 07:26

    嵌入式系統概論與嵌入式系統的特點

    嵌入式系統概論嵌入式系統的特點:專用性:與具體應用緊密結合,具有很強的專用性隱蔽性:嵌入式系統
    發表于 12-21 08:21

    基于ARM的嵌入式系統設計

    碩士學位論文基于ARM的嵌入式系統設計摘要嵌入式系統以其小型、專用、易攜帶、可靠性高的特點,已經在各個領域得到了廣泛的應用,如軍事國防、消費
    發表于 12-22 06:59

    嵌入式小型TCPIP協議棧

    一個專為嵌入式系統編寫的小型TCP/IP協議棧 TCP/IPLean
    發表于 10-08 17:23 ?50次下載

    基于嵌入式系統小型服務器的搭建

    基于嵌入式系統小型服務器的搭建.....
    發表于 01-04 15:25 ?18次下載

    基于嵌入式ARM&WinCE的小型監控系統的設計

    本文介紹了嵌入式操作系統WinCE的技術特性、構建基于WinCE的嵌入式平臺以及在構建的平臺上開發嵌入式應用程序和基于微處理器ARM硬件平臺的設計。最后以WinCE
    發表于 04-18 14:12 ?1次下載

    嵌入式設備固件的安全分析和測評技術

    繁多、專用性強、源碼或設計文檔往往不公開、運行環境受限等諸多因素的影響,通用漏洞挖掘技術無法直接適配。近年來,國內外安全專家和學者針對嵌入式設備及其固件的安全分析和測評技術提出了很多切實可行的解決方案,但
    發表于 06-07 16:31 ?8次下載

    嵌入式系統

    緊密結合。嵌入式系統通常是計算機技術、半導體技術、電力電子技術及機械技術與各行業的具體應用相結合的產物。(6)系統透明性。(7)系統資源受限
    發表于 10-14 13:49 ?2次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>

    嵌入式作業

    目錄嵌入式第1章作業嵌入式第1章作業201班 董洪任1、簡述嵌入式系統的概念。嵌入式系統是一種專
    發表于 10-20 16:35 ?10次下載
    <b class='flag-5'>嵌入式</b>作業
    太阳百家乐网| 澳门百家乐官网打法百家乐官网破解方法 | 百家乐赌博筹码大不大| 做生意的人早晨讲究| 百家乐官网英皇赌场娱乐网规则| 澳门百家乐官网赌客| 百家乐官网园千术大全| 澳门百家乐视频| 百家乐如何睇路| 百家乐官网有试玩的吗| 首席百家乐官网的玩法技巧和规则| 百家乐官网开线| 百家乐官网赌博详解| 12倍百家乐官网秘籍| 百家乐官网视频一下| 在线百家乐官网有些一| 军事| 乐昌市| 百家乐官网视频软件下载| 天祝| 手游| 百家乐官网高档筹码| 百家乐官网游戏技巧| 百家乐官网薯片| 赌场百家乐官网的玩法技巧和规则 | 百家乐官网金海岸娱乐| 88百家乐官网现金网| 玩百家乐官网是否有技巧| 网上百家乐官网投注技巧| 金城百家乐官网平台| 百家乐官网的分析| 百家乐官网怎样下注| 博马百家乐娱乐城| 百家乐官网免费体验金| 百家乐天下第一缆| 博彩百家乐画谜网| 大发888娱乐城优惠码lm0| 澳门顶级赌场手机版| 尚志市| 百家乐官网千术手法| 赌百家乐的下场|