IBM Cloud Docs
关于 VPC 的数据加密

关于 VPC 的数据加密

IBM Cloud® 认真对待安全性,并了解加密数据以确保其安全的重要性。Block Storage for VPC 卷,快照和 File Storage for VPC 文件共享将使用 IBM管理的加密自动加密。 您还可以选择使用客户管理的加密来管理自己对卷,文件共享和定制映像的加密。

IBM管理的加密

缺省情况下,将使用 IBM管理的加密对 VPC 卷和文件共享进行静态加密。 该服务无需额外费用。

IBM-托管加密使用以下行业标准协议:

  • AES-256 加密。
  • 密钥由内部使用密钥管理互操作性协议(KMIP)进行管理。
  • 针对联邦信息处理标准 (FIPS) 出版物 140-2 级别 2 验证存储体系结构中的自加密驱动器。
  • 存储架构通过了《联邦信息安全管理法案》(FISMA)和《健康保险可携性与责任法案》(HIPAA)的验证
  • 存储架构还通过了支付卡行业 (PCI)、巴塞尔 II、加利福尼亚州安全漏洞信息法案 (SB 1386) 和欧盟数据保护指令 95/46/EC 合规性验证。

客户管理的加密

对于 IBM Cloud中的端到端加密,您可以使用客户管理的加密。 您的数据在静态时受到保护,并且在从存储器到系统管理程序和主机的传输过程中受到保护。 您负责在 VPC 外部对数据进行加密。

通过客户管理的加密,您可以将自己的客户根密钥 (CRK) 引入到云中,或者让 密钥管理服务 (KMS) 为您生成密钥。 根密钥用于使用 包络加密 对卷,文件共享和定制映像口令进行加密,这是一个使用另一个密钥包装密钥的过程。

受支持的密钥管理服务为 Key Protect 和 Hyper Protect Crypto Services (Hyper Protect Crypto Services)。 供应密钥管理服务后,必须授权源服务 (例如,Cloud Block Storage,Cloud File Storage) 与 KMS 之间的访问权。 对于定制映像,请在 Image Service for VPC (源服务) 与 IBM Cloud Object Storage (目标服务) 之间进行授权。 需要此授权,以便映像服务有权从包含定制映像的 Object Storage 存储区导入定制映像。

使用客户管理的加密时,可以使用根密钥对跨区域的资源进行加密。 您可以使用存储在区域 KMS 实例中的密钥对资源进行加密,并且可以使用来自其他区域的根密钥。 为了实现最佳性能和安全性,请在同一区域中并置 KMS 实例,根密钥和加密资源。 有关更多信息,请参阅 根密钥区域和跨区域注意事项

您可以跨账户共享根密钥。 可以访问主帐户中的根密钥,并将其用于加密在辅助帐户中创建的新卷和文件共享。 在 IBM Cloud 中,KMS 可以与使用加密密钥的服务位于同一个账户或另一个账户。 这种部署模式允许企业集中管理所有企业账户的加密密钥。 有关详细信息,请参阅 加密密钥管理

客户管理的加密可用于定制映像,引导卷,数据卷,快照和文件共享。

  • 实例引导卷中的数据使用 定制映像加密 进行加密。 您还可以使用不同的根密钥对引导卷进行加密。
  • 在供应虚拟服务器实例或创建独立卷时,可以使用自己的根密钥对 数据卷 进行加密。 或者,可以使用为引导卷指定的相同根密钥。
  • 对源卷生成的快照将从该卷继承加密。
  • 文件共享 提供类似于 Block Storage for VPC 卷的客户管理的加密选项。

客户管理的加密的优点

与 IBM管理的加密相比,客户管理的加密具有多个优势。

您可以控制密钥:

  • 由于您将自己的密钥 (BYOK) 引入到云中,因此可以控制 Block Storage for VPC 卷,文件共享和定制映像的加密。
  • 授予 IBM VPC 服务访问权以使用根密钥对数据进行加密。 由于任何原因,您可以随时撤销访问权。
  • 您的数据在从存储系统传输到 VPC 中的管理程序和主机时受到保护,并且在 Block Storage for VPC 和 File Storage for VPC中处于静态状态。

