MAC 署名

MAC 署名は、データの整合性と信頼性の検証に利用される暗号出力です。MAC 署名アルゴリズムでは次の 2 つの操作を実施できます。

  • 署名操作。署名鍵を使用して元データに対する MAC 署名を生成します。

  • 検証操作。署名鍵と検証する MAC タグに基づいて、メッセージの信頼性を検証できます

MAC 署名には主に 2 つの目的があります。

  • 署名されたデータの完全性を検証する。
  • メッセージの信頼性を検証する。

MAC 署名の目的はデジタル署名のそれに似ていますが、MAC 署名は対称暗号を利用します。MAC タグの生成と検証には同じ秘密鍵が使用されます。MAC 署名を使用するには、メッセージの送信者と受信者の両方が同じ鍵を持っている必要があります。

MAC 署名の使用例

鍵付きハッシュ メッセージ認証コード(HMAC)などの MAC アルゴリズムは、効率性に優れたファイル転送データの整合性チェック メカニズムです。ハッシュ関数は、任意の長さのメッセージを取り込み、固定長のダイジェストに変換できるため、帯域幅を最大限に活用できます。

MAC 署名ワークフロー

ここでは、署名の作成と検証のワークフローについて説明します。このワークフローは、データの署名者とデータの受信者で構成されます。

  1. 署名者と受信者が、特定の共有 MAC 鍵の使用に同意します。

    両者がこの鍵を使用して MAC 署名を作成または検証できます。

  2. 署名者は、データに対して署名操作を行って MAC タグを計算します。

  3. 署名者は、データと MAC タグをデータの受信者に渡します。

  4. 受信者は共有 MAC 鍵を使用して MAC 署名を検証します。検証が成功しなかった場合、データは改ざんされています。

署名アルゴリズム

Cloud Key Management Service は、MAC 署名に鍵付きハッシュ メッセージ認証コード(HMAC)アルゴリズムのみをサポートしています。HMAC アルゴリズムでは、SHA-2 や SHA-3 などの暗号ハッシュ関数を使用して MAC タグを計算します。HMAC 関数の強度は、ハッシュ関数の強度、ハッシュ出力のサイズ、鍵のサイズによって異なります。HMAC 署名アルゴリズムの詳細については、HMAC 署名アルゴリズムをご覧ください。

制限事項

Cloud KMS を使用して MAC 署名を作成または検証する場合は、次の制限が適用されます。

  • Cloud HSM 鍵を使用する場合、署名するファイルの最大サイズは 16 KiB です。

  • 他のすべての鍵の場合、署名するファイルの最大サイズは 64 KiB です。

次のステップ