本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
產生和驗證 MAC
訊息驗證碼 (MAC) 通常用於驗證訊息的完整性 (無論是否經過修改)。密碼編譯雜湊,例如 HMAC (以雜湊為基礎的訊息驗證碼)、CBC-MAC 和 CMAC (以密碼為基礎的訊息驗證碼),可透過加密提供額外的 MAC 寄件者保證。HMAC 是以雜湊函數為基礎,而 CMAC 是以區塊加密為基礎。此服務也支援 ISO9797 演算法 1 和 3,這是 CBC-MACs的類型。
此服務的所有 MAC 演算法會結合密碼編譯雜湊函數和共用私密金鑰。它們會接收訊息和私密金鑰,例如金鑰中的金鑰材料,並傳回唯一的標籤或 mac。如果訊息的某個字元變更,或私密金鑰變更,則產生的標籤會完全不同。透過要求私密金鑰,密碼編譯 MACs也提供真實性;如果沒有私密金鑰,就無法產生相同的 mac。密碼編譯 MACs 有時稱為對稱簽章,因為它們的運作方式與數位簽章類似,但使用單一金鑰進行簽署和驗證。
AWS 付款密碼編譯支援多種類型的 MACs:
- ISO9797 ALGORITHM 1
-
由
KeyUsageISO9797_ALGORITHM1 表示。如果欄位不是區塊大小的倍數 (TDES 為 8 個位元組/16 個十六進位字元,AES 為 16 個位元組/32 個字元, AWS 付款密碼編譯會自動套用 ISO9797 填補方法 1。如果需要其他填補方法,您可以在呼叫服務之前套用它們。 - ISO9797 ALGORITHM 3 (零售 MAC)
-
由
KeyUsageISO9797_ALGORITHM3 表示。適用與演算法 1 相同的填補規則 - ISO9797 演算法 5 (CMAC)
-
由
KeyUsageTR31_M6_ISO_9797_5_CMAC_KEY 表示 - HMAC
-
由
KeyUsageTR31_M7_HMAC_KEY 表示,包括 HMAC_SHA224、HMAC_SHA256、HMAC_SHA384 和 HMAC_SHA512