KMS提供了密钥轮换功能,您可以通过定期轮转来加强密钥使用的安全性,有效地提升业务数据的安全性。本文介绍KMS密钥轮转的原理和配置方法。
默认情况下,自定义密钥的自动密钥轮换处于禁用状态。当您启用(或重新启用)密钥轮换时,KMS会根据您设置的轮换周期自动轮换自定义密钥。开启密钥轮换后会产生一定费用,具体费用计算可参见开通密钥轮转如何收费?。
为什么需要轮换密钥
广泛重复的使用加密密钥,会对加密密钥的安全造成风险。为了确保加密密钥的安全性,建议您定期轮换密钥,更改原密钥的密钥材料。
定期轮换密钥有如下优点:
- 减少每个密钥加密的数据量
一个密钥的安全性与被它加密的数据量呈反比。数据量通常是指同一个密钥加密的数据总字节数或总消息数。
- 增强应对安全事件的能力
在系统安全设计的初期,设计密钥轮换功能并将其作为日常运维手段。这样可以使系统在特定安全事件发生时具备实际执行能力。
- 加强对数据的隔离能力
轮换密钥使得轮换前后产生的密文数据形成隔离效果。特定密钥的安全事件可以被快速定义影响范围,从而采取进一步措施。
密钥轮换的两种方法
华为云服务提供了两种密钥轮换方法:
- 手动轮换密钥
方式一:创建一个新的密钥B,使用密钥B替换当前正在使用的密钥A。
方式二:对密钥A的密钥材料进行更改,继续使用密钥A。
示例:
以OBS服务为例:需要手动轮换密钥时,用户先在KMS界面创建一个新的自定义密钥,后在OBS界面将原自定义密钥替换为新的自定义密钥。
图1 手动轮换密钥工作原理
- 自动轮换密钥
KMS会根据设置的轮换周期(默认365天)自动轮换密钥,系统自动生成一个新的密钥B,并替换当前使用的密钥A。自动轮换密钥只会更改主密钥的密钥材料,即加密操作中所使用的加密材料。不管密钥材料有没有变更或变更了多少次,该主密钥仍是相同的逻辑资源。主密钥的属性(密钥ID、别名、描述、权限)不会发生变化。
自动密钥轮换具有以下特点:
- 为现有的自定义密钥开启密钥轮换后,KMS自动为该自定义密钥生成新的密钥材料。
- 自动密钥轮换对主密钥所保护的数据无效。它不会轮换主密钥生成的数据密钥,也不会对任何受主密钥保护的数据重新加密,并且它无法减轻数据密钥泄露的影响。
图2 自动密钥轮换工作原理
KMS会保留与该自定义密钥关联的所有版本的自定义密钥。这使得KMS可以解密使用该自定义密钥加密的任何密文。
- 加密数据时,KMS会自动使用当前最新版本的自定义密钥来执行加密操作。
- 解密数据时,KMS会自动使用加密时所使用的自定义密钥来执行解密操作。
密钥支持的轮换方式
表1 密钥轮换方式 | 密钥的来源或状态 | 支持的密钥轮换方式 |
| 默认密钥 | 不支持密钥轮换。 |
| 自定义密钥 | 支持自动轮换密钥或手动轮换密钥,根据密钥算法类型决定。 - 对称密钥:支持自动轮换密钥和手动轮换密钥。
- 非对称密钥:仅支持手动轮换密钥。
|
| 已禁用的主密钥 | 禁用主密钥后,KMS不会对它进行轮换。但是,密钥轮换状态不会发生改变,并且在主密钥处于禁用状态时不能对其进行更改。重新启用主密钥后,如果已禁用的自定义密钥已超过轮换周期,KMS会立即轮换。如果已禁用的自定义密钥少于轮换周期,KMS会恢复之前的密钥轮换计划。 |
| 计划删除的主密钥 | 对于计划删除的主密钥,KMS不会对它进行轮换。如果取消删除,将恢复之前的密钥轮换状态。如果计划删除的自定义密钥已超过轮换周期,KMS会立即轮换。如果计划删除的用户主密钥少于轮换周期,KMS会恢复之前的密钥轮换计划。 |
用户可在“轮换策略”页面查看轮换详情,例如:上次轮换时间、轮换次数。
“状态”为“启用”,“密钥材料来源”为“密钥管理”的自定义密钥,且密钥算法为对称密钥,按以下方法开启密钥轮换。
- 登录DEW服务控制台。
- 单击管理控制台左上角
,选择区域或项目。
- 单击目标自定义密钥的名称,进入密钥详细信息页面。
- 单击“轮换策略”页签,进入“轮换策略”页面。
- 单击
,将“密钥轮换”设置为
,弹出“启用轮换策略”对话框。 - 设置轮换周期(天),单击“确定”。如图3所示。参数说明如表2所示。
图3 开启密钥轮换
表2 密钥轮换参数说明 | 参数 | 说明 |
| 密钥轮换 | 密钥轮换开关,默认 。 :关闭。 :开启。 开启密钥轮换后,密钥在设置的轮换周期到达后开始轮换。 说明: - 如果自定义密钥开启密钥轮换以后,禁用了自定义密钥,KMS也不会轮换该自定义密钥。
- 当自定义密钥恢复到“启用”状态时,密钥轮换将立即重新激活。如果刚恢复“启用”状态的自定义密钥距离上次轮换的时间已超过轮换周期,KMS将在24小时内轮换该自定义密钥。
|
| 轮换周期(天) | 轮换周期。取值范围为“30~365”的整数,默认“365”天。 轮换周期需要根据自定义密钥的使用频率进行设置,如果密钥使用频率高,建议设置为短周期;反之,则设置为长周期。 |
- 开启后,页面显示密钥轮换详情,如图 密钥轮换详情所示。
图4 密钥轮换详情
用户可单击
,修改轮换周期。修改轮换周期后,根据新设置的轮换周期进行轮换。
关闭自定义密钥轮换
外部密钥仅支持手动轮转,不涉及关闭。
- 单击目标自定义密钥的名称,进入密钥详细信息页面。
- 单击“轮换策略”页签,进入“轮换策略”页面。
- 单击
,关闭密钥轮换。 - 在弹出的确认是否关闭密钥轮换提示框中,单击“确定”,完成关闭密钥轮换操作。