【每日一题】一次讲明白SPDM/DOE/IDE,为啥大家都用SerialTek和SanBlaze测试该功能
2026-04-07 14:29:52
我们这两年测试企业级NVMe SSD的controller和盘的时候经常碰到一个术语叫SPDM,另外,我们也经常听到工程师问:你有没有工具可以尝试SPDM?我的SPDM是SPDM over DOE的,等等,诸如此类的东西。SerialTek PCIe 5.0(含)分析仪都支持DOE/IDE协议解码SanBlaze RM6等产品都支持针对SPDM的上层的功能的自动化测试我们今天就来讲讲这些基础概念,让大家清楚这些概念都是什么意思。

我们今天下面的资料完全基于公开资料(PCI-SIG / DMTF / CXL 等文档)整理的解释,讲一下三个概念 SPDM、DOE、IDE 的定义以及 Host 与 Device 初始化和交互流程,并说明它们之间的关系。

上图:SerialTek的PCIe协议分析仪支持DOE/IDE协议解码和诊断分析,训练器支持协议的packet生成
上面两图:SanBlaze SSD测试工具提供针对从SPDM 1.0~1.3的完整的测试脚本和测试用例,为业内主流公司所使用

一、SPDM 是什么

SPDM = Security Protocol and Data Model(DMTF定义)

SPDM 是一个 设备安全认证和安全会话建立协议,主要用于:

  • 设备身份认证
  • 设备固件完整性验证
  • 安全会话建立
  • 密钥交换

SPDM 可以让 两个硬件组件建立安全通信会话,并支持设备身份信息、测量值和证书的交换。

SPDM 的核心目标:

  1. Device identity
  2. Device authentication
  3. Measurement(firmware integrity)
  4. Secure session establishment
  5. Key exchange

SPDM 在 PCIe / CXL / NVMe 等体系中通常用于:

  • Host 验证设备是否可信
  • 设备验证 Host 环境
  • 建立安全通信会话

二、DOE 是什么

DOE = Data Object Exchange

DOE 是 PCIe specification 中的一个 Extended Capability

DOE 提供一个 Mailbox 机制,允许 Host 软件和 PCIe 设备交换结构化数据对象,例如:

  • SPDM 消息
  • 安全管理消息
  • 设备测量数据

换句话说:

  1. DOE =PCIe中传输安全消息的通道

PCI-SIG文档说明:

  • DOE 允许 Host 与 PCIe 设备之间交换数据对象
  • SPDM 等安全协议可以通过 DOE 传输

DOE 的特点:

  • 位于 PCIe configuration space
  • 使用 mailbox registers
  • Host 通过 config read/write 访问

结构示意:

  1. PCIe device
  2. └─ DOE ExtendedCapability
  3. └─ DOE mailbox

Host 通过该 mailbox 与设备交换安全消息。


三、IDE 是什么

IDE = Integrity and Data Encryption

IDE 是 PCIe 的 链路安全机制

IDE 的作用:

  • 对 PCIe TLP 数据进行加密
  • 提供完整性保护
  • 防止数据篡改
  • 防止重放攻击

IDE 使用 AES-GCM 加密算法对 PCIe 传输的数据包进行保护。

IDE 保护的是:

  1. PCIe Transaction Layer Packets(TLP)

IDE 在 PCIe / CXL 系统中的目标是:

  • 防止物理链路窃听
  • 防止链路数据被篡改

四、SPDM、DOE、IDE 的关系

这三个技术的关系是:

  1. SPDM
  2. DOE (transport)
  3. PCIe
  4. IDE (link encryption)

具体作用:

技术
作用
SPDM
认证与密钥协商
DOE
PCIe上交换SPDM消息
IDE
用协商出的密钥加密PCIe链路

IDE 需要 密钥管理协议(IDE_KM),而这些密钥通常通过 SPDM 会话建立后传输


五、Host 与 Device 的初始化流程

在 PCIe / CXL 安全体系中,Host 与 Device 的交互流程大致如下。


第1阶段:PCIe设备枚举

系统启动时:

  1. Host
  2. PCIe enumeration
  3. 发现device capability
  4. 检测 DOE capability

如果设备支持安全功能,会在 PCIe capability 中暴露:

  1. DOE capability
  2. IDE capability

