主密钥轮换-标准套餐
将主密钥装入到 Hyper Protect Crypto Services 实例后,可以根据需要轮换主密钥以满足行业标准和加密最佳实践。
主密钥用于打包服务实例中管理的加密密钥。 通过主密钥轮换,您将撤销原始主密钥,并装入用于对整个密钥存储器进行重新加密的新主密钥。
轮换主密钥时,仍可以执行一些 KMS 密钥操作,例如列出密钥,检索密钥元数据或删除密钥,但不能创建或轮换密钥。 在主密钥轮换期间,不能调用 PKCS #11 API 或 GREP11 API。
主密钥轮换的工作方式
主密钥轮换通过在加密单元中的两种类型的主密钥寄存器之间安全地转移值来工作: 新的主密钥寄存器和当前主密钥寄存器。 根据 用于初始化服务实例的方法,轮换过程略有不同。
使用智能卡和管理实用程序旋转主密钥
使用“管理实用程序”创建的主密钥可以通过使用存储主密钥部件的智能卡进行旋转。 在轮换主密钥之前,需要创建要使用的密钥部件。
您可以使用 2 或 3 密钥部件来创建新的主密钥值。 要能够轮换主密钥,当前主密钥寄存器必须处于具有相同验证模式的 Valid
状态,并且新的主密钥寄存器必须为 Empty
。
您可以使用“管理实用程序”来轮换主密钥,而不管您的服务实例是否具有分配给它的恢复加密单元。
以下流程显示主密钥轮换在此方式下的工作方式:
- 通过单击“可信密钥输入”应用程序中的 装入 按钮来装入新的主密钥寄存器。 新主密钥寄存器的状态已从
Empty
更改为Full uncommitted
。 - 通过单击“可信密钥输入”应用程序中的 落实 按钮来落实新的主密钥值。 新的主密钥注册状态将更改为
Full committed
。 - 通过单击“可信密钥输入”应用程序中的 旋转 按钮,重新加密密钥存储器并激活新的主密钥:
- 使用当前主密钥寄存器中的值对密钥存储器中的加密密钥进行解密,然后使用新主密钥寄存器中的值进行重新加密。 重新包装在硬件安全模块 (HSM) 内进行,因此是安全的。
- 将激活新的主密钥并将其装入到处于
Valid
状态的当前主密钥寄存器中,并且将清除新的主密钥寄存器并将其恢复到Empty
状态。
以下图表说明在主密钥轮换期间主密钥寄存器状态如何更改。 有关详细指示信息,请参阅 使用智能卡和管理实用程序旋转主密钥。
使用恢复加密单元旋转主密钥
如果您的服务实例分配了恢复加密单元,那么除了使用密钥部件文件外,还可以使用 ibmcloud tke auto-mk-rotate
命令来轮换主密钥。 使用此命令,将在服务实例的其中一个恢复加密单元中生成随机的新主密钥值,并将其安全地移至服务实例中的其他加密单元。
仅当服务实例已分配恢复加密单元并且未在服务实例中启用 PKCS #11 密钥库时,才使用 ibmcloud tke auto-mk-rotate
命令来轮换主密钥。 目前,除马德里 (eu-es
) 以外的受支持区域已启用恢复加密单元。 有关受支持区域的更多信息,请参阅 区域和位置。
在主密钥轮换之前,您不需要准备新的主密钥。 在可以使用 IBM TKE CLI 插件来轮换主密钥之前,操作加密单元 和 恢复加密单元 中的所有当前主密钥寄存器都需要处于 Valid
状态,并且已装入当前主密钥,并且所有新的主密钥寄存器都需要为空。
与从本地工作站文件装入新的主密钥值的选项相比,此方式的主要区别在于,首先在恢复加密单元中随机生成新的主密钥值,然后将其导出到其他加密单元。
以下流程显示主密钥轮换在此方式下的工作方式:
- 在分配给服务实例的恢复加密单元的新主密钥寄存器中生成新的随机主密钥值。 新主密钥寄存器的状态已从
Empty
更改为Full uncommitted
。 - 新的主密钥值将复制到分配给服务实例的加密单元的新的主密钥寄存器以及服务实例的其他恢复加密单元。 所有新的主密钥寄存器现在都处于
Full uncommitted
状态。 - 将落实新的主密钥,并且所有新的主密钥寄存器状态都将更改为
Full committed
。 - 密钥存储器已重新加密。 在服务实例中管理的加密密钥将使用当前主密钥寄存器中的当前主密钥进行解密,并使用新的主密钥寄存器中的新主密钥进行重新加密。
- 新的主密钥将装入到处于
Valid
状态的服务实例的操作和恢复加密单元的当前主密钥寄存器中,新的主密钥寄存器将被清除并返回到Empty
状态。
有关如何使用恢复加密单元轮换主密钥的详细指示信息,请参阅 使用恢复加密单元轮换主密钥。
使用密钥部件文件旋转主密钥
可以使用 TKE CLI 插件来轮换从密钥部件文件创建的主密钥。 轮换主密钥时,主密钥部件将存储在本地工作站上的文件中。
与使用管理实用程序类似,您需要首先创建要使用的 2 或 3 关键部件。 要能够轮换主密钥,当前主密钥寄存器必须处于具有相同验证模式的 Valid
状态,并且新的主密钥寄存器必须为 Empty
。
无论服务实例是否分配了恢复加密单元,都可以使用 TKE CLI 插件来轮换主密钥。
以下流程显示主密钥轮换在此方式下的工作方式:
- 使用
cryptounit-mk-load
命令装入新的主密钥寄存器。 新主密钥寄存器的状态已从Empty
更改为Full uncommitted
。 - 使用
cryptounit-mk-commit
命令落实新的主密钥值。 新的主密钥注册状态将更改为Full committed
。 - 使用
cryptounit-mk-rotate
命令重新加密密钥存储器并激活新的主密钥:- 使用当前主密钥寄存器中的值对密钥存储器中的加密密钥进行解密,然后使用新主密钥寄存器中的值进行重新加密。 重新包装在 HSM 内进行,因此是安全的。
- 将激活新的主密钥并将其装入到处于
Valid
状态的当前主密钥寄存器中,并且将清除新的主密钥寄存器并将其恢复到Empty
状态。
有关详细指示信息,请参阅 使用密钥部件文件旋转主密钥。
下一步
有关用于轮换主密钥的选项的更详细指示信息,请参阅: