問:什麼是 AWS CloudHSM?

AWS CloudHSM 服務透過在 AWS 雲端中使用專用的硬體安全模組 (HSM) 執行個體,協助您滿足資料安全方面的企業、合約和法規遵循要求。AWS 和 AWS Marketplace 合作夥伴為保護 AWS 平台中的敏感資料提供了多種解決方案,但對於需符合管理加密金鑰方面嚴格的合約或法規要求的應用程式和資料,有時必須提供額外的保護。CloudHSM 可補足現有的資料保護解決方案,並讓您在根據安全金鑰管理的政府標準所設計和驗證的 HSM 中保護您的加密金鑰。CloudHSM 以只有您能存取金鑰的方式來讓您安全地產生、儲存和管理用於資料加密的加密金鑰。

問:什麼是硬體安全模組 (HSM)?

硬體安全模組 (HSM) 在防竄改的硬體裝置中提供安全的金鑰儲存和加密操作。HSM 旨在安全地存放加密金鑰材料及使用金鑰材料,而不使其暴露於硬體的加密邊界之外。

問:CloudHSM 可以用來做什麼?

您可以使用 CloudHSM 服務來支援各種使用案例和應用程式,例如,資料庫加密、數位版權管理 (DRM)、公開金鑰基礎設施 (PKI)、身份驗證和授權、文件簽署以及交易處理。

問:CloudHSM 如何運作?

當您使用 AWS CloudHSM 服務時,要建立 CloudHSM 叢集。叢集可包含一個區域中分散到多個可用區域的多個 HSM 執行個體。叢集中的 HSM 執行個體會自動同步並進行負載平衡。您會收到叢集中每個 HSM 執行個體的單一租用戶專用存取權。每個 HSM 執行個體在 Virtual Private Cloud (VPC) 中會顯示為網路資源。在叢集新增和移除 HSM 只需呼叫一次 AWS CloudHSM API (或使用 AWS CLI 透過命令列執行)。建立並初始化 CloudHSM 叢集之後,您可在 EC2 執行個體上設定用戶端,讓應用程式透過安全、經過驗證的網路連線使用叢集。

Amazon 管理員會監控 HSM 的運作狀態,但是無法設定、管理或使用它們。您的應用程式使用標準的加密 API,並結合在應用程式執行個體上安裝的 HSM 用戶端軟體,以傳送加密請求到 HSM。用戶端軟體會維護一個連至叢集中所有 HSM 的安全通道,並在此通道傳送請求,而 HSM 執行操作後再透過安全通道傳回結果。然後,用戶端透過加密 API 將結果傳回應用程式。

問:目前我沒有 VPC。是否還可以使用 AWS CloudHSM?

否。為了保護您的 CloudHSM,並與其他 Amazon 客戶有所區隔,必須在 VPC 內部佈建 CloudHSM。建立 VPC 很容易。有關詳細資訊,請參閱 VPC Getting Started Guide

問:我的應用程式是否需要存在於與 CloudHSM 叢集相同的 VPC 中?

否,但您的應用程式和 HSM 用戶端執行所在的伺服器或執行個體必須能夠透過網路 (IP) 存取叢集內所有的 HSM。您可以用多種方式來建立應用程式到 HSM 的網路連接,其中包含使用相同的 VPC、使用 VPC 對等、使用 VPN 連接或使用 Direct Connect。有關詳細資訊,請參閱 VPC Peering GuideVPC User Guide

問:CloudHSM 是否能與現場部署 HSM 搭配使用?

是。儘管 CloudHSM 不會與現場部署 HSM 直接地相互操作,但是可依照使用案例、金鑰類型以及現場部署 HSM 類型,在兩者之間移動或同步金鑰。請在 AWS 主控台開啟 AWS 技術支援案例,以取得與此相關的協助。

問:我的應用程式該如何使用 CloudHSM?

我們已經將 CloudHSM 與一些第三方軟體解決方案 (如 Oracle Database 11g 和 12c) 和 Web 服務 (包括適用於 SSL 卸載的 Apache 和 Nginx) 進行整合和測試。如需詳細資訊,請參閱 CloudHSM User Guide

