惡意軟件注入已成為嵌入式系統(tǒng)的關(guān)鍵威脅。實(shí)現(xiàn)基于非對稱加密的安全啟動是針對此類攻擊的最佳保護(hù)。本應(yīng)用筆記描述了這種安全啟動的關(guān)鍵原理,并解釋了如何使用DeepCover MAXQ1050安全微控制器實(shí)現(xiàn)它。
嵌入式系統(tǒng)安全性日益受到關(guān)注。每天都有針對嵌入式系統(tǒng)的新攻擊,包括涉及健康或安全的系統(tǒng)。一種類型的攻擊是惡意軟件注入,即將惡意代碼插入網(wǎng)頁。一旦攻擊者成功使設(shè)備運(yùn)行欺詐性軟件,此未經(jīng)授權(quán)的軟件就可以:
向外部發(fā)送機(jī)密數(shù)據(jù)。如果在醫(yī)療行業(yè)使用,惡意軟件注入可能會導(dǎo)致設(shè)備(如便攜式心電圖機(jī))無意中傳輸個人健康信息。在更廣泛的努力中,惡意軟件可以使公眾可以訪問加密密鑰。
強(qiáng)制設(shè)備運(yùn)行不正確。一個著名的例子是Stuxnet病毒,它在感染可編程邏輯控制器(PLC)后,迫使離心機(jī)以與預(yù)期不同的速度運(yùn)行。
引發(fā)不可預(yù)測的設(shè)備行為。這包括可能威脅人類生命的行為。
正確安全的引導(dǎo)過程僅允許授權(quán)軟件在給定設(shè)備上運(yùn)行。因此,即使在更新階段,它也可以防止惡意軟件注入。若要帶來高級別的信任,安全啟動必須依賴于經(jīng)過驗(yàn)證的加密算法。然而,這帶來了一些挑戰(zhàn):
最合適的算法是不對稱算法,需要密集的計算能力。
必須保護(hù)與這些算法關(guān)聯(lián)的密鑰。
實(shí)施必須完美無缺。
在許多系統(tǒng)中,這些要求可能難以實(shí)現(xiàn)。但是,增加安全微控制器作為協(xié)處理器,如MAXQ1050,可以有效地支持安全啟動實(shí)現(xiàn),同時保證非常高的安全性。
固件的身份驗(yàn)證和數(shù)字簽名
為了確保目標(biāo)嵌入式設(shè)備僅運(yùn)行授權(quán)軟件,我們需要提供一種驗(yàn)證所述固件的方法。這意味著確保軟件是正版的,并且是由授權(quán)實(shí)體編寫或批準(zhǔn)的。向固件添加數(shù)字簽名(類似于在字母底部添加印章或手動簽名)可以實(shí)現(xiàn)這一點(diǎn)。
在制造階段加載的軟件應(yīng)進(jìn)行數(shù)字簽名,并且還應(yīng)應(yīng)用于每個固件更新。這樣,數(shù)字簽名就可以在設(shè)備的整個生命周期內(nèi)實(shí)現(xiàn)信任。
強(qiáng)數(shù)字簽名必須由加密算法計算。為了帶來最高級別的安全性,算法必須是公開的并且經(jīng)過充分驗(yàn)證。在這里,我們將研究非對稱加密算法,即橢圓曲線數(shù)字簽名算法(ECDSA)和與SHA相關(guān)的RSA。
應(yīng)用于安全啟動的非對稱加密
基于非對稱加密的安全啟動的關(guān)鍵原則是,軟件開發(fā)人員持有用于簽名的私鑰,而嵌入式設(shè)備存儲公鑰以進(jìn)行驗(yàn)證。這樣做的主要優(yōu)點(diǎn)(與基于對稱加密的安全啟動相比)是機(jī)密元素(即私鑰)永遠(yuǎn)不會存儲在最終產(chǎn)品中。因此,當(dāng)使用ECDSA或RSA時,攻擊者無法檢索私鑰,即使通過最復(fù)雜的侵入性攻擊也是如此。秘密只是沒有存儲在現(xiàn)場設(shè)備的任何地方!攻擊者可以從設(shè)備獲得的只是公鑰,而使用非對稱加密,當(dāng)只知道公鑰時,幾乎不可能檢索私鑰。這是非對稱加密的一個基本好處。
圖 1 顯示了基于非對稱加密的安全啟動流程。固件真實(shí)性通過 ECDSA 或 RSA 進(jìn)行驗(yàn)證,只要密鑰長度足夠(RSA 通常為 2048 位,ECDSA 通常為 224 位),它們就提供了極高的信任級別。ECDSA和RSA由SHA-256高效安全地維持。對完整的固件進(jìn)行數(shù)字簽名是不切實(shí)際的,因此我們計算一個摘要(“哈希值”),該摘要通過 SHA-256 哈希算法的基本屬性保證是唯一且不可偽造的。然后通過 ECDSA 或 RSA 對本摘要進(jìn)行簽名。相同的流程適用于固件更新,但固件加載不適用于制造設(shè)施。人們還會注意到私鑰永遠(yuǎn)不需要離開軟件設(shè)計中心。

