惡意軟件注入已成為嵌入式系統(tǒng)的關(guān)鍵威脅。實現(xiàn)基于非對稱加密的安全啟動是針對此類攻擊的最佳保護。本應(yīng)用筆記描述了這種安全啟動的關(guān)鍵原理,并解釋了如何使用DeepCover MAXQ1050安全微控制器實現(xiàn)它。
嵌入式系統(tǒng)安全性日益受到關(guān)注。每天都有針對嵌入式系統(tǒng)的新攻擊,包括涉及健康或安全的系統(tǒng)。一種類型的攻擊是惡意軟件注入,即將惡意代碼插入網(wǎng)頁。一旦攻擊者成功使設(shè)備運行欺詐性軟件,此未經(jīng)授權(quán)的軟件就可以:
向外部發(fā)送機密數(shù)據(jù)。如果在醫(yī)療行業(yè)使用,惡意軟件注入可能會導(dǎo)致設(shè)備(如便攜式心電圖機)無意中傳輸個人健康信息。在更廣泛的努力中,惡意軟件可以使公眾可以訪問加密密鑰。
強制設(shè)備運行不正確。一個著名的例子是Stuxnet病毒,它在感染可編程邏輯控制器(PLC)后,迫使離心機以與預(yù)期不同的速度運行。
引發(fā)不可預(yù)測的設(shè)備行為。這包括可能威脅人類生命的行為。
正確安全的引導(dǎo)過程僅允許授權(quán)軟件在給定設(shè)備上運行。因此,即使在更新階段,它也可以防止惡意軟件注入。若要帶來高級別的信任,安全啟動必須依賴于經(jīng)過驗證的加密算法。然而,這帶來了一些挑戰(zhàn):
最合適的算法是不對稱算法,需要密集的計算能力。
必須保護與這些算法關(guān)聯(lián)的密鑰。
實施必須完美無缺。
在許多系統(tǒng)中,這些要求可能難以實現(xiàn)。但是,增加安全微控制器作為協(xié)處理器,如MAXQ1050,可以有效地支持安全啟動實現(xiàn),同時保證非常高的安全性。
固件的身份驗證和數(shù)字簽名
為了確保目標(biāo)嵌入式設(shè)備僅運行授權(quán)軟件,我們需要提供一種驗證所述固件的方法。這意味著確保軟件是正版的,并且是由授權(quán)實體編寫或批準的。向固件添加數(shù)字簽名(類似于在字母底部添加印章或手動簽名)可以實現(xiàn)這一點。
在制造階段加載的軟件應(yīng)進行數(shù)字簽名,并且還應(yīng)應(yīng)用于每個固件更新。這樣,數(shù)字簽名就可以在設(shè)備的整個生命周期內(nèi)實現(xiàn)信任。
強數(shù)字簽名必須由加密算法計算。為了帶來最高級別的安全性,算法必須是公開的并且經(jīng)過充分驗證。在這里,我們將研究非對稱加密算法,即橢圓曲線數(shù)字簽名算法(ECDSA)和與SHA相關(guān)的RSA。
應(yīng)用于安全啟動的非對稱加密
基于非對稱加密的安全啟動的關(guān)鍵原則是,軟件開發(fā)人員持有用于簽名的私鑰,而嵌入式設(shè)備存儲公鑰以進行驗證。這樣做的主要優(yōu)點(與基于對稱加密的安全啟動相比)是機密元素(即私鑰)永遠不會存儲在最終產(chǎn)品中。因此,當(dāng)使用ECDSA或RSA時,攻擊者無法檢索私鑰,即使通過最復(fù)雜的侵入性攻擊也是如此。秘密只是沒有存儲在現(xiàn)場設(shè)備的任何地方!攻擊者可以從設(shè)備獲得的只是公鑰,而使用非對稱加密,當(dāng)只知道公鑰時,幾乎不可能檢索私鑰。這是非對稱加密的一個基本好處。
圖 1 顯示了基于非對稱加密的安全啟動流程。固件真實性通過 ECDSA 或 RSA 進行驗證,只要密鑰長度足夠(RSA 通常為 2048 位,ECDSA 通常為 224 位),它們就提供了極高的信任級別。ECDSA和RSA由SHA-256高效安全地維持。對完整的固件進行數(shù)字簽名是不切實際的,因此我們計算一個摘要(“哈希值”),該摘要通過 SHA-256 哈希算法的基本屬性保證是唯一且不可偽造的。然后通過 ECDSA 或 RSA 對本摘要進行簽名。相同的流程適用于固件更新,但固件加載不適用于制造設(shè)施。人們還會注意到私鑰永遠不需要離開軟件設(shè)計中心。
圖1.跨設(shè)備生命周期階段的安全啟動流。
雖然非對稱加密提供了關(guān)鍵優(yōu)勢,但它確實需要密集的計算資源。通過軟件在大型軟件上計算 SHA-x 非常耗時。RSA 或 ECDSA 簽名也需要資源,尤其是在主系統(tǒng)微控制器沒有乘數(shù)的情況下。
另一個挑戰(zhàn)是公鑰及其證書的完整性。可以想象,公鑰不需要保密。公鑰可以透露給任何人,因為它只允許驗證。但是,攻擊者可以嘗試用個人公鑰替換原始公鑰。如果此替換成功,設(shè)備將對攻擊者私鑰簽名的軟件進行身份驗證。為了避免這種情況,必須保護公鑰、完整性。換句話說,我們必須保證它不會被修改或替換。
為什么使用MAXQ1050進行安全啟動?
DeepCover MAXQ1050安全微控制器滿足這些要求。圖2所示為嵌入式器件實現(xiàn)MAXQ1050安全啟動的典型框圖。
圖2.MAXQ1050安全微控制器用作安全協(xié)處理器的典型框圖
由于MAXQ1050具有嵌入式安全哈希引擎,可加速固件哈希的計算,從而縮短器件啟動時間。MAXQ1050還可以執(zhí)行快速ECDSA或RSA簽名驗證,因為它具有用于模塊化算術(shù)運算的MAA硬件加速器。
MAXQ1050執(zhí)行圖1“現(xiàn)場使用”部分所示的步驟。除了固件的哈希計算和數(shù)字簽名驗證之外,MAXQ1050還通知主系統(tǒng)微控制器和/或電源管理IC(PMIC)固件認證狀態(tài)。實現(xiàn)示例包括:
MAXQ1050 (通過GPIO)允許PMIC為微控制器供電。
MAXQ1050的GPIO可以連接到主微控制器的復(fù)位引腳。只有在驗證固件真實性后,才會釋放重置。
上述兩個選項后跟MAXQ1050在多個GPIO上發(fā)送的數(shù)字序列。
由于產(chǎn)品的安全存儲功能,公鑰、關(guān)聯(lián)證書和引用哈希值的完整性得到保證。
以適當(dāng)?shù)陌踩墑e為目標(biāo)
產(chǎn)品的預(yù)期安全級別通常難以定義 - 達到盡可能高的安全級別通常會導(dǎo)致高昂的開發(fā)和制造成本。因此,必須找到權(quán)衡。這種權(quán)衡通常基于攻擊的可能性和成功攻擊造成的損害。要確定適當(dāng)?shù)陌踩墑e,需要考慮許多風(fēng)險因素,包括:
攻擊者的工具:如果攻擊者可以使用復(fù)雜的設(shè)備,例如掃描電子顯微鏡(SEM)或聚焦離子束(FIB),則可以產(chǎn)生更大的影響。
攻擊者配置文件:攻擊者可以是單獨行動的人,也可以是擁有強大財務(wù)支持的黑手黨/犯罪組織的成員。
攻擊者的動機:攻擊者可能期望獲得經(jīng)濟利益或僅對其技能的認可。
成功的軟件攻擊的財務(wù)影響。
在本應(yīng)用筆記中,我們將考慮三種攻擊潛力級別:
基本:攻擊者能夠通過所有軟件手段攻擊系統(tǒng),包括惡意軟件注入。但是,他/她無法或沒有工具修改系統(tǒng)的任何物理特性。
中等:除了軟件攻擊外,攻擊者還可以執(zhí)行物理攻擊,例如探測印刷電路板(PCB)軌道以讀取信號,強制數(shù)字引腳的電平或從PCB中移除IC。
高:攻擊者能夠執(zhí)行高度侵入性攻擊,例如對 IC 鍵合線上的信號進行微探測或?qū)?IC 本身進行微探測。
對于每個級別的攻擊潛力,Maxim Integrated都可以實施足夠的保護級別:
基本潛力:圖 2 中提出的實現(xiàn)提供了足夠的保護級別,無需進一步的具體建議。
中等潛力:基本實現(xiàn)提供針對某些攻擊的保護(例如,代理將包含系統(tǒng)的串行閃存替換為包含攻擊者軟件的偽造軟件的攻擊)。這是因為我們的安全啟動序列會檢測到任何假冒軟件。為了在不增加開發(fā)或制造成本的情況下提高系統(tǒng)對硬件攻擊的抵抗力,我們建議采取一些布局預(yù)防措施。以下是一些示例:
將MAXQ1050連接到PCB內(nèi)層的PMIC或主系統(tǒng)微控制器的信號走線,以防止信號被輕易訪問。這樣,攻擊者就無法輕松地將它們連接到探測并強制它們。
使用動態(tài)信號(即脈沖或脈沖序列)通知主微控制器啟動成功。這可以防止攻擊者將信號引腳連接到固定電平,例如接地或 VDD.
使用多個帶有不同動態(tài)信號的引腳通知主控制器啟動成功。以攻擊者難以同時控制兩個引腳的方式路由軌道。
高潛力:針對最復(fù)雜的攻擊提供保護將包括符合 FIPS 140-2 級別 3 或 4 的實施。此實現(xiàn)應(yīng)檢測任何物理篡改嘗試,并通過銷毀任何敏感信息立即做出反應(yīng),從而使系統(tǒng)無法運行。由于使設(shè)備再次可操作需要經(jīng)過維護階段,因此僅當(dāng)安全性超過系統(tǒng)可用性時,才應(yīng)實施此級別的保護。
MAXQ1050安全微控制器具有自毀輸入和可即時擦除的NV SRAM,可以滿足這些高級安全要求。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7951瀏覽量
154975 -
處理器
+關(guān)注
關(guān)注
68文章
19890瀏覽量
235128 -
PCB
+關(guān)注
關(guān)注
1文章
2097瀏覽量
13204
發(fā)布評論請先 登錄
MAXQ1103 高性能RISC安全微控制器
MAXQ1050 安全USB微控制器
MAXQ1050數(shù)據(jù)資料

MAXQ1050評估套件和面向MAXQ30入門的CrossStudio編譯

MAXQ1741 DeepCover磁卡讀取安全微控制器
MAXQ1850-KIT DeepCover安全微控制器(MAXQ1850)評估套件
MAXQ1050的評估套件和面向MAXQ30入門的CrossStudio編譯
MAXQ1061加密控制器保護存儲安全
MAXQ1061/MAXQ1062用于嵌入式設(shè)備的DeepCover加密控制器技術(shù)手冊
MAXQ1741用于磁卡讀卡器的DeepCover安全微控制器技術(shù)手冊

評論