第2阶段:SPDM认证流程

Host 与 Device 通过 DOE mailbox 进行 SPDM 通信。

流程示意:

  1. Host                       Device
  2. ─────────────────────────────────
  3.  GET_VERSION  ───────────────►
  4. ◄──────────── VERSION

  5.  GET_CAPABILITIES ───────────►
  6. ◄──────────── CAPABILITIES

  7.  GET_DIGESTS ────────────────►
  8. ◄──────────── DIGESTS

  9.  GET_CERTIFICATE ────────────►
  10. ◄──────────── CERT_CHAIN

  11.  CHALLENGE ──────────────────►
  12. ◄──────────── SIGNATURE

这个阶段完成:

  • 设备身份认证
  • 证书验证
  • 固件测量验证

第3阶段:建立安全会话

认证完成后建立 SPDM secure session:

  1. KEY_EXCHANGE
  2. FINISH

此时双方生成:

  1. session keys

SPDM secure session 支持:

  • encryption
  • MAC
  • replay protection

第4阶段:IDE Key 管理

安全会话建立后,Host 通过 IDE_KM 协议配置 IDE 密钥。

流程示意:

  1. Host                      Device
  2. ─────────────────────────────────
  3.  IDE_KM_KEY_SET ───────────►
  4. ◄──────────── ACK

  5.  IDE_KM_KEY_ACTIVATE ──────►
  6. ◄──────────── ACK

这些消息在:

  1. SPDM secure session

内部传输。


第5阶段:IDE链路加密启动

IDE启动后:

  1. PCIe TLP traffic

全部通过 IDE 加密。

IDE保护:

  1. PCIe TLP payload

提供:

  • confidentiality
  • integrity
  • replay protection

六、完整安全初始化流程

整个 Host / Device 初始化流程如下:

  1. 1PCIe enumeration
  2. 2Host发现DOE capability
  3. 3  SPDM认证
  4. 4  SPDM建立secure session
  5. 5  IDE_KM密钥管理
  6. 6  IDE链路加密启动
  7. 7正常PCIe通信

架构示意:

  1. Host
  2. SPDM authentication
  3. DOE mailbox
  4. PCIe
  5. IDE encryption
  6. Device

七、在哪些场景会用到这些机制

这些机制主要用于 数据中心和安全计算环境

典型场景包括:

1 PCIe设备认证

例如:

  • NVMe SSD
  • GPU
  • SmartNIC

Host需要验证设备是否可信。


2 Confidential Computing

例如:

  • Intel TDX
  • AMD SEV
  • CXL memory device

设备必须通过 SPDM 认证。


3 PCIe链路安全

IDE用于防止:

  • PCIe链路窃听
  • 数据篡改
  • replay攻击

八、总结

三个概念的核心区别:

技术
全称
功能
SPDM
Security Protocol and Data Model
设备认证和安全会话
DOE
Data Object Exchange
PCIe上传输安全消息
IDE
Integrity and Data Encryption
PCIe链路加密

关系:

  1. SPDM 建立安全会话
  2. DOE  传输SPDM消息
  3. IDE  加密PCIe链路
//* 当前SPDM最新版本是1.3.3,感兴趣的可以直接到下面链接下载:https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.3.3.pdf
更多关于PCIe 6.0/CXL的测试工具和技术,请下载Saniffer公司2026.1.6最新更新的白皮书15.1版本 - PCIe5&6.0, CXL, NVMeNVMoF, SSD, NAND, DDR5, 800GE测试技术和工具白皮书_ver15.1-low resolution.pdf(低分辨率版本,file size: 63MB);需要高清图片pdf版本的请参见本文底部的联系方式联系我们获取(file size: 204MB)

链接: https://pan.baidu.com/s/1R-tJEqwBlzBaDR0WLuMU0Q?pwd=9av3 提取码: 9av3

图片

如果你有其任何关于PCIe5&6.0, CXL, NVMe/NVMoF, NAND, DDR5/LPDDR5以及UFS测试方面的我问题想咨询,请访问:访问www.saniffer.cn / www.saniffer.com 访问我们的相关测试工具和产品;或者添加点击左下角“阅读原文”留言,或者saniffer公众号留言,致电021-50807071 / 13127856862,sales@saniffer.com。

图片