EREPORT for TD

TDX 语境下的 EREPORT——即 Trust Domain(TD,信任域)内部主动生成的、专门用于远程证明(Remote Attestation)的一种结构化报告。

中文解释(TDX 场景)

  • EREPORT 是 TD 在执行过程中,由 TDX 模块(SEAM 模块)根据 TD 的请求生成的一份 可验证的完整性/度量报告。
  • 它包含 TD 的启动度量值(MRTD)、运行时度量(如 RTMR)、安全版本号(SVN)、CPU/平台信息、用户自定义数据(reportdata)等字段。
  • 生成后,TD 会把这份 EREPORT 连同由 Quoting Enclave(QE)或 Verifier 签名的 Quote 一起,发送给远程验证者(Verifier)。
  • 验证者通过 Intel 的根证书链校验 Quote 签名,再解析其中的 EREPORT 内容,确认 TD 的身份、完整性以及是否运行在可信的 TDX 平台上。
一句话总结:
EREPORT 是 TD 向远程验证者“自证清白”的核心证据,由 TDX 硬件背书,用于远程证明流程。
 
 

一、Ereport 的本质

  • 全称:TDREPORT(Trusted Domain Report)
  • 载体:一段 1024 B 的“明文体检表”,由 CPU TDCALL[TDG.MR.REPORT] 指令现场生成。
  • 内容:
    1. 固件/启动镜像的哈希 → MRTD
    2. 运行时度量链 → RTMR0~3(谁启动、谁加载内核、谁跑应用)
    3. 当前 CPU/虚拟机属性(调试开关、TSME 开关…)
    4. 用户想带的一段 64 B 的 report_data(随机数、会话公钥…)
  • 特点:
    • 只能本地信赖——TD 自己看没问题,外部世界无法直接验证真伪;
    • 必须再签名——下一步由 Quoting Enclave (QE) 盖“钢印”,变成远程可验的 Quote。

二、TD 上生成 Ereport 的完整流程

阶段关键动作工具/指令
1 启动度量 BIOS / TDVF 把各启动组件哈希扩展到 RTMR,同时写 event log 固件自动完成
2 运行时度量 IMA/运行时度量器把内核模块、可执行文件、配置继续扩展 echo ‘measure func=BPRM_CHECK’ >> /etc/ima/…
3 生成 TDREPORT 应用层调用 TDCALL[TDG.MR.REPORT],把随机数填进 report_data 阿里云示例:

4 本地拿到 TDREPORT 返回 1024 B 数据块,肉眼不可信 调试时可用 hexdump 看

三、Ereport → Quote → 远程验证的“三连跳”

  1. TDREPORT 出箱
    在 TD 里生成,但对外部没意义(无签名)。
  2. QE 盖钢印
    主机侧 Quoting Enclave 用 平台 ECDSA-P384 私钥 给 TDREPORT 签名 → 生成 Quote(≈4 KB,含证书链)。
    Quote 现在可公开传输,任何人都能用 Intel/云厂商公钥验签。
  3. 远程验证方三步走
    • 验签:确认 Quote 来自真 CPU;
    • 验度量:核对 Quote 里的 MRTD/RTMR 与“我期望的哈希”一致;
    • 验日志:用 event log 重放,确保 RTMR 没被伪造。
验证通过 → 释放密钥、建立 TLS、放行业务流量;失败 → 拒绝服务
 

四、一张图总结

┌────────────┐          ┌────────────────┐           ┌──────────────┐
│   Client   │          │   TD (VM)      │           │  Attestation │
│ (Verifier) │◄─────────┤ 生成 TDREPORT  │──────────►│   Service    │
│            │  nonce   │  ︙QE签名       │  Quote    │  验证Quote   │
└────────────┘          └────────────────┘           └──────────────┘
        ▲                                                      │
        │                                                      │
        └─────────────────密钥/会话/策略←←←←←←←←←←←←←←←←←←←←←┘
 

五、一句话记忆

“Ereport 就是 TD 的体检表;QE 盖钢印变成身份证(Quote);远程医生看身份证+化验单(event log)决定放不放行。”

如需动手体验,可参考阿里云 TDX 远程证明 Demo:
bash
# 1. 装依赖
sudo yum install -y tdx-quote-generation-sample tee-appraisal-tool
# 2. 生成 Quote
cd /opt/alibaba/tdx-quote-generation-sample
sudo ./app -d $(openssl rand -hex 32)
 
生成的 quote.dat 即可送去验证服务校验
posted @ 2025-08-28 11:22  云long  阅读(29)  评论(0)    收藏  举报