圖1.跨設(shè)備生命周期階段的安全啟動流。
雖然非對稱加密提供了關(guān)鍵優(yōu)勢,但它確實(shí)需要密集的計算資源。通過軟件在大型軟件上計算 SHA-x 非常耗時。RSA 或 ECDSA 簽名也需要資源,尤其是在主系統(tǒng)微控制器沒有乘數(shù)的情況下。
另一個挑戰(zhàn)是公鑰及其證書的完整性??梢韵胂?,公鑰不需要保密。公鑰可以透露給任何人,因?yàn)樗辉试S驗(yàn)證。但是,攻擊者可以嘗試用個人公鑰替換原始公鑰。如果此替換成功,設(shè)備將對攻擊者私鑰簽名的軟件進(jìn)行身份驗(yàn)證。為了避免這種情況,必須保護(hù)公鑰、完整性。換句話說,我們必須保證它不會被修改或替換。
為什么使用MAXQ1050進(jìn)行安全啟動?
DeepCover MAXQ1050安全微控制器滿足這些要求。圖2所示為嵌入式器件實(shí)現(xiàn)MAXQ1050安全啟動的典型框圖。

圖2.MAXQ1050安全微控制器用作安全協(xié)處理器的典型框圖
由于MAXQ1050具有嵌入式安全哈希引擎,可加速固件哈希的計算,從而縮短器件啟動時間。MAXQ1050還可以執(zhí)行快速ECDSA或RSA簽名驗(yàn)證,因?yàn)樗哂杏糜谀K化算術(shù)運(yùn)算的MAA硬件加速器。
MAXQ1050執(zhí)行圖1“現(xiàn)場使用”部分所示的步驟。除了固件的哈希計算和數(shù)字簽名驗(yàn)證之外,MAXQ1050還通知主系統(tǒng)微控制器和/或電源管理IC(PMIC)固件認(rèn)證狀態(tài)。實(shí)現(xiàn)示例包括:
MAXQ1050 (通過GPIO)允許PMIC為微控制器供電。
MAXQ1050的GPIO可以連接到主微控制器的復(fù)位引腳。只有在驗(yàn)證固件真實(shí)性后,才會釋放重置。
上述兩個選項(xiàng)后跟MAXQ1050在多個GPIO上發(fā)送的數(shù)字序列。
由于產(chǎn)品的安全存儲功能,公鑰、關(guān)聯(lián)證書和引用哈希值的完整性得到保證。
以適當(dāng)?shù)陌踩墑e為目標(biāo)
產(chǎn)品的預(yù)期安全級別通常難以定義 - 達(dá)到盡可能高的安全級別通常會導(dǎo)致高昂的開發(fā)和制造成本。因此,必須找到權(quán)衡。這種權(quán)衡通常基于攻擊的可能性和成功攻擊造成的損害。要確定適當(dāng)?shù)陌踩墑e,需要考慮許多風(fēng)險因素,包括:
攻擊者的工具:如果攻擊者可以使用復(fù)雜的設(shè)備,例如掃描電子顯微鏡(SEM)或聚焦離子束(FIB),則可以產(chǎn)生更大的影響。
攻擊者配置文件:攻擊者可以是單獨(dú)行動的人,也可以是擁有強(qiáng)大財務(wù)支持的黑手黨/犯罪組織的成員。
攻擊者的動機(jī):攻擊者可能期望獲得經(jīng)濟(jì)利益或僅對其技能的認(rèn)可。
成功的軟件攻擊的財務(wù)影響。
在本應(yīng)用筆記中,我們將考慮三種攻擊潛力級別:
基本:攻擊者能夠通過所有軟件手段攻擊系統(tǒng),包括惡意軟件注入。但是,他/她無法或沒有工具修改系統(tǒng)的任何物理特性。
中等:除了軟件攻擊外,攻擊者還可以執(zhí)行物理攻擊,例如探測印刷電路板(PCB)軌道以讀取信號,強(qiáng)制數(shù)字引腳的電平或從PCB中移除IC。
高:攻擊者能夠執(zhí)行高度侵入性攻擊,例如對 IC 鍵合線上的信號進(jìn)行微探測或?qū)?IC 本身進(jìn)行微探測。
對于每個級別的攻擊潛力,Maxim Integrated都可以實(shí)施足夠的保護(hù)級別:
基本潛力:圖 2 中提出的實(shí)現(xiàn)提供了足夠的保護(hù)級別,無需進(jìn)一步的具體建議。
中等潛力:基本實(shí)現(xiàn)提供針對某些攻擊的保護(hù)(例如,代理將包含系統(tǒng)的串行閃存替換為包含攻擊者軟件的偽造軟件的攻擊)。這是因?yàn)槲覀兊陌踩珕有蛄袝z測到任何假冒軟件。為了在不增加開發(fā)或制造成本的情況下提高系統(tǒng)對硬件攻擊的抵抗力,我們建議采取一些布局預(yù)防措施。以下是一些示例:
將MAXQ1050連接到PCB內(nèi)層的PMIC或主系統(tǒng)微控制器的信號走線,以防止信號被輕易訪問。這樣,攻擊者就無法輕松地將它們連接到探測并強(qiáng)制它們。
使用動態(tài)信號(即脈沖或脈沖序列)通知主微控制器啟動成功。這可以防止攻擊者將信號引腳連接到固定電平,例如接地或 VDD.
使用多個帶有不同動態(tài)信號的引腳通知主控制器啟動成功。以攻擊者難以同時控制兩個引腳的方式路由軌道。
高潛力:針對最復(fù)雜的攻擊提供保護(hù)將包括符合 FIPS 140-2 級別 3 或 4 的實(shí)施。此實(shí)現(xiàn)應(yīng)檢測任何物理篡改嘗試,并通過銷毀任何敏感信息立即做出反應(yīng),從而使系統(tǒng)無法運(yùn)行。由于使設(shè)備再次可操作需要經(jīng)過維護(hù)階段,因此僅當(dāng)安全性超過系統(tǒng)可用性時,才應(yīng)實(shí)施此級別的保護(hù)。
MAXQ1050安全微控制器具有自毀輸入和可即時擦除的NV SRAM,可以滿足這些高級安全要求。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
8375瀏覽量
164548 -
處理器
+關(guān)注
關(guān)注
68文章
20250瀏覽量
252213 -
PCB
+關(guān)注
關(guān)注
1文章
2307瀏覽量
13204
發(fā)布評論請先 登錄
MAXQ1103 高性能RISC安全微控制器
MAXQ1050 安全USB微控制器
MAXQ1050數(shù)據(jù)資料
MAXQ1050評估套件和面向MAXQ30入門的CrossStudio編譯
MAXQ1741 DeepCover磁卡讀取安全微控制器
MAXQ1850-KIT DeepCover安全微控制器(MAXQ1850)評估套件
MAXQ1050的評估套件和面向MAXQ30入門的CrossStudio編譯
MAXQ1061加密控制器保護(hù)存儲安全
如何學(xué)會讓主機(jī)免受惡意軟件的侵害
MAXQ1061/MAXQ1062用于嵌入式設(shè)備的DeepCover加密控制器技術(shù)手冊
MAXQ1741用于磁卡讀卡器的DeepCover安全微控制器技術(shù)手冊
使用DeepCover MAXQ1050安全微控制器保護(hù)您的設(shè)計免受惡意軟件的侵害
評論