VPC 资源的密钥轮换
对于 IBM Cloud VPC 资源 (例如,受客户根密钥 (CRK) 保护的卷,文件共享和定制映像),您可以轮换根密钥以提高安全性。 按调度或按需轮换根密钥时,将替换原始密钥资料。 旧密钥保持活动状态以解密现有资源,但不能用于加密新资源。
密钥轮换概述
客户管理的加密资源 (例如,卷,文件共享和定制映像) 使用根密钥 (CRK) 作为信任根密钥。 根密钥的功能是加密 LUKS 口令,该口令用于加密保护资源的数据加密密钥 (DEK)。 您可以将 CRK 导入到密钥管理服务 (KMS) 实例,或者让 KMS 为您生成一个实例。 受支持的密钥管理服务为 Key Protect 和 Hyper Protect Crypto Services。 根密钥在 KMS 实例中轮换。
当您轮换根密钥时,将通过生成或导入新的密钥资料来创建新版本的密钥。 旧的根密钥已作废,这意味着其密钥材料仍可用于对现有资源进行解密,但不用于对新资源进行加密。
您可以在每个 KMS 实例中有多个根密钥可用于密钥轮换。 这些根密钥可以是您导入到云中的密钥组合,也可以是 KMS 实例中自动生成的密钥组合。
您可以设置轮换策略以调度自动密钥轮换。 KMS 在旋转间隔生成新的根密钥,并自动将根密钥替换为新的密钥材料。
对于由于提供不在 KMS 中的新密钥资料而导入到 KMS 实例的任何根密钥,都无法设置自动密钥轮换。 相反,您必须使用导入的新密钥材料来手动轮换密钥。
密钥轮换的工作原理
密钥轮换通过安全地转换根密钥材料,缩短保护资源的根密钥的 cryptoperiod 来工作。 使用最新的根密钥对新资源进行加密。
当您轮换根密钥时,服务会识别受该密钥保护的所有资源,并自动对该资源进行重新加密。 此加密过程对保护数据加密密钥 (DEK) 的 LUKS 口令进行打包 (加密)。 系统生成的 DEK 对虚拟盘中的数据进行加密。 此过程称为 包络加密,用于创建包装的 DEK 或 WDEK。 WDEK 不 引用正在保护虚拟盘中数据的数据加密密钥。 相反,它会加密 LUKS 口令。
新版本的根密钥用于在下次解密资源时解包新重新打包的 LUKS 口令。 例如,当您在重新启动实例时对卷进行解密时,将使用此参数。
服务将撤销旧的根密钥版本,但它仍可用于对现有资源进行解密。 您可以列出密钥版本以查看轮换密钥的次数并查看最新版本。 较旧版本的根密钥将继续工作,直到它们到期或没有可用于解密的资源为止。 如果手动 禁用 或 删除 根密钥或重新启动实例,那么旧密钥将不再起作用。
轮换根密钥后,新的根密钥版本将可用于加密新资源。
有关密钥轮换过程的更多信息,请参阅:
密钥轮换的优点
轮换根密钥可提供以下安全优势:
- 您可以限制数据由单个根密钥保护的时间长度。 通过缩短使用特定根密钥加密资源的时间,可降低发生安全违规的可能性。
- 您可以限制使用任何一个版本的根密钥加密的资源数,因为在密钥轮换之后创建的资源使用不同的密钥资料进行加密。
- 如果您的组织检测到安全威胁,您可以立即轮换密钥以保护资源。
- 轮换密钥可降低与密钥妥协关联的成本。
密钥轮换选项
您可以通过设置轮换策略或手动轮换密钥来轮换 KMS 实例中的根密钥。 轮换策略会根据调度自动轮换您的密钥; 手动轮换会根据需要轮换密钥。
您还可以随时手动轮换导入的或 KMS 生成的根密钥。Key Protect 和 Hyper Protect Crypto Services 允许每个根密钥每小时旋转一次。 KMS 会根据您的请求立即替换密钥。 当您将新的根密钥导入到 KMS 实例并希望立即轮换该密钥时,请使用此选项。
有关这些选项的更多信息,请参阅
- Key Protect- 管理轮换策略 和 手动轮换密钥。
- Hyper Protect Crypto Services- 设置根密钥的轮换策略 和 手动轮换根密钥。
根密钥元数据
当您轮换根密钥时,该密钥将保留相同的元数据和密钥标识。 密钥轮换更改了根密钥密文和 keyVersion
数据。