本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
雜湊訊息驗證碼 (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 金鑰比應用程式軟體的 HMACs 提供優勢,因為金鑰材料完全在內部產生和使用 AWS KMS,但需受您在金鑰上設定的存取控制所限制。
提示
最佳實務是建議您限制任何簽名機制 (包括 HMAC) 的有效時間。這可以阻止攻擊者使用簽署的訊息反覆建立有效性攻擊或在訊息被取代很長時間後反覆建立有效性攻擊。HMAC 標籤不包含時間戳記,但您可以在字符或訊息中包含時間戳記,以幫助您偵測何時重新整理 HMAC。
- 支援的密碼編譯操作
-
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 支援的所有 都支援 HMAC KMS AWS 區域 金鑰。
進一步了解
-
若要建立 HMAC KMS 金鑰,請參閱 建立 HMAC KMS 金鑰。
-
若要建立多區域 HMAC KMS 金鑰,請參閱 中的多區域金鑰 AWS KMS。
-
若要檢查 AWS KMS 主控台為 HMAC KMS 金鑰設定的預設金鑰政策差異,請參閱 允許金鑰使用者在密碼編譯操作中使用 KMS 金鑰。
-
若要識別和檢視 HMAC KMS 金鑰,請參閱 識別 HMAC KMS 金鑰。
-
若要了解有關使用 HMAC 建立 JSON Web 字符的詳細資訊,請參閱《AWS 安全部落格》中的「如何在 AWS KMS內保護 HMAC
」。 -
在官方 AWS Podcast 上收聽 Podcast:AWS Key Management Service的 HMAC 簡介
。