新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 應(yīng)對5G網(wǎng)關(guān)儲存中的安全挑戰(zhàn)

應(yīng)對5G網(wǎng)關(guān)儲存中的安全挑戰(zhàn)

作者: 時間:2022-06-27 來源:CTIMES 收藏

工業(yè)4.0中物聯(lián)網(wǎng)(IoT)的采用,意味著從簡單的傳感器和致動器到核電站,連接系統(tǒng)的數(shù)量將會越來越多。確保這些系統(tǒng)的安全性,對于正確操作和安全至關(guān)重要。

圖片.png
 
圖一 : 工業(yè)4.0中的連結(jié)范圍

來自不同來源的威脅有很多種:隨機黑客、犯罪集團、商業(yè)間諜活動和國家行為者。如果某個裝置受到損害,那么它的操作就可能受到影響,因此其在數(shù)據(jù)交換、處理或存儲方面就不再受信任。

這對于通訊網(wǎng)關(guān)來說就特別危險,其中的漏洞可能會使整個系統(tǒng)受到攻擊。

引入工業(yè)物聯(lián)網(wǎng)環(huán)境,凸顯了對基于「信任根」(即可以保證不會受到損害的軟件)的安全啟動的需求。特別是,為了確保安全運行,由微控制器執(zhí)行的代碼必須要受信任。這一要求將影響子系統(tǒng)的設(shè)計選擇。

圖片.png
 
圖二 : 5G連結(jié)和工業(yè)4.0

嵌入式系統(tǒng)中的漏洞
除了通常需要防止網(wǎng)絡(luò)釣魚、惡意軟件和其他嘗試破壞Internet使能系統(tǒng)安全性的標(biāo)準(zhǔn)之外,嵌入式系統(tǒng)還面臨一些更具體的挑戰(zhàn)。這意味著需要對安全「分層」:在系統(tǒng)的各個級別上考慮并設(shè)計到硬件中。

在最高級別,需要考慮人為因素。應(yīng)用軟件層用于提供數(shù)據(jù)加密和用戶認(rèn)證。在最低級別,存儲必須要能支持安全啟動和韌體更新驗證。

涉及物理通路硬件的攻擊,其唯一解決方案是讓微控制器從內(nèi)部只讀存儲器執(zhí)行代碼。根據(jù)定義,這樣做是安全的,因此能夠建立信任根。然而,微控制器已經(jīng)不再在其片上采用只讀存儲器來固定韌體了,而是使用非易失性內(nèi)存(通常是NAND閃存)來進行代碼。這樣比只讀存儲器更靈活,并支持軟件的實時無線(OTA)更新—這對于功能更改和安全修復(fù)都是必不可少的。但是,安裝新軟件的能力帶來了另一個潛在的攻擊面。

確保非易失性儲存中的代碼是安全的,需要一個可以檢查代碼完整性和真實性的安全啟動系統(tǒng)。完整性意味著無論是意外損壞還是惡意篡改,代碼都未被修改,而真實性則意味著可以確信代碼來自受信任的來源。

這些檢查可以在執(zhí)行代碼之前的啟動時應(yīng)用,也可以在應(yīng)用固件更新之前對其應(yīng)用。

公鑰密碼學(xué)簡史
”安全啟動需要依靠公鑰加密技術(shù)來簽署和驗證軟件。

加密系統(tǒng)最初是對稱的:這種系統(tǒng)使用相同的密碼或密鑰來加密和解密消息。這有一個弱點:密鑰必須在所有通訊者之間共享,因此,如果第三方獲得副本,他們就可以攔截、讀取并可能修改任何消息。

現(xiàn)代密碼學(xué)使用非對稱公鑰算法。這里使用了兩個密鑰:一個是保密的,另一個是可以廣泛使用的。消息可以用一個密鑰加密,用另一個密鑰解密。這消除了安全分發(fā)加密密鑰的問題。

