vCenter Server 连接到 KMS 后,具有所需特权的用户可以创建加密虚拟机和磁盘。这些用户也可以执行其他加密任务,例如,加密现有虚拟机以及解密加密的虚拟机。

过程流包含 KMS、vCenter ServerESXi 主机。

图 1. vSphere 虚拟机加密架构
密钥存储在 KMS 中。vCenter Server 将检索密钥,仅保留密钥 ID,并将密钥发送到 ESXi 主机。ESXi 主机使用 KMS 密钥对用于加密的内部密钥进行加密。

在加密过程中,不同 vSphere 组件的交互方式如下所示。

  1. 用户执行加密任务(例如,创建加密虚拟机)时,vCenter Server 从默认 KMS 请求一个新密钥。该密钥将用作 KEK。

  2. vCenter Server 存储该密钥 ID,并将该密钥传递给 ESXi 主机。如果 ESXi 主机是某个群集的一部分,则 vCenter Server 会将该 KEK 发送至该群集中的每一个主机。

    密钥本身不存储在 vCenter Server 系统上。只有密钥 ID 是已知的。

  3. ESXi 主机为虚拟机及其磁盘生成内部密钥 (DEK)。它将内部密钥仅保存在内存中,并使用 KEK 加密该内部密钥。

    解密的内部密钥决不会存储在磁盘上。仅将加密的数据存储在磁盘上。由于 KEK 来自 KMS,所以主机会继续使用相同的 KEK。

  4. ESXi 主机使用加密的内部密钥加密虚拟机。

    任何具有 KEK 并可以访问加密密钥文件的主机可以在加密虚拟机或磁盘上执行操作。

如果稍后想要解密虚拟机,可以更改其存储策略。您可以更改虚拟机及所有磁盘的存储策略。如果要解密单独的组件,先解密选定的磁盘,然后通过更改虚拟机主页的存储策略解密虚拟机。解密每个组件都需要两种密钥。