密钥服务是KMS的核心组件,提供密钥的全托管和保护能力,支持基于云原生接口的极简数据加密和数字签名。

托管和保护密钥

功能 说明 参考文档
托管和管理密钥 您在KMS托管的密钥叫做用户主密钥CMK(Customer Master Key)。您可以对CMK进行生命周期管理。
您可以对密钥进行轮转。
您可以设置密钥别名更方便的使用密钥,并通过API接口对密钥进行其他管理操作。
保护密钥、满足合规要求 密钥的使用通常伴随着安全与合规的要求。建议您指定用户主密钥的保护级别为HSM,使密钥获得高安全等级的专用硬件保护,并且提供满足GM/T或者FIPS 140-2第三级的合规性。保护级别为HSM的主密钥,其密钥材料的明文只会存在于密码机的内部,任何人均无法接触到密钥材料的明文。这类密钥无法被明文导出密码机。
使用自带密钥(BYOK) 您可以自带密钥(bring your own key)到KMS中,将您在线下、其他云或者阿里云加密服务中管理的密钥租借给KMS使用,满足一些特定的安全需求。

数据加密

KMS提供了云原生的密码运算API,相比于传统密码模块或密码软件库的API更简单易用。同时,KMS提供了多种SDK以加速开发过程。关于如何使用SDK进行代码开发,请参见概述

功能 说明 参考文档
一键加密云产品 KMS和阿里云服务广泛集成,支持原生的云产品加密,只需要在云产品中简单配置,即可自动完成数据的加密保护。
通过代码快速加密云产品 KMS SDK

KMS SDK是对KMS API的直接封装。您可以查看数据代码开发示例,快速学习如何使用代码调用KMS的Encrypt接口,完成数据的直接加密。

数据加密代码开发示例
加密SDK(Encryption SDK)

加密SDK是结合KMS API的客户端加密库。您可以查看加密SDK快速入门,快速学习如何使用代码调用加密SDK,完成对数据的信封加密。

KMS支持的算法规格说明

KMS对加密算法的支持情况请参见如下表格。

密码算法大类 密码算法子类 是否支持加密、解密 是否支持签名、验签
对称密钥 AES 支持 不支持
对称密钥 SM4 说明 支持 不支持
非对称密钥 RSA 支持 支持
非对称密钥 ECC 不支持 支持
非对称密钥 SM2 说明 支持 支持
说明 仅中国内地的托管密码机支持SM4 、SM2密钥。更多信息,请参见 支持的地域

对称密钥主要用于数据的加密保护场景。如果您不指定具体的密钥规格(KeySpec),KMS默认创建对称密钥。更多信息,请参见对称加密概述

非对称密钥可用于数据加密和数字签名。您在KMS创建的非对称用户主密钥(CMK),由一对关联的公钥和私钥构成。公钥可以被分发给任何人,而私钥由KMS确保安全性,不提供任何接口导出非对称密钥的私钥。使用者仅能通过接口调用私钥进行签名运算或者数据解密。更多信息,请参见非对称密钥概述