如果您要開發自己的自訂應用程式,該應用程式可以使用 CloudHSM 支援的標準 API,包含 PKCS#11 和 Java JCA/JCE (Java Cryptography Architecture/Java Cryptography Extension)。即將提供 Microsoft CAPI/CNG 支援。請參閱 CloudHSM User Guide 以取得程式碼範例和入門協助。

問:是否可以使用 CloudHSM 來儲存其他 AWS 服務使用的金鑰或加密資料?

是。您可以在與 CloudHSM 整合的應用程式執行所有加密。在這種情況下,AWS 服務 (如 S3 或 EBS) 只會看到您的資料已加密。

問:其他 AWS 服務是否可以使用 CloudHSM 存放和管理金鑰?

目前 AWS 服務並未直接與 CloudHSM 整合。如果您要使用許多 AWS 服務 (如 EBS、S3 或 RDS) 提供的伺服器端加密技術,應考慮使用 AWS Key Management Service。我們未來計劃將 CloudHSM 與其他 AWS 服務整合。如果您對此感興趣,請聯絡我們

問:CloudHSM 是否可以用來執行個人識別碼 (PIN) 區塊轉譯或其他在扣款支付交易中使用的加密操作?

CloudHSM 目前提供一般用途 HSM。我們未來可能會提供付款功能。如果您對此感興趣,請聯絡我們

問:AWS Key Management Service (KMS) 與 AWS CloudHSM 相較有何不同?

AWS Key Management Service (KMS) 是一種多租戶受管服務,可讓您使用和管理加密金鑰。這兩種服務都為加密金鑰提供高階安全性。AWS CloudHSM 直接在 Amazon Virtual Private Cloud (VPC) 提供專用的 FIPS 140-2 第 3 級 HSM,由您專屬控制。

問:何時應該使用 AWS CloudHSM 替代 AWS KMS?

如果需要符合以下條件,應該考慮使用 AWS CloudHSM:

  • 金鑰存放在專用的第三方已驗證硬體安全模組,由您專屬控制。
  • 符合 FIPS 140-2 規範。
  • 使用 PKCS#11、Java JCE 或 Microsoft CNG 界面與應用程式整合。
  • 高效能 VPC 內加密加速 (大批加密)。

問:是否會淘汰以 Safenet 為基礎的 HSM?

否。雖然我們確信新 CloudHSM 服務的功能集和成本是更具吸引力的替代方案,但是我們會為現有的客戶保留 AWS CloudHSM Classic。我們不久之後就會提供資源,協助客戶從 CloudHSM Classic 遷移到新的服務。

問:如何開始使用 CloudHSM?

您可以在 CloudHSM 主控台佈建 CloudHSM 叢集,也可以透過 AWS 開發套件或 API 執行幾個 API 呼叫進行佈建。要進一步了解,請參閱 CloudHSM User Guide 取得入門資訊,或參閱 CloudHSM 文件獲得關於 CloudHSM API 的資訊,也可以瀏覽 Amazon Web Services 工具頁面以了解有關軟體開發套件的詳細資訊。

問:如何終止 CloudHSM 服務?

您可以使用 CloudHSM API 或軟體開發套件刪除 HSM 及停止使用服務。有關進一步指示,請參閱 CloudHSM User Guide

問:使用 AWS CloudHSM 服務如何計價和收費?

我們會根據 HSM 佈建到 CloudHSM 叢集的每個小時 (或不足 1 小時) 按小時費率向您收費。不含 HSM 的叢集不會計費,我們自動儲存的加密備份也不會收費。Amazon 保留對每月超過 5000 GB 的 AWS CloudHSM 網路資料傳入和傳出收費的權利。如需詳細資訊,請瀏覽 CloudHSM 定價頁面

問:CloudHSM 服務是否提供免費方案?

否,CloudHSM 不提供免費方案。

問:註冊 CloudHSM 是否有先決條件?

