【TEE】【Intel TDX 白皮书】 Intel® Trust Domain Extensions

本文详细介绍了英特尔TDX技术,一种用于部署硬件隔离虚拟机的信任域,以增强内存机密性、CPU状态保护和安全特性。TDX通过内存加密、地址转换一致性及远程验证等功能,提升云服务的数据安全和IP保护,同时讨论了其威胁模型和未来发展方向。
摘要由CSDN通过智能技术生成

Intel TDX 官方文档

1 介绍

长期以来,为企业和云环境中的数据提供更好的保护一直是 IT 部门、政府和个人服务用户的高度关注点。大型技术提供商现在正在将隐私转化为一种可销售的优势,而对第三方处理供应商的不信任度也越来越高。

2015 年英特尔® Software Guard Extensions (SGX) 的发布引发了一种范式和竞赛,称这种范式为机密计算。这种范式背后的主要前提是,那些控制平台的人和那些在平台上处理数据的人是两个独立的实体。在典型的安装中,平台所有者对平台上正在处理的内容具有完全访问权限。这就是现代计算平台上内存管理和访问控制的层次结构。

在本文中,我们将介绍英特尔信任域扩展(英特尔 TDX)。一种体系结构技术,用于部署称为信任域 (TD) 的硬件隔离虚拟机 (VM)。英特尔 TDX 旨在将 TD 虚拟机与主机平台上的虚拟机管理器 (VMM)、虚拟机管理程序和其他非 TD 软件隔离开来。英特尔 TDX 可用于帮助保护 TD 免受各种软件攻击,从而增强机密计算,还有助于减少 TD 可信计算基 (TCB)。英特尔 TDX 旨在增强平台用户对数据安全和 IP 保护的控制。英特尔 TDX 还可以增强云服务提供商 (CSP) 提供托管云服务的能力,而不会将租户数据暴露给对手。

在本文中,我们将介绍英特尔 TDX 技术,以及它如何成为机密计算产品的支柱之一。我们详细介绍了它如何帮助提供内存机密性和完整性、地址转换完整性、CPU 状态机密性和完整性、安全中断和异常传递以及远程证明支持。最后,我们总结了 TDX 提供的威胁模型和针对常见软件和硬件攻击的缓解措施。

2 Intel TDX 技术

英特尔-TDX 解决方案结合了英特尔虚拟机扩展指令集架构 (ISA) 扩展、英特尔总内存加密多密钥 (Intel TME-MK) 技术和 CPU 认证软件模块。英特尔 TDX 解决方案可为 TD 提供以下功能:

  • 内存和 CPU 状态的机密性和完整性,有助于保护敏感的 IP 和工作负载数据免受大多数基于软件的攻击和许多基于硬件的攻击。现有一个工具,支持将云平台的固件、软件、设备和运营商排除在可信计算基 (TCB) 之外。工作负载可以使用此工具来促进对 CPU 指令、安全性、调试和其他技术的更安全访问。现在,无论用于部署工作负载的云基础结构如何,工作负载都可以具有此功能。
  • 远程证明使得依赖方(工作负载的所有者或工作负载提供的服务的用户)能够在提供该工作负载数据之前确定工作负载正在位于 TD 中的支持 Intel-TDX 的平台上运行。远程证明旨在允许服务的所有者和使用者以数字方式确定他们所依赖的 TCB 版本,以帮助保护其数据。

英特尔 TDX 还增强了 TD 的防御能力,可抵御使用对平台内存进行物理访问的部分攻击,例如离线动态随机存取内存 (DRAM) 分析(例如冷启动攻击)和 DRAM 接口的主动攻击,包括捕获、修改、重定位、拼接和混叠内存内容。英特尔 TDX 不会通过物理攻击来防御内存重放。

在这里插入图片描述Figure 1 Trust Boundaries for TDX

VMM 仍然是资源管理器,TD 没有拒绝向 VMM 提供服务的权限。保护 TD 免受 VMM 拒绝服务不是英特尔 TDX 的安全目标。

为了帮助实施 TD 的安全策略,引入了一种称为安全仲裁模式 (SEAM) 的新 CPU 模式,用于托管 Intel 提供的、经过数字签名但未加密的安全服务模块。英特尔 TDX 模块托管在 SEAM 范围寄存器 (SEAMRR)已识别的预留内存空间中。在该设计下,CPU 只允许在 SEAM 内存范围内执行的软件访问 SEAM 内存范围,并且所有其他软件访问和从设备到此内存范围的直接内存访问 (DMA) 都将中止。SEAM 还被设计为对平台中其他受保护的内存区域没有任何内存访问权限,包括系统管理模式 (SMM) 内存或英特尔®软件防护扩展 (Intel® SGX) 受保护的内存(图 2)。

在这里插入图片描述
Figure 2 SEAM Module Flow

内存完整性可以通过(默认的)加密完整性保护方案或逻辑完整性保护方案来实现。加密完整性方案使用基于SHA - 3的消息认证码( MAC ) ( 28-bit ),有助于防止主机/系统软件访问,并检测来自软件和一些硬件攻击的状态篡改。逻辑完整性保护方案的目的是防止主机/系统软件的单独访问。

为了给英特尔TDX安装该模块,提供了一个新的英特尔®可信执行技术( Intel TXT )认证代码模块( ACM ),称为SEAM Loader ( SEAMLDR ),用于帮助验证英特尔TDX模块上的数字签名,并将其加载到SEAM -内存范围内。通过设计,模块的测量和安全版本号( SVN )被SEAMLDR记录到硬件测量寄存器中,然后响应VMM调用SEAMLDR ACM加载到SEAM - memory范围中,从而实现对模块的加载,该模块不具有持久性。

