虚拟可信平台模块 (vTPM) 是物理可信平台模块 2.0 芯片的基于软件的表示形式。vTPM 的作用与任何其他虚拟设备一样。
vTPMs 提供基于硬件的安全相关功能,如随机数生成、证明、密钥生成等。添加到虚拟机后,vTPM 使客户机操作系统能够创建并存储私钥。这些密钥不向客户机操作系统本身公开。因此,虚拟机攻击面会缩小。通常,对于安全受到危害的客户机操作系统,其密钥的安全也会受到危害,但启用 vTPM 可在很大程度上降低此风险。只有客户机操作系统可以使用这些密钥进行加密或签名。通过连接 vTPM,客户端可以远程证明虚拟机的身份,并验证其正在运行的软件。
vTPM 不要求 ESXi 主机上存在可信平台模块 (TPM) 2.0 物理芯片。但是,如果要执行主机证明,则需要外部实体,例如 TPM 2.0 物理芯片。请参见使用可信平台模块保护 ESXi 主机。
如何为虚拟机配置 vTPM
从虚拟机的角度来看,vTPM 是一个虚拟设备。可以将 vTPM 添加到新虚拟机,也可以添加到现有虚拟机。vTPM 依赖虚拟机加密来保护重要的 TPM 数据,因此需要您配置密钥提供程序。配置 vTPM 时,虚拟机文件会进行加密,而不是磁盘加密。您可以选择为虚拟机及其磁盘明确添加加密。
备份启用了 vTPM 的虚拟机时,备份必须包含所有虚拟机数据,包括 *.nvram 文件。如果备份不包含 *.nvram 文件,则无法还原已启用 vTPM 的虚拟机。此外,由于已启用 vTPM 的虚拟机的虚拟机主目录文件已加密,因此请确保加密密钥在还原时可用。
在 vSphere 8.0 及更高版本中,在克隆具有 vTPM 的虚拟机时,为具有 vTPM 的虚拟机选择替换选项,会创建一个新的空白 vTPM,它将获取自己的密钥和身份。替换 vTPM 的密钥时,将替换所有密钥,包括工作负载相关密钥。最佳做法是,在替换密钥之前,确保工作负载不再使用 vTPM。否则,克隆的虚拟机中的工作负载可能无法正常运行。
vTPM 对 vSphere 的要求
要使用 vTPM,您的 vSphere 环境必须满足以下要求:
- 虚拟机要求:
- EFI 固件
- 硬件版本 14 及更高版本
- 组件要求:
- 适用于 Windows 虚拟机的 vCenter Server 6.7 及更高版本,适用于 Linux 虚拟机的 vCenter Server 7.0 Update 2。
- 虚拟机加密(用于对虚拟机主目录文件进行加密)。
- 为 vCenter Server 配置的密钥提供程序。请参见vSphere 密钥提供程序比较。
- 客户机操作系统支持:
- Linux
- Windows Server 2008 及更高版本
- Windows 7 及更高版本
硬件 TPM 和虚拟 TPM 之间的差别
您可以使用硬件可信平台模块 (TPM) 为凭据或密钥提供安全存储。vTPM 可起到与 TPM 相同的作用,但它在软件中执行加密协处理器功能。vTPM 使用 .nvram 文件作为自己的安全存储,该文件使用虚拟机加密进行加密。
硬件 TPM 包含预加载的密钥,称为认可密钥 (Endorsement Key, EK)。EK 包含私钥和公钥。EK 可为 TPM 提供唯一标识。对于 vTPM,该密钥由 VMware Certificate Authority (VMCA) 或第三方证书颁发机构 (Certificate Authority, CA) 提供。vTPM 使用某个密钥后,该密钥通常不会更改,因为更改后会使 vTPM 中存储的敏感信息失效。vTPM 在任何时候都不会与第三方 CA 联系。