密钥服务是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确保安全性,不提供任何接口导出非对称密钥的私钥。使用者仅能通过接口调用私钥进行签名运算或者数据解密。更多信息,请参见非对称密钥概述。