是。要開始使用 CloudHSM 需要滿足幾個先決條件,其中包含在您要 CloudHSM 服務的區域提供 Virtual Private Cloud (VPC)。有關詳細資訊,請參閱 CloudHSM User Guide

問:是否需要管理自己 HSM 上的韌體?

否。AWS 會管理硬體上的韌體。韌體由第三方維護,而且每個韌體都必須由 NIST 針對 FIPS 140-2 第 3 級合規進行評估。只能安裝由 FIPS 金鑰 (AWS 沒有存取權) 以密碼編譯方式簽署的韌體。

問:CloudHSM 叢集中應該有多少個 HSM?

針對任何生產工作負載,AWS 強烈建議在兩個不同可用區域至少使用兩個 HSM。如果是任務關鍵工作負載,我們建議至少在兩個個別的可用區域至少使用三個 HSM。CloudHSM 用戶端將採用對應用程式而言透明的方式自動處理任何 HSM 故障,並在兩個或多個 HSM 之間進行負載平衡。

問:誰負責金鑰的耐久性?

AWS 每天都會自動針對 CloudHSM 叢集執行加密備份,當發生叢集生命週期事件時 (如新增或移除 HSM),則會執行額外備份。在每次備份之間的 24 小時期間建立或匯入叢集的金鑰材料耐久性,則由您負完全責任。我們強烈建議務必將建立的任何金鑰同步到兩個不同可用區域的至少兩個 HSM,以確保金鑰的耐久性。請參閱 CloudHSM User Guide,了解驗證金鑰同步的詳細資訊。

問:如何設定高可用性 (HA) 組態?

CloudHSM 叢集中至少有兩個 HSM 時可自動提供高可用性。不需其他額外的組態。如果叢集中的一個 HSM 故障,就會被自動取代,而且所有用戶端都會更新以反映新組態,無須中斷任何處理。透過 AWS API 或軟體開發套件可將額外的 HSM 新增到叢集以提高可用性,無須中斷應用程式。

問:一個 CloudHSM 叢集可包含多少個 HSM 執行個體?

一個 CloudHSM 叢集最多可包含 32 個 HSM。客戶最多可建立 28 個執行個體,但須依帳戶服務限制而定。剩餘的容量會保留給內部使用,例如取代故障的 HSM 執行個體。

問:是否可以備份 CloudHSM 的內容?

AWS 每天都會備份 CloudHSM 叢集。此外,只要產生的金鑰不是「不可匯出」,就可以將金鑰匯出 (「包裝」) 叢集並存放在現場部署。目前不提供其他備份選項,不過我們預計很快就會提供更完整的現場部署備份功能。

問:是否有適用於 CloudHSM 的 SLA?

目前沒有適用於 CloudHSM 的 SLA。

問:是否要與其他 AWS 客戶共享 CloudHSM?

否。在這個服務中,您會收到 HSM 的單一租用戶存取權。基礎硬體可與其他客戶共享,但只有您可以存取 HSM。

問:AWS 在沒有加密金鑰存取權限的情況下如何管理 HSM?

CloudHSM 在當初設計時就考慮到了責任分離和以角色為基礎的存取控制。AWS 擁有的 HSM 登入資料受到限制,僅允許我們監控和維護 HSM 的運作狀態和可用性、執行加密備份,以及擷取和發佈稽核日誌到 CloudWatch Logs。AWS 無法看到、存取或使用您的金鑰,或透過金鑰讓 HSM 執行任何加密操作。

請參閱 CloudHSM User Guide,了解責任分離以及每個使用者類別在 HSM 擁有的功能。

問:是否可監控我的 HSM?

是。CloudHSM 會針對 CloudHSM 叢集和個別 HSM 執行個體發布多個 CloudWatch 指標。您可以使用 AWS CloudWatch 主控台、API 或軟體開發套件取得這些指標或發出警示。

問:什麼是 CloudHSM 的「熵來源」(隨機性來源)?

