在嵌入式开发中,安全存储通常是系统中的一个内存位置,用于保护对加密密钥、用户和服务凭证以及其他系统数据等敏感数据的访问。安全存储可以在芯片上,例如在闪存库或RAM位置内,或者像NOR闪存芯片那样的外部闪存设备内。
安全存储的目标是防止私人数据被泄露到使用数据的设备或服务之外,并防止被克隆。正如你可能想象的那样,安全存储通常与系统信任根服务相关联,并使用加密密钥来加密数据并保持其机密性和完整性。
安全存储就是保护数据和保守秘密。
使用Trusted Firmware-M安全存储
开发人员可以使用多种机制在其嵌入式系统中创建安全存储。正如我前面提到的,安全存储通常与系统的信任根联系在一起,首先要考虑的是你选择的微控制器附带的服务解决方案。例如,如果你使用的是Arm Cortex-M处理器,那么你的供应商很有可能支持Trusted Firmware-M (TF-M)。
Trusted Firmware-M (TF-M)是平台安全架构(PSA)物联网安全框架的参考实施。该框架为嵌入式开发人员提供了几种不同的安全服务,例如:
审核日志记录
密码系统
固件更新
认证
安全存储
TF-M的安全存储功能分为两个主要服务:内部可信存储(ITS)和受保护存储(PS)。内部可信存储是一种PSA信任根服务,用于在内存中存储最安全的设备数据。内部可信存储在几个方面不同于受保护存储。首先,ITS是内部PSA信任根服务,而PS是PSA信任根应用服务。其次,ITS旨在保护片内存储器,而PS旨在保护片外存储的数据。最后,PS具有加密外部数据、验证和提供回滚保护的附加功能。ITS可被视为用于保护密钥和用户凭据等数据的存储,而PS可被视为由固件更新或其他用户数据资产等较大数据集进行存储。
使用PUF确保存储安全
在嵌入式开发中,近年来出现的创建信任根和安全存储的一个令人兴奋的解决方案是使用SRAM PUFs(物理不可克隆功能)。SRAM PUFs背后的想法是,该算法使用SRAM的一部分来创建唯一的设备密钥,该部分在生产过程中存在亚微米变化。该唯一的设备密钥随后成为该设备的私有信任根密钥。PUF解决方案很有吸引力,因为它生成了一个不可复制的密钥,该密钥只在设备通电时存在。然后,该密钥可用于创建与硬件相关的密钥库,以创建安全的存储解决方案。
芯片外安全存储
外部存储器供应商开始在其存储器设备中采用安全存储解决方案,允许数据安全地存储在存储器设备上。例如,华邦电子公司有一个32Mbit的TrustME安全存储元件,它已经通过PSA认证,可用于有安全要求的系统。像这样的设备,可以提供RoT硬件保护的存储,防止数据克隆、修改或访问存储的数据。
安全存储结论
在过去的几篇文章中,我们一直在探索每个与安全相关的嵌入式系统应该具备的主要安全元素。安全存储是开发人员不应忽视的一项基本服务。我们已经探索了嵌入式开发人员可以利用的几种不同的选择,如安全框架、物理不可克隆功能和正在进入行业的芯片外解决方案。满足你的安全存储需求的正确解决方案将取决于你预计你的系统将面临的安全威胁以及你需要针对这些威胁的保护级别。