公鑰密碼學(xué)可以以多種方式使用。例如,使用公鑰加密的消息只能由相應(yīng)私鑰的所有者讀取,因此就可以透過不安全的網(wǎng)絡(luò)進行安全傳輸。

或者,任何擁有相關(guān)公鑰的人都可以讀取使用私鑰編碼的消息,但他們卻可以確定該消息確實來自正確的來源(沒有其他人能夠生成一條可以用該公鑰譯碼的消息)。這就是用于驗證消息的數(shù)字簽名的基礎(chǔ)。

然而,這個過程不是對整個消息進行加密,而是使用諸如SHA-256之類的算法生成更短的消息摘要或散列。這樣就對消息進行了唯一的標(biāo)識并且可以用來驗證其完整性。然后,為確保散列本身正確,還會使用供貨商的私鑰對其進行加密。透過這種方式,就可以確認(rèn)簽名的真實性,從而確認(rèn)消息。盡管兩條不同的消息有可能(但極不可能)偶然生成相同的散列,但實際上不可能修改現(xiàn)有消息而使其具有與原始消息相同的散列。

同樣的原則還可用于簽署可執(zhí)行代碼:系統(tǒng)啟動后所執(zhí)行的應(yīng)用程序代碼和收到的任何OTA更新。

使用公鑰加密來保護啟動過程
上電時,微控制器會首先執(zhí)行內(nèi)部存儲器中的代碼。在對系統(tǒng)進行任何必要的初始化之后,此啟動代碼的主要任務(wù)是在執(zhí)行外部閃存中的應(yīng)用程序代碼之前對其進行驗證。

數(shù)字證書用于驗證軟件供貨商的公鑰,否則惡意軟件就可能會使用假公鑰進行安裝。制造商只需自己創(chuàng)建此證書即可「自我認(rèn)證」。或者,為了獲得更高的安全性,他們還可以使用公鑰基礎(chǔ)設(shè)施(PKI)—這種方法使用證書層次結(jié)構(gòu),最終依賴于受信任的證書頒發(fā)機構(gòu)(CA)所頒發(fā)的證書。

實施安全啟動
啟動代碼和證書必須儲存在芯片上所無法修改的安全位置。這樣可以確保啟動代碼的可信性,并且該證書不會被某個會導(dǎo)致安全性受損的證書所替換。

只要存在合適的芯片上安全性,就可以使用微控制器內(nèi)部的閃存來儲存。這可以使用熔絲來實現(xiàn)—一旦初始軟件已被程序設(shè)計,其就會在物理上防止進一步寫入閃存?;蛘?,也可以使用身份驗證機制,而僅允許對信任根軟件進行授權(quán)更新。

有幾種不同的算法可用于生成散列和公鑰加密。其中一些計算成本很高,可能需要使用硬件加速來避免影響存儲系統(tǒng)的效能。

為了確保安全要求不會影響系統(tǒng)效能,就需要使用高效能閃存控制器。它必須能夠直接實現(xiàn)算法或為適當(dāng)?shù)膮f(xié)處理器提供支持??椭祈g體擴展應(yīng)允許添加這一額外功能而成為控制器固件的完全整合部份,同時仍完全在儲存系統(tǒng)開發(fā)人員的控制之下。

結(jié)語
為了安全起見,必須實現(xiàn)安全啟動系統(tǒng),從而在控制器和儲存應(yīng)用程序代碼的非易失性內(nèi)存之間提供信任根。

要使工業(yè)滿足所有必要的效能和可靠性要求,必須選擇正確的工業(yè)級儲存技術(shù)。存儲系統(tǒng)中閃存控制器的選擇至關(guān)重要,因為它決定了系統(tǒng)的效能、可靠性和可擴展性。

(本文作者Axel Mehnert為Hyperstone公司營銷副總裁)

本文引用地址:http://2s4d.com/article/202206/435606.htm


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