安全性通常是開發人員在開發基于物聯網的系統時最不想考慮的事情。理想情況下,他們希望為現有系統添加連接并完成它。然而,將安全性硬塞進設計中存在許多問題,當設備資源受限時,這些問題更具挑戰性。
從頭開始
根據阿特金斯的說法,開發有效的物聯網安全的關鍵是首先考慮a)誰可能想要破壞你的系統,b)他們可能會獲得什么,c)你需要保護什么。通過了解您的系統如何使用 - 并因此被濫用 - 您可以評估如果某人可以完全訪問您的設備,他們可以做什么。
威脅模型匯集了系統可能受到威脅的所有方式?;〞r間預先創建此模型至關重要,因為如果您不知道要保護什么,則無法開發強大的安全性。尤其重要的是查看您沒有考慮過的設備的使用方式。
通過考慮保護靜態數據、動態數據和操作中的數據,可以簡化安全性。系統必須保護的最重要的靜態數據是其固件。理想情況下,這需要“安全啟動”機制和可用于驗證固件完整性的完整加密簽名。固件可以分為多個部分,其中一個是受信任的引導加載程序。首先加載此引導加載程序并驗證主系統代碼。如果代碼無效,系統將恢復到以前的良好版本,移動到安全模式,或根據應用程序自行關閉。在最高級別的安全性下,系統將定期確認其正在運行的軟件未經過運行時修改。
為了保護動態數據,需要一個安全的通信通道。這可以是互連多個設備或系統的無線鏈路或系統總線。安全通信可以包括身份驗證(您知道是誰發送的)、機密(您知道只有預期的接收者才能讀取它)和完整性(您知道數據在傳輸過程中未被更改)。
保護運行中的數據是指了解某人如何嘗試破壞系統??紤]一個門禁系統,當輸入正確的密碼時,它會無線解鎖門。如果有人捕獲了“打開”命令,如果稍后重播相同的命令,則門不應打開。
請注意,安全性需要超越軟件,還需要物理考慮。并非每個工廠的訪客都是可以信任的。您還必須確保有人無法取下塑料蓋并訪問控制系統的電線。
基于物聯網的安全成本
許多 OEM 對實施安全性的成本持謹慎態度。通常,已為大型系統開發了安全性。這些算法針對寬總線、大量存儲和擴展指令集進行了優化。一些原始設備制造商表示擔心這些算法不僅會增加成本,還會降低系統速度,使其無法使用。
通常這是真的。但是,有越來越多的安全開發工具專門針對資源受限的系統而設計。這些算法不是試圖壓低大型系統的安全性,而是針對8位MCU的功能而設計的。這對所需的處理、存儲和電力資源的效率產生了巨大影響。仍然有成本,但要低得多。
還有許多方法可以最大限度地降低安全成本。通常,安全性不是系統常規操作的一部分。許多嵌入式MCU提供硬件加速以確保安全。如果您沒有發送大量數據,則可能不需要經常重新生成密鑰,因為密鑰漏洞更多地取決于發送的數據量,而不是密鑰的使用時間。
從全面的威脅模型中,可以創建威脅矩陣。此矩陣將威脅映射到違規成本以及防止違規的成本。阿特金斯建議使用威脅矩陣來評估要實施的安全類型。某些功能比其他功能需要更多的保護。例如,門禁系統的對講功能可能不需要驗證完整性,而門執行器功能肯定需要驗證。這種方法還可以更輕松地估計安全子系統隨時間推移的實際功耗。
避免使用基于“機密”(例如,未發布)方法的安全算法。如果這些方法被暴露 - 記住DVD曾經是如何安全的 - 基于它們的系統將面臨風險。已發布的算法具有許多眼睛分析它們漏洞的優勢。
可能會有開發自己的加密算法的誘惑。簡而言之,如果您不是專家,這可能是一個糟糕的計劃。俗話說,設計一個你自己無法破壞的安全算法很容易。
當然,基于物聯網的安全技術有增長空間。但是很多事情已經在原生完成,而不僅僅是從更大的系統移植過來的。可以這么說,沒有必要重新發明加密輪。學習別人在你之前所做的事情。
審核編輯:郭婷
-
門禁系統
+關注
關注
17文章
392瀏覽量
45521 -
物聯網
+關注
關注
2910文章
44752瀏覽量
374605
發布評論請先 登錄
相關推薦
評論