敏感数据的保护并不会止步于处理器或单芯片系统的边界。当指令和数据转移到DRAM等外部存储器时,存储器接口就成为攻击面的一部分,尤其是在可能运行于有争议环境中并持续服役数十年的航天和政府系统中。Semiconductor Engineering刊登的一篇技术材料由Rambus的Vincent van der Leest和Ajay Kapoor撰写,提出了一种保护该接口的构想:不仅要加密内容,还要验证内容未被修改。
该材料以赞助博客形式发表于2026年9月3日,因此应将其中对Rambus产品的介绍视为所提方法的商业示例,而不是其优越性的独立证据。其核心技术原则则比产品本身更为广泛:外部存储器除了需要机密性、认证和抗篡改能力外,还需要密钥生命周期管理。
加密可以隐藏数据,但不能证明其完整性
内联存储器加密(Inline Memory Encryption)会在数据写入芯片外部连接的存储器之前对其进行加密,并在数据返回使用时解密。通常,这一过程由位于处理逻辑与存储器控制器之间的加密引擎执行,从而在满足性能和响应时间要求的同时,为软件提供透明保护。
但数据机密性并不等同于数据完整性。如果攻击者能够修改与命令、坐标或查找表相关的数值,那么他未必需要读取密码材料、传感数据或执行指令。同样的风险也适用于医疗和金融数据,以及人工智能模型的输入或参数,因为修改这些内容可能导致不可信的决策或输出。
因此,文章建议尽可能在靠近存储位置的地方执行认证,并在数据交给处理器、加速器或控制逻辑之前完成认证。缩短未经认证的数据在系统中的传播路径,可以降低错误数据在系统内部扩散的可能性。
AES模式的选择取决于需求,而非算法名称
AES-XTS广泛用于存储设备和高吞吐量存储器的加密。该模式使用与数据地址相关的数值,因此即使相同内容存储在不同地址,也不会产生相同的密文,同时不会增加受保护数据的大小。然而,AES-XTS只提供机密性,并不是一种同时具备机密性和完整性验证能力的认证加密模式。
相比之下,AES-GCM通过认证标签将加密与完整性验证结合起来,并在提供原文之前检查该标签。这使其能够检测蓄意修改,但也要求存储和管理认证标签以及nonce值或初始化向量。这可能会影响存储器容量、带宽、地址分配、缓存机制和初始化阶段。
实际上,决策不应只围绕算法强度展开。工程师需要权衡威胁模型、所需的保证等级、可接受的存储器增量、性能目标以及整个系统的架构。在敏感系统中,检测篡改的能力可能足以证明额外元数据成本和设计复杂度是合理的。
抗侧信道攻击是设计的一部分
即使数学上健全的算法,如果其实现通过物理泄漏暴露密钥,也不足以确保安全。文章指出,功耗分析、电磁辐射分析或时序分析可能帮助能够物理接触设备的攻击者推断密钥,而无需破解AES本身。
因此,抗侧信道攻击措施应内置于加密引擎的设计中,而不应仅在系统层面事后添加。文章提到的保证要素包括安全处理密钥、在发生错误时采取可预期的行为、保护控制路径以及承受随机故障的能力。文章还认为,采用经过现场验证的解决方案以及具备实际抗篡改经验,可能降低实现风险和建立设计可信度的负担,尤其是在航天和政府项目中。
平台层面需要确定哪些问题?
文章说明,仅向存储器路径中加入加密引擎并不能解决所有安全问题。系统设计团队和加密引擎团队需要处理若干相互关联的问题,其中包括:
- 数据新鲜度:验证一个旧值的有效性并不能阻止攻击者重放该值。这可能需要受保护的计数器、版本信息或同步状态,并会影响元数据、持久性和恢复机制。
- 存储器初始化:受保护区域可能需要在正常启动前具备正确的元数据,而大容量存储器的初始化可能影响启动时间和系统可用性。
- 信任根集成:密钥供应、安全策略、生命周期阶段之间的转换、密钥擦除和恢复机制,必须与一条从安全启动开始并延伸至运行期间存储器保护的信任链保持一致。
Rambus称,其面向FPGA应用设计的IMЕ-IP-340产品使用AES-GCM对存储器事务进行加密、解密和认证,并支持可配置存储器管理、缓存、密钥管理以及抗功耗分析攻击选项。根据公司介绍,这些能力旨在帮助设计人员在安全性、性能、元数据成本和集成要求之间取得平衡。
编辑解读:边界比加密引擎更重要
文章所强调的实际变化,是将存储器保护从“隐藏内容”的概念扩展为更广泛的概念,其中包括检测篡改以及抵抗密钥提取手段。对于依赖外部数据进行决策或执行命令的系统而言,这一点十分重要,因为数据完整性并不亚于数据机密性。
不过,来源本身并未证明IMЕ-IP-340在特定运行环境中的性能,也没有提供有关响应时间、元数据规模或独立测试结果的详细数据。此外,认证加密并不能消除对防重放机制、初始化机制和生命周期管理的设计需求。因此,任何解决方案都应在完整的平台架构及其特定威胁模型中进行评估,而不应被视为能够自动确保存储器安全的单一组件。