每個 HSM 都有一個經過 FIPS 驗證的決定性隨機位元產生器 (DRBG),它是從符合 SP800-90B 標準的 HSM 硬體模組內的真實隨機數字產生器 (TRNG) 產生。這是一種高品質的熵來源,每秒可為每個 HSM 產生 20 Mb 的熵。

問:如果有人擅自竄改 HSM 硬體會怎樣?

CloudHSM 具備實體和邏輯竄改偵測及回應機制,能夠觸發硬體的金鑰刪除 (歸零化)。該硬體的設計可在實體屏障被突破時偵測竄改行為。HSM 執行個體還具備防止暴力登入攻擊的保護。嘗試使用加密主管 (CO) 登入資料存取 HSM 時,失敗超過固定次數之後,HSM 執行個體就會鎖住 CO。同樣地,嘗試使用加密使用者 (CU) 登入資料存取 HSM 時,失敗超過固定次數之後,將鎖住使用者,之後必須由 CO 解除鎖定。

問:萬一發生故障時會怎樣?

Amazon 會監控和維護 HSM 和網路的可用性和錯誤條件。如果 HSM 故障或網路連線中斷,將自動替換該 HSM。您可以使用 CloudHSM API、SDK 或 CLI 工具來檢查個別 HSM 的運作狀態,還可以使用 AWS 服務運作狀態儀表板隨時檢查服務的整體運作狀態。

問:如果單一 HSM 執行個體故障,是否會遺失金鑰?

是。如果您使用的 CloudHSM 叢集故障且沒有使用兩個或多個 HSM,就可能遺失最近一次每日備份之後建立的金鑰。Amazon 強烈建議您在不同可用區域的任何生產 CloudHSM 叢集使用兩個或多個 HSM,以避免遺失加密金鑰。

問:如果我遺失 HSM 登入資料,Amazon 是否可以恢復我的金鑰?

否。Amazon 不能存取您的金鑰或登入資料,因此在您遺失登入資料時無法恢復您的金鑰。

問:如何確定自己可以信任 CloudHSM?

CloudHSM 建立在硬體上,已通過聯邦資訊處理標準 (FIPS) 140-2 第 3 級驗證。您可在以下位置找到 CloudHSM 使用之硬體的 FIPS 140-2 安全規範:http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp2850.pdf

問:CloudHSM 服務是否支援 FIPS 140-2 第 3 級?

是,CloudHSM 提供已通過 FIPS 140-2 第 3 級驗證的 HSM。您可以按照 CloudHSM User GuideVerify the Authenticity of Your HSM 下的程序操作,確認您在上個問題所述的 NIST 安全政策中指定的相同型號硬體上有真實的 HSM。

問:如何在 FIPS 140-2 模式中操作 CloudHSM?

CloudHSM 永遠為 FIPS 140-2 模式。使用 CloudHSM User Guide 中所述的 CLI 工具並執行 getHsmInfo 命令 (可顯示 FIPS 模式狀態) 即可確認。

問:如何將 HSM 分區登入資料安全地分配到我的執行個體?

請參閱下方的 AWS 安全部落格文章,其中詳細介紹了如何使用 IAM 角色將非 AWS 登入資料分配到您的 EC2 執行個體

問:是否可取得在我的帳戶上已進行的所有 CloudHSM API 呼叫歷史記錄?

是。AWS CloudTrail 會記錄您的帳戶所發出的 AWS API 呼叫。CloudTrail 產生的 AWS API 呼叫歷史記錄可讓您執行安全分析、資源變更追蹤以及合規稽核。在 CloudTrail 首頁進一步了解有關 CloudTrail 的資訊,並透過 CloudTrail 的 AWS 管理主控台開啟此功能。

問:哪些事件不會記錄在 CloudTrail?

CloudTrail 不包含任何 HSM 裝置或存取日誌。這些資料會透過 CloudWatch Logs 直接提供給您的 AWS 帳戶。有關詳細資訊,請參閱 CloudHSM User Guide

問:哪些 AWS 合規計劃包含 CloudHSM?

