當今閃電般快速、互聯(lián)程度日益增強的世界為我們提供了為我們每天使用的嵌入式系統(tǒng)大幅增加價值的機會。然而,同樣的連接也可能對作為嵌入式系統(tǒng)基礎(chǔ)一部分的物聯(lián)網(wǎng)應用程序和設(shè)備的完整性構(gòu)成威脅。解決方案是什么?更智能、更安全的設(shè)計。一旦奠定了堅實的基礎(chǔ),互聯(lián)網(wǎng)連接的嵌入式和物聯(lián)網(wǎng)設(shè)備就可以確保長期安全并保護網(wǎng)絡(luò),即使單個節(jié)點受到損害也是如此。為了達到所需的安全級別,必須預測和解決多種威脅:實現(xiàn)這一目標的一個很好的工具是微軟的Azure Sphere及其嵌入式Pluton安全子系統(tǒng)。
物聯(lián)網(wǎng)安全要點
物聯(lián)網(wǎng)設(shè)備安全的基本要求是確保系統(tǒng)正確集成。由于黑客是出了名的足智多謀,并且樂于利用任何和所有弱點,因此必須保護設(shè)備免受未經(jīng)授權(quán)的修改和入侵。聰明的 OEM 可以通過分層安全性來減少對受感染系統(tǒng)的脆弱性。例如,黑客用來滲透系統(tǒng)的一種常用機制是緩沖區(qū)溢出。它允許黑客利用存儲在內(nèi)存外部并分配給網(wǎng)絡(luò)緩沖區(qū)的數(shù)據(jù),這有時會導致目標系統(tǒng)無意中執(zhí)行代碼。從黑客的角度來看,這是個好消息。它不僅提供了一個可以上傳新可執(zhí)行映像的點,而且一旦設(shè)備重新啟動以便它可以執(zhí)行該新映像,他或她就可以完全控制系統(tǒng)并訪問有價值的數(shù)據(jù)。
安全啟動機制是避免此問題的好方法。它通過確保只有授權(quán)方提供的可執(zhí)行文件才能運行來提供關(guān)閉潛在攻擊的方法。實現(xiàn)安全啟動機制的基本要求是非易失性存儲器區(qū)域,該區(qū)域在制造后被視為只讀 - 其中包含引導加載程序代碼,強制處理器檢查加載到系統(tǒng)中的引導映像的完整性。如果它未通過完整性檢查,則設(shè)備在獲得有效的啟動映像之前不會啟動。有效的完整性檢查將制造商 ID 與設(shè)備自己的 ID 相結(jié)合,方法是確保加載到閃存中以供下次啟動的代碼使用使用本地存儲的唯一 ID 生成的哈希進行簽名。為了防止可能用于查找此 ID 的攻擊,設(shè)備還需要具有硬件信任根。
硬件信任根
安全性正日益成為設(shè)計社區(qū)所有成員的重要問題。例如,在一次道路測試審查中,element14社區(qū)成員David Long指出,Pluton安全子系統(tǒng)的信任根是作為Azure Sphere模塊的核心部分實現(xiàn)的,可通過Newark獲得,這是關(guān)鍵功能之一。
硬件信任根是用于運行安全敏感操作的受保護區(qū)域。它通過實施一個安全處理器來提供針對物理篡改和遠程攻擊的保護,該處理器可以單獨訪問片上代碼和數(shù)據(jù)存儲器。加密密鑰和其他安全數(shù)據(jù)存儲在這些區(qū)域中,并且信任根配置為永遠不允許從外部訪問這些元素。安全處理器通常由加密處理器和真隨機數(shù)生成器 (TRNG) 支持,以加快這些操作,真隨機數(shù)生成器 (TRNG) 用于生成在信任根之外運行的軟件和系統(tǒng),以確定它們是否應有權(quán)訪問系統(tǒng)資源。
有了硬件信任根,設(shè)備不僅可以保護自己和它發(fā)送的任何數(shù)據(jù),還可以證明它是一個合法的設(shè)備,向云中的其他物聯(lián)網(wǎng)設(shè)備或服務器發(fā)送可信數(shù)據(jù)。反過來,這有助于提高安全性,因為設(shè)備可以拒絕與任何沒有可接受憑據(jù)的網(wǎng)絡(luò)連接設(shè)備互動。這也減少了緩沖區(qū)溢出和類似攻擊的可能性。Pluton 安全子系統(tǒng)有助于控制本身可能受到損害的外圍設(shè)備的操作。處理器內(nèi)的防火墻可防止未經(jīng)授權(quán)訪問敏感功能,并防止?jié)撛诤诳褪褂眉倜巴鈬O(shè)備接管系統(tǒng)的嘗試。
軟件或遠程設(shè)備可以通過證明來證明其身份或真實性。通常,這是在基于公鑰基礎(chǔ)結(jié)構(gòu) (PKI) 機制的協(xié)議的幫助下處理的。在PKI下,消息使用公鑰進行加密,公鑰可以自由分發(fā)而不會影響協(xié)議,因為只有相應的私鑰才能解密消息。此類私鑰是那些將存儲在信任安全內(nèi)存的硬件根中的私鑰,通常在制造過程中加載。
通信安全
當設(shè)備想要建立通信或證明其身份時,它將使用協(xié)議使用一個或多個私鑰生成證書和簽名。簽名和認證協(xié)議將隨機值(理想情況下是在 TRNG 的幫助下創(chuàng)建的)與私鑰相結(jié)合,以創(chuàng)建會話密鑰等值,這些值在被丟棄之前短時間使用一次,以避免黑客攔截消息并在所謂的重放攻擊中重新創(chuàng)建它們的可能性。創(chuàng)建后,PKI 協(xié)議可確保永遠不需要在安全區(qū)域之外訪問私鑰。
在 Azure Sphere 的情況下,兩個核心私鑰由設(shè)備上的 Pluton 子系統(tǒng)在制造過程中生成,之后甚至無法被軟件直接讀取。從私鑰派生的所有消息都由 Pluton 子系統(tǒng)中的加密處理器創(chuàng)建。這彌補了許多系統(tǒng)中的關(guān)鍵弱點,其中私鑰在外部生成并編程到設(shè)備中,從而產(chǎn)生了攔截的可能性。
下一個問題是確定設(shè)備首次出現(xiàn)在網(wǎng)絡(luò)中時密鑰是否有效。Azure Sphere 通過生成匹配的公鑰來實現(xiàn)此目的:一個用于證明,一個用于用戶定義的安全服務。這些公鑰在制造時提供給微軟,供其Azure云服務使用。設(shè)備中還存儲了使用 PKI 機制生成的數(shù)字證書,這些證書用于檢查聲稱來自 Azure 服務器的消息。
當 Azure Sphere 設(shè)備連接到云時,它會根據(jù)存儲在安全內(nèi)存中的 Azure 創(chuàng)建的證書檢查消息來驗證服務器的身份。此時,設(shè)備需要向服務器進行身份驗證,這是使用遠程證明協(xié)議完成的任務。在 Azure Sphere 系統(tǒng)中,標識的不僅僅是設(shè)備,還有它運行的代碼。這是通過基于在安全啟動過程中找到的代碼序列的加密哈希創(chuàng)建會話密鑰來執(zhí)行的。這些值使用私鑰進行簽名,以便由板載加密處理器生成證明。由于 Azure 服務可以根據(jù)其數(shù)據(jù)庫中設(shè)備的公鑰生成相應的公鑰,因此它可以驗證它已使用授權(quán)固件啟動的設(shè)備標識。
云服務對設(shè)備進行身份驗證的可用性還有其他好處:例如,在 Azure Sphere 下,當發(fā)現(xiàn)設(shè)備是真實的并且運行正確的軟件時,會為其提供一個證書,當該證書與其自己存儲的憑據(jù)結(jié)合使用時,可以提供給其他聯(lián)機服務和設(shè)備以證明設(shè)備的身份。該證書的有效期約為一天,這限制了攻擊的可能性,并迫使設(shè)備定期證明其健康狀況,以保持與物聯(lián)網(wǎng)服務的連接。
如果設(shè)備未通過安全啟動過程,則無法獲得證書,使其作為有效的、經(jīng)過身份驗證的系統(tǒng)運行,并將與物聯(lián)網(wǎng)切斷。此外,身份驗證失敗提供了一種糾正這種情況的方法,并且可能允許設(shè)備連接到 Azure 服務,以便下載和安裝真實且最新的啟動映像。這提供了額外的保護級別,可抵御利用舊版本真實固件中的弱點的攻擊。
element14社區(qū)成員Rodrigo Sim將Microsoft Pluton安全子系統(tǒng)描述為Azure Sphere生態(tài)系統(tǒng)的基礎(chǔ),并指出Pluton有一個專用的核心,用于加速加密任務,如使用SHA2散列,橢圓曲線加密(ECC)和AES加密。所有這些都允許Pluton為基本操作系統(tǒng)和用戶應用程序提供安全啟動和遠程證明。專用內(nèi)核還可以控制其他內(nèi)核中外設(shè)的訪問。
雖然現(xiàn)在對互聯(lián)網(wǎng)連接的支持實際上是許多嵌入式系統(tǒng)設(shè)計人員的要求,但構(gòu)成的威脅是可以控制的。通過 Azure Sphere 等平臺,互聯(lián)網(wǎng)連接提供了比未連接設(shè)備更強大的解決方案。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5198文章
20445瀏覽量
333996 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
55文章
11337瀏覽量
109891 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2945文章
47819瀏覽量
414847
發(fā)布評論請先 登錄
用「EN 18031認證」通關(guān)歐盟,飛凌嵌入式這張 “網(wǎng)絡(luò)安全護照” 已就位
嵌入式系統(tǒng)安全設(shè)計原則
什么是嵌入式應用開發(fā)?
arm嵌入式主板優(yōu)缺點
嵌入式系統(tǒng)中的人工智能
嵌入式和FPGA的區(qū)別
嵌入式開發(fā)的關(guān)鍵點介紹
如何采用SAFERTOS和ESM保護嵌入式系統(tǒng)安全
2025嵌入式行業(yè)現(xiàn)狀如何?
嵌入式開發(fā)就業(yè)還有前景嗎?
Linux嵌入式和單片機嵌入式的區(qū)別?
嵌入式開發(fā)入門指南:從零開始學習嵌入式
嵌入式軟件行業(yè)增長驅(qū)動因素
大賽報名|飛凌嵌入式攜手瑞芯微成為2025年全國大學生嵌入式大賽命題企業(yè)
通過更智能的設(shè)計促進嵌入式安全
評論