密钥管理服务

根据需要创建、删除和管理加密密钥

阿里云云密钥管理服务(KMS)是一种完全托管的服务,用于创建,删除和管理加密密钥以保护您的数据。 对于常见的密钥管理方案,您可以使用API或阿里云管理控制台来生成和管理用户主密钥(CMK)。

借助阿里云KMS,您可以有效地保护密钥的机密性,完整性和可用性,同时节省成本。 您可以将其与其他阿里云服务(如ApsaraDB for RDS,OSS等)集成,以加密关键信息,例如存储在这些服务中的证书和密钥。 您可以安全,方便地使用这些密钥,并专注于开发加密/解密功能场景。

对于普通的加密/解密场景,您可以直接使用API加解密少量数据,或者通过信封加密技术在本地加密大量数据。此外,您可以定义数据加密的使用策略。 您可以将其与各种阿里云存储服务集成,以确保存储数据的安全性。您能够使用SDK和API轻松加密数据或数据密钥。

KMS解决的主要需求

  • 角色
  • 应用/网站开发者
  • 服务开发者

  • 首席安全官(CSO)

  • 问题
  • 我的程序需要使用密钥、证书用于加密或者签名,我希望密钥管理的功能是安全且独立的。不论我的应用部署在哪里,都能安全的访问到密钥。我绝不接受把明文的密钥到处部署,这太危险了。
  • 我不想承担客户密钥、数据的安全责任。我希望用户自己管理他的密钥;在拥有授权的情况下,我会使用用户指定的密钥加密他的数据。这样,我就能专注于服务功能的开发。

  • 我希望公司的密钥管理能满足合规需求。我需要确保密钥都被合理的授权,任何使用密钥的情况都必须被审计。

  • KMS如何解决
  • 使用信封加密技术,主密钥存放在KMS服务中,只部署加密后的数据密钥,仅在需要使用时调用KMS服务解密数据密钥。

  • 基于信封加密技术以及KMS开放的API,服务能够集成KMS,使用用户指定的主密钥完成数据密钥的加解密,能够轻松的实现明文不落盘的要求,也不用为管理用户的密钥而犯愁。

  • KMS服务接入RAM服务实现统一的授权管理。

优点

完全托管
通过存储在KMS中客户主密钥(CMK),实现数据密钥的轻松加密/解密。
管理底层基础架构的可用性,安全性和可维护性。
轻松管理用户密钥
使用指定的用户主密钥,轻松加密/解密数据。
免除了将明文直接存储在存储设备中的隐患。
安全
通过TLS协议传输数据,以确保数据的安全性。
多区域支持
支持全球五个地区;对于不同区域中的每个用户有独立的使用限制。

产品详情

  • 密钥管理类功能

    允许您创建,查看,启用和禁用用户主密钥。


    您能够查看整个主密钥列表,包括与KMS集成的所有服务为您创建的密钥。

  • 安全

    在使用SDK访问密钥时,启用HTTPS协议以保护数据安全。


    支持HMAC-SHA1签名方案。


    保持用于保护数据的密钥的机密性,完整性和可用性。

  • 多区域支持

    支持全球五个地区;对于不同区域中的每个用户有独立的使用限制。


    请参考请求结构了解当前支持的地域和服务地址。

  • 易于集成

    轻松与其他阿里云服务(如ApsaraDB for RDS)集成,以保护您存储在这些服务中的数据。


    加密存储在对象存储服务中的静态文件,以确保安全性。

  • 信封加密技术

    允许您传输和使用加密的数据;其中,数据密钥被封装在信封中;而用户主密钥,被保存在KMS中。


    允许您仅在需要时才访问KMS解密数据密钥。

  • 可扩展性和可靠性

    根据您的业务需求自动调整以满足加密需求。


    您的主密钥的加密版本会有多个副本,以确保高可靠性和高可用性。


    通常会部署在区域内的多个可用区域中,以确保加密密钥的高可用性。

  • 经济实惠

    与采购昂贵的硬件设备相比,节省成本。


    根据您的业务需求,按需付费。

  • 易于使用

    支持使用RESTful API与第三方集成。


    与RAM集成,支持统一授权管理。


    提供统一且易于使用的API;支持标准的HTTPS协议。

领军客户实战场景

  • 直接使用KMS对小量数据进行加密/解密
  • 使用信封加密技术对大量数据执行本地加密/解密
  • 使用信封加密技术对大量数据执行本地解密
直接使用KMS对小量数据进行加密/解密

直接使用KMS对小量数据进行加密/解密

保护服务器上的HTTPS证书

您可以直接调用KMS API,指定特定的用户主密钥(CMK)加密和解密数据。此方案适用于少量数据(小于4KB)的加密和解密。 数据通过安全通道传输到KMS服务器,在服务器加密或解密,并通过安全通道返回。

流程

  • 1. 创建用户主密钥(CMK)。

  • 2. 调用KMS的加密接口将明文证书加密为密文证书。

  • 3. 在服务器上部署密文证书。

  • 4. 当服务器启动并需要使用证书时,调用KMS的解密接口将密文证书解密为明文证书。

使用信封加密技术对大量数据执行本地加密/解密

使用信封加密技术对大量数据执行本地加密/解密

加密本地文件

