情報セキュリティ講座(63) メッセージ認証
送信されたデータの内容が、途中で改ざんされていないかどうかを、認証するのが、メッセージ認証です。
MAC (Message Authentication Code)は、元のメッセージに、送信者と受信者が共有する秘密鍵で生成したコードを含めるものです。生成したコードから、メッセージがもともとの内容から改ざんされていないことがわかります。
HMAC (Hash based Message Authentication Code)は、MACの生成にハッシュ関数を用いるものです。より一般的に使用されます。
MACは相手を認証するためのものではありません。元のメッセージが、なりすまし者が送ったとしても、改ざんがなければ、不正とはなりません。相手を認証するためには、デジタル署名などの方法によらなければなりません。MACは秘密鍵を使用するので、それが漏洩してしまうと、不正な相手でも正しいMACを送ることができるからです。