加密引导卷和数据卷:

  • Block Storage for VPC 数据始终使用您自己的静态密钥和动态密钥进行加密。
  • 每个引导和数据卷都使用唯一的主加密密钥进行静态加密。 如果密钥已泄密,那么不会影响其他 Block Storage for VPC 卷,因为泄密的密钥仅保护单个卷。
  • 缺省情况下,使用 IBM管理的加密对从 Linux 或 Windows 股票映像创建的主引导卷进行加密。 如果从库存映像创建实例并为数据卷指定客户管理的加密,那么写入这些卷的数据将受客户管理的加密保护。
  • 您可以在卷级别控制要用于包络加密的根密钥的数量和使用情况。 例如,您可以选择使用一个根密钥对引导卷进行加密,并使用其他根密钥对数据卷进行加密。
  • 从引导卷和数据卷创建的快照从源卷继承客户管理的加密。

加密文件共享:

  • 文件共享数据始终使用您自己的静态密钥进行加密。

  • 您可以在文件共享级别控制要用于包络加密的根密钥的数量和使用情况。 即,您可以选择使用相同的根密钥对所有文件共享进行加密,或者使用不同的密钥对每个文件共享进行加密。 或者,可以使用一个根密钥对某些文件共享进行加密,而使用其他根密钥对某些文件共享进行加密。 您具有完全的灵活性,可根据个人安全需求来实现根密钥使用。

  • 通过旋转,禁用或删除密钥来管理文件共享的根密钥。 您可以在删除后 30 天内复原已删除的密钥。

为自定义图像加密

出色的性能:

  • 客户管理的加密在 VPC 基础架构上使用系统管理程序加密,这将为虚拟服务器实例提供出色的加密 Block Storage for VPC I/O 性能。
  • 借助 VPC 基础架构,您可以在几分钟内使用客户管理的加密引导卷创建并启动 1,000 个实例。
  • 由于管理程序管理加密和解密,因此访客操作系统不必修改数据。 访客操作系统不知道正在进行加密。

密钥管理服务选项:

  • 选择要使用的 密钥管理服务(KMS)。 您可以选择 Key Protect(符合 FIPS 140-2 L3 的公共多租户 KMS) 或更安全的 Hyper Protect Crypto Services(符合 FIPS 140-2 L4 )。
  • 包含根密钥的 KMS 实例可以位于存在加密卷的区域外部。 但是,为了获得最佳性能和安全性,请使用 与 Block Storage for VPC 卷相同的区域 中的密钥。

密钥轮换和审计跟踪:

  • 您可以使用 API 或从 CLI 手动轮换根密钥,或者设置轮换策略以自动轮换密钥。 旋转密钥将替换根密钥的原始加密材料并生成新材料。 有关更多信息,请参阅 VPC 资源的密钥轮换

  • 客户管理加密可提供根密钥使用情况的审计记录。 这些事件在 IBM Cloud Logs 中生成并自动收集。

IBM Cloud VPC 加密技术

加密由 IBM Cloud VPC 的系统管理程序技术针对您的实例进行处理。 与仅提供静态存储节点加密的解决方案相比,此功能提供了更高级别的安全性。 数据始终在 IBM Cloud中使用包络加密进行加密。

库存映像和定制映像使用 QEMU 写入时复制版本 2 (QCOW2) 文件格式。 LUKS 加密格式保护 QCOW2 格式文件。IBM Cloud 将 AES-256 密码套件和 XTS 密码方式选项与 LUKS 配合使用。 此组合提供了比 AES-CBC 更高的安全级别,以及更好的密钥轮换口令管理,并在密钥受损时提供密钥替换选项。

总共有四个密钥保护您的数据:

  • IBM管理的密钥 用于加密后端存储系统中的数据。 将始终应用存储系统上的 IBM管理的加密,即使您使用客户管理的加密也是如此。 此密钥可保护传输中的数据和静态数据。

    您负责对 IBM Cloud 外部的工作负载与 IBM Cloud 内部的工作负载之间的网络链路进行加密。 有关更多信息,请参阅 安全性和法规合规性中的加密

  • 数据加密密钥 (DEK) 对 QCOW2 文件中的数据进行加密,并保护虚拟盘中的块数据集群。 DEK 由开放式源代码 QEMU 技术管理,并在创建 QCOW2 文件时自动生成。

    对于从库存映像创建的 Block Storage for VPC 卷,DEK 由在 IBM提供的 KVM 系统管理器上运行的 QEMU 生成。 对于从定制映像创建的 Block Storage for VPC 卷,它由在本地节点上运行的 QEMU 生成。 DEK ( AES-256 密钥) 使用 LUKS 口令加密,并存储在 QCOW2 文件中。

  • LUKS 口令 (也称为 "密钥加密密钥") 对 DEK 进行加密和解密。 此密钥由 VPC 生成 2 基础结构管理,并由根密钥加密。 它存储为与包含 QCOW2 文件的 Block Storage for VPC 卷关联的元数据。

  • 客户根密钥,用于使用包络加密对卷,共享和定制映像口令进行加密,这将创建打包的 DEK 或 WDEK。 根密钥从 KMS 实例 (Key Protect 或 Hyper Protect Crypto Services) 进行客户管理,并在 KMS 实例中安全地进行存储和管理。 根密钥还会解包 (解密) WDEK,从而提供对加密数据的访问权。

