存儲系統(tǒng)的數(shù)字安全技術(shù)
NAND 閃存用于各種消費和工業(yè)產(chǎn)品,從筆記本電腦和手機到工業(yè)機器人、醫(yī)療設備和嵌入式物聯(lián)網(wǎng)設備,如傳感器和控制器。 在我們?nèi)找婊ヂ?lián)的世界中,這些應用程序中的所有脆弱點都需要足夠和強大的安全措施,包括數(shù)據(jù)存儲系統(tǒng)。 因此,在選擇或設計 NAND 閃存存儲系統(tǒng)時,必須確保存儲器的安全性滿足應用程序的要求。
執(zhí)行現(xiàn)代安全技術(shù)需要足夠的處理能力。 作為存儲系統(tǒng)的“大腦”,NAND閃存控制器必須足夠強大以支持整個存儲系統(tǒng)所需的安全級別。 本文概述了 NAND 閃存的安全性,涵蓋了最常見的硬件和軟件技術(shù),有助于告知讀者何時必須選擇 NAND 控制器。
數(shù)字數(shù)據(jù)保護
任何 IT 系統(tǒng)的總體安全目標、機密性、完整性和來源真實性都與數(shù)字存儲解決方案同樣相關(guān):
● 完整性 – 確保接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)相同
● 機密性 – 確保所傳遞的數(shù)據(jù)不會被第三方獲悉
● 真實性 – 確保消息的接收者可以驗證消息來源的身份
這些安全目標適用于存儲數(shù)據(jù)的整個生命周期,可以細分為三個獨立的狀態(tài)。 在存儲設備和數(shù)據(jù)源(用戶、傳感器等)之間移動時,該狀態(tài)稱為傳輸中的數(shù)據(jù)。 當通過不受信任的通道進行傳輸時,無線連接越來越多地出現(xiàn)這種情況,安全措施必須確保數(shù)據(jù)在源和目的地之間不被修改。
存儲系統(tǒng)的控制器對數(shù)據(jù)執(zhí)行各種操作,包括處理來自主機的 I/O 請求、數(shù)據(jù)加密和解密、ECC(糾錯碼)編碼、磨損均衡和垃圾收集。 這些操作發(fā)生在數(shù)據(jù)處于操作狀態(tài)期間,安全系統(tǒng)在此狀態(tài)下必須防止未經(jīng)授權(quán)獲得數(shù)據(jù)。
數(shù)字存儲系統(tǒng)的主要功能是維護存儲中數(shù)據(jù)的完整性。 在這種狀態(tài)下,必須防止被未經(jīng)授權(quán)的那一方獲得,而不會影響授權(quán)方的合法活動。
多年來,已經(jīng)開發(fā)了幾種成熟的安全技術(shù),大致分為功能和平臺措施。 功能安全措施使用加密技術(shù)來保護敏感數(shù)據(jù),而平臺安全原語保護功能安全措施的執(zhí)行免受攻擊者的侵害。 確保這兩種安全措施需要強大的計算資源,該資源由閃存控制器提供。
常見的安全技術(shù)
密碼學基于數(shù)學抽象。 現(xiàn)代安全技術(shù)使用密碼算法作為基本構(gòu)建塊,結(jié)合密碼原語來確保受保護數(shù)據(jù)的機密性、完整性和來源身份驗證。 NAND 存儲安全解決方案中采用了四種主要類型的加密技術(shù):
● 加密散列函數(shù)將任意數(shù)量的輸入數(shù)據(jù)映射到固定數(shù)量的輸出位。 它具有三個主要屬性。
o 唯一性,因為輸入數(shù)據(jù)必須導致相同的輸出位。
o 可逆性,因為雖然可以從已知輸入輕松生成輸出數(shù)據(jù),但從生成的輸出中檢索輸入數(shù)據(jù)在計算上是不可行的。
o 和碰撞阻力,因為兩個不同的輸入數(shù)據(jù)點映射到相同的輸出結(jié)果在計算上是不可行的。
有幾個散列函數(shù)可用,推薦的標準化散列函數(shù)來自 SHA-2 系列,包括 SHA-256,它將輸入位字符串映射到 256 位輸出值。
● 對稱密鑰算法使用發(fā)送方和接收方共享的密鑰來加密和解密數(shù)據(jù)。 這些算法支持相對較快的操作,因此是必須交換大量數(shù)據(jù)時的首選。 高級加密標準 (AES) 是一種高度穩(wěn)健的對稱密鑰算法,其中使用最多的是 AES6 系列(AES-128、AES-192、AES-256)。 AES6 系列提供 128 位塊加密,支持 128、192 和 256 位密鑰大小。 有幾種操作模式可用,包括 CBC - 主要用于加密傳輸中的數(shù)據(jù) - 和 XTS - 用于加密塊結(jié)構(gòu)存儲設備上的數(shù)據(jù)(存儲中的數(shù)據(jù))。
● 在公鑰或非對稱密鑰加密中,交易中的每個參與者都使用一個密鑰對。 密鑰對包括一個私鑰(只有密鑰對的所有者知道)和一個公鑰(所有參與者都知道)。這兩個密鑰不同,但在數(shù)學上相關(guān),從計算上推導出私鑰是不可行的公鑰。 非對稱密鑰算法用于機密性(公鑰用于加密)和身份驗證(使用私鑰)。 公鑰密碼系統(tǒng)的一個示例是 RSA,它提供了高度機密性,并用于攜帶敏感數(shù)據(jù)(如密碼和對稱密鑰)的加密通信。
● 為確保高水平的安全性,密碼學和對稱以及非對稱加密的基礎是從隨機數(shù)派生的密鑰。 這些主要由隨機數(shù)生成器 (RNG) 生成,該生成器生成一系列只能通過隨機機會預測的數(shù)字。 有兩種類型的 RNG,即生成完全隨機數(shù)序列的真隨機數(shù)生成器 (TRNG) 和加密安全的偽隨機數(shù)生成器 (PRNG)。 這些 PRNG 需要初始種子值,該種子值必須是隨機的,并且由真隨機數(shù)生成器 (TRNG) 或熵源生成。 TRNG 通過對來自物理噪聲源(例如自由運行的環(huán)形振蕩器)的原始數(shù)據(jù)進行采樣和處理來實現(xiàn)。
加密算法等高級安全措施需要強大的處理能力,對存儲系統(tǒng)背后的“大腦“NAND 閃存控制器,提出了特定要求。
在控制器內(nèi)執(zhí)行數(shù)字安全
除了提供支持加密算法的計算資源外,控制器的架構(gòu)還必須能夠支持保護功能安全措施所需的平臺安全原語。 許多現(xiàn)代 SoC 集成了平臺安全功能,或者最常見的是:
● 從 SoC 內(nèi)的不可變內(nèi)存中安全啟動加載,確保受信任的二進制文件在系統(tǒng)上運行。 除了不可變內(nèi)存外,安全啟動的組件還包括軟件身份驗證、受信任的啟動加載程序和專用的安全處理器。
● 定期固件更新對于任何系統(tǒng)的運行都是必不可少的,安全可靠的遠程配置機制可確保固件更新的真實性和有效性。
● 內(nèi)存隔離定義了系統(tǒng)內(nèi)存的安全區(qū)域,為專用代碼保留,其他系統(tǒng)軟件無法獲得。
● 一次性可編程(OTP) 存儲器是一種非易失性存儲器,其中每一位都作為一個eFuse 實現(xiàn)。 電子保險絲可以由工廠或用戶編程,但在制造后不能多次更改。 OTP 內(nèi)存用于存儲啟動時所需的系統(tǒng)配置信息,包括系統(tǒng)個性化字符串和固件版本控制。
● 唯一身份是支持信任根概念的常見安全技術(shù)。 具有唯一秘密身份的設備可以進行身份驗證、密鑰生成、密鑰交換和更高級的加密應用程序。 可以使用非易失性存儲器或物理不可克隆函數(shù) (PUF) 等解決方案將唯一 ID 嵌入到設備中。 最近推出的 PUF 執(zhí)行起來更復雜,但提供了更強的物理安全性,并且基于 SRAM 的 PUF 越來越多地用于商業(yè)產(chǎn)品。
● 現(xiàn)代 SoC 的開發(fā)人員正在集成各種硬件和軟件技術(shù),以優(yōu)化芯片性能和功耗,同時支持先進的安全技術(shù)。 功能包括微處理器單元 (MPU) 內(nèi)的多個內(nèi)核,以及可以將安全功能轉(zhuǎn)移的獨立硬件安全模塊 (HSM)。 這兩個選項都支持隔離安全功能和其他功能,包括支持加密算法的硬件加速器。
安全標準化
行業(yè)標準確保各種安全和加密算法之間的互操作性。 這些數(shù)據(jù)安全標準、規(guī)范和指南對于使制造商能夠開發(fā)更強大的安全感知產(chǎn)品至關(guān)重要。 美國國家標準與技術(shù)研究院 (NIST) 和Trusted Computing Group (TCG)是兩個主要的行業(yè)機構(gòu),致力于為各種安全硬件和軟件組件制定標準、建議和要求。
結(jié)論
我們的社會越來越依賴連接來運行,每個連接的設備都為惡意攻擊者提供了潛在的攻擊面。 隨著連接變得越來越普遍,數(shù)字安全措施已經(jīng)有了很大的發(fā)展,開發(fā)人員必須確保其設備的安全性滿足應用程序的要求。 NAND閃存用于越來越多的連接設備中,存儲控制器是存儲系統(tǒng)整體安全性的關(guān)鍵。 因此,在選擇或設計 NAND 閃存系統(tǒng)時,了解控制器的安全功能非常重要。
評論