IBM Cloud Docs
KMIP for VMware 设计

KMIP for VMware 设计

VMware® 的 KMIP™ 提供与 VMware vSAN™ 加密和 VMware vSphere® 加密兼容的密钥管理服务,方法是使用 IBM Key ProtectIBM Cloud Hyper Protect Crypto Services 来提供根密钥和数据密钥存储。 Key Protect 和 作为该解决方案的关键管理服务。Hyper Protect Crypto Services

存储加密选项

KMIP for VMware 与 VMware vSAN 加密和 vSphere 加密兼容。 这两种解决方案都是在系统管理程序层中实现的,但提供的功能略有不同。 请根据您的需求来评估其功能。

VMware vSAN 加密

VMware vSAN 加密仅适用于 vSAN 数据存储。 使用该解决方案,VMware vCenter 和您的 VMware ESXi™ 主机连接到密钥管理服务器(如 VMware 的 KMIP),以获取加密密钥。 这些密钥用于保护用于vSAN数据存储的单个磁盘驱动器,包括高速缓存和容量磁盘。vSAN 加密的实现方式可保留 vSAN 重复数据删除和压缩的优势,如果您在订购新实例或添加群集时选择此选项的话。

由于 vSAN 加密是在数据存储级别运行的,因此其主要目标是在发生物理磁盘驱动器丢失时,防止数据泄露。 此外,vSAN 加密与所有虚拟机(VM)备份和复制技术完全兼容,如 vSphere 复制、cross-vCenter vMotion, VMware HCX™、Zerto 和 Veeam®。

VMware vSAN 加密说明

  • 对于vSphere版本早于7.0u1a的版本,vSAN加密无法加密群集中主机到主机vSAN的复制通信。 从 vSphere 7.0u1a 开始,您可以选择为每个 vSAN 群集启用传输中数据加密。
  • vSAN 加密不适用于其他存储解决方案,例如 IBM Cloud 耐久性文件存储器和块存储器。
  • vSAN 加密需要 vSAN Enterprise 许可证。
  • vSAN 健康检查可能会定期发出警告,称无法从一台或多台 vSphere 主机连接到密钥管理服务 (KMS) 集群。 出现这些警告是因为 vSAN 运行状况检查连接超时过快。 您可以忽略这些警告。 有关更多信息,请参阅 vSAN KMS 健康检查间歇性失败并伴有 SSL 握手超时错误

vSphere 加密

vSphere 加密适用于所有类型的 存储,包括 存储和 Endurance 文件和块存储。VMware vSAN IBM Cloud

使用此解决方案时,vCenter Server 和 ESXi 主机将连接到密钥管理服务器(例如,KMIP for VMware)来获取加密密钥。 根据虚拟机存储策略,这些密钥用于保护单个虚拟机磁盘。

vSphere 加密在虚拟机磁盘级别运行,因此可以防止在物理磁盘驱动器丢失或虚拟机磁盘丢失时数据暴露。 某些备份和复制技术无法有效备份或复制,因为所提供的数据是加密的。

vSphere 加密与 VMware HCX 或 Zerto 不兼容。vSphere 加密与 cross-vCenter vMotion 兼容,前提是您使用 vSphere 7.0 或更高版本。使用 vSphere 6.7u1 或更高版本时,vSphere 加密与 vSphere 复制兼容。 如果配置正确,Veeam Backup and Replication 与 vSphere 加密兼容。

更多注意事项

在 vSphere 集群中启用这两种加密类型时,VMware 会创建一个额外的密钥来加密 ESXi 核心转储。 这些核心转储可能包含敏感数据,如密钥管理凭证、加密密钥或解密数据。 有关详细信息,请参阅 vSphere 虚拟机加密和核心转储

KMIP for VMware 与 vSAN 加密或 vSphere 加密一起使用时,存在多层密钥保护。

