密钥管理系统(KMS)学习整理


=Start=

缘由:

学习整理一下各大公司是如何定义和使用KMS的。

正文:

参考解答:
一、业界情况

AWS

阿里云

腾讯云

二、KMS的主要功能
  1. 密钥(生命周期、权限)管理;
  2. 加解密。
三、KMS的主要使用场景

使用KMS(密钥管理服务),您无需花费大量成本来保护密钥的保密性、完整性和可用性,借助密钥管理服务,您可以安全、便捷的使用密钥,专注于开发您需要的加解密功能场景。结合KMS和信封加密技术,您可以直接在本地高效又安全的加解密数据。

信封加密也被称为数字信封技术,它是一种综合利用对称加密和非对称加密技术的加密方案,目的是利用对称加密的高性能非对称加密的易管理在信封加密方案中,海量的业务数据在存储或通信的过程中使用数据密钥(DEK)对称加密的方式加密,而DEK 又通过主密钥(CMK)采用非对称加密方式加密保护,而解密时,以通信场景为例,发送方将数据密文和DEK 密文一起传输,接收方先解密出DEK 明文,然后通过DEK解密出数据明文。

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

问:AWS KMS 提供哪些密钥管理功能?
您可以在 AWS KMS 中执行以下密钥管理功能:

  • 利用唯一的别名和描述创建密钥
  • 导入您自己的密钥
  • 定义哪些 IAM 用户和角色可以管理密钥
  • 定义哪些 IAM 用户和角色可以使用密钥加密和解密数据
  • 选择让 AWS KMS 按年自动轮换密钥
  • 临时禁用密钥,使其不能被任何人使用
  • 重新启用已禁用的密钥
  • 删除不再使用的密钥
  • 通过检查日志审计密钥的使用

问:为什么使用信封加密?为什么不只是将数据发送到 AWS KMS 中直接加密?
由于 AWS KMS 支持发送小于 4KB 的数据进行加密,信封加密可提供巨大的性能优势。当您使用 AWS KMS 直接加密数据时,数据必须通过网络进行传输。信封加密可为您的应用程序或 AWS 云服务减少网络负载。只有通过 AWS KMS 对数据密钥的请求和履行必须通过网络。由于数据密钥始终以加密形式存储,因此在您需要它进行操作时可轻松安全地分配该密钥,而无需担心它会被泄露。加密的数据密钥会发送到 AWS KMS 中并使用主密钥进行解密,从而最终允许您解密数据。数据密钥直接提供在应用程序中,您不必将整个数据块发送到 AWS KMS 中和忍受网络延迟。

问:我能否轮换密钥?
可以。您可以选择让 AWS KMS 每年自动轮换由 AWS KMS 代表您生成的密钥。导入的密钥不支持自动密钥轮换。如果您选择将密钥导入 AWS KMS,则可以随时按需手动轮换这些密钥。

问:当密钥在 AWS KMS 中轮换之后,我是否必须重新加密数据?
如果您选择让 AWS KMS 自动轮换由 AWS KMS 代表您生成的密钥,则无需重新加密数据。AWS KMS 会保留旧版密钥,以用于根据旧版密钥解密已加密的数据。对 AWS KMS 中密钥的所有新加密请求都会按照最新版密钥加密。

如果您手动轮换密钥,根据您应用程序的配置,您可能需要重新加密数据。

 

参考链接:
  • 如上

=END=

, ,

《 “密钥管理系统(KMS)学习整理” 》 有 2 条评论

  1. 密钥管理:从薪火相传的密钥到“密码即服务”
    https://wangbaiyuan.cn/key-management-from-the-key-handed-down-from-generation-to-generation-to-password-as-a-service.html
    `
    本地开发:“薪火相传”的密钥文件
    本地开发:将密钥加密后存放在Git仓库
    密码即服务:Hashicorp Vault

    # 最佳实践
    在本地开发时,不在本地持久化存储密钥,密钥只存于当前terminal的环境变量里并随terminal session关闭而销毁
    密钥是有时效性的,定期轮换
    在代码库里面有方便的脚本获取密钥,同时密钥获取者是有身份的,并且有权限控制
    团队成员下项目时,revoke成员的密钥权限
    `
    https://github.com/AGWA/git-crypt
    https://www.vaultproject.io/

  2. 代码签名证书一旦泄露,危害有多大
    https://blog.csdn.net/m0_61462682/article/details/125388105
    `
    根据市场人员线下调查,现在从事网站或软件开发的人数不在少数,为了可以很好保护软件开发者的代码不被恶意窃取,作为SSL证书中的一种——代码签名证书起到很大作用,可使得软件开发商能对其软件代码进行数字签名。那么会不会有一种可能,代码签名证书是否会泄露,若一旦泄露会发生多大危害?

    一、了解什么是代码签名证书

    代码签名证书(Code Signing Certificate)是提供给软件开发者,对其开发的可执行脚本、软件代码和内容进行数字签名的数字证书。代码签名证书用于验证开发者身份真实性、保护代码的完整性。

    用户下载软件时,代码签名证书能通过数字签名验证软件来源可信,确认软件、代码没有被非法篡改或植入病毒,保护用户不会被病毒、恶意代码和间谍软件所侵害,也保护了软件开发者的利益,让软件能在互联网上快速安全地发布。

    二、代码签名证书泄露事件

    就在上月,名为 Lapsus$ 的勒索组织表示,他们在攻击期间窃取了 1TB 的数据,并在 NVIDIA 拒绝与他们谈判后开始在线泄露数据,同时Lapsus$还泄露了大量的员工信息和多达20GB的文件存档。其中泄露的内容中还包括两个被盗的代码签名证书,主要用于英伟达开发人员签署驱动程序和可执行文件。

    三、信息数据泄露的危害

    1)企业品牌和声誉,网站受到攻击时,最先受到影响的是企业品牌和声誉。

    2)流量损失,无论您的网站是纯粹信息型网站,还是电子商务网站,网络流量关系到可见性与受欢迎性。

    3)时间、成本的增加,一旦网站受到攻击,必要遭受入侵造成的数据泄露,对于人力物力来说,都是一个很大的花费。

    在以上代码签名证书被窃取事件中,那两个被盗的代码签名证书均已过期,很明显一旦SSL证书过期(包括代码签名证书在内),那些不法分子都会很轻松对您的电脑网站进行攻击,从而站内的信息数据便会一览无遗。在这里,小编建议大家可以在自己证书快要到期的时候及时续费,不要影响网站的正常安全运行,避免不必要的麻烦。
    `

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注