MAC の生成と検証 - AWS Payment Cryptography

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MAC の生成と検証

メッセージ認証コード (MAC) は通常、メッセージの完全性 (変更されているかどうか) を認証するために使用されます。HMAC (ハッシュベースのメッセージ認証コード)、CBC-MAC、CMAC (暗号ベースのメッセージ認証コード) などの暗号化ハッシュは、暗号化を利用して MAC の送信者をさらに保証します。HMAC はハッシュ関数をベースにしていますが、CMAC はブロック暗号に基づいています。このサービスは、CBC-MAC のタイプである ISO9797 アルゴリズム 1 および 3 もサポートしています。 MACs

すべての MAC アルゴリズムは、暗号化ハッシュ関数と共有シークレットキーを組み合わせます。これらはメッセージとシークレットキー ( キーのキーマテリアルなど) を使用して、一意のタグまたはmacを返します。メッセージの文字が 1 字でも変更されている場合、またはシークレットキーが同一ではない場合、結果として得られるタグはまったく異なるものになります。暗号化MAC は、シークレットキーをリクエストすることによって信頼性も提供するため、シークレットキーがなければ、同一の HMAC タグを生成することは不可能となります。Cryptographic MAC は対称署名と呼ばれることもあります。これらはデジタル署名のように機能しますが、署名と検証の両方に単一のキーを使用するからです。

AWS Payment Cryptography は、いくつかのタイプの MACs をサポートしています。

ISO9797 アルゴリズム 1

ISO9797_ALGORITHM1 KeyUsageの で表されます。フィールドがブロックサイズの倍数でない場合 (TDES の場合は 8 バイト/16 進数文字、AES の場合は 16 バイト/32 文字)、 AWS Payment Cryptography は ISO9797 パディング方法 1 を自動的に適用します。他のパディング方法が必要な場合は、サービスを呼び出す前に適用できます。

ISO9797 アルゴリズム 3 (リテールマック)

ISO9797_ALGORITHM3 KeyUsageの で表されます。アルゴリズム 1 と同じパディングルールが適用されます

ISO9797 アルゴリズム 5 (CMAC)

TR31_M6_ISO_9797_5_CMAC_KEYの KeyUsage で示されます。

HMAC

TR31_M7_HMAC_KEY including HMAC_SHA224、HMAC_SHA256、HMAC_SHA384、HMAC_SHA512の KeyUsage で示されます。