請參考 AWS 合規網站,了解哪些合規計劃涵蓋 CloudHSM 的詳細資訊。CloudHSM 和其他 AWS 服務不同,它通常透過硬體本身的 FIPS 140-2 第 3 級驗證直接滿足相關合規要求,而不是做為個別稽核計劃的一部分。

問:為什麼 FIPS 140-2 第 3 級很重要?

FIPS 140-2 第 3 級是特定使用案例的要求,包括文件簽署、付款,或是做為 SSL 憑證的公開憑證授權機構運作。

問:我該如何請求範圍內包含 CloudHSM 的合規報告?

您可以透過業務開發代表請求合規報告。如果您沒有業務開發代表,可在這裡提出請求。

問:CloudHSM 每秒可執行多少個加密操作?

個別 HSM 的效能取決於特定的工作負載。下表顯示單一 HSM 在幾個常見加密演算法的大約效能。您可以在每個 CloudHSM 叢集最多建立 28 個 HSM 執行個體,因此每個叢集可針對下表所列項目提供多達 28 倍的效能。效能會依實際組態和資料大小而有所不同,所以我們鼓勵您使用 CloudHSM 測試應用程式的負載,以判斷確實的擴展需求。

RSA 2048 位元簽署/驗證

1,100/秒

EC P256

315 point mul/秒

AES 256

300 Mb/秒全雙工大批加密

2048 位元 RSA 金鑰產生

~0.5/秒

隨機數字產生 (CSPRNG)

20 Mb/秒

問:CloudHSM 執行個體上可以儲存多少個金鑰?

CloudHSM 叢集最多可存放 3,500 個金鑰,類型或大小不限。

問:CloudHSM 是否支援 Amazon RDS Oracle TDE?

否。不支援 Amazon RDS Oracle TDE;不過,對於在 EC2 上操作的 Oracle 資料庫 (11g 和 12c),則支援 Oracle TDE。請參閱 CloudHSM User Guide 以了解更多詳細資訊。

問:什麼是 CloudHSM 用戶端?

CloudHSM 用戶端是 AWS 提供的軟體套件,可讓您和應用程式與 CloudHSM 叢集互動。

問:CloudHSM 用戶端是否允許 AWS 存取我的 CloudHSM 叢集?

否。用戶端和您 HSM 之間的所有通訊都會使用端對端加密。AWS 無法看到或攔截這些通訊,也無法取得您的叢集存取登入資料。

問:什麼是 CloudHSM 命令列界面 (CLI) 工具?

CloudHSM 用戶端隨附一套 CLI 工具,可讓您從命令列管理和使用 HSM。現在已支援 Linux 和 Microsoft Windows,Apple macOS 的支援則是我們未來的方向。這些工具可在 CloudHSM 用戶端相同的套件中取得。

問:如何下載並開始使用 CloudHSM 命令列界面工具?

相關指示請參閱 CloudHSM User Guide

問:CloudHSM CLI 工具是否為 AWS 提供 HSM 內容的存取權?

否。CloudHSM 工具經由相互驗證的安全通道,透過 CloudHSM 用戶端直接與 CloudHSM 叢集通訊。AWS 無法觀察用戶端、工具與 HSM 之間的任何通訊,因為它經過端對端加密。

問:可以在哪些作業系統上使用 CloudHSM 用戶端和 CLI 工具?

現在支援多種 Linux 版本 (Amazon Linux、Redhat、Centos 和 Ubuntu 的最新版本) 和 Microsoft Windows,Apple macOS 的支援則是我們未來的方向。如果您要在其他作業系統上使用 CloudHSM 用戶端和 CLI 工具,請聯絡我們。

問:使用 CloudHSM 命令列界面工具時有哪些網路連接要求?

執行 CloudHSM 用戶端和/或使用 CLI 工具所在的主機,必須能夠透過網路連接 CloudHSM 叢集中的所有 HSM。

問:CloudHSM API 和軟體開發套件可用來做什麼?

