硬件虚拟化是将虚拟机( VM )中的工作负载与物理硬件以及彼此隔离的有效方法。这提供了改进的安全性,特别是在多租户环境中。然而,带内攻击、侧通道攻击和物理攻击等安全风险仍然可能发生,从而损害数据和应用程序的机密性、完整性或可用性。
直到最近,保护数据还仅限于运动中的数据,例如在互联网上移动有效载荷,以及静止数据,例如存储介质的加密。然而,使用中的数据仍然很脆弱。
NVIDIA 机密计算 提供了一种安全处理使用中的数据和代码的解决方案,防止未经授权的用户访问和修改。在运行人工智能训练或推理时,必须保护数据和代码。通常,输入数据包括个人可识别信息( PII )或企业机密,并且训练的模型是非常有价值的知识产权( IP )。机密计算是保护人工智能模型和数据的理想解决方案。
NVIDIA 站在保密计算的前沿,与 CPU 合作伙伴、云提供商和独立软件供应商( ISV )合作,确保从传统的加速工作负载向保密的加速工作负荷的转变是平稳和透明的。
NVIDIA H100 Tensor Core GPU 是有史以来第一个引入对机密计算的支持的 GPU。它可以在虚拟化环境中使用,既可以与传统的虚拟机一起使用,也可以在 Kubernetes 部署中使用,使用 Kata 在 microVM 中启动机密容器。
这篇文章的重点是使用机密计算的传统虚拟化工作流程。
Confidential computing 是根据 Confidential Computing Consortium 的定义。
NVIDIA H100 GPU 符合这一定义,因为其 TEE 固定在片上硬件信任根( RoT )中。当它在 CC On 模式下启动时, GPU 启用代码和数据的硬件保护。通过以下方式建立信任链:
机密计算环境的用户可以检查证明报告,并且只有在其有效和正确的情况下才可以继续。
NVIDIA 在每一代产品中都不断提高其 GPU 的安全性和完整性。自 NVIDIA Volta V100 Tensor Core GPU 以来, NVIDIA 已为设备上运行的固件提供 AES 身份验证。此身份验证确保您可以相信启动固件既没有损坏也没有被篡改。
通过 NVIDIA Turing 架构和 NVIDIA Ampere 架构, NVIDIA 增加了额外的安全功能,包括加密固件、固件撤销、故障注入对策,现在,在 NVIDIA Hopper 中,还增加了片上 RoT 和测量/验证引导。
为了在 NVIDIA H100 GPU 上实现保密计算,NVIDIA 需要创建新的安全固件和微码,以及在 CUDA 驱动中启用支持保密计算的路径,并建立认证验证流程。此硬件、固件和软件堆栈提供了一个完整的机密计算解决方案,包括代码和数据的保护和完整性。
使用 CUDA 12.2 Update 1 的发布,NVIDIA H100 Tensor Core GPU 成为了第一款机密计算 GPU。通过我们的早期访问版本,它已经准备好运行机密计算工作负载。
NVIDIA Hopper 架构首先在 NVIDIA H100 产品中推向市场,该产品包括 H100TensorCore GPU 芯片和 80GB 高带宽存储器 3 ( HBM3 )。有多种使用 NVIDIA H100 GPU 的产品可以支持机密计算,包括以下产品:
有三种支持的机密计算操作模式:
启用或禁用机密计算的控制是作为带内 PCIe 命令从系统管理程序主机提供的。
NVIDIA H100 GPU 在机密计算模式下与支持机密虚拟机( CVM )的 CPU 协同工作。基于 CPU 的机密计算使用户能够在 TEE 中运行,这可以防止访问系统管理程序甚至系统本身的操作员访问 CVM 或机密容器的内存内容。然而,由于 GPU 被 CPU 硬件阻止直接访问 CVM 存储器,因此将 TEE 扩展为包括 GPU 会带来一个有趣的挑战。
为了解决这个问题,位于 CPU TEE 内部的 NVIDIA 驱动程序与 GPU 硬件一起在 GPU memory 之间移动数据。它通过加密的反弹缓冲区来实现这一点,该缓冲区分配在共享系统内存中,可供 GPU 访问。类似地,所有命令缓冲区和 CUDA 内核也在穿过 PCIe 总线之前进行加密和签名。
在 CPU TEE 的信任扩展到 GPU 之后,运行 CUDA 应用程序与在 CC 关闭的 GPU 上运行它们相同。 CUDA 驱动程序和 GPU 固件在 CC-On 模式下透明地处理所需的加密工作流程。
需要特定的 CPU 硬件 SKU 才能使用 NVIDIA H100 GPU 实现机密计算。以下 CPU 具有机密计算所需的功能:
NVIDIA 进行了广泛的工作,以确保您的 CUDA 代码在启用保密计算的情况下“正常工作”。当采取这些步骤以确保您拥有一个具有适当硬件、驱动程序和合格证明报告的安全系统时,您的 CUDA 应用程序应在没有任何更改的情况下运行。
NVIDIA H100 GPU 需要特定的硬件和软件版本才能实现机密计算。下表显示了可以与我们的第一个软件版本一起使用的示例堆栈。
组成部分 版本 CPU AMD 米兰+ GPU H100 PCIe SBIOS ASRockRack : BIOS 固件版本 L3 . 12C 或更高版本
Supermicro : BIOS 固件版本 2 . 4 或更高版本
对于其他服务器,请向制造商咨询最低 SBIOS ,以启用机密计算。Hypervisor Ubuntu KVM / QEMU 22 . 04 + OS Ubuntu 22 . 04 + 内核 5 . 19-rc6 _ v4 (主机和来宾) 模拟器 >= 6 . 1 . 50 (分支– snp-v3 ) ovmf >=提交( b360b0b589 ) NVIDIA VBIOS VBIOS 版本: 96 . 00 . 5E . 00 . 01 及更高版本 NVIDIA 驱动程序 535 . 86 卢比
NVIDIA H100 GPU 的保密计算能力增强了安全性和隔离性,可抵御以下范围内的威胁向量:
电 话:15359021002
联系人:肖小姐
手 机:15359021002
邮 箱:luckyxiao.909@gmail.com
地 址:深圳市宝安区西乡街道臣田社区宝民二路东方雅苑2层B39