密钥管理服务

保护、管理、使用、审计阿里云上的密钥

密钥管理服务(KMS)提供安全合规的密钥托管和密码服务,助您轻松使用密钥来加密保护敏感的数据资产。

KMS和阿里云产品进行了广泛的集成,您可以通过KMS来加密各个云产品中的数据,从而控制云产品内部的分布式计算和存储环境。

KMS通过操作审计服务为您提供了密钥的使用日志,也支持您配置自定义的密钥轮转策略,还提供了具备FIPS 140-2第三级认证或者中国国家密码管理局认证资质的托管密码机,帮助您满足企业或行业相应的监管合规需求。

产品优势

完全托管
KMS为您提供了密钥托管和密码服务,阿里云负责密码基础设施的完全托管,保证服务和设施的可用性,安全性以及可靠性。您只需要专注于密钥的生命周期和权限策略等管理任务,以及数据加解密和数字签名验签等业务场景。
可用、可靠、弹性
KMS在每个地域构建了多可用区冗余的密码计算能力,保证向KMS发起的请求可以得到低延迟处理。您可以根据需要,在不同地域的KMS创建足够的密钥,而不必担心底层设施的扩容或缩容。您还可以通过BYOK的方式,保持一份密钥的拷贝从而获得更多的持久性。
安全与合规
KMS经过严格的安全设计和审核,保证您的密钥在阿里云得到最严格的保护。通过使用具备中国国家密码管理局或FIPS认证资质的托管密码机、配置自定义密钥轮转策略、在访问控制服务管理身份和权限、在操作审计服务追踪密钥的使用情况,您可以快速满足相应的监管与合规要求。如果您将密钥的使用日志从操作审计服务输出到对象存储或日志服务,则可以进一步和SIEM解决方案进行集成获得额外的分析和威胁检测能力。
云产品集成加密
KMS和云服务器、云数据库、对象存储、文件存储、大数据计算等阿里云产品广泛集成。您可以使用KMS中的密钥加密这些产品中的数据,帮助您保持对云上分布式计算和存储环境的控制,而您只需要付出密钥的管理成本,无需实现复杂的加密能力。您也可以通过对象存储SSE、数据库TDE等服务端加密方式,将原本需要在应用系统实现的数据加密的工作负载转移到云端,通过KMS和RAM来控制服务端加密的行为。
轻松自定义加密和数字签名
KMS对密码技术和HSM接口进行了抽象,通过简单易用的接口,帮助您实现自定义的数据加密保护,让安全与合规需求与业务系统紧密融合,进一步减小恶意者对敏感数据的攻击面。您还可以通过非对称的密钥对,实现数字签名来保护关键数据或者消息的完整性。
节省成本
使用KMS,您无需支付采购硬件密码设备的初始成本以及对硬件系统进行运维、修补、老旧替换的持续开销,也可以避免自建密钥管理设施所需的研发和维护成本,只需要按需使用、按量付费。

产品功能

全方位的管理功能

通过丰富的功能支持对密钥的管理任务

在KMS生成密钥或者外部导入

您可以在KMS生成密钥,或者导入您的自带密钥到托管密码机中,也就是BYOK:Bring Your Own Key。通过BYOK,您线下保有额外的密钥拷贝,托管密码机保证导入的密钥无法被导出。

生命周期管理和自动化轮转

您可以禁用、启用密钥,也可以通过延迟删除的方式销毁密钥;对于自带密钥,也可以立即删除或者设置自动过期销毁。KMS支持配置自定义轮转策略,帮助您自动化加密密钥的周期性轮转,以增强密钥应用的安全性

3A:认证、授权与审计

您可以通过RAM服务管理KMS用户的认证和授权策略;通过ActionTrail服务追踪和审计密钥的使用情况,或者将使用日志输出到OSS、日志服务用于长期存储、数据分析、SIEM集成等更多的场景

完全托管的密码机

托管密码机对密钥提供了高安全等级的保护机制

密码模块检测认证与合规

根据不同监管需求,KMS在部分地域提供经中国国家密码管理局检测和认证的密码机,支持符合国家和行业标准的商用密码算法;在其他地域提供具备FIPS 140-2第三级认证的密码机,且运行在FIPS许可的第三级模式下

密钥的安全生成

通过使用托管密码机,密钥材料的产生基于安全、许可、且以高系统熵值为种子的随机数生成算法,从而保护密钥不被攻击者恢复或者预判

密钥的硬件保护

托管密码机通过安全的硬件机制来保护KMS中的密钥。密钥的明文只会在密码机的内部用于密码运算,而不会离开密码机硬件的安全边界

和阿里云产品的集成

KMS和阿里云产品广泛集成以提供原生的加密体验和进阶式安全能力

入门级“默认加密”

KMS允许每个云产品为您自动管理一个云产品专用的加密密钥,默认情况下云产品使用此密钥而用户无需关心其生命周期和授权策略