您可以建立、修改、刪除 CloudHSM 叢集和 HSM 以及取得它們的狀態。AWS CloudHSM API 可執行的操作受限於 AWS 受限存取權可執行的操作。API 無法存取 HSM 的內容,也不能修改任何使用者、政策或其他設定。要進一步了解,請參閱 CloudHSM 文件以了解關於 API 的資訊,或參閱 Amazon Web Services 工具頁面以了解軟體開發套件的詳細資訊。

 

問:應如何規劃遷移到 CloudHSM?

首先,確定 CloudHSM 支援您需要的演算法和模式。您的帳戶管理員可在需要時提交功能請求給我們。接下來,決定您的金鑰輪換策略。下一題問答將提供常用案例的建議。您現在可以開始使用新的 CloudHSM。請注意,CloudHSM Classic 中的分區等同於新 CloudHSM 的加密使用者 (CU)

問:如何輪換金鑰?

輪換策略依應用程式類型而有不同。以下是一些常見範例。 

  • 簽署用的私有金鑰:通常 HSM 上的私有金鑰對應到中繼憑證,而該憑證則是由離線企業根認證機構簽署。您透過發出新的中繼憑證來輪換金鑰。在 CloudHSM 上建立新的私有金鑰,然後使用 OpenSSL 產生對應的 CSR。接著,以相同的離線企業根認證機構簽署 CSR。您可能需要與無法自動驗證整個憑證鏈的所有合作夥伴註冊這個新的憑證。之後,使用對應到新憑證的新私有金鑰簽署所有新的請求 (例如,簽署文件、程式碼或其他憑證) 即可。您可以繼續使用對應的公有金鑰驗證來自原始私有金鑰的簽章。無須撤銷。這個程序與淘汰或存檔簽署金鑰的程序很類似。
  • Oracle 透明資料加密:若要傳輸您的錢包,首先從硬體金鑰存放區 (您的原始 HSM) 切換到軟體金鑰存放區,然後再切換回硬體金鑰存放區 (新的 CloudHSM)。
  • 信封加密的對稱金鑰:信封加密是指使用 HSM 上的一個金鑰加密/解密應用程式主機上眾多資料金鑰的金鑰架構。您可能已經設置一個要完成的金鑰輪換程序,然後使用舊的封裝金鑰解密資料金鑰,並使用新的封裝金鑰再次加密資料金鑰。唯一的不同是,遷移期間建立的新封裝金鑰將用於 CloudHSM 而不是您的原始 HSM。如果您尚未設定金鑰輪換工具和程序,則需要建立一個。

問:如果無法輪換金鑰,該怎麼辦?

在某些情況下,您可以將現有 HSM 中的金鑰移到新的 CloudHSM。每個應用程式和使用案例皆不同。請開啟一個支援案例,詳細描述您的應用程式、使用的金鑰類型,以及這些金鑰是否可匯出。我們將協助您決定適當的遷移路徑。

問:在 HSM 執行個體上如何執行例行維護?

AWS 對於 CloudHSM 的例行維護程序旨在避免在同一區域的多個可用區域出現同時停機。

AWS 會監控和維護 HSM 執行個體。我們可能需要從服務移除 HSM 執行個體以進行升級、替換或測試。如果必須替換,這種操作應該不會超過二十分鐘,而且在正常情況下,應該不會影響 CloudHSM 叢集的效能。主動使用叢集中特定 HSM 的應用程式在該 HSM 進行替換時可能會感受到短暫中斷,因為 CloudHSM 用戶端會在叢集中另一個 HSM 上重試操作。

AWS 在同一 24 小時的期間內,不會對同一區域的多個可用區域中的 HSM 執行例行維護。

AWS 在不可預見的情況下可能會執行緊急維護,而不提前通知。AWS 將儘量避免此情況,也會避免在同一 24 小時的期間內,對同一區域的多個可用區域中的 HSM 執行緊急維護。

AWS 強烈建議您在個別可用區域的兩個或多個 HSM 使用 CloudHSM 叢集,以避免任何可能發生的中斷。

問:我在使用 CloudHSM 時遇到問題。我該怎麼做?

請聯絡 AWS Support


有關 AWS CloudHSM Classic 的問題,請參閱 AWS CloudHSM Classic 常見問答集