Day 26: KMS/Cloud HSM/Secrets Manager 傻傻分不清楚

如果你有考过 AWS security specialty 证照你一定很常看到KMS/CloudHSM/Secrets Manager 这三个名词,很多人搞不太清楚这三者的差异,今天我们就来研究一下。

What is AWS KMS?
AWS Key Management Service (AWS KMS) 是一项托管服务,可让你建立和控制用於保护资料的加密金钥,它跟其他AWS服务整合,你可以透过KMS进行加/解密。根据 FIPS 140–2 加密模组验证计划,AWS KMS 使用硬体安全模块 (HSM) 来保护和验证您的 AWS KMS 金钥。

KMS 金钥又分三种Customer managed keys、AWS managed keys、AWS owned keys:

Customer managed keys(CMK):您在 AWS 帐户中创建、拥有和管理的 KMS 金钥。您可以完全控制这些 KMS 金钥,包括建立和维护其金钥Policy、IAM Policy,并授予、启用和禁用它们、轮换它们的加密材料、添加tag、建立引用 KMS 金钥的alias,以及安排 KMS 金钥进行删除,李如:SSE-KMS。

AWS managed keys:AWS 托管金钥是您帐户中的 KMS 金钥,由与 AWS KMS 整合的 AWS 服务代表您创建、管理和使用。某些 AWS 服务仅支援AWS 托管金钥,例如:S3-Managed Keys (SSE-S3)。

AWS owned keys:AWS 拥有的金钥是管理多个 AWS 帐户中使用的 KMS 金钥的集合。尽管 AWS 拥有的金钥不在您的 AWS 帐户中,但 AWS 服务可以附上 AWS 拥有的金钥来保护您帐户中的资源。

你要怎麽选择KMS对称式/非对称式金钥?
大部分AWS的情境你都可以选择KMS对称式金钥,因为他具有加密演算法快速、高效,并确保资料的机密性和真实性。如果您的案例需要无法call AWS KMS 在 AWS 之外进行加密,则非对称 KMS 金钥是一个不错的选择。

KMS价格
每个 AWS KMS 金钥,每月费用为 1 USD,另外还有

  • 每 10,000 个请求 0.03 USD
  • 包含 RSA 2048 金钥每 10,000 个请求 0.03 USD
  • 每 10,000 个 ECC GenerateDataKeyPair 请求 0.10 USD
  • 除 RSA 2048 之外每 10,000 个非对称式请求 0.15 USD
  • 每 10,000 个 RSA GenerateDataKeyPair 请求 12.00 USD

What is AWS Secret Manager?
Secret Manager跟KMS有关,它可以存放并加密KMS金钥以及闲置的密码,等到需要使用时,再进行解密。

在过去应用程序都需要透过写死在程序码上面的密码以及凭证资讯来存取资料库。等到密码跟凭证要轮换时要手动去更新相关资讯,如果其中一项资讯没更新到,你就无法存取资料库。

而Secret Manager能够帮你解决以上的问题,你可以将一些机密资讯,如:名称及叙述、轮换或过期设定、KMS金钥的ARN以及相关的AWS tag,存放在Secret Manager里面,等到轮换期限一到它会自动帮你执行轮换的动作。这一方面减少手动作业,另一方面降低程序码放机密资讯被骇的问题。

在进行密码轮换时,Secret Manager会将一个暂存标签AWSPENDING放在新版本上,等到测试及验证完成才会将AWSCURRENT放到新版本,之後的密码以及凭证都会使用这个新版本的资讯。一个版本可以有很多暂存标签,但一个暂存标签只能附在一个版本上。

Secret Manager价格
前30天是免费的,之後每个secret会收USD0.4、每 10,000 次 API call 会收 0.05 USD

What is AWS CloudHSM?
上面KMS有提到金钥的资讯是存在HSM里面的,但如果你在AWS上想要一台自己的HSM该怎呢?AWS CloudHSM(Hardware Security Module)是透过硬体处理加密操作并为加密金钥提供安全储存的运算装置。

你可以用AWS CloudHSM进行:

  • 产生、储存、汇入、输出和管理加密金钥,包括对称金钥和非对称金钥对。
  • 使用对称和非对称演算法来加密和解密资料。
  • 使用加密杂凑函数来计算讯息摘要和基於杂凑讯息验证代码 (hash-based message authentication codes, HMAC)。
  • 对资料进行加密签章(包括程序码签章)并验证签章。
  • 产生加密的随机资料。

AWS CloudHSM价格
AWS CloudHSM价格计算是以每小时计费的,以东京region为例,每小时USD 1.81,等於一个月USD1321.3。(口袋不够深,不要买XD)

三项服务先简介到这边,其实KMS包含很多密码学相关的概念,大家有兴趣可以在深入研究。


<<:  <Day23> 如何 更新 or 修改or 取消 委托单?

>>:  Day.30 讲点算法以外的东西

D13/ 怎麽做翻卡片的动画 - Animation Part 2 & GraphicsLayer

今天大概会聊到的范围 Animation Modifier.graphicsLayer 上一篇讲到...

D3JsDay05Bar拉BarBarBar,作伙来画吧—画个bar chart长条图

用D3绘制长条图 我们现在可以尝试着用已经学到的SVG来画长条图,只不过是透过D3Js的操作来新增S...

[Aras 笔记] Report报表-多阶BOM+替代料R1R2

###注意此文章内容皆由我本人开发撰写与分享 Github连结 用Report报表产生RD需要的多阶...

SAML-断言(assertion)

断言是关於实体或主题的陈述,通常以名称-值对的形式表示。 “ MaritalStatus = Fal...

#21-用Canvas做科技感的动态球!(+什麽时候该用CSS/SVG/Canvas?)

今天正式进入Canvas的世界了! 老样子先看成品: 今天来做点科技感的画面,橘色是滑鼠的游标,这个...