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