受支持的密钥管理服务

两个 IBM 密钥管理服务 (KMS) 可用于客户管理的加密,Key Protect 和 Hyper Protect Crypto Services (在某些 区域 中可用)。 这些服务使用公共密钥提供程序 API 来提供用于管理加密密钥的一致方法。

表 1 描述了以下服务:

可用的密钥管理服务选项
密钥管理服务 HSM 加密证书 描述
Key Protect 符合 FIPS 140-2 3 级标准 通过多租户 KMS,您可以导入或创建根密钥并对其进行安全管理。
Hyper Protect Crypto Services 符合 FIPS 140-2 4 级标准 最高级别的安全性。 由您控制的单租户 KMS 和 硬件安全模块(HSM)一种物理设备,用于提供随需应变加密、密钥管理和密钥存储作为受管服务。。 导入或创建根密钥并对其进行安全管理。 创建 HSM 主密钥以加密密钥存储器 (包括根密钥) 的内容。 只有您有权访问密钥和数据。

您可能会看到 Key Protect 被描述为 BYOK,“自带密钥”和 Hyper Protect Crypto Services 被描述为 KYOK,或者“保留您自己的密钥”。Key Protect 和 Hyper Protect Crypto Services 是类似的服务。

包络加密

根密钥充当密钥打包密钥,是包络加密的重要组成部分。 通过包络加密,根密钥会对 LUKS 口令 (也称为 密钥加密密钥) 进行加密,从而保护用于对虚拟盘上的数据进行加密的 数据加密密钥 (DEK)。 图 1 说明了此过程。

此图显示包络加密。
信封加密的上下文视图

Key Protect 和 Hyper Protect Crypto Services 都提供信封加密功能。 Hyper Protect Crypto Services 服务实例中的根密钥也受硬件安全模块 (HSM) 主密钥的保护。 KMS 存储密钥并使其在卷和定制映像加密期间可用。 您还可以在 KMS 中管理密钥。

将为 Block Storage 卷和文件共享分配由实例的主机管理程序生成的唯一主加密密钥。 此密钥由口令加密,并由根密钥打包 (加密),从而创建打包的 DEK 或 WDEK。 WDEK 作为卷或映像的元数据存储,在 VPC 接口上不可用。

定制映像由您使用 QEMU 创建的自己的 LUKS 口令进行加密。 对映像进行加密后,使用存储在 KMS 中的根密钥来打包口令。

有关信封加密的更多信息,请参阅以下文档:

根键区域和跨区域注意事项

将客户管理的加密用于卷,文件共享和定制映像时,可以将根密钥保留在与资源相同的区域中,也可以保留在不同的区域 (跨区域) 中。

跨区域密钥可提供更多密钥可用性,同时具有稍高的延迟权衡。 您可以在一个区域中创建和管理根密钥,并将其应用于另一个区域中的资源。 跨区域密钥在所有区域都可用。

为了获得最佳性能和安全性,请在与加密资源相同的区域中使用根密钥。 区域服务将专用端点用于多个可用性区域。 如果特定区域不可用,那么您可以继续从另一个区域访问根密钥和加密资源。

在区域或跨区域使用根密钥时,所有网络流量都将定向到专用端点。 换言之,您的密钥通过因特网无法访问的专用网络对资源进行加密和解密。 有关专用端点的更多信息,请参阅 使用服务端点安全访问服务。 进入“资源列表”>“安全”,单击 Key Protect 或 Hyper Protect Crypto Services 实例,即可在控制台中看到专用端点列表。 在左侧菜单中,选择 端点

设置客户管理的加密的常规过程

