この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

メッセージ認証符号(MAC: Message Authentication Code)の利用目的を問う問題です。MACは、メッセージ本文と送受信者だけが共有する秘密鍵から計算される固定長の符号で、メッセージに添付して送信されます。受信者は受け取ったメッセージから同じ計算でMACを生成し、添付されてきたMACと一致するかを確認します。途中で第三者がメッセージを1ビットでも改ざんしていれば、計算したMACが一致しなくなるため、メッセージが改ざんされていないこと(完全性)を確認できます。アが正解です。さらに、正しいMACを生成できるのは秘密鍵を知っている相手だけなので、送信者がその鍵の共有者であることの確認(認証)にもなります。ただし、MACでは暗号化を行わないため内容の秘匿はできず、また送受信者が同じ鍵をもつため第三者に対する否認防止はできません。完全性の確認という目的はディジタル署名と共通しますが、署名は公開鍵暗号を使い否認防止まで実現できる、という違いも整理しておきましょう。

なぜ他の選択肢は違うのか

選択肢 イ
メッセージの暗号化方式を確認するという機能は、MACにはありません。暗号化方式(アルゴリズムや鍵長)の合意は、SSL/TLSのハンドシェイクのようなネゴシエーションの仕組みで行われるものです。MACはメッセージ内容の改ざん有無を検出する符号であり、使用する暗号方式の情報を伝達・確認するためのものではありません。
選択肢 ウ
メッセージの概要を確認するという記述は、メッセージダイジェスト(ハッシュ値)という言葉の「要約」というイメージに引きずられた誤りです。ハッシュ値もMACも内容の「要約」を人間が読んで概要を把握するためのものではなく、改ざん検出のための比較用データです。概要の確認という用途自体が存在しない点で誤りです。
選択肢 エ
メッセージの秘匿性(内容を第三者に読まれないこと)を確保するのは暗号化の役割です。MACはメッセージにコードを添付するだけで、メッセージ本文は平文のまま流れるため、盗聴されれば内容は読まれてしまいます。秘匿性が必要な場合は暗号化を併用する必要があります。「改ざん検出のMAC、秘匿の暗号化」と役割を区別しましょう。

解くときのポイント

MAC=共通鍵ベースの改ざん検出符号で、目的は完全性の確認。秘匿はできない(暗号化の仕事)。ディジタル署名との違い(署名は公開鍵方式で否認防止も可能)もセットで整理。