iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
Security

你用雲端,還敢談資安?AWS資安服務佈署之路系列 第 26

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包含很多密碼學相關的概念,大家有興趣可以在深入研究。


上一篇
Day 25: Macie 簡介及操作
下一篇
Day 27: KMS key建立、輪換/ Secrets Manager secret輪換設定
系列文
你用雲端,還敢談資安?AWS資安服務佈署之路30

尚未有邦友留言

立即登入留言