概述
Intel® TDX是一项基于CPU硬件的云服务器ECS保护技术,TDX实例的CPU寄存器、内存数据等均受到CPU硬件的机密保护,云厂商和外部攻击者均无法窃取或篡改TDX实例的内部运行状态(如计算中的数据等)。关于Intel® TDX技术的更多信息,请参见Intel® Trusted Domain Extension(Intel® TDX)。
TDX云主机的关键特性
内存隔离:通过处理器硬件机制,为每个云主机构建独立的、受保护的执行环境,实现云主机之间、云主机和宿主机之间的硬件级逻辑隔离。即使宿主机系统或管理员拥有最高权限,也无法读取或篡改虚拟机内的数据,从根本上杜绝了“从内部”被窥视的风险,实现数据在处理过程中的“可用不可见”。
内存加密:数据在内存中全程以密文形式存在,仅能在 CPU 内部解密使用。即使机房被入侵,攻击者通过物理手段也难以探测到或篡改内存中的数据内容。
远程证明:支持远程证明功能,允许信任域所有者验证其虚拟机是否在可信的硬件环境中启动,并且没有被篡改,增强了对基础设施的信任。
安全启动:确保虚拟机仅从经过签名和验证的引导加载程序启动,进一步加强了启动过程的安全性。
体验一致:提供与普通云主机完全一致的管理接口和操作体验,通过控制台、API 等,像创建和管理任何一台普通云主机一样,轻松创建和管理机密云主机,运维习惯无需任何改变。
应用无损:Intel TDX可以为您的云主机和应用提供默认的安全保护,您的现有应用系统,无论是传统的 Java 还是现代的 Python 应用,其自身均无需进行额外改造,可直接运行在机密云主机。
创建TDX云主机
您可以通过控制台或OpenAPI创建具备TDX特性的安全增强计算型云主机c9t和安全增强内存型云主机m9t。
通过控制台创建TDX云主机
在控制台创建机密计算云主机的步骤与创建普通云主机一样,但需要注意选择特定规格,即支持海光TDX特性的云主机规格。请参见创建弹性云主机-弹性云主机-快速入门 - 天翼云
登录天翼云,点击页面右上方“控制中心”,进入控制台。
单击管理控制台左上角的
,选择区域,此处我们选择华北2或华东1。
点击计算-弹性云主机进入创建云主机页面。
单击右上角创建云主机进入云主机购买页面,按照以下配置创建云主机。
配置项 说明 实例规格 仅c9t、m9t规格支持TDX功能。 镜像 选择CTyunOS V4.0 25.07 64 位 TDX UEFI 版(40GB)镜像。 根据界面提示,完成Intel TDX云主机创建。
通过OpenAPI创建TDX云主机
您可以调用创建一台按量付费或包年包月的云主机创建TDX云主机,需要注意的参数如下表所示。
| 参数 | 说明 | 示例 |
| flavorName | 指定支持TDX功能的实例规格,当前仅 c9t、m9t规格支持。 | c9t.large.2 |
| imageID | 指定支持TDX的镜像ID,当前仅CTyunOS V4.0 25.07 64 位 TDX UEFI 版(40GB)镜像支持。 | 4636d1df-82c2-4db8-9fff-6a20e0af1c5f |
检查TDX使能状态
在使用CSV加密计算环境前,建议您先通过以下命令检查云主机的CSV使能状态。
sudo dmesg | grep -i tdx返回类似结果如下图,即表示 TDX 已经使能。
验证TDX远程证明
您可以通过在TDX 云主机中生成远程证明报告,并通过工具验证其可信性,证明云主机处于可信安全的TDX环境。天翼云为您提供多种方式,以便于您对TDX云主机进行远程证明认证。远程证明相关信息请参见远程证明服务。
配置 TDX 证明服务端口
创建或修改/etc/tdx-attest.conf,指定证明服务端口(示例为 4050):
shecho 'port=4050' | sudo tee -a /etc/tdx-attest.conf >/dev/null安装 TDX 依赖库
创建安装目录
shmkdir /opt/intel && cd /opt/intel下载并解压安装包
wget -q -O sgx_rpm_local_repo.tgz http://internal.mirrors.ctyun.cn/ctyun-tools/ecs/cpu/tools/x86/intel-sgx/dcap/linux/sgx_rpm_local_repo.tgz && tar xf sgx_rpm_local_repo.tgz添加为本地yum仓库
sudo yum-config-manager --add-repo file:///opt/intel/sgx_rpm_local_repo安装依赖库
sudo yum install -y --nogpgcheck libtdx-attest libtdx-attest-devel
安装ra-agent 工具
检查是否已安装ra-agent 工具:
rpm -qa | grep ra-agent如果没有结果返回,则需要执行以下命令进行安装:
wget -q -O ra-agent-0.0.1-1.ctl4.x86_64.rpm http://internal.mirrors.ctyun.cn/ctyun-tools/ecs/cpu/tools/x86/gta/ra-agent-0.0.1-1.ctl4.x86_64.rpm && sudo rpm -ivh --nodeps ra-agent-0.0.1-1.ctl4.x86_64.rpm在客户端本地生成随机数
head -c 32 /dev/urandom | base64 -w 0执行示例:
收集云主机证据
执行以下命令,检查是否已安装ra-cli 工具:
rpm -qa | grep ra-cli若该工具已安装,则可以继续执行以下命令:
./attestation_cli evidence get \ --attester-types "tdx" \ --nonce-type "user" \ --nonce "<填入上一步的结果,删除尖括号>" \ --out "evidence.txt"若该工具未安装,则需要执行以下命令获取证据:
curl -X POST http://127.0.0.1:8088/global-trust-authority/agent/v1/evidences \ -H "Content-Type: application/json" \ -d '{ "attesters": [{ "attester_type": "tdx" }], "nonce_type": "user", "nonce": "<填入上一步的结果,删除尖括号>", "attester_data": {"test_key": "test_value"} }' > evidence.txt
在客户端本地将证据发送给天翼云远程证明服务进行校验,通过OpenAPI调用接口,参数填入evidence.txt的内容即可。
如果证据是伪造的,则会得到类似下面的结果:
如果证据是由硬件正确签名的,则会返回类似下面的结果:
其中包含一个token字段,将token字段后面的值放入 https://www.jwt.io/中左侧进行解析,解析后内容显示在右侧,如下所示:
针对报告的解析内容,您需要关注以下字段:
字段名称 字段说明 mr_seam 验证TDX 虚拟化模块完整性;应与 Intel 发布的已知安全版本哈希一致 mr_td workload 镜像(内核+rootfs)的完整性;应与预期可信值比对一致 rtmr0 验证UEFI 固件完整性;应与预期固件度量值一致 rtmr1 验证bootloader 和内核启动参数完整性;应与预期固件度量值一致 rtmr2 验证OS 内核完整性;结合 IMA 日志可验证用户态程序 td_debug TD 调试模式开关,必须为 false。若= true ,调试器可直接读写 TD 内存(TDCALL TDG.MEM.PAGE.ATTR.RD 等操作被允许) td_septve_disable Sept VE(Secure-EPT Virtualization Exception)禁用标志。若=true ,TD 访问未映射内存页会直接 #GP 而非触发 EPT Violation 处理
TDX云主机限制说明
TDX云主机暂不支持VNC登录。
仅支持UEFI镜像。