Microsoft Azure Cloud HSM 提供高保證的硬體安全性模組 (HSM) 解決方案,以保護密碼編譯密鑰和保護雲端中的敏感性工作負載。 實作安全性最佳做法是防止未經授權的存取、維護作業完整性,以及優化效能的必要做法。
本文提供如何以最佳方式保護您的雲端 HSM 部署的指引。
安全性與合規性
保護信任根:我們建議客戶限制對應用程式分割區(POTA)私鑰的存取權。 應用程式分割區 (AOTA) 和 POTA 私鑰的管理員相當於根存取權。 他們可以重設分割區內密碼學官員(CO)用戶的密碼(適用於分割區 0 的 AOTA,用戶分割區的 POTA)。
PO.key在執行期間不需要 HSM 存取。 僅在初次簽署分割區擁有者驗證憑證(POAC)和重設 CO 密碼時需要。 建議您盡可能離線儲存PO.key,並在離線電腦上執行初始POAC簽署。這很重要
客戶負責保護其POTA私鑰。 遺失 POTA 私鑰會導致無法復原 CO 密碼。 我們建議客戶安全地儲存其POTA私鑰,並維護適當的備份。
網路安全性
當您使用 Azure 雲端 HSM 時,確保強式網路安全性至關重要。 正確設定網路有助於防止未經授權的存取,並減少對外部威脅的暴露。 如需詳細資訊,請參閱 Azure 雲端 HSM 的網路安全性。
- 使用私人端點:使用私人子網和私人端點協助保護您的 Azure 雲端 HSM 部署,以防止暴露在公用因特網上。 此動作可確保流量會保留在Microsoft骨幹網路內,進而降低未經授權的存取風險。
使用者管理
有效的使用者管理對於維護 Azure 雲端 HSM 的安全性和完整性至關重要。 為使用者身分識別、認證和許可權實作適當的控制,有助於防止未經授權的存取,並確保作業持續性。 如需詳細資訊,請參閱 Azure 雲端 HSM 中的使用者管理。
使用強密碼:為 HSM 使用者建立唯一的強密碼。 使用至少 12 個字元,包括大寫和小寫字母、數位和特殊字元的混合。
保護您的 HSM 使用者認證:請謹慎保護您的 HSM 使用者認證,因為Microsoft遺失時無法復原它們。
實作次要系統管理員以防止鎖定:指定至少兩個系統管理員以防止 HSM 鎖定,以防遺失一個密碼。
建立具有限制許可權的多個加密使用者(CUs):建立具有不同責任的多個加密使用者,以防止任何單一使用者完全控制。
限制 CUs 匯出金鑰的能力:藉由設定適當的使用者屬性來限制 CUs 匯出金鑰材料。
限制 CO 對 OU 的控制:使用
disableUserAccess命令來防止 CO 使用者管理特定的 OU。 不過,CO 使用者可以使用較舊的備份略過此命令。
金鑰管理
有效的密鑰管理對於優化 Azure 雲端 HSM 的效能、安全性和效率至關重要。 正確處理金鑰儲存限制、金鑰包裝安全性、金鑰屬性和快取策略,可以改善保護和效能。 如需詳細資訊,請參閱 Azure 雲端 HSM 中的密鑰管理。
實作金鑰輪替:定期輪替密鑰來取代較舊的密鑰,並在維護安全性的同時釋放記憶體。
使用金鑰階層:使用主要金鑰來加密其他金鑰,將較少的密鑰儲存在 HSM 中。
可行時共用和重複使用金鑰:適當時在多個工作階段之間共用或重複使用金鑰,以減少記憶體需求。
安全地刪除未使用的金鑰:移除您較長需要的金鑰,以避免不必要的記憶體耗用量。
盡可能將金鑰設定為不可擷取:使用
EXTRACTABLE=0以確保密鑰無法在 HSM 外部匯出。啟用信任的金鑰包裝:使用
WRAP_WITH_TRUSTED=1將金鑰包裝限制為受信任的金鑰。 此動作可防止未經授權的金鑰導出。使用索引鍵屬性來限制許可權:在產生密鑰時只指派必要的屬性,以限制非預期的作業。
認證
驗證是安全地存取和操作 Microsoft Azure 雲端 HSM 的重要層面。 適當的驗證方法有助於保護認證,並確保安全訪問控制。 如需詳細資訊,請參閱 Azure 雲端 HSM 中的驗證。
安全地儲存 HSM 認證:保護預存認證,避免在未使用時公開它們。 設定您的環境以自動擷取和設定認證。
針對 Java 密碼編譯延伸模組 (JCE) 驗證使用隱含登入:盡可能使用隱含登入進行 JCE 驗證,以允許自動認證管理和重新驗證。
避免跨線程共用會話:針對多線程應用程式,請指派每個線程自己的會話,以防止衝突和安全性問題。
實作用戶端重試:新增 HSM 作業的重試邏輯,以處理潛在的維護事件或 HSM 取代。
仔細管理 HSM 用戶端會話:請注意,
azurecloudhsm_client在相同主機上的應用程式之間共享會話。 適當的會話管理可避免衝突。
監視與記錄
監視稽核和作業記錄:建議您設定作業事件記錄。 作業事件記錄對於 HSM 安全性至關重要。 它提供不可變的存取和作業記錄,以進行責任、可追蹤性以及相關法規合規性的目的。 其可協助偵測未經授權的存取、調查事件及識別異常狀況,以協助確保密碼編譯作業的完整性和機密性。
為了維護安全性和隱私權,記錄會排除敏感數據(例如密鑰標識碼、金鑰名稱和使用者詳細數據)。 它們會擷取 HSM 作業、時間戳和元數據,但無法判斷成功或失敗。 他們只能記錄執行作業的事實。 因為 HSM 作業發生在內部 TLS 通道內,而不會在該界限外公開,因此存在這項限制。
商務持續性和災害復原
實作健全的備份和災害復原:Azure 雲端 HSM 可透過叢集 HSM 提供高可用性,以同步處理密鑰和原則,同時在失敗期間自動移轉分割區。 服務支援完整的備份和還原作業,以保留所有密鑰、屬性和角色指派。 備份受到Microsoft無法存取的 HSM 衍生密鑰所保護。
針對業務連續性和災害復原(BCDR):
- 使用受控識別進行驗證。
- 將備份儲存在私人 Azure Blob 記憶體中。
- 實作最小化角色基礎存取控制(RBAC)權限。
- 停用共用金鑰存取。
備註
Azure 雲端 HSM 不支援恢復至已啟動的 HSM。
如需詳細的實作指示和其他復原選項,請參閱 Azure 雲端 HSM 中的備份和還原。 其他復原選項包括使用
extractMaskedObject以加密 Blob 的形式擷取密鑰、安全地儲存密鑰,以及視需要匯insertMaskedObject入金鑰。 BCDR 最佳做法是在兩個區域中部署故障轉移功能。