當今瞬息萬變、日益互聯的世界為我們提供了為我們每天使用的嵌入式系統大幅增加價值的機會。然而,同樣的連接也可能成為對物聯網應用程序和設備的完整性的威脅,這些應用程序和設備的完整性是嵌入式系統基礎的一部分。解決方案是什么?更智能、更安全的設計。一旦堅實的基礎到位,互聯網連接的嵌入式和物聯網設備可以確保長期安全并保護網絡,即使單個節點受到損害。為了實現所需的安全級別,必須預測和解決多種威脅:實現這一目標的一個很好的工具是微軟的Azure Sphere及其嵌入式Pluton安全子系統。
物聯網安全要點
物聯網設備安全的一個基本要求是確保系統正確集成。由于黑客是出了名的足智多謀,并且很樂意利用任何和所有弱點,因此必須保護設備免受未經授權的修改和入侵。智能 OEM 可以通過分層安全性來降低其對受感染系統的脆弱性。例如,黑客用來滲透系統的一種經常被利用的機制是緩沖區溢出。它允許黑客利用存儲在內存外部并分配給網絡緩沖區的數據,這有時會導致目標系統無意中執行代碼。從黑客的角度來看,這是個好消息。它不僅提供了一個可以上傳新的可執行映像的點,而且一旦設備重新啟動以便它可以執行該新映像,他或她就可以完全控制系統并訪問有價值的數據。
安全啟動機制是避免此問題的好方法。它通過確保只有授權方提供的可執行文件才能運行來關閉潛在攻擊的方法。實現安全啟動機制的一個基本要求是非易失性內存區域,該區域在制造后被視為只讀 - 這包含引導加載程序代碼,強制處理器檢查加載到系統中的引導映像的完整性。如果完整性檢查失敗,則在向設備提供有效的啟動映像之前,設備將無法啟動。有效的完整性檢查將制造商 ID 與設備自己的 ID 相結合,方法是確保加載到閃存中的代碼在下次啟動時使用使用本地存儲的唯一 ID 生成的哈希進行簽名。為了防止可能用于查找此 ID 的攻擊,設備還需要具有硬件信任根。
硬件信任根
安全性正日益成為設計界所有成員的重要問題。例如,在最近的一次道路測試審查中,e絡盟社區成員David Long指出,冥王星安全子系統的信任根是作為Azure Sphere模塊的核心部分實現的,可通過紐瓦克獲得,這是關鍵功能之一。
硬件信任根是運行安全敏感操作的受保護區域。它通過實施僅訪問片上代碼和數據存儲器的安全處理器,提供針對物理篡改和遠程攻擊的保護。加密密鑰和其他安全數據存儲在這些區域中,并且信任根配置為永遠不允許從外部訪問這些元素。安全處理器通常由加密處理器支持以加快這些操作,并由真隨機數生成器(TRNG)支持,后者用于生成在信任根之外運行的軟件和系統,以確定它們是否應有權訪問系統資源。
有了硬件信任根,設備不僅有可能保護自己及其發送的任何數據,而且可以證明它是向云中的其他物聯網設備或服務器發送可靠數據的合法設備。反過來,這有助于提高安全性,因為設備可以拒絕與沒有可接受憑據的任何網絡連接設備進行交互。這也降低了緩沖區溢出和類似攻擊首先通過的可能性。Pluton安全子系統有助于控制本身可能受到損害的外圍設備的操作。處理器內的防火墻可防止未經授權訪問敏感功能,并防止潛在黑客使用偽造外圍設備接管系統。
軟件或遠程設備可以通過證明來證明其身份或真實性。通常,這是在基于公鑰基礎結構 (PKI) 機制的協議的幫助下處理的。在PKI下,消息使用公鑰加密,公鑰可以自由分發而不會損害協議,因為只有相應的私鑰才能解密消息。此類私鑰將存儲在硬件信任根的安全內存中,通常在制造過程中加載。
通信安全
當設備想要建立通信或證明其身份時,它將使用協議來生成證書和簽名,使用其中一個或多個私鑰。簽名和認證協議將隨機值(理想情況下是在TRNG的幫助下創建的)與私鑰相結合,以創建會話密鑰等值,這些值在短時間內使用一次,然后被丟棄,以避免黑客攔截消息并在所謂的重放攻擊中重新創建它們。一旦創建,PKI協議確保私鑰永遠不需要在安全區域之外訪問。
在 Azure Sphere 的情況下,兩個核心私鑰由設備上的 Pluton 子系統在制造過程中生成,之后甚至不能由軟件直接讀取。從私鑰派生的所有消息都是由Pluton子系統中的加密處理器創建的。這彌補了許多系統中的一個關鍵弱點,其中私鑰在外部生成并編程到設備中,從而產生了攔截的可能性。
下一個問題是確定當設備首次出現在網絡中時密鑰是否有效。Azure Sphere 通過生成匹配的公鑰來實現此目的:一個用于證明,一個用于用戶定義的安全服務。這些公鑰在制造時提供給微軟,供其 Azure 云服務使用。設備中還存儲著使用 PKI 機制生成的數字證書,這些證書用于檢查聲稱來自 Azure 服務器的消息。
當 Azure Sphere 設備連接到云時,它會根據存儲在安全內存中的 Azure 創建的證書檢查消息,從而驗證服務器的標識。此時,設備需要向服務器驗證自身身份,這是使用遠程證明協議完成的任務。在 Azure 球體系統中,標識的不僅僅是設備,而是它運行的代碼。這是通過基于在安全啟動過程中找到的代碼序列的加密哈希創建會話密鑰來實現的。這些值使用私鑰進行簽名,用于板載加密處理器生成的證明。由于 Azure 服務可以基于其數據庫中設備的公鑰生成相應的公鑰,因此它可以使用授權固件驗證已啟動的設備標識。
云服務可用于對設備進行身份驗證還有其他好處:例如,在 Azure Sphere 下,當發現設備是真實的并運行正確的軟件時,會向其提供一個證書,當該證書與其自己的存儲憑據結合使用時,可以將其呈現給其他在線服務和設備,以證明設備的身份。該證書的有效期約為一天,這限制了攻擊的可能性,并迫使設備定期證明其運行狀況,以保持與物聯網服務的連接。
如果設備沒有通過安全啟動過程,則它無法獲得證書,該證書將允許它作為有效的,經過身份驗證的系統執行,并將與物聯網斷開連接。此外,身份驗證失敗提供了一種糾正這種情況的方法,并且可能允許設備連接到 Azure 服務,以便下載和安裝真實且最新的啟動映像。這提供了額外的保護級別,以防止利用舊版本正版固件中的弱點的攻擊。
e絡盟社區成員羅德里戈·西姆(Rodrigo Sim)將微軟冥王星安全子系統描述為Azure Sphere生態系統的基礎,并指出冥王星有一個專用的核心,用于加速加密任務,如散列SHA2,橢圓曲線加密(ECC)和AES加密。所有這些都允許 Pluton 為基本操作系統和用戶應用程序提供安全啟動和遠程證明。專用內核還可以控制其他內核中外設的訪問。
雖然對互聯網連接的支持現在實際上是許多嵌入式系統設計人員的要求,但所帶來的威脅是可以控制的。通過 Azure Sphere 等平臺,互聯網連接提供了比未連接的設備更強大的解決方案。
審核編輯:郭婷
-
嵌入式
+關注
關注
5157文章
19722瀏覽量
318373 -
物聯網
+關注
關注
2932文章
46337瀏覽量
393929
發布評論請先 登錄
如何提高嵌入式代碼質量?
嵌入式和人工智能究竟是什么關系?
什么是嵌入式操作系統?
智能系統的安全性分析
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+全文學習心得
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第7-8章學習心得
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第三四章閱讀報告
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第一二章讀后感
嵌入式系統的未來趨勢有哪些?
【?嵌入式機電一體化系統設計與實現?閱讀體驗】+《智能化技術在船舶維護中的應用探索》
嵌入式系統中工業4.0網絡安全

評論