AWS 上的加密與憑證管理

在 AWS 上部署應用程式

Dunieski Otano

Amazon Web Services Solutions Architect

遺失的備份磁碟

  • 備份硬碟在運送途中遺失
  • 靜態加密後,竊賊也無用武之地
  • TLS 讓「傳輸中」的資料同樣受保護

以掛鎖保護的磁碟象徵靜態加密,對比未受保護的磁碟

在 AWS 上部署應用程式

靜態 vs 傳輸中加密

雙面板比較:左側為靜態加密,RDS 與 S3 各由 KMS 金鑰保護;右側為傳輸中,從用戶端到 Lambda 的 TLS 通道

  • At rest:磁碟上的資料已加密
  • 靜態加密使用金鑰,常透過 KMS
  • In transit:網路傳輸中的資料已加密
  • 傳輸中使用 TLS 憑證
在 AWS 上部署應用程式

用戶端 vs 伺服端加密


伺服端

  • 服務接收後再加密資料
  • 最簡單;AWS 代管此步驟,通常用 KMS 金鑰

用戶端

  • 你在資料離開程式前先加密
  • 服務只儲存密文,不會有明文
在 AWS 上部署應用程式

公開與私有憑證

  • ACM:為你的網域提供免費的公開 TLS 憑證
  • 用於負載平衡器、CloudFront、API Gateway
  • AWS Private CA:簽發內部私有憑證
  • Private CA 支援內部服務與 mTLS

左側:ACM 免費公開憑證用於負載平衡器與 CloudFront;右側:Private CA 憑證用於內部服務間的 mTLS

在 AWS 上部署應用程式

KMS 金鑰與輪替

  • AWS 代管金鑰:由 AWS 建立並輪替
  • 客戶代管金鑰:你控管政策與輪替
  • 自動輪替:每年更新金鑰材料,金鑰 ID 不變
  • 應用程式持續使用相同金鑰參照

KMS 金鑰類型並列:左為 AWS 代管金鑰自動輪替;右為客戶代管金鑰含可設定金鑰政策與年度輪替時間軸

在 AWS 上部署應用程式

跨帳號金鑰存取

跨帳號 KMS 金鑰存取:金鑰於帳號 A,金鑰政策授權帳號 B 使用;帳號 B 可加解密,但金鑰材料不離開 KMS

  • Key policy 決定誰能使用 KMS 金鑰
  • 透過該政策授權其他帳號使用金鑰
  • 金鑰永不離開 KMS
  • 讓帳號間可共享加密資源
在 AWS 上部署應用程式

整合加密與憑證

  • In transit:ACM 憑證在邊緣終結 TLS
  • At rest:KMS 金鑰加密儲存資料
  • 金鑰與憑證皆自動輪替與續期
  • 從線路到磁碟的分層防護

分層加密堆疊:邊緣以 ACM 憑證終結傳輸中 TLS,KMS 金鑰負責靜態加密;兩者皆年度自動續期與輪替

在 AWS 上部署應用程式

一起來練習吧!

在 AWS 上部署應用程式

Preparing Video For Download...