信封加密技术类似于数字数字信封技术,它允许您通过将加密的数据密钥(DK)封装在信封中,以此方式来存储、传输和使用加密密钥,而不是直接使用用户主密钥(CMK)加密数据。这种方案适合大量数据需要加密的场景。 您可以直接调用KMS API,使用指定的用户主密钥生成和解密数据密钥,并使用数据密钥进行本地数据加密。您不需要通过网络传输大量的数据,从而节省成本。 这消除了各种常见的安全风险,例如窃听和网络钓鱼。

流程

  • 1. 创建一个用户主密钥。

  • 2. 调用KMS的GenerateDataKey接口生成数据密钥,获得明文数据密钥和密文数据密钥。

  • 3. 使用明文数据密钥加密文件,生成密文文件。

  • 4. 将密文数据密钥和密文文件绑定,存储到永久存储设备或服务。

使用信封加密技术对大量数据执行本地解密

使用信封加密技术对大量数据执行本地解密

解密本地文件

信封加密技术类似于数字数字信封技术,它允许您通过将加密的数据密钥(DK)封装在信封中,以此方式来存储、传输和使用加密密钥,而不是直接使用用户主密钥(CMK)解密数据。这种方案适合大量数据需要解密的场景。 您可以直接调用KMS API,使用指定的用户主密钥生成和解密数据密钥,并使用数据密钥进行本地数据解密。您不需要通过网络传输大量的数据,从而节省成本。 这消除了各种常见的安全风险,例如窃听和网络钓鱼。

流程

  • 1. 从永持久储设备或服务中读取密文数据密钥和密文文件。

  • 2. 调用KMS的解密接口解密密文数据密钥,获得明文数据密钥。

  • 3. 使用明文数据密钥解密文件。

常见问题

1. 什么是用户主密钥(CMK)?

用户主密钥是用户在阿里云云密钥管理服务(KMS)中创建的主密钥,用于加密数据密钥和生成信封。它也可以直接用于加密少量的数据。

2. 什么是信封加密技术?

信封加密技术类似于数字数字信封技术,它允许您通过将加密的数据密钥(DK)封装在信封中,以此方式来存储、传输和使用加密密钥,而不是直接使用用户主密钥(CMK)加密/解密数据。

3. 在哪些区域可以访问KMS?

以下是KMS可用的区域及其对应的公用/专用网络地址列表:

地域 地域Id 公共网络地址 专有网络地址
华东1(杭州) cn-hangzhou kms.cn-hangzhou.aliyuncs.com kms-vpc.cn-hangzhou.aliyuncs.com
亚太东南(新加坡) ap-southeast-1 kms.ap-southeast-1.aliyuncs.com kms-vpc.ap-southeast-1.aliyuncs.com
华东2(上海) cn-shanghai kms.cn-shanghai.aliyuncs.com kms-vpc.cn-shanghai.aliyuncs.com
华北2(北京) cn-beijing kms.cn-beijing.aliyuncs.com kms-vpc.cn-beijing.aliyuncs.com
华南1(深圳) cn-shenzhen kms.cn-shenzhen.aliyuncs.com kms-vpc.cn-shenzhen.aliyuncs.com
日本 ap-northeast-1 kms.ap-northeast-1.aliyuncs.com kms-vpc.ap-northeast-1.aliyuncs.com
法兰克福 eu-central-1 kms.eu-central-1.aliyuncs.com kms-vpc.eu-central-1.aliyuncs.com
迪拜 me-east-1 kms.me-east-1.aliyuncs.com kms-vpc.me-east-1.aliyuncs.com
悉尼 ap-southeast-2 kms.ap-southeast-2.aliyuncs.com kms-vpc.ap-southeast-2.aliyuncs.com
香港 cn-hongkong kms.cn-hongkong.aliyuncs.com kms-vpc.cn-hongkong.aliyuncs.com
华北3(张家口) cn-zhangjiakou kms.cn-zhangjiakou.aliyuncs.com kms-vpc.cn-zhangjilou.aliyuncs.com
华北1(青岛) cn-qingdao kms.cn-qingdao.aliyuncs.com kms-vpc.cn-qingdao.aliyuncs.com
吉隆坡 ap-southeast-3 kms.ap-southeast-3.aliyuncs.com kms-vpc.ap-southeast-3.aliyuncs.com
华北5(呼和浩特) cn-huhehaote kms.cn-huhehaote.aliyuncs.com kms-vpc.cn-huhehaote.aliyuncs.com

4. 为何会出现KMS端点无法访问?

为了确保数据安全性,当您使用SDK访问它时,KMS仅支持HTTPS协议。

5. 解密时为何出现 Forbidden.KeyNotFound 的错误?

上述错误的出现,通常是因为您访问了错误的地域,试图解密数据。各个地域的密钥管理服务是完全独立的,请确保您解密时访问的地域与加密时一致。

6. 如何使用KMS管理用户密钥?

基于信封加密技术和KMS的开放API,您可以使用指定的用户主密钥加密和解密数据密钥。然后,您不必将纯文本直接存储在存储设备中。这样,您可以轻松地专注于开发工作,而不必担心管理用户的密钥。

7. 每个区域中一个用户可以创建多少个用户主密钥?

每个用户最多可以在每个区域中创建200个用户主密钥。如果您需要创建超过200个用户主密钥,您可以通过工单系统向阿里云提交请求。

8. 什么是加密上下文?

加密上下文是String-String格式的JSON字符串,可用于KMS Encrypt、GenerateDataKey和Decrypt API,以保护数据完整性。