メッセージ認証にて、メッセージが改ざんされていないかの確認に使われる。
過去問(H18秋SU午前問27)では、MACに関して、「送信者と受信者の共通鍵を元に,メッセージにハッシュ関数を適用して生成したもの」と述べられている。
ハッシュは、送信者と受信者での共通鍵で行います。

MACによるメッセージ認証(改ざんがされていないか)の流れを、次の図とともに説明します。
①送信者と受信者は、あらかじめ共通鍵を共有しておきます。
②送信者は、メッセージのハッシュ値であるMACを計算します。
③受信者に対して、メッセージだけでなく、MACも送ります。
④受信者は、受信したメッセージからMACを計算します。
⑤この値と受信したMACを比較します。両者が一致すれば、改ざんされていないことがわかります。
MAC_message_authentication_code_情報セキュリティスペシャリスト試験
過去問を見てみよう。
問48 送信者がメッセージからブロック暗号(方式)を用いて生成したメッセージ認証符号(MAC:message authentication code)をメッセージとともに送り,受信者が受け取ったメッセージからMACを生成して,送られてきたMACと一致することを確認するメッセージ認証で使用される鍵の組合せはどれか。

     送信者             受信者
ア 受信者と共有している共通鍵   送信者と共有している共通鍵
イ 受信者の公開鍵       受信者の秘密鍵
ウ 送信者の公開鍵       受信者の秘密鍵
エ 送信者の秘密鍵       受信者の公開鍵  (H18年春SM午前)
MACは共通鍵を使う。証明書を使わない。その分、簡単ではある。
一方、否認防止などはできない。
601a33a7 
なぜ?
不正な第三者は、共通鍵を入手できないはず。
だから、送信者しかそのメッセージを作れないから、否認防止効果があるのでは?
メッセージの受信者はそのメッセージを作ることができる。ディジタル署名の場合は、送信者の秘密鍵で暗号化するため、送信者でしか作成できない。だから、否認防止が可能になる。
前置きが長くなったが、この問題の正解はアだ。