曾用以保護工業控制器等設備的網絡空隙目前已被填補,這得益于無線網絡應用的增長。無線網絡的引入提高了便利性和靈活性,但同時也為黑客攻擊提供了便捷之道。無線網絡的發展也伴隨著黑客竊取信息的能力在提高,而嵌入式設備一直都極易受到攻擊。因此,我們需要使用多種手段支持高級安全性,以強化防止攻擊的設備。
安全強化的核心是一套基本構建塊,當它們一起使用時,可以抵御黑客攻擊并保持完整性。一個啟用無線的設備需要確保它可以維護自己的代碼和數據的控制權,并支持與能提供必要認證以獲得信任的遠程端點的私有通信。
設備認證之所以至關重要的一個例子是中間人攻擊。這是一種黑客截取兩個合法設備間通訊、監聽對話并篡改它們收到的數據包,以獲取秘密或進入一個或兩個設備的攻擊。一個常見的對Wi-Fi設備的攻擊是創建一個偽裝成合法路由器的接入點,該接入點會向真實的接入點和設備自身轉發被篡改的數據。通過這樣的技術,攻擊者可能會學習到執行成功登錄所需的訪問代碼,或者他們可能會注入錯誤的數據或malware導致設備出現故障。因此保護好對話是至關重要的,這也指明了我們需要使用加密技術來讓未經授權的監聽者難以實施攻擊。
每一個安全的物聯網設備的中心都需要有一個可信根。這是嵌入設備中一套可以被計算機的操作系統和軟件充分信任的功能。在當今的設備中,可信根是通過使用公鑰基礎設施 (PKI) 加密技術保證的,這是一種檢查任何設備的真實性和其操作有效性的機制。PKI建立在生成一對在使用中非對稱的加密鍵的基礎上。一個是可以自由分發并用于加密發送給私鑰持有者的消息的公鑰。通過在公共網絡上無風險地傳輸公鑰,可以大大提高基于加密的安全性的可擴展性,這相比對稱密鑰系統有著巨大的改進。
由于對稱系統使用同一個密鑰進行加密和解密,因此必須始終保密該密鑰以防止未經授權的用戶獲取。這使得把可信密鑰送達用戶變得非常困難,因為他們必須使用其他的、具有高信任度的通信渠道來獲得密鑰。
在PKI下,只有私鑰的持有者可以解密由公鑰的持有者發送的消息。因此,密鑰必須保密。然而,PKI支持的協議意味著永遠無需向其他用戶發送私鑰。所有通信都可以通過使用公鑰和使用私鑰數字簽名的證書來支持。PKI交易可能會對計算能力要求極高,這使得其在嵌入式系統中的實施變得困難。然而,使用專用的MCU會減輕處理器和加密數據的主處理器的負擔。
幾乎在整個網絡中都被使用的傳輸層安全協議 (TLS) 也是基于PKI的,它可以防止未經授權的監聽并幫助防止中間人攻擊。然而,有了PKI核心,我們可以通過加密和保護信息,超越僅是防御。這個核心可以和設計良好的硬件特性相結合,對嵌入式系統建立一個可信根,確保設備只能運行經過授權的代碼,并只能和網絡中的其他經過授權的設備通信。
可信根背后的思想是,只有被可信方簽名的代碼才被允許在引導時運行,而且代碼除了由同一可信方更改之外不能被更改。引導代碼的關鍵因素是它是使用PKI技術進行數字簽名的,這生成了一個與代碼內容本身關聯的散列值。這個簽名過程通常由設備制造商執行,制造商首先獲取或生成一個被制造商的私鑰保護的基于PKI的數字證書。用于這一過程的數字證書通常是由一個高信任度機構生成的根證書派生出的。根證書支持生成一系列派生證書,它們指向一個核心可信實體 – 這是一個對攻擊者來說難以妨礙的信任鏈。
當代碼被加載進設備并使用匹配的公鑰分析時,代碼簽名需要精確地匹配二進制文件的內容。對軟件的任何更改都會使散列值無效,設備應拒絕從該圖像引導。這有助于防止以操作存儲圖像以插入惡意代碼為中心的攻擊。
觀看公共代碼驗證密鑰的人需要把它存儲在安全內存中,以及設備自身的私鑰,它將用于生成與其他設備通信的可信密鑰對。除了代碼驗證密鑰和本地系統的私鑰的安全存儲外,設備還提供了一個可被用于驗證由設備制造商或服務運營商提供的其他數字簽名真實性的可信任根證書目錄。
代碼更新以及需要從服務器發送的其他安全數據可以使用類似的流程進行驗證。首先,服務器生成一個公鑰/私鑰對并發送公鑰版給設備。這個被用于生成一個臨時的密鑰對。衍生出來的公鑰被傳輸到應用服務器。加密的文件可以通過一個不安全的頻道比如Wi-Fi傳輸,并在設備上解密,然后可以進行最后的真實性檢查。
如果簽名不匹配,任何未經授權的代碼或數據更新都可以被拒絕。此外,設備被保護免受可能涉及重置期間的中斷的攻擊。一個擁有部分安裝的固件的設備可能會因為在重新啟動時軟件處于不確定狀態而變得易于攻擊。在重置后會觸發自動回滾以確保只有完全安裝并認證過的固件才能運行。
理想情況下,可信根使用PKI運算將可信區的覆蓋范圍從自身擴展到系統的其他元素,例如被簽名并在執行前檢查過的應用代碼。然而,惡意代碼可能在工廠被引入,或者需要運行各種服務導致非信任代碼被加載。另一種情況可能是黑客獲取設備的物理訪問權并通過直接操作內存總線來插入他們自己的代碼。一個安全警報記數器追蹤訪問違規行為,比如嘗試使用一個無效或不正確的安全令牌讀取或寫入文件。當系統達到預定義的安全警報限制時,設備將會被鎖住。要從鎖定狀態恢復,必須將設備恢復到工廠設置和代碼庫。
在設備上有一個硬件加密引擎的優勢是處理器無需加載可能不受信任的代碼來運行PKI算法,然后再測試引導軟件的來源去運行其余部分。加密和安全功能的代碼不僅由一個并行運行于主Cortex-M4核心的專用網絡處理器執行,它還存儲在不能被具有物理訪問系統能力的攻擊者修改的ROM中。
通過這個方法,我們有了一個極高安全性的無線微控制器的基礎,這個控制器可以實現物聯網的承諾,即安全、保護良好但靈活的智能控制環境。軟件開發人員需要采取額外措施以避免打開安全漏洞,但通過使用加密和僅與可信任方通信,大大降低了攻擊者獲取對設備的訪問權的可能性。
-
mcu
+關注
關注
146文章
17019瀏覽量
350374 -
硬件
+關注
關注
11文章
3260瀏覽量
66132 -
安全防護
+關注
關注
0文章
60瀏覽量
13503
發布評論請先 登錄
相關推薦
評論