草榴社区

PCI-SIG 最近引入了新的工程变更通知 (ECN),此举扩展了 PCI Express (PCIe) 基本规范,以纳入对可信 I/O 虚拟化的可选支持。该 ECN 称为 TDISP,已经开发了将近两年,通过完整性和数据加密 (IDE) 将现有的 PCI-SIG 技术紧密结合,以实现单根 I/O 虚拟化 (SR IOV) 和硬件安全。虽然 TDISP 同样适用于 CXL 和 PCIe 设备,但 CXL 联盟正在开发更多互补扩展,以满足其他 CXL 特定条件。这篇文章介绍了针对超大规模数据中心 SoC 的 TDISP 的新功能和优势。

采用 IDE 的 PCIe 安全

2021 年底,PCI-SIG 发布了名为完整性和数据加密 (IDE) 的 ECN,其中增加了适用于 PCIe 设备的可选功能,使这些设备可以对通过 PCIe 链路传输的数据包执行硬件加密和完整性检查。从根本上说,IDE 的目标是防御老练的攻击者通过复杂的工具和直接访问受害者系统进行的硬件层面攻击。如果是在前几年,这种方案将被视为天方夜谭,因为公司拥有并运营自己的数据中心,并且为数据中心配备了值得信赖的员工,他们认为物理安全至关重要。向“云计算”转变的一个结果是,越来越少的公司适合采用这种直接拥有数据中心的模式,而越来越多的公司依赖于大型共享数据中心内部的共享资源——这些数据中心可能位于与他们相距千里的地方。攻击者使用各种逻辑分析器和示波器攻入公司的系统,操控公司的服务器,探查他们的内部总线,这种情况突然间变得似乎不再是无稽之谈。

 

IDE ECN 专门用于对抗装备了实验室设备(例如总线分析器)甚至恶意专用硬件(例如转接卡和选择使用的 PCIe 交换机)的攻击者。借助新的 ECN,PCIe 设备可以使用定义的 AES GCM 算法对通过 PCIe 链路传输的每个数据包进行签名和/或加密。两种类型的 IDE 流分别是:链路流 – 仅在直接相连的设备之间传输时有效;选择性流 – 用于跨 PCIe 交换机传输。这两种流类型可以如图 1 所示进行组合,其中一些链路可传输两种类型的流,而另一些链路仅可传输一种类型的流。这可以提供一种重要保护——如果设备应该通过链路 IDE 流直接连接,当有恶意 PCIe 交换机意外地添加到它们之间时,设备将无法建立安全连接。同样,选择性 IDE 流在 PCIe 交换机之间传输时保持不变,这意味着交换机本身永远无法解密数据,因此攻击者最多可以复制加密数据。IDE 规范中的机制可抵御进一步的攻击,例如强制重试和数据包注入,这些攻击试图强制重复传输相同的数据以暴露正在使用的加密密钥。

图 1:链路 IDE 流和选择性 IDE 流的流动

引入 IDE 后,新功能提供了基本的组件来保护计算环境,但显然还需要某种标准化框架来管理和提供不同实现之间的互操作性。这就是 TDISP 的作用所在。

订阅 草榴社区 IP 技术公告

包括深度技术文章、白皮书、视频、即将举行的网络研讨会、产物公告等等。

TDISP – 用于管理安全环境的框架

行业发展至今,已能够支持上述各种共享数据中心,虚拟化领域随之出现了可信执行环境 (TEE) 这一概念。这个想法背后的理由是,虚拟机 (VM) 所有者可能不信任虚拟机管理器 (VMM)(有时称为虚拟机监控程序),正如物理服务器所有者可能不信任数据中心工作人员一样。在 TEE 中,VMM 仍然像在传统虚拟环境中一样控制资源管理,但与传统 VM 不同,TEE 虚拟机 (TVM) 可以管理自己的安全。例如,VMM 可以将某些可加密内存页分配给 TVM,但控制这些内存页的加密密钥的是 TVM。在服务器的 CPU 和内存端,这些控制只与使用中的 CPU 和内存架构相关,因此不需要新的规范来将其暴露给 VMM。当这个概念延伸到 PCIe 等 I/O 接口时,拥有开放框架更为重要,因为这样就无需 VMM 或 TVM 具备对于要连接的设备的特定知识。

 

TDISP 全称 TEE 设备接口安全协议,提供三大功能:

1) 在 TVM 和支持 TDISP 的设备之间建立信任关系

2) 保护主机和支持 TDISP 的设备之间的 PCIe 路径

3) 以安全的方式建立/断开支持 TDISP 的设备的接口和 TVM 之间的连接

虽然该功能主要存在于软件(或固件)中,但 TDISP 规范要求支持 TDISP 的设备具有多种不同的行为和 PCIe 功能。

 

TDISP 目前侧重于使用 PCI SIG 单根 I/O 虚拟化 (SR IOV) 规范定义的虚拟功能,但请注意,未来的修订可能会扩展到其他方案。物理功能 (PF) 被定义为 PCIe 功能,包括 SR-IOV 能力结构,因此可以作为相关虚拟功能 (VF) 的管理实体运行。最初的设想是,VF 作为可直接分配给 VM 的轻量级功能,但可能依赖于 VMM 来模拟 PCIe 配置空间的某些方面。

 

 

图 2:将 PCIe 物理功能和虚拟功能映射到可信环境

从逻辑上来说,TDISP 要求 VF 不依赖 VMM 提供任何安全相关功能,并通过定义 TEE 设备接口 (TDI) 来规范“每个 VF 作为可分配单元”这一想法,其中包含为了确保安全而对 VF 提出的额外要求。TDISP 设备中的功能必须能够锁定其 TDI 配置,如果 VMM(或攻击者)修改了协商的 TDISP 方案之外的相关控制寄存器,TDISP 设备必须能够向相关 TVM 报告篡改情况。当然,PCIe 配置空间寄存器是 TDI 的一部分,但必须保护用于内存映射、缓存、DMA 等功能的设备特定寄存器免受外部操纵。TDISP 还明确要求设备的物理功能不能篡改相关虚拟功能的任何机密性和/或完整性功能,同样,这个要求基于这样的想法:整体管理功能不能影响其管理的资源的安全。

 

TDISP ECN 将两个逻辑/软件实体定义为管理基础架构的一部分:

  • TEE 安全管理器 (TSM) – 存在于主机中,负责在主机和连接的设备上执行安全策略
  • 设备安全管理器 (DSM) – 存在于每个 TDISP 设备中,负责在与 TSM 一起工作的设备上执行安全策略

许多现有的虚拟化技术同样适用于保护主机内部的 TSM,但对于许多 SoC 设计人员来说,可能还不太清楚如何为设备创建安全的环境来实施 DSM。TDISP ECN 中明确规定了 DSM 所需的功能,但设计人员应仔细研究他们用于 DSM 实施的硬件和软件,以确保安全策略能够得到强有力的执行。

 

为了在 TVM 和设备之间建立信任关系,TDISP 使用组件测量和身份验证 (CMA) ECN,该 ECN 的发布时间几乎与 IDE ECN 相同,旨在实现双方的加密安全识别和身份验证。完成上述操作后,TVM 就可以配置设备的诸多安全方面,然后锁定其 TDI,以免受进一步操纵。TDISP 规范还记录了不同的机制,通过这些机制可以交换更多的加密密钥,以便在下一阶段保护 TVM/主机和设备之间的 PCIe 路径。直接连接的设备会被配置以使用链路 IDE 流,但一般情况下会使用选择性 IDE 流。请注意,作为 TDISP ECN 的一部分,IDE 规范有一些变化,因此,预先实现过 IDE 的设计人员应密切关注 TDISP ECN 的相关部分。

结语

为超大规模数据中心和其他注重安全的应用开发 SoC 的设计人员应该与客户一起查阅 TDISP 规范,看看它是否可以提高系统的整体安全性。TEE 设备接口安全协议 (TDISP) 为可信 I/O 虚拟化提供可选支持,通过 IDE 将现有的 PCI-SIG 技术紧密结合,以实现 SR-IOV 和硬件安全。TDISP 的实施者需要密切关注可保护 DSM 的机制,并注意任何预先实现的 IDE 可能需要的变更。草榴社区 提供各种 PCIeCXL 控制器 IP,包括支持 IDE 加密,以及提供安全 TDISP 实现所需的机制。草榴社区 还提供各种安全的处理器和加密工具,可以大大简化 DSM 的实施。

草榴社区 IP 技术公告

深度技术文章、白皮书、视频、网络研讨会、产物公告等等。

继续阅读