AWS KMS VS AWS Cloud HSM VS AWS Secret Manager?

在AWS 雲端安全系統中,資料加密、金鑰管理和機密資訊保護是保障系統安全的核心環節。 AWS 提供了多種安全服務,其中 AWS Key Management Service (KMS)AWS CloudHSMAWS Secrets Manager 是最常用的三種,但它們並非功能重複,而是面向不同的安全需求:

  • AWS KMS:託管式金鑰管理與加密服務,適合絕大多數應用場景,特點是易用、成本低、與AWS 服務高度整合。
  • AWS CloudHSM:專屬硬體安全模組服務,提供最高的金鑰自主權和合規性保障,適合對安全要求極高的產業(如金融、政府)。
  • AWS Secrets Manager:專注於應用程式機密資訊(如密碼、API Key、OAuth Token)的安全儲存和自動輪換,減少人工維護風險。

理解這三者的工作方式、優缺點和差異,對於在架構設計中做出合理選擇非常重要。

 

什麼是AWS KMS?

 

AWS KMS

AWS KMS 是一項全託管的金鑰管理服務,允許使用者在雲端安全地產生、儲存和使用加密金鑰,並可與S3、EBS、RDS、Lambda 等幾乎所有AWS 服務無縫整合。 KMS 背後依賴符合 FIPS 140-2 標準的硬體安全模組(HSM)來保護金鑰的加密材料。

1. KMS 的密鑰類型

KMS 中的金鑰被稱為 KMS Key(以前稱為CMK),分為三類:

1.Customer managed keys(客戶管理密鑰)

  • 由使用者創建和維護,擁有完全的控制權限。
  • 可自訂密鑰策略、設定別名、標籤,啟用或停用密鑰,並手動或自動輪換。
  • 適合需要精細化權限控制的場景,例如SSE-KMS 加密的S3 儲存桶。

2.AWS managed keys(AWS 託管金鑰)

  • 由AWS 自動建立和管理,通常用於預設加密場景。
  • 運維成本低,但控制權限有限。

3.AWS owned keys(AWS 自有密鑰)

  • 不顯示在使用者帳戶中,AWS 用於加密部分資源。
  • 用戶無需管理,但也無法直接控制。
2. 對稱密鑰vs 非對稱密鑰
  • 對稱金鑰:同一個金鑰用於加密和解密,速度快,適合大部分應用。
  • 非對稱金鑰:包含公鑰和私鑰,適用於跨系統加密、數位簽章等場景。

如果數據需要在 AWS 外部 加解密,非對稱金鑰可能更合適;否則,大多數情況下選擇對稱金鑰效率更高。

3. KMS 成本

(以2025 年標準為例)

  • 每個密鑰:1 USD/月
  • 常規請求:每10,000 次 0.03 USD
  • 非對稱金鑰產生成本較高,例如RSA 產生對費用較高(10 美元以上/萬次)。

 

什麼是AWS Secret Manager?

 

 

Secrets Manager 專注於應用程式機密資訊管理,例如資料庫密碼、API Key、第三方服務憑證等。它透過與KMS 集成,自動加密儲存的機密訊息,並在需要時解密返回。

1. 為什麼需要Secrets Manager?

傳統方式是將密碼直接寫在設定檔或程式碼中,這有兩個問題:

  1. 密碼暴露風險高,一旦代碼洩露,憑證就被盜取。
  2. 密碼輪換複雜,需要手動更新多個應用程式和配置,容易漏改。

Secrets Manager 解決了這些痛點:

  • 自動輪換:支援為RDS、Aurora、Redshift 等資料庫定期自動更新密碼。
  • 集中儲存:所有機密集中在安全的儲存中,不再散落在程式碼裡。
  • 版本控制:透過標籤(如AWSCURRENT、AWSPENDING)管理多個版本的機密,實現平滑切換。
2. 使用流程範例
  1. 建立一個Secret(例如資料庫連線密碼),並選擇加密所使用的KMS Key。
  2. 配置自動輪調策略(例如每30 天更新一次)。
  3. 應用程式在執行時透過API 取得目前有效的機密,而不是硬式編碼密碼。
3. Secrets Manager 成本
  • 前30 天免費試用
  • 之後每個Secret:0.4 USD/月
  • API 請求:每10,000 次 0.05 USD

 

什麼是AWS CloudHSM?

 

AWS CloudHSM: A Comprehensive Guide to HSM in the Cloud

 

CloudHSM 是一項提供專屬硬體安全模組的服務,讓你在AWS 雲端取得一台只屬於自己的HSM 實例,而且你是金鑰的唯一持有者,AWS 無法存取。

1. 主要特性
  • 符合FIPS 140-2 Level 3 安全標準,滿足金融、醫療、政府等產業的合規要求。
  • 支援標準加密API(PKCS#11、JCE、CNG),方便整合到現有系統。
  • 可產生、匯入、匯出金鑰,並執行加解密、簽章、HMAC、隨機數產生等操作。
2. 與KMS 的區別
  • KMS:全託管,AWS 管理基礎設施和高可用。
  • CloudHSM:你自己管理HSM,包括金鑰備份、復原、高可用部署等。
3. CloudHSM 成本

(東京區域為例)

  • 1.81 USD/小時
  • 一台實例一個月約 1,321 USD(不含額外網路/儲存費用)。

 

三者對比總結

 

特性 AWS KMS AWS Secrets Manager AWS CloudHSM
核心功能 託管金鑰管理與加密 機密資訊儲存與輪換 專屬硬體安全模組
是否全託管
與AWS 整合度 中等
控制權限 中等(部分可配置) 中等 最高(完全自管)
常見用途 S3/EBS 資料加密 資料庫密碼、API Key 管理 金融級加密、數位簽名
成本 中等
合規性 最高

選型建議

  • 日常雲端資料加密 → 優先選擇 KMS,簡單易用且成本低。
  • 應用憑證與密碼管理 → 使用 Secrets Manager,減少人工維修風險。
  • 高安全& 合規要求 → 選擇 CloudHSM,獲得完全的密鑰控制權。

在很多實際架構中,三者會組合使用

  • CloudHSM 產生頂級主金鑰→ 匯入到KMS 進行日常加密→ 透過Secrets Manager 管理應用程式憑證。
  • 這種方案兼顧了安全性、維運效率和成本控制。

更多探索

Tell me what you need