如果您计划轮换密钥,请查看以下有关可以轮换密钥的级别的信息:

  • 第 1 级 - 客户根密钥 (CRK) 保护所有 VMware 密钥。 这些密钥可在与 KMIP for VMware 实例相关联的 IBM Key Protect 或 Hyper Protect Crypto Services 实例中轮流使用。 在 IBM Key Protect 实例中旋转这些密钥时,用于 VMware 的 KMIP 会自动处理新的 CRK,无需在 VMware 或 vCenter Server 中进行任何操作。
  • 第 2 级 - KMIP for VMware 使用您的 CRK 来保护它生成并分发到 VMware 的密钥。 VMware 认为这些密钥是密钥加密密钥(KEK)。 KEK 旋转速度相对较快。 VMware向 KMIP 请求一个新密钥,获取由原始密钥加密的 DEK,并将其封装在这个新密钥中,然后存储更新的加密 DEK。
    • 如果使用 vSphere 加密,可以使用 Set-VMEncryptionKeyPowerShell 命令旋转 KEK。
    • 如果使用 vSAN 加密,则可通过 vSAN 用户界面旋转 KEK。
  • 第 3 级 - VMware 使用这些 KEK 保护用于加密磁盘驱动器和虚拟机磁盘的实际密钥。 您可以使用 VMware 称之为“深度”再加密的方式来轮换这些密钥。 此操作会重新加密所有加密数据,因此可能需要很长时间。
    • 如果使用的是 vSphere 加密,那么可以通过 Set-VMEncryptionKey PowerShell 命令来执行深度再加密。
    • 如果使用的是 vSAN 加密,那么可以使用 vSAN 用户界面执行深度再加密。

KMIP for VMware

VMware vSAN 加密和 vSphere 加密与许多密钥管理服务器兼容。 KMIP for VMware 提供的是 IBM 管理的密钥管理服务,该服务使用 IBM Key Protect 或 Hyper Protect Crypto Services 让您对自己的密钥有完全控制权。 此外,其他 IBM Cloud 服务(例如,Cloud Object Storage)也与 Key Protect 和 Hyper Protect Crypto Services 集成,从而使其成为 IBM Cloud 中密钥管理的中央控制点。

密钥中的密钥

密钥管理系统通常使用称为包络加密的技术,以通过其他密钥来包装或保护密钥。 这些密钥称为根密钥密钥加密密钥(KEK)。 要访问密钥,您需要使用其对应的根密钥来解密或解包密钥。 销毁根密钥可以有效地使以前受保护的所有密钥失效。 这些密钥的存储位置不必靠近根密钥。 控制对根密钥的访问非常重要。

IBM Cloud Key Protect 和 Hyper Protect Crypto Services 使用客户根密钥 (CRK) 来提供此服务。 Key Protect 将 CRK 专门存储在 IBM Cloud CloudHSM 硬件中,无法从该硬件中抽取 CRK;Hyper Protect Crypto Services 将密钥存储在 IBM zSeries HSM 中。 然后,这些 CRK 用于包装更多加密密钥,例如由 KMIP for VMware 为 VMware 实例生成的加密密钥。

VMware 对其密钥实现此相同的概念。 VMware 的 KMIP 会根据请求向 VMware 提供密钥。 反过来,VMware 将此密钥用作 KEK 来封装或加密用于加密 vSAN 磁盘驱动器或 VM 磁盘的最终密钥。 这些最终密钥称为数据加密密钥(DEK)。

因此,最终会产生以下加密链:

  • 客户根密钥 (CRK) 永久保存在 IBM Key Protect 或 Hyper Protect Crypto Services 中。
  • 密钥加密密钥 (KEK) 由 KMIP 生成,用于 VMware 并提供给 vCenter Server 和实例中的 ESXi 主机。
  • 数据加密密钥(DEK)由 VMware 生成,并与 vSAN 磁盘或虚拟机磁盘一起存储。

