TDX的功能

1.内存机密性和完整性

Intel TDX使用TME-MK引擎启用内存加密,并通过添加完整性保护模式对其进行增强。除了AESXTS 128位内存加密外,Intel TDX还可以在每个缓存行上使用基于SHA-3的MAC(28位)启用加密完整性保护模式。在这种模式下,SHA-3-256(KECCAK[512])被用作MAC生成的底层函数,256b输出被截断为28b以进行存储和验证。为了帮助防止密文泄露,每个缓存行都维护一个1位TD所有权标签,以识别该行是否与分配给TD的内存页相关联。在这种模式下,TD所有权位包含在MAC中。可选地,可以使用逻辑完整性模式,该模式维护1位TD所有权标签,但是在逻辑完整性模型中,每个缓存行都没有维护加密MAC。

TME-MK支持的每个密钥都由KeyID或密钥标识符标识。CPU旨在提供一条PCONFIG指令,由Intel TDX模块使用,为每个KeyID编程一个CPU生成的、唯一的、短暂的AES-XTS 128位密钥。编程到TME-MK中的钥匙经过定制,无法通过软件或使用SOC的外部接口访问。

TME-MK支持的KeyID集可以分为两组KeyID——一组私有KeyID和一组共享KeyID。PCONFIG的设计仅允许在从SEAM模式调用时(即通过TDX-SEAM模块)使用密钥对私钥ID进行编程。

在TD创建时,该模块旨在为每个TD分配唯一的私有KeyID(图3)。

图三

CPU旨在禁止除Intel TDX模块和TD之外的软件使用私钥ID进行内存访问。尝试通过SEAM模式之外的软件访问私钥ID将导致页面错误异常(#PF)。同样,使用私钥ID的设备的DMA将被中止。

与存储器中的行关联的TD所有权位试图检测软件或设备试图使用共享KeyID读取用私钥ID加密的存储器,以揭示密文。对于这种无效访问,TME-MK返回一个固定模式,以帮助防止密文分析。

启用加密完整性保护后,MAC有助于确保TD读回上次写入其专用内存的相同数据。如果根据攻击模型侵犯了内存完整性,那么TD对损坏内存的后续访问将导致MAC验证失败。通过逻辑完整性,基于TD所有权位的访问控制的软件攻击也获得了类似的属性。

MAC验证或TD所有权检查失败对TD来说是致命的,并导致其终止,但其他TD和平台软件不会受到影响。TD专用内存的加密有助于防御某些类型的内存物理攻击(例如冷启动攻击)。加密完整性模式增加了加密防御,以防御软件篡改攻击(如rowhammer)和一些基于硬件的损坏攻击。相比之下,逻辑完整性模式旨在防止软件访问TD密文。当前一代针对Intel TDX的内存保护无法检测到或防止通过物理访问重放内存等复杂攻击。

2.CPU状态机密性和完整性

创建TD时,Intel TDX的模块将要求VMM提供一组内存页,用于托管虚拟机控制结构(VMCS)、TD的状态保存区等。该模块的目标是使用其页面分配跟踪器来强制VMM没有同时将这些页面分配给其他TD。然后,Intel TDX模块将使用TD分配的私钥初始化和配置这些结构,以帮助为TD-CPU状态提供加密机密性和完整性保护(图2)。

图二

3.总结

英特尔正在引入新的架构元素,以帮助部署称为信任域(TD)的硬件隔离虚拟机。TDX1.0介绍:

        安全仲裁模式(SEAM)——一种新的CPU模式,旨在托管英特尔提供的数字签名安全服务模块,称为英特尔TDX模块。

        GPA中的共享位有助于TD访问共享内存。

        安全的EPT旨在转换私有GPA,以提供地址转换的完整性,并防止从共享内存中提取TD代码。目标是使用TD私钥对私有内存访问进行加密和完整性保护。

        物理地址元数据表(PAMT),用于帮助跟踪页面分配、页面初始化和TLB一致性。

        多密钥全内存加密(TME-MK)引擎,旨在使用AES-128XTS和完整性模式(使用28位MAC的加密完整性,其中还包括TD所有权位,以及仅使用TD所有权位的逻辑完整性)提供内存加密。

        远程认证旨在提供在正版Intel TDX系统及其TCB版本上执行TD的证据。

为了加速TDX的部署,特别是云部署,未来的TDX模块将支持TD分区、实时迁移以及TD和VM保留主机/操作系统更新等新功能。

这个白皮书对TDX1.0进行了介绍,但是官网已经更新到TDX1.5和2.0了,希望后续白皮书也会有所更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值