在嵌入式開發(fā)中,安全存儲通常是系統(tǒng)中的一個內(nèi)存位置,用于保護對加密密鑰、用戶和服務(wù)憑證以及其他系統(tǒng)數(shù)據(jù)等敏感數(shù)據(jù)的訪問。安全存儲可以在芯片上,例如在閃存庫或RAM位置內(nèi),或者像NOR閃存芯片那樣的外部閃存設(shè)備內(nèi)。
安全存儲的目標(biāo)是防止私人數(shù)據(jù)被泄露到使用數(shù)據(jù)的設(shè)備或服務(wù)之外,并防止被克隆。正如你可能想象的那樣,安全存儲通常與系統(tǒng)信任根服務(wù)相關(guān)聯(lián),并使用加密密鑰來加密數(shù)據(jù)并保持其機密性和完整性。
安全存儲就是保護數(shù)據(jù)和保守秘密。
使用Trusted Firmware-M安全存儲
開發(fā)人員可以使用多種機制在其嵌入式系統(tǒng)中創(chuàng)建安全存儲。正如我前面提到的,安全存儲通常與系統(tǒng)的信任根聯(lián)系在一起,首先要考慮的是你選擇的微控制器附帶的服務(wù)解決方案。例如,如果你使用的是Arm Cortex-M處理器,那么你的供應(yīng)商很有可能支持Trusted Firmware-M (TF-M)。
Trusted Firmware-M (TF-M)是平臺安全架構(gòu)(PSA)物聯(lián)網(wǎng)安全框架的參考實施。該框架為嵌入式開發(fā)人員提供了幾種不同的安全服務(wù),例如:
審核日志記錄
密碼系統(tǒng)
固件更新
認證
安全存儲
TF-M的安全存儲功能分為兩個主要服務(wù):內(nèi)部可信存儲(ITS)和受保護存儲(PS)。內(nèi)部可信存儲是一種PSA信任根服務(wù),用于在內(nèi)存中存儲最安全的設(shè)備數(shù)據(jù)。內(nèi)部可信存儲在幾個方面不同于受保護存儲。首先,ITS是內(nèi)部PSA信任根服務(wù),而PS是PSA信任根應(yīng)用服務(wù)。其次,ITS旨在保護片內(nèi)存儲器,而PS旨在保護片外存儲的數(shù)據(jù)。最后,PS具有加密外部數(shù)據(jù)、驗證和提供回滾保護的附加功能。ITS可被視為用于保護密鑰和用戶憑據(jù)等數(shù)據(jù)的存儲,而PS可被視為由固件更新或其他用戶數(shù)據(jù)資產(chǎn)等較大數(shù)據(jù)集進行存儲。
使用PUF確保存儲安全
在嵌入式開發(fā)中,近年來出現(xiàn)的創(chuàng)建信任根和安全存儲的一個令人興奮的解決方案是使用SRAM PUFs(物理不可克隆功能)。SRAM PUFs背后的想法是,該算法使用SRAM的一部分來創(chuàng)建唯一的設(shè)備密鑰,該部分在生產(chǎn)過程中存在亞微米變化。該唯一的設(shè)備密鑰隨后成為該設(shè)備的私有信任根密鑰。PUF解決方案很有吸引力,因為它生成了一個不可復(fù)制的密鑰,該密鑰只在設(shè)備通電時存在。然后,該密鑰可用于創(chuàng)建與硬件相關(guān)的密鑰庫,以創(chuàng)建安全的存儲解決方案。
芯片外安全存儲
外部存儲器供應(yīng)商開始在其存儲器設(shè)備中采用安全存儲解決方案,允許數(shù)據(jù)安全地存儲在存儲器設(shè)備上。例如,華邦電子公司有一個32Mbit的TrustME安全存儲元件,它已經(jīng)通過PSA認證,可用于有安全要求的系統(tǒng)。像這樣的設(shè)備,可以提供RoT硬件保護的存儲,防止數(shù)據(jù)克隆、修改或訪問存儲的數(shù)據(jù)。
安全存儲結(jié)論
在過去的幾篇文章中,我們一直在探索每個與安全相關(guān)的嵌入式系統(tǒng)應(yīng)該具備的主要安全元素。安全存儲是開發(fā)人員不應(yīng)忽視的一項基本服務(wù)。我們已經(jīng)探索了嵌入式開發(fā)人員可以利用的幾種不同的選擇,如安全框架、物理不可克隆功能和正在進入行業(yè)的芯片外解決方案。滿足你的安全存儲需求的正確解決方案將取決于你預(yù)計你的系統(tǒng)將面臨的安全威脅以及你需要針對這些威脅的保護級別。