本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS KMS 中的 HMAC 金鑰
雜湊訊息驗證碼 (HMAC) KMS 金鑰是對稱金鑰,用於在 AWS KMS 中產生和驗證 HMAC。與每個 HMAC KMS 金鑰關聯的唯一金鑰資料提供了 HMAC 演算法所需的私密金鑰。您可以將 HMAC KMS 金鑰與 GenerateMac
和 VerifyMac
操作搭配使用來驗證 AWS KMS 之中的資料完整性和真實性。
HMAC 演算法結合了密碼編譯雜湊函數和共享私密金鑰。它們接受訊息和私密金鑰 (如 HMAC KMS 金鑰中的金鑰資料),並傳回一個唯一且固定大小的代碼或標籤。如果訊息中即使只有一個字元更改,或者私密金鑰不相同,則產生的標籤將完全不同。透過要求私密金鑰,HMAC 還提供了真實性;如果沒有私密金鑰,就無法產生相同的 HMAC 標籤。HMAC 有時被稱為對稱簽章,因為它們的運作方式類似於數位簽章,但使用單一金鑰進行簽署和驗證。
AWS KMS 使用的 HMAC KMS 金鑰和 HMAC 演算法符合 RFC 2104
您可使用 HMAC KMS 金鑰來確定訊息的真實性,例如 JSON Web 字符 (JWT)、字符化的信用卡資訊或提交的密碼。它們還可以用作安全金鑰衍生函數 (KDF),特別是在需要確定性金鑰的應用程式中。
HMAC KMS 金鑰比應用程式軟體的 HMAC 具有優勢,因為金鑰資料完全在 AWS KMS 之中產生並使用,完全受控於您在金鑰上設定的存取控制。
提示
最佳實務是建議您限制任何簽名機制 (包括 HMAC) 的有效時間。這可以阻止攻擊者使用簽署的訊息反覆建立有效性攻擊或在訊息被取代很長時間後反覆建立有效性攻擊。HMAC 標籤不包含時間戳記,但您可以在字符或訊息中包含時間戳記,以幫助您偵測何時重新整理 HMAC。
授權使用者可建立、管理及運用 AWS 帳戶中的 HMAC KMS 金鑰。其中包括啟用和停用金鑰、設定和變更別名和標籤,以及排定刪除 HMAC KMS 金鑰。您也可以使用金鑰政策、IAM 政策和授予,控制對 HMAC KMS 金鑰的存取。您可以在 AWS 日誌 中的 AWS CloudTrail 內稽核使用或管理 HMAC KMS 金鑰的所有操作。您可利用匯入的金鑰資料來建立 HMAC KMS 金鑰。您也可以建立 HMAC 多區域 KMS 金鑰,這些金鑰在多個 AWS 區域中的運作方式會類似於相同的 HMAC KMS 金鑰副本。
HMAC KMS 金鑰僅支援 GenerateMac
和 VerifyMac
密碼編譯操作。您無法使用 HMAC KMS 金鑰來加密資料或簽署訊息,或在 HMAC 操作中使用任何其他類型的 KMS 金鑰。使用 GenerateMac
操作時,您可以提供最多 4,096 個位元組的訊息、一個 HMAC KMS 金鑰以及與 HMAC 金鑰規格相容的 MAC 演算法,GenerateMac
會運算 HMAC 標籤。若要驗證 HMAC 標籤,您必須提供 HMAC 標籤以及 GenerateMac
用來運算原始 HMAC 標籤的相同訊息、HMAC KMS 金鑰以及 MAC 演算法。VerifyMac
操作會運算 HMAC 標籤並驗證它是否與提供的 HMAC 標籤相同。如果輸入和運算得出的 HMAC 標籤不相同,驗證會失敗。
HMAC KMS 金鑰不支援金鑰自動輪換,而且您無法在自訂金鑰存放區建立 HMAC KMS 金鑰。
如果您要建立 KMS 金鑰來加密 AWS 服務中的資料,請使用對稱加密金鑰。您無法使用 HMAC KMS 金鑰。
區域
AWS KMS 支援的所有 AWS 區域 都支援 HMAC KMS 金鑰。
進一步了解
-
如需有關如何選擇 KMS 金鑰類型的說明,請參閱選擇一個 KMS 金鑰類型。
-
如需每種 KMS 金鑰類型支援之 AWS KMS API 操作的比較表,請參閱金鑰類型參考。
-
如需有關建立多區域 HMAC KMS 金鑰的詳細資訊,請參閱 多區域按鍵 AWS KMS。
-
若要檢查 AWS KMS 主控台為 HMAC KMS 金鑰設定之預設金鑰政策的差異,請參閱允許金鑰使用者使用 KMS 金鑰搭配 AWS 服務。
-
如需有關 HMAC KMS 金鑰定價的詳細資訊,請參閱 AWS Key Management Service 定價
。 -
如需有關如何刪除 HMAC KMS 金鑰的詳細資訊,請參閱刪除 AWS KMS keys。
-
若要了解有關使用 HMAC 建立 JSON Web 字符的詳細資訊,請參閱《AWS 安全部落格》中的「如何在 AWS KMS 內保護 HMAC
」。 -
在官方 AWS Podcast 上收聽 Podcast:AWS Key Management Service 的 HMAC 簡介
。
HMAC KMS 金鑰的金鑰規格
AWS KMS 支援不同長度的對稱 HMAC 金鑰。金鑰規格可根據您的安全、法規或業務需求進行選取。金鑰的長度決定了用於GenerateMac和VerifyMac作業的 MAC 演算法。通常,較長的金鑰更安全。使用適用於您的使用案例的最長金鑰。
HMAC 金鑰規格 | MAC 演算法 |
---|---|
HMAC_224 | HMAC_SHA_224 |
HMAC_256 | HMAC_SHA_256 |
HMAC_384 | HMAC_SHA_384 |
HMAC_512 | HMAC_SHA_512 |