本文为您介绍如何使用托管密码机创建并使用密钥。

前提条件

进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

背景信息

  • 您需要在当前已经支持的地域使用托管密码机。支持的地域详情,请参见支持的地域
  • 您可以联系您的售前或者售后顾问,开通免费试用托管密码机的功能。

通过KMS控制台创建密钥创建密钥

  1. 登录KMS控制台
  2. 在控制台左上角选择合适的地域,单击创建密钥
  3. 在下拉框中,选择HSM作为保护级别
  4. 填写描述后,单击确定即可。
    创建完成后,在密钥详情密钥列表页均可以查看到密钥的保护级别

通过阿里云CLI创建密钥

  1. 在阿里云CLI中,输入以下命令。
    aliyun kms CreateKey --ProtectionLevel HSM --Description "Key1 in Managed HSM"
  2. 调用DescribeKey,查看密钥的保护级别。
    {
      "KeyMetadata": {
        "CreationDate": "2019-07-04T13:14:15Z",
        "Description": "Key1 in Managed HSM",
        "KeyId": "1234abcd-12ab-34cd-56ef-12345678****",
        "KeyState": "Enabled",
        "KeyUsage": "ENCRYPT/DECRYPT",
        "DeleteDate": "",
        "Creator": "111122223333",
        "Arn": "acs:kms:cn-hongkong:111122223333:key/1234abcd-12ab-34cd-56ef-12345678****",
        "Origin": "Aliyun_KMS",
        "MaterialExpireTime": "",
        "ProtectionLevel": "HSM"
      },
      "RequestId": "8eaeaa8b-4491-4f1e-a51e-f95a4e54620c"
    }

将外部密钥导入托管密码机

您还可以将来自于您的自建密钥基础设施中的密钥导入到托管密码机中,您只需要在导入密钥材料的流程中第一步,即创建外部密钥时,指定保护级别HSM,剩余的流程对您来说保持不变。

而在阿里云侧会发生如下的事情:
  • 您调用GetParametersForImport时:阿里云将根据您指定的保护级别,HSM,在托管密码机中生成一个用于导入外部密钥的密钥对,并把密钥对的公钥返回给您
  • 您调用ImportKeyMaterial时:阿里云将加密的外部密钥材料导入到托管密码机的内部,并通过HSM的密钥反打包(Unwrap)机制获取密钥材料本身,而导入的密钥材料明文不能被任何人导出。

管理和使用密钥

密钥管理服务支持的所有管理类功能和密码运算功能都适用于您在托管密码机中创建的密钥,主要包括:
  • 密钥状态的开启和禁用
  • 密钥的生命周期管理
  • 密钥的别名管理
  • 密钥的云标签管理
  • 密码运算接口的调用

和其他云产品的集成

托管密码机中的密钥,可以通过密钥管理服务的标准接口和ECS、RDS、OSS等其它云产品实现无缝集成,用于您在阿里云上的原生数据保护。这需要云产品支持用户自选密钥进行服务端加密的能力。在此基础上,您只需要在云产品侧配置用于服务端加密的CMK时,选择一个创建在托管密码机中的密钥。