安全存储通常是系统中的一个内存位置,用于保护对加密密钥、用户和服务凭证以及其他系统数据等敏感数据的访问。在嵌入式开发中,安全存储可以在芯片上,例如在闪存库或RAM位置内,或者像NOR闪存芯片那样的外部闪存设备内。
安全存储的目标是防止私人数据被泄露到使用数据的设备或服务之外,并防止被克隆。正如你可能想象的那样,安全存储通常与系统信任根服务相关联,并使用加密密钥来加密数据并保持其机密性和完整性。
安全存储就是保护数据和保守秘密。
使用Trusted Firmware-M实现安全存储
开发人员可以使用多种机制在其嵌入式系统中创建安全存储。安全存储通常与系统的信任根联系在一起,首先要考虑的是你选择的微控制器附带的服务解决方案。例如,如果你使用的是Arm Cortex-M处理器,那么你的供应商很有可能支持Trusted Firmware-M(TF-M)。
Trusted Firmware-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硬件保护的存储,防止数据克隆、修改或访问存储的数据。
安全存储结论
安全存储是开发人员不应忽视的一项基本服务。我们已经探索了开发人员可以利用的几种不同的选择,如安全框架、物理不可克隆功能和正在进入行业的片外解决方案。满足你的安全存储需求的正确解决方案将取决于你预计你的系统将面临的安全威胁以及你需要针对这些威胁的保护级别。
假设你刚刚开始为嵌入式系统设计安全的应用程序。在这种情况下,建议你接下来了解在嵌入式开发中如何执行威胁模型安全分析(TMSA ),并了解平台安全架构推荐的10个安全目标。其中包含了更多见解,有助于指导你开发安全的嵌入式系统。