当您为专属KMS标准版实例创建对称密钥材料来源为外部的密钥时,专属KMS不会为您创建的用户主密钥(CMK)在密码机集群生成对称密钥材料,此时您可以将自己的对称密钥材料导入到CMK中。本文为您介绍如何导入外部对称密钥材料。
背景信息
您可以调用DescribeKey接口判断对称密钥材料来源。当Origin为EXTERNAL时,说明对称密钥材料由外部导入,称为外部密钥。
当您选择对称密钥材料来源为外部,使用您自己导入的对称密钥材料时,需要注意以下几点:
请确保您使用了符合要求的随机源生成对称密钥材料。
由于对称密钥材料将导入到您的密码机集群中,且暂不支持调用DeleteKeyMaterial接口删除对称密钥材料。因此您需要调用ScheduleKeyDeletion接口,等待您指定的计划删除时间后,密码机集群中的对称密钥材料随着CMK一起被删除。
每个CMK只能拥有一个对称密钥材料。一个对称密钥材料导入CMK后,CMK将与该对称密钥材料绑定,后续将无法导入其他对称密钥材料。
支持导入128位、192位或256位对称密钥作为对称密钥材料。
步骤一:创建外部密钥
登录密钥管理服务控制台。
在页面左上角的地域下拉列表,选择专属KMS标准版实例所在的地域。
在左侧导航栏,单击专属KMS。
单击目标专属KMS标准版实例操作列的管理。
在用户主密钥区域,单击创建密钥。
在创建密钥对话框,选择密钥类型
支持的密钥类型为Aliyun_AES_128、Aliyun_AES_192、Aliyun_AES_256。
设置别名和描述。
单击高级选项,选择密钥材料来源为外部。
勾选 我了解使用外部密钥材料的方法和意义,然后单击确定。
步骤二:获取导入对称密钥材料参数
导入对称密钥材料参数包括一个用于加密对称密钥材料的公钥,以及一个导入令牌。
在用户主密钥区域,单击目标密钥ID,进入密钥管理页面。
在密钥材料区域,单击获取导入参数。
在获取导入密钥材料的参数对话框,选择公钥类型、加密算法,然后单击下一步。
说明当公钥类型取值为RSA_2048时,您可以选择加密算法RSAES_PKCS1_V1_5(默认值)或RSAES_OAEP_SHA_256,本文以RSAES_PKCS1_V1_5为例为您介绍。
下载加密公钥和导入令牌,然后单击关闭。
步骤三:加密对称密钥材料
以通过OPENSSL加密一个2048比特的RSA公钥为例:使用的加密算法需要与获取导入对称密钥材料参数时指定的一致。由于加密公钥经过Base64编码,因此在使用时需要先进行Base64解码。
创建一个对称密钥材料,使用OPENSSL产生一个32字节的随机数进行演示。
根据指定的加密算法(以RSAES_PKCS1_V1_5为例)加密对称密钥材料。
将加密后的对称密钥材料进行Base64编码,保存为文本文件。
openssl rand -out KeyMaterial.bin 32 openssl rsautl -encrypt -in KeyMaterial.bin -pkcs -inkey PublicKey.bin -keyform DER -pubin -out EncryptedKeyMaterial.bin openssl enc -e -base64 -A -in EncryptedKeyMaterial.bin -out EncryptedKeyMaterial_base64.txt
步骤四:导入对称密钥材料
导入令牌与加密对称密钥材料的公钥具有绑定关系,一个令牌只能为其生成时指定的主密钥导入对称密钥材料。导入令牌的有效期为24小时,在有效期内可以重复使用,失效以后需要获取新的导入令牌和加密公钥。
在用户主密钥区域,单击目标密钥ID,进入密钥管理页面。
在对称密钥材料区域,单击导入密钥材料。
在导入打包后的密钥材料对话框,上传打包后的密钥材料和导入令牌,并单击确定。
打包后的密钥材料:上传步骤三:加密对称密钥材料生成的对称密钥材料文本文件。
导入令牌:上传步骤二:获取导入对称密钥材料参数获取的导入令牌文本文件。
执行结果
导入对称密钥材料成功后,密钥状态从待导入更新为启用中。