曾用以保護工業(yè)控制器等設(shè)備的網(wǎng)絡(luò)空隙目前已被填補,這得益于無線網(wǎng)絡(luò)應(yīng)用的增長。無線網(wǎng)絡(luò)的引入提高了便利性和靈活性,但同時也為黑客攻擊提供了便捷之道。無線網(wǎng)絡(luò)的發(fā)展也伴隨著黑客竊取信息的能力在提高,而嵌入式設(shè)備一直都極易受到攻擊。因此,我們需要使用多種手段支持高級安全性,以強化防止攻擊的設(shè)備。
安全強化的核心是一套基本構(gòu)建塊,當(dāng)它們一起使用時,可以抵御黑客攻擊并保持完整性。一個啟用無線的設(shè)備需要確保它可以維護自己的代碼和數(shù)據(jù)的控制權(quán),并支持與能提供必要認(rèn)證以獲得信任的遠(yuǎn)程端點的私有通信。

設(shè)備認(rèn)證之所以至關(guān)重要的一個例子是中間人攻擊。這是一種黑客截取兩個合法設(shè)備間通訊、監(jiān)聽對話并篡改它們收到的數(shù)據(jù)包,以獲取秘密或進入一個或兩個設(shè)備的攻擊。一個常見的對Wi-Fi設(shè)備的攻擊是創(chuàng)建一個偽裝成合法路由器的接入點,該接入點會向真實的接入點和設(shè)備自身轉(zhuǎn)發(fā)被篡改的數(shù)據(jù)。通過這樣的技術(shù),攻擊者可能會學(xué)習(xí)到執(zhí)行成功登錄所需的訪問代碼,或者他們可能會注入錯誤的數(shù)據(jù)或malware導(dǎo)致設(shè)備出現(xiàn)故障。因此保護好對話是至關(guān)重要的,這也指明了我們需要使用加密技術(shù)來讓未經(jīng)授權(quán)的監(jiān)聽者難以實施攻擊。
每一個安全的物聯(lián)網(wǎng)設(shè)備的中心都需要有一個可信根。這是嵌入設(shè)備中一套可以被計算機的操作系統(tǒng)和軟件充分信任的功能。在當(dāng)今的設(shè)備中,可信根是通過使用公鑰基礎(chǔ)設(shè)施 (PKI) 加密技術(shù)保證的,這是一種檢查任何設(shè)備的真實性和其操作有效性的機制。PKI建立在生成一對在使用中非對稱的加密鍵的基礎(chǔ)上。一個是可以自由分發(fā)并用于加密發(fā)送給私鑰持有者的消息的公鑰。通過在公共網(wǎng)絡(luò)上無風(fēng)險地傳輸公鑰,可以大大提高基于加密的安全性的可擴展性,這相比對稱密鑰系統(tǒng)有著巨大的改進。
由于對稱系統(tǒng)使用同一個密鑰進行加密和解密,因此必須始終保密該密鑰以防止未經(jīng)授權(quán)的用戶獲取。這使得把可信密鑰送達用戶變得非常困難,因為他們必須使用其他的、具有高信任度的通信渠道來獲得密鑰。

在PKI下,只有私鑰的持有者可以解密由公鑰的持有者發(fā)送的消息。因此,密鑰必須保密。然而,PKI支持的協(xié)議意味著永遠(yuǎn)無需向其他用戶發(fā)送私鑰。所有通信都可以通過使用公鑰和使用私鑰數(shù)字簽名的證書來支持。PKI交易可能會對計算能力要求極高,這使得其在嵌入式系統(tǒng)中的實施變得困難。然而,使用專用的MCU會減輕處理器和加密數(shù)據(jù)的主處理器的負(fù)擔(dān)。
幾乎在整個網(wǎng)絡(luò)中都被使用的傳輸層安全協(xié)議 (TLS) 也是基于PKI的,它可以防止未經(jīng)授權(quán)的監(jiān)聽并幫助防止中間人攻擊。然而,有了PKI核心,我們可以通過加密和保護信息,超越僅是防御。這個核心可以和設(shè)計良好的硬件特性相結(jié)合,對嵌入式系統(tǒng)建立一個可信根,確保設(shè)備只能運行經(jīng)過授權(quán)的代碼,并只能和網(wǎng)絡(luò)中的其他經(jīng)過授權(quán)的設(shè)備通信。
可信根背后的思想是,只有被可信方簽名的代碼才被允許在引導(dǎo)時運行,而且代碼除了由同一可信方更改之外不能被更改。引導(dǎo)代碼的關(guān)鍵因素是它是使用PKI技術(shù)進行數(shù)字簽名的,這生成了一個與代碼內(nèi)容本身關(guān)聯(lián)的散列值。這個簽名過程通常由設(shè)備制造商執(zhí)行,制造商首先獲取或生成一個被制造商的私鑰保護的基于PKI的數(shù)字證書。用于這一過程的數(shù)字證書通常是由一個高信任度機構(gòu)生成的根證書派生出的。根證書支持生成一系列派生證書,它們指向一個核心可信實體 – 這是一個對攻擊者來說難以妨礙的信任鏈。
當(dāng)代碼被加載進設(shè)備并使用匹配的公鑰分析時,代碼簽名需要精確地匹配二進制文件的內(nèi)容。對軟件的任何更改都會使散列值無效,設(shè)備應(yīng)拒絕從該圖像引導(dǎo)。這有助于防止以操作存儲圖像以插入惡意代碼為中心的攻擊。
觀看公共代碼驗證密鑰的人需要把它存儲在安全內(nèi)存中,以及設(shè)備自身的私鑰,它將用于生成與其他設(shè)備通信的可信密鑰對。除了代碼驗證密鑰和本地系統(tǒng)的私鑰的安全存儲外,設(shè)備還提供了一個可被用于驗證由設(shè)備制造商或服務(wù)運營商提供的其他數(shù)字簽名真實性的可信任根證書目錄。
代碼更新以及需要從服務(wù)器發(fā)送的其他安全數(shù)據(jù)可以使用類似的流程進行驗證。首先,服務(wù)器生成一個公鑰/私鑰對并發(fā)送公鑰版給設(shè)備。這個被用于生成一個臨時的密鑰對。衍生出來的公鑰被傳輸?shù)綉?yīng)用服務(wù)器。加密的文件可以通過一個不安全的頻道比如Wi-Fi傳輸,并在設(shè)備上解密,然后可以進行最后的真實性檢查。