针对VMM设计了SEAMCALL指令,将CPU置于SEAM - VMX - root操作中并调用模块。英特尔TDX模块旨在为VMM提供创建、删除和调度TD执行的接口。英特尔TDX模块作为可信中介,帮助实现TD的安全策略、动作和必要的缓解措施。

作为TD创建的一部分,VMM为TD代码、数据以及与TD相关的元数据结构(如虚拟机控制结构VMCS )提供了内存页,并在TD未执行时提供了用于保存TD状态的状态保存区。

英特尔TDX采用包括VMX架构在内的英特尔® 64架构来帮助管理TD。Intel - TDX模块设计为执行VM进入SEAM - VMX,非root操作使用VMRESUME和VMLAUNCHVMX指令执行TD。

Intel - TDX模块帮助确保为TD活动的执行控件不允许VMM或其他不可信实体拦截TD访问TD分配的资源,如控制寄存器、特定于模型的寄存器( model-specific registers,MSRs )、调试寄存器、性能监视计数器、时间戳计数器等。TDX模块旨在实现TD的安全策略。这种策略的一个例子是,在切换TD时使用间接分支预测屏障( IBPB )模块,以帮助TD -间接转移预测不受先前执行的TD中代码的影响。

如果TD在创建时获得授权,TD将充分利用调试和性能监控功能。如果它们没有被授权,这些功能将在TD执行时被禁用。TD的调试和性能监控属性包含在TD认证报告中。

Intel TDX的设计目的是允许VMM限制TD提供的功能,因为各种原因,如虚拟化硬件能力。英特尔TDX可以限制VMM隐藏或允许TD使用该特性的能力。如果VMM选择允许TD使用该功能,则英特尔TDX试图阻止VMM在TD访问时修改CPUID、能力MSR和控制寄存器等指令提供的枚举和信息。TD的目标是可靠地使用这些硬件指令,而不需要特殊的操作系统修改,但具有类似于传统虚拟机中软件所期望的性能。

Intel TDX的设计目的是在TD上执行执行控制,以导致在TD中执行某些指令,如IN / OUT,HLT,RD / WRMSR等,然后导致TD OS的虚拟化异常( # VE ),以便这些指令可以被TD OS以安全的方式模拟为TD软件。

其本意是VM退出进入SEAM - VMX - root操作是为了响应SEAM - VMX -非Root操作中的某些指令和事件而发生的。提供了TDCALL指令,通过使VM退出模块来帮助TD调用服务。

当一个TD退出到该模块时,该模块被设计为将寄存器(例如,通用寄存器、控制寄存器、MSR寄存器、调试寄存器、性能监测计数器、扩展状态寄存器以及与TD相关的其他CPU状态)保存到为该TD分配的状态保存区域中。然后,该模块在将执行控制返回给VMM之前对这些寄存器进行擦除,以防止TD状态的泄漏。当随后恢复一个TD时,TD的CPU状态将从此恢复。

为英特尔TDX模块引入SEAMREPORT指令,以帮助创建一个证据结构- -一个用MAC加密绑定到平台硬件的报告。随后,SEAMREPORT创建的报告结构有助于生成远程证明引用。

该模块引入SEAMRET指令,将执行控制返回给VMM。

英特尔TDX 1.0旨在为TD提供以下功能:

  • A 内存机密性和完整性
  • B 地址转换一致性
  • C CPU状态机密性和完整性
  • D 安全中断和异常传递
  • E 远程验证

未来的更新将着眼于为英特尔TDX模块带来新的功能,即:

  • F 动态迁移
  • G TD划分
  • H VM保留更新

A 内存机密性和完整性

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

TME - MK支持的Ach密钥由一个KeyID或密钥标识符来标识。CPU的设计目的是提供Intel - TDX模块使用的PCONFIG指令,为每个KeyID编程一个CPU生成的、唯一的、短暂的AES - XTS 128位密钥。TME - MK中的密钥是定制的,不能通过软件或使用SOC的外部接口来访问。

KEY ID的功能共享

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

B 地址转换一致性

C CPU状态机密性和完整性

D 安全中断和异常传递

E 远程验证

F 动态迁移

G TD划分

H VM保留更新

3 威胁模型概述

4 总结

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TDX(通达信)是一种常用的股票交易软件,它具备丰富的数据分析功能。TDX自定义数据采集是指用户可以根据自己的需求,通过编程或设置规则,实现对特定数据的采集和整合。 TDX自定义数据采集的实现可以通过编写相应的脚本或插件来完成。用户可以利用TDX软件提供的API接口,编写脚本来自动采集他们关心的数据。这些数据可以是股票的行情数据、交易数据、财务数据等。用户可以根据自己的需求进行自定义,提取所需的数据并进行进一步的分析。 此外,TDX软件还支持用户通过设置规则实现数据采集。用户可以设置某个特定条件下,自动采集指定数据。例如,用户可以设置当某只股票的涨跌幅超过一定阈值时,自动采集该股票的相关数据。这样,用户可以方便地获取重要的市场信息,并据此做出相应的投资决策。 TDX自定义数据采集的好处在于能够满足用户个性化的需求。用户可以按照自己所关注的领域或特定策略,在TDX软件上自定义数据采集功能,快速获取所需的数据。用户可以针对自己的投资目标、风险偏好等进行数据筛选和整理,提高交易决策的准确性和效率。 总而言之,TDX自定义数据采集为用户提供了在股票交易中获取个性化数据的便利性。用户可以通过编写脚本或设置规则,实现对特定数据的采集和整合,提高投资决策的准确性和效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值