为 Block Storage for VPC 卷设置客户管理的加密涉及多个步骤。

  1. 生成您自己的根密钥。 您可以使用本地 HSM。 或者,可以使用 IBM Cloud HSM 或 Hyper Protect Crypto Services来创建根密钥。

    IBM Cloud 数据中心提供专用的 HSM 来创建和保护您的密钥。 通过使用 Hyper Protect Crypto Services,您可以控制云数据加密密钥和云硬件安全模块。

  2. 供应最能满足您需求的密钥管理服务 (KMS)。

  3. 使用 KMS 将根密钥安全地导入到云服务。 为提高安全性,请在 KMS 中创建导入令牌以加密根密钥并将其导入到服务。

  4. 从 IBM Cloud® Identity and Access Management (IAM),授权 Cloud Block Storage (源服务)和 KMS(目标服务)之间的服务。 对于定制映像,还将在 Image Service for VPC (源服务) 与 IBM Cloud Object Storage (目标服务) 之间进行授权。

  5. IBM Cloud VPC 基础结构通过打包卷或定制映像的口令,使用根密钥来保护数据安全。 对于定制映像,在将定制映像文件导入到云之前,根密钥会合并口令。 有关更多信息,请参阅 关于加密的定制映像

  6. 在 KMS 中管理密钥。 例如,可以 禁用 根密钥以暂挂其加密和解密操作。 您还可以 轮换客户管理的根密钥。 通过旋转根密钥,您可以在受旧密钥保护的资源中转出新密钥。

用于为卷指定客户管理的加密的流程图

在实例供应期间创建 Block Storage for VPC 卷时,可以指定客户管理的加密。 您也可以在创建独立卷时指定它。

图 1 显示了在实例供应期间使用客户管理的加密创建数据卷的过程。 创建的卷会自动连接到该实例。

此图显示使用客户管理的加密卷创建实例的过程。
使用客户管理的加密卷创建实例。

图 2 显示了创建独立卷并稍后将其连接到实例的过程。

此图显示使用客户管理的加密创建 Block Storage for VPC 卷的过程。
创建 Block Storage for VPC 加密卷。

关于已加密的定制映像

您可以创建满足 IBM Cloud VPC 基础结构需求的 QCOW2 定制映像,并使用自己的 LUKS 口令和根密钥对其进行 加密。 使用自己的口令加密定制映像后,将其上载到 IBM Cloud Object Storage。

要将加密的定制映像导入到 IBM Cloud VPC,请首先设置密钥管理服务 (KMS) 实例,即 Key Protect 或 Hyper Protect Crypto Services。 在 KMS 实例中,创建用于包装 (加密) 口令的根密钥。 回绕口令会生成回绕的 DEK (WDEK)。 WDEK 在导入时保护口令,确保数据安全。 (口令存储在映像服务中加密,并且仅在启动使用加密映像的虚拟服务器时解包。)

通过所需的 IAM 授权,您可以从 IBM Cloud Object Storage导入加密映像。 将映像导入到 VPC,并指定存储在 KMS 中的根密钥的云资源名称 (CRN)。 您还可以指定 WDEK 的密文,WDEK 是用于加密映像的口令,由根密钥打包。

使用 API 或 UI 导入时,提供单个 QCOW2 引导映像文件,该文件可以为 10 GB 到 250 GB。 此文件是其导入到的帐户的专用文件。 导入加密映像的区域就是根据该映像创建虚拟服务器实例的区域。 在控制台中,名称旁边的锁图标表示这是加密的自定义图像。

如果导入不完全为 100 GB 虚拟盘大小的加密映像,并将其用于供应实例,然后尝试从该实例的引导卷创建定制映像,那么 POST /images 调用将返回错误。

使用加密映像供应虚拟服务器实例时,不需要其他加密信息。 根密钥的 WDEK 和 CRN 作为元数据与图像一起存储。 WDEK 用于在启动使用加密映像的虚拟服务器实例时访问加密映像。

在供应时,还会使用定制映像使用的根密钥以及生成的口令对实例引导卷中的数据进行加密。 或者,您可以为引导卷提供其他根密钥。

创建虚拟服务器实例后,您可以查看定制映像并查看根密钥 CRN。 您还可以 轮换根密钥,并在自动重新打包 (重新加密) 加密映像 WDEK 时由 KMS 通知。

从加密定制映像创建和连接的任何辅助卷都使用与基本定制映像不同的口令。 (可选) 您可以为实例供应期间创建的辅助卷提供不同的根密钥。

有关创建定制映像的更多信息,请参阅 创建加密定制映像。 此外,请参阅有关创建 Linux 定制映像Windows 定制映像 的信息。

用于为定制映像指定客户管理的加密的流程图

图 3 显示了使用您自己的加密密钥对定制映像进行加密的过程。

此图显示创建加密定制映像的过程。
通过客户管理加密创建自定义图像。

后续步骤