自选加密密钥

您可以在KMS自行创建密钥,或者导入外部密钥,并且授权云产品使用自选密钥进行数据加密保护,因此您可以通过密钥的权限和生命周期管理,而获得完整的控制权

审计云产品对密钥的使用

无论是使用云产品托管的密钥,还是用户托管的密钥,您都可以审计云产品代理您调用KMS接口使用密钥的情况

简化而有效的密码运算

KMS抽象了密码技术概念,提供极简的密码计算接口

信封加密技术

KMS内建了信封加密技术,您可以通过单个API调用完成二级密钥的生成和主密钥加密保护这两个动作

可认证加密

KMS封装了可认证加密技术(AEAD),您可以通过使用加密上下文来为加密的数据提供额外的完整性和可认证性保证

数字签名验签

KMS支持非对称密钥的托管和基于非对称密钥的数字签名验签算法,可用于身份认证、代码签名、区块链等广泛业务场景

行业实战场景

  • 高性能可扩展信封加密
  • 构建安全可信的计算环境
  • 云产品服务端加密
主密钥加密敏感配置

主密钥加密敏感配置

云端应用部署的DevSecOps最佳实践

您在云服务器、容器、函数计算等服务部署的应用,需要诸如口令密码、OAuth Secret、服务器证书私钥等敏感数据。通过KMS在部署前加密,部署后或者使用时解密的方式,保证敏感数据在运维、传输、存储等过程的安全性。

解决风险点

  • 避免DevOps接触敏感数据

    运维系统仅向研发人员提供云上生产环境所需的敏感数据被加密后的密文,研发人员将密文打包到配置文件,或者作为函数计算的环境变量,控制企业内部泄露风险

  • 避免云端落盘敏感数据明文

    部署到云端的应用,仅在需要时从配置文件或者环境变量中解密敏感数据,其明文仅在内存中使用,降低在云服务环境中敏感数据泄露风险。

高性能可扩展信封加密

高性能可扩展信封加密

两级密钥结构支撑海量数据和高并发

使用信封加密技术,通过KMS产生两级密钥结构:主密钥加密数据密钥,应用通过JCE、OpenSSL等加密库,使用数据密钥本地加密业务数据,数据密钥的密文和被加密的业务数据一同存储。解密时,首先解密相应数据密钥密文,获得数据密钥明文后本地解密业务数据。

解决的规模化场景

  • 海量数据加密存储OSS

    您可以使用OSS客户端加密SDK,用于在上传之前完成对大量数据的加密操作。也可以自行调用KMS实现信封加密。

  • NoSQL高并发读写加密后的数据

    按照空间或者时间化分,在一定范围内(如:每个表或每5秒钟)使用相同的数据密钥加密,并且在内存中缓存数据密钥明文,将其密文存入NoSQL存储。

构建安全可信的计算环境

构建安全可信的计算环境

KMS搭配裸金属服务器构建安全计算环境

神龙裸金属服务器提供安全物理隔离,支持芯片级可信执行环境(Intel® SGX) ,您可以搭建安全计算环境,在KMS和安全计算环境之间,通过信封加密传递数据密钥;使用此数据密钥,在安全计算环境内,对离开边界的敏感业务数据进行加密保护,对进入边界的业务数据密文进行解密。

能够解决

  • 敏感数据不出安全环境

    敏感业务数据的明文仅在安全环境中存在,在进入持久化存储之前,已经被KMS保护起来,并且加密的过程并不需要向KMS传递敏感的业务数据。

  • 数据密钥不出安全环境

    从KMS获取的数据密钥,被安全计算环境保护,在环境内用于加解密进出边界的持久化数据。数据密钥的密文可以离开安全环境,和被其加密的业务数据一同持久化存储。

云产品服务端加密

云产品服务端加密

服务端集成KMS加密,您只需要配置密钥和权限

云产品集成KMS,使用KMS中的主密钥对云产品的数据进行加密保护。您只需要在云产品的加密配置中,指定所使用的KMS密钥;随后通过RAM配置密钥的使用权限;在ActionTrail中审计云产品调用KMS的操作。

能够解决

  • 通过加密来控制分布式计算存储环境

    云上计算和存储环境,是分布式和多租户的。云产品加密将计算和存储行为和KMS绑定起来。例如ECS实例的启动需要解密被加密的云盘。而加密云盘在分布式存储系统的多个冗余拷贝、从云盘自动生成的快照也都被KMS保护起来。

  • 将海量数据的加密负载交给阿里云

    如果您产生了海量数据,其数据的加密解密行为,会消耗大量的计算资源,对系统性能和吞吐量产生负面影响。通过云产品的服务端加密,您将加密负载交给了阿里云,而仍然保持对数据加密行为的可控和可见能力。

开始使用托管密码机?

使用KMS对云产品进行加密?

服务端加密的机制 已集成的云产品列表