KMIP for VMware 将包装形式的 KEK 存储在 IBM Key Protect 或 Hyper Protect Crypto Services 中。 KEK 由 CRK 加密保护,无需存储在 HSM 中。 不过,由于这些密钥存储在密钥管理服务中,因此您可以看到它们,如果需要撤销单个密钥,您可以删除它们。

认证和授权

构成存储加密解决方案的三个组件为:VMware 集群、KMIP for VMware 实例和 Key Protect 或 Hyper Protect Crypto Services 实例。

VMware vCenter 和 ESXi 使用创建密钥管理服务器 (KMS) 连接时在 VMware vCenter 中安装或生成的证书,向 KMIP for VMware 实例进行认证。 您可将公共证书安装到 VMware 的 KMIP 中,以识别允许连接的 vCenter 客户端。 每个客户机都有权使用存储在该 KMIP for VMware 实例中的所有密钥。

通过使用 IBM Cloud Identity and Access Management (IAM),您的 VMware 实例的 KMIP 已授权给 Key Protect 或 Hyper Protect Crypto Services 实例。

当 VMware 的 KMIP 与 Key Protect 实例关联时,该授权通过使用可访问该实例的服务 ID 进行。 服务 ID 必须至少有平台查看器访问权限和服务管理器访问权限,才能访问密钥管理器实例。 VMware的 KMIP 在密钥管理器实例中使用您选择的客户根密钥 (CRK)。 它还会以封装形式将代表 VMware 生成的所有 KEK 保存在密钥管理器实例中。

当 KMIP for VMware 与 Hyper Protect Crypto Services (HPCS) 实例关联时,它会使用您在账户的 IAM 授权中授予的服务授权。 您必须为 VMware 实例的 KMIP 授予平台 Viewer 角色和服务 VMware KMIP Manager 角色。

结构和拓扑

在所有情况下,您的 VMware vCenter 服务器都会通过 VMware 专用网络访问 IBM Cloud 的 KMIP。 要通过专用网络访问 VMware 的 KMIP,您的 IBM Cloud 基础架构帐户必须启用虚拟路由和转发 (VRF)。 此外,IBM Cloud 网络服务端点路由必须添加到账户的 VRF 路由中。 有关更多信息,请参阅启用服务端点

根据 VMware 的 KMIP 是使用 Key Protect 还是 Hyper Protect Crypto Services 进行密钥管理,体系结构和拓扑结构会有所不同。

Topology of KMIP for VMware
Topology of KMIP for VMware

用于 VMware 和 Key Protect 的 KMIP

当您的 KMIP for VMware 实例连接到 Key Protect 时,您的 VMware vCenter Server® 将连接到多租户 KMIP 服务,该服务部署在同一个 IBM Cloud MZR 作为您的 Key Protect 实例。 这两个端点分布在不同的可用性区域以实现高可用性,您必须在 vCenter 配置中将这两个端点配置为密钥提供程序集群。 有关每个 MZR 中的端点和 KMIP 服务器证书签名的详细信息,请参阅 为VMware实例订购 KMIP

VMware 的 KMIP 还通过使用 IBM Cloud 专用网络而不是公共互联网连接到 IBM Cloud Key Protect,并受到 TLS 加密和身份验证的额外保护。

当与 IBM Cloud Key Protect 集成时,KMIP for VMware 会定期验证您的服务 ID 是否有足够权限访问您的 Key Protect 实例和客户根密钥。

用于 VMware 和 Hyper Protect Crypto Services 的 KMIP

当您使用 IBM Cloud Hyper Protect Crypto Services (HPCS)、您的 vCenter 服务器连接到单租户 KMIP 服务,该服务通过在 IBM LinuxONE 服务器上运行的 IBM 安全服务容器托管在 HPCS 中,您的密钥存储在 IBM Z HSM 中。 KMIP 端点通过使用单个 DNS 名称和端口公开。 如果有多个 HPCS 加密单元,该 DNS 名称会负载平衡到不同的可用性区域。