文章目录
介绍
系统复杂性的增加、云的增长以及新技术的出现都在促成一个难以保护但又至关重要的计算环境。AMD认识到这些严峻的挑战,并开发了新的内存加密技术,旨在跨越各种系统来满足这些需求。
安全内存加密(SME )
SME是一种通用的机制,具有灵活性,集成到CPU架构中,可扩展从嵌入式到高端服务器的工作负载,并且不需要对应用软件进行修改。
主存加密可以用来保护系统免受各种攻击。数据在磁盘上存储时通常是加密的,但通常以明文形式存储在DRAM中。这会使数据容易受到未经授权的管理员或软件或硬件探测的窥探。在没有加密的情况下,任何存储的信息,如敏感数据、密码或密钥都可以很容易地被泄露。
安全加密虚拟化( SEV )
将主存加密功能与现有的AMD - V虚拟化架构相融合,支持加密虚拟机。对虚拟机进行加密不仅可以保护虚拟机免受物理威胁,还可以保护虚拟机免受其他虚拟机甚至虚拟机管理程序本身的攻击。因此,SEV代表了一种新的虚拟化安全范式,特别适用于虚拟机不需要完全信任主机系统的管理程序和管理员的云计算。与SME一样,不需要修改应用软件来支持SEV。
本文介绍了SME和SEV的技术概况,并描述了它们如何被 操作系统( OS )、虚拟机管理程序( HV )和客户虚拟机( VM ) 软件在各种不同的环境中使用,以保护DRAM中的数据。
SME技术
概述
主存加密通过片内存储器控制器中的专用硬件实现。每个控制器包括一个高性能的高级加密标准( AES )引擎,当数据写入DRAM时对其加密,读取时对其解密,如图1所示:内存加密行为。数据的加密是在一个128位密钥的模式下完成的,该模式使用额外的基于物理地址的调整来防止密文块移动攻击。

带SME的AES引擎使用的加密密钥是在系统重置时随机生成的,对于CPU核上运行的任何软件不可见。该密钥完全由AMD安全处理器( AMD-SP )管理,该处理器是一个32位微控制器( ARM ® Cortex ® - A5),作为AMD SOC内集成的专用安全子系统。密钥由符合NIST SP 800 - 90标准的硬件随机数发生器产生,存储在专用硬件寄存器中,且不会暴露在SOC之外。不同于后面描述的SEV模式,SME不需要运行在CPU核上的软件参与密钥管理。
通过软件托管页表中的OS或HV控制对内存哪些页进行加密。启用内存加密后,使用物理地址位47 ( aka为C位,如as in en Crypted)标记是否保护内存页。如下图所示,OS或HV在页表项( page table entry,PTE )中将某个物理地址的位47设置为1,表示该页需要加密,导致对该内存的访问被内存控制器中的AES引擎自动加密解密。

通过AES引擎对内存进行加密和解密确实会给DRAM内存访问带来少量的额外延迟。这种延迟对软件的影响非常依赖于系统工作负载,但估计对系统性能的总体影响非常小。如果仅对内存的一个子集进行加密,则性能影响将较小,因为未加密的访问一般不会产生额外的延迟。
SME使用模型
在第一个模型中,所有的DRAM都被加密,而在第二个模型中,只有一个选择区域(对应于客户VM)被加密。
全内存加密
在全内存加密的情况下,所有DRAM内容都使用随机密钥进行加密,该密钥对冷启动、DRAM接口窥探和类似的攻击提供了强大的保护。对于使用NVDIMM的系统,全内存加密还提供了对攻击者移除内存模块并试图提取其内容的保护。
支持SME的全内存加密是通过OS或HV在所有页表的所有DRAM物理地
AMD的SME与SEV:内存加密技术在云计算和虚拟化的安全提升

本文详细介绍了AMD开发的安全内存加密(SME)和安全加密虚拟化(SEV)技术,这两种技术旨在保护计算环境中的数据安全,无论在全内存加密还是选择性加密模式下,都提供了物理保护和对虚拟机的额外安全。SEV尤其在云计算环境中增强了虚拟机隔离和安全性。
最低0.47元/天 解锁文章
393

被折叠的 条评论
为什么被折叠?



