密钥服务概述

密钥服务是KMS的核心组件,支持管理软件密钥、硬件密钥、默认密钥,提供密钥的全生命周期管理和安全存储能力,同时支持基于云原生接口的极简数据加密和数字签名。本文介绍KMS提供的密钥管理类型及密码运算API。

密钥管理类型

KMS提供默认密钥、软件密钥和硬件密钥、外部密钥四种密钥管理类型,以满足不同业务场景、安全与合规要求。具体内容如下表所示。

使用默认密钥无需购买KMS实例,使用软件密钥、硬件密钥、外部密钥,需要购买KMS实例。关于实例功能间的区别,请参见产品选型

密钥管理类型

应用场景

功能描述

算法类型

密钥规格

说明

默认密钥

被云产品集成用于服务端加密。更多信息,请参见云产品集成KMS加密概述

仅支持数据加密解密。

AES

Aliyun_AES_256

默认密钥包含:

  • 服务密钥:由云产品代您创建和托管。

  • 主密钥:每个地域可创建一个,由您自主管理生命周期,密钥材料可由KMS生成也可以由您自主导入。

软件密钥

  • 被自建应用集成用于构建应用层密码技术方案。

    例如:创建AES算法的主密钥,用于自定义数据加密和解密方案;创建RSA算法的主密钥,用于数字签名计算和验证。

  • 被云产品集成用于服务端加密。更多信息,请参见云产品集成KMS加密概述

支持数据加密解密和数字签名。

AES、RSA、ECC

  • 对称密钥规格:Aliyun_AES_256

  • 非对称密钥规格:RSA_2048、RSA_3072、EC_P256、EC_P256K

更多信息,请参见密钥管理类型和密钥规格

由您在KMS创建和管理生命周期,密钥材料可由KMS生成也可以由您自主导入。

硬件密钥

  • 被自建应用集成用于构建应用层密码技术方案。

    例如:创建AES/SM4算法的主密钥,用于自定义数据加密和解密方案;创建RSA/ECC/SM2算法的主密钥,用于数字签名计算和验证。

  • 被云产品集成用于服务端加密。更多信息,请参见云产品集成KMS加密概述

支持数据加密解密和数字签名。

AES、RSA、ECC、SM4

  • 对称密钥规格:Aliyun_AES_256、Aliyun_AES_192、Aliyun_AES_128、Aliyun_SM4

  • 非对称密钥规格:RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P256K、EC_SM2

更多信息,请参见密钥管理类型和密钥规格

由您在KMS创建和管理生命周期,密钥材料可由KMS生成,也可以由您自主导入。

重要

使用硬件密钥管理功能前,您需要购买加密服务提供的密码机实例并完成密码机集群的相关配置。具体操作,请参见配置KMS硬件密钥管理实例的密码机集群密码机实例可满足GM/T 0028 第二级的合规性。

外部密钥

  • 被自建应用集成用于构建应用层密码技术方案。

    例如:创建AES/SM4算法的主密钥,用于自定义数据加密和解密方案。

  • 被云产品集成用于服务端加密。更多信息,请参见云产品集成KMS加密概述

支持数据加密解密。

AES、SM4

Aliyun_AES_256、Aliyun_SM4

密钥由您在XKI管理服务中创建,然后导入到KMS中。在XKI中创建的密钥由您自行管理生命周期。

密码运算API

  • (推荐)使用阿里云SDK通过公网或者VPC网络调用OpenAPI执行密码运算操作。具体API列表如下。

    API列表

    描述

    Encrypt

    使用对称密钥将明文加密为密文。

    GenerateDataKey

    生成一个随机的数据密钥,用于本地数据加密。

    GenerateDataKeyWithoutPlaintext

    生成一个随机的数据密钥,用于本地数据加密,且不返回数据密钥明文。

    ExportDataKey

    使用传入的公钥加密导出数据密钥。

    GenerateAndExportDataKey

    随机生成一个数据密钥,通过您指定的KMS密钥和公钥加密后,返回使用KMS加密后的数据密钥密文,以及使用公钥加密后的数据密钥密文。

    Decrypt

    解密密文。

    ReEncrypt

    对密文进行转加密。即先将密文解密,然后将解密得到的数据或者数据密钥使用新的主密钥再次进行加密,返回加密结果。

    AsymmetricSign

    使用非对称密钥进行签名。

    AsymmetricVerify

    使用非对称密钥进行验签。

    AsymmetricDecrypt

    使用非对称密钥进行解密。

    AsymmetricEncrypt

    使用非对称密钥进行加密。

    GetPublicKey

    获取非对称密钥的公钥。

  • (不推荐)使用KMS实例SDK通过KMS私有网络调用实例API执行密码运算操作。具体API列表,请参见实例API概览

    OSZAR »