如果簽名不匹配,任何未經(jīng)授權(quán)的代碼或數(shù)據(jù)更新都可以被拒絕。此外,設(shè)備被保護免受可能涉及重置期間的中斷的攻擊。一個擁有部分安裝的固件的設(shè)備可能會因為在重新啟動時軟件處于不確定狀態(tài)而變得易于攻擊。在重置后會觸發(fā)自動回滾以確保只有完全安裝并認(rèn)證過的固件才能運行。
理想情況下,可信根使用PKI運算將可信區(qū)的覆蓋范圍從自身擴展到系統(tǒng)的其他元素,例如被簽名并在執(zhí)行前檢查過的應(yīng)用代碼。然而,惡意代碼可能在工廠被引入,或者需要運行各種服務(wù)導(dǎo)致非信任代碼被加載。另一種情況可能是黑客獲取設(shè)備的物理訪問權(quán)并通過直接操作內(nèi)存總線來插入他們自己的代碼。一個安全警報記數(shù)器追蹤訪問違規(guī)行為,比如嘗試使用一個無效或不正確的安全令牌讀取或?qū)懭胛募?。?dāng)系統(tǒng)達到預(yù)定義的安全警報限制時,設(shè)備將會被鎖住。要從鎖定狀態(tài)恢復(fù),必須將設(shè)備恢復(fù)到工廠設(shè)置和代碼庫。
在設(shè)備上有一個硬件加密引擎的優(yōu)勢是處理器無需加載可能不受信任的代碼來運行PKI算法,然后再測試引導(dǎo)軟件的來源去運行其余部分。加密和安全功能的代碼不僅由一個并行運行于主Cortex-M4核心的專用網(wǎng)絡(luò)處理器執(zhí)行,它還存儲在不能被具有物理訪問系統(tǒng)能力的攻擊者修改的ROM中。
通過這個方法,我們有了一個極高安全性的無線微控制器的基礎(chǔ),這個控制器可以實現(xiàn)物聯(lián)網(wǎng)的承諾,即安全、保護良好但靈活的智能控制環(huán)境。軟件開發(fā)人員需要采取額外措施以避免打開安全漏洞,但通過使用加密和僅與可信任方通信,大大降低了攻擊者獲取對設(shè)備的訪問權(quán)的可能性。
-
mcu
+關(guān)注
關(guān)注
147文章
19160瀏覽量
404832 -
硬件
+關(guān)注
關(guān)注
13文章
3638瀏覽量
69181 -
安全防護
+關(guān)注
關(guān)注
0文章
76瀏覽量
14228
發(fā)布評論請先 登錄
RJGT102系列加密認(rèn)證IC:高安全硬件認(rèn)證的理想之選
探秘MAXQ1851:深度安全防護的微控制器
以飛騰“芯”為支撐,工控主板為安全防護注入強勁動力
一文讀懂 SD-WAN 安全防護:守護公網(wǎng)組網(wǎng)的安全屏障
請問CW32F030所謂的增加多級程序加密安全防護是指的什么?
請問如何協(xié)同工作來保障物聯(lián)網(wǎng)設(shè)備固件安全的?
硬件加密引擎在保障數(shù)據(jù)安全方面有哪些優(yōu)勢呢?
芯源半導(dǎo)體安全芯片技術(shù)原理
針對AES算法的安全防護設(shè)計
鄂電物聯(lián)網(wǎng)智能網(wǎng)關(guān):工業(yè)級安全防護與數(shù)據(jù)加密的核心技術(shù)邏輯
對無線MCU硬件加密以強化安全防護
評論