我们今天下面的资料完全基于公开资料(PCI-SIG / DMTF / CXL 等文档)整理的解释,讲一下三个概念 SPDM、DOE、IDE 的定义以及 Host 与 Device 初始化和交互流程,并说明它们之间的关系。
SPDM = Security Protocol and Data Model(DMTF定义)
SPDM 是一个 设备安全认证和安全会话建立协议,主要用于:
SPDM 可以让 两个硬件组件建立安全通信会话,并支持设备身份信息、测量值和证书的交换。
SPDM 的核心目标:
Device identityDevice authenticationMeasurement(firmware integrity)Secure session establishmentKey exchange
SPDM 在 PCIe / CXL / NVMe 等体系中通常用于:
DOE = Data Object Exchange
DOE 是 PCIe specification 中的一个 Extended Capability。
DOE 提供一个 Mailbox 机制,允许 Host 软件和 PCIe 设备交换结构化数据对象,例如:
换句话说:
DOE =PCIe中传输安全消息的通道
PCI-SIG文档说明:
DOE 的特点:
结构示意:
PCIe device└─ DOE ExtendedCapability└─ DOE mailbox
Host 通过该 mailbox 与设备交换安全消息。
IDE = Integrity and Data Encryption
IDE 是 PCIe 的 链路安全机制。
IDE 的作用:
IDE 使用 AES-GCM 加密算法对 PCIe 传输的数据包进行保护。
IDE 保护的是:
PCIe Transaction Layer Packets(TLP)
IDE 在 PCIe / CXL 系统中的目标是:
这三个技术的关系是:
SPDM↓DOE (transport)↓PCIe↓IDE (link encryption)
具体作用:
IDE 需要 密钥管理协议(IDE_KM),而这些密钥通常通过 SPDM 会话建立后传输。
在 PCIe / CXL 安全体系中,Host 与 Device 的交互流程大致如下。
系统启动时:
Host↓PCIe enumeration↓发现device capability↓检测 DOE capability
如果设备支持安全功能,会在 PCIe capability 中暴露:
DOE capabilityIDE capability
Host 与 Device 通过 DOE mailbox 进行 SPDM 通信。
流程示意:
Host Device─────────────────────────────────GET_VERSION ───────────────►◄──────────── VERSIONGET_CAPABILITIES ───────────►◄──────────── CAPABILITIESGET_DIGESTS ────────────────►◄──────────── DIGESTSGET_CERTIFICATE ────────────►◄──────────── CERT_CHAINCHALLENGE ──────────────────►◄──────────── SIGNATURE
这个阶段完成:
认证完成后建立 SPDM secure session:
KEY_EXCHANGEFINISH
此时双方生成:
session keys
SPDM secure session 支持:
安全会话建立后,Host 通过 IDE_KM 协议配置 IDE 密钥。
流程示意:
Host Device─────────────────────────────────IDE_KM_KEY_SET ───────────►◄──────────── ACKIDE_KM_KEY_ACTIVATE ──────►◄──────────── ACK
这些消息在:
SPDM secure session
内部传输。
IDE启动后:
PCIe TLP traffic
全部通过 IDE 加密。
IDE保护:
PCIe TLP payload
提供:
整个 Host / Device 初始化流程如下:
1PCIe enumeration2Host发现DOE capability3 SPDM认证4 SPDM建立secure session5 IDE_KM密钥管理6 IDE链路加密启动7正常PCIe通信
架构示意:
Host│SPDM authentication│DOE mailbox│PCIe│IDE encryption│Device
这些机制主要用于 数据中心和安全计算环境:
典型场景包括:
例如:
Host需要验证设备是否可信。
例如:
设备必须通过 SPDM 认证。
IDE用于防止:
三个概念的核心区别:
关系:
SPDM →建立安全会话DOE →传输SPDM消息IDE →加密PCIe链路
链接: 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。