AMD SEV介绍

AMD EPYC(霄龙)处理器引入了两个硬件安全组件:

  • AES-128硬件加密引擎:嵌入在内存控制器内,用于对内存数据进行加解密。
  • AMD Secure Processor(AMD-SP):负责安全密钥的生成和管理。

Secure Memory Encryption (SME):AMD在DRAM的控制器中添加了加解密模块,用来控制内内存数据的加密和解密。

Secure Encrypted Virtualization (SEV) :将主内存加密功能与现有的AMD-V虚拟化体系结构来支持加密的虚拟机。 加密虚拟机不仅可以让虚拟机免受物理威胁,还可以免受其他虚拟机甚至是hypervisor本身。 因此,SEV代表了一种新的虚拟化安全范例,特别适用于虚拟机不需要完全信任其主机的hypervisor和管理员的云计算系统。 与SME一样,不需要修改应用程序软件即可支持SEV。

linux-4.16,Libvirt-4.5,qemu-2.12已经合入对SEV的支持。

SME介绍

每个内存控制器包含高性能的高Advanced Encryption Standard(AES)引擎,可在将数据写入DRAM时对其进行加密,并在读取时将其解密,如图1所示。数据加密使用了额外的基于物理地址的调整方式,以防止密文块移动攻击。

image

SME的AES引擎使用的加密密钥是在每次系统重置时随机生成的,并且对软件不可见。密钥由集成在AMD SOC上的微控制器AMD Secure Processor(AMD-SP)(32位ARM Cortex A5)进行管理。密钥是由板载的符合SP 800-90的硬件随机数生成器生成,并存储在专用的硬件寄存器中,永远不会暴露在SOC之外。与稍后描述的SEV模同,SME不需要软件参与密钥管理。

OS或者Hypervisor可以指定哪些页进行加密。启动内存加密后,物理地址的第47位(又名C-bit,C代表enCrypted)用于标记该页是否被加密,对加密页进行访问时,加密和解密将由AES引擎自动完成。

image

通过AES引擎对内存进行加密和解密确实会导致DRAM存储器访问的额外延迟。这种延迟对软件的影响主要取决于系统负载,但估计对系统性能的总体影响很小。如果仅对一部分内存进行加密,则对性能的影响将较小,因为通常未加密的访问不会产生额外的延迟。

SME使用场景

  • 全部内存加密
  • 部分内存加密:在云计算场景下,可以仅将虚拟机使用的内存进行加密。

Transparent SME

SME需要OS或Hypervisor的支持。AMD提供了叫Transparent SME(TSME)的模式,该模式下,所有内存都被加密(不管C-bit位是否为1)。TSME可以通过BIOS进行设置,当TSME开启时,其余的内存加密特性(包括SEV)均不可用。

SEV介绍(2016年)

SEV主要的思想是为

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值