其他分享
首页 > 其他分享> > 数据安全--KMS

数据安全--KMS

作者:互联网

背景介绍

密钥管理服务(KMS)是一套密钥管理系统, 可以针对云上数据/各端上的加密需求精心设计的密码应用服务,为您的应用提供符合各种要求的密钥服务及极简应用加解密服务,助您轻松使用密钥来加密保护敏感的数据资产。
方案
开发者身份    受保护数据    保护目的    解决方案
网站或应用开发    证书、密钥    网站和应用会使用HTTPS证书来保证通信协议的安全,也会使用密钥来给文件打上自己企业的签名,但是这些常见的安全解决方案非常依赖证书和密钥本身的安全。    KMS密钥管理
后台服务开发    密码、登录密钥、配置    数据库密码、登录密钥、后台服务的配置信息可能会被黑客利用,明文存储在硬盘上非常危险。    KMS密钥管理
内容、社交网站或应用    用户原创内容、有价值的知识产权    企业依赖核心的UGC内容或独特的知识产权来建立在行业的竞争优势,一定不能发生『拖库』这样的事故。    KMS信封加密
政府、金融机构    协议通信内容、重要文件和资料    政府和金融机构任何的通信和存储数据都具有高价值性和高保密性,需要在建立业务系统时就考虑好合规性和安全性。    KMS信封加密
架构

在这里插入图片描述

架构图描述:

    KMS: 根密钥生成,为了生成根密钥的保密性,由三个人分别输入三段约定好算法的随机因子到HSM中去生成根密钥,非法读取HSM中的根密钥会导致HSM被破坏而不可用从而保护了根密钥不被泄露。另外为了保存好根密钥以备及时恢复,要将三段随机因子分别保存到三个保险柜中。为了防止根密钥被泄露,根密钥RootKey由密钥管理服务KMS从硬件安全模块即HSM中读取,按照一定的分散算法打散存储在内存中。
    SDK: 开发者将SDK集成到自己开发的服务或者系统的代码中,以实现只需要调用较为简单抽象的接口就能够使用密钥管理服务的相关功能。SDK中进行加解密是为了防止业务方私自保存密钥。Client主要是负责SDK的Http请求相关的功能,加解密模块则是负责SDK加解密相关的功能。

KMS核心功能

包括密钥生命周期:
1、密钥生成 - 统一管理密钥的生成,一般要求根密钥具备较高的随机性以防止密钥被猜测、应用密钥通过安全的分散算法派生生成。
2、密钥存储 - 安全的存储密钥,如使用专用的安全存储设施或采用高强度加密保护,防止密钥的泄露和窃取。
3、密钥分发 - 确保密钥从生成、存储环境向使用环境传输的过程中不被泄露。
4、密钥注销 - 密钥生命周期完结之后,合理、安全地销毁密钥,并对销毁步骤作进行记录。
5、密钥更新 - 通过合理的密钥更替机制,降低密钥长期使用带来的暴露风险。一般要求:根密钥长期有效,具备更替能力;应用密钥定期更新,防止恶意破解;过程密钥一次一密,并通过引入时间戳、流水号等应用数据防止重放攻击。
6、密钥备份 - 保证重要密钥的备份恢复机制,在密钥丢失、灾难场景下,能够较快恢复密码服务能力,恢复时间目标(RTO)和恢复点目标(RPO)满足业务方需求。
7、密钥应用和密码运算服务 - 在具体的应用场景下,KMS还负责为业务方提供与应用相关的安全接口,如:数据加密封装、隐私数据脱敏、接口签名等。

一般情况下我们将KMS系统划分为三个核心模块:
1、安全区 - 整个系统的安全根,主要负责安全存储系统的根密钥,仅对系统内必要的功能模块开放访问权限。
2、服务层 - 系统主要功能的实现部分,为用户和KMS的应用提供密钥管理、数据加密、数字签名等服务,这也是KMS中与业务逻辑关系最紧密的部分。
3、接入层 - 面向应用系统提供业务接入能力,通过提供多语言、多框架适配的SDK,来支持无侵入或低侵入的集成。
密钥生成

从网上弄了一个图,大致如下:
在这里插入图片描述

    初始密钥的密钥因子:用于导出初始秘钥。
    初始密钥:用于加密工作密钥。
    工作密钥:用于加密敏感数据(密码、个人信息等)的密钥。
————————————————
版权声明:本文为CSDN博主「_0x00」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39325340/article/details/123471184

标签:加密,--,KMS,数据安全,应用,服务,SDK,密钥
来源: https://www.cnblogs.com/jiftle/p/16272075.html