スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2956
送信者と受信者が共通の鍵を共有し、メッセージの改ざん検知および送信者の正当性を確認するために利用される、暗号学的ハッシュ関数と共有秘密鍵を組み合わせて生成する値はどれか。

【正解の解説】

メッセージ認証コード

これは、親しい友人同士だけが知っている「合言葉」のようなものです。手紙の封筒に秘密の蝋印(ろういん)を押すイメージで、途中で誰かが手紙を書き換えていないか、本当にその友達から届いた手紙かを完璧に見破ることができます。共通の鍵を持つ二人の間でのみ通用する、強力なスタンプだとイメージしてください。

スポンサーリンク

【その他の選択肢の解説】

デジタル署名

メッセージ認証コードが「二人だけの合言葉」であるのに対し、デジタル署名は実社会の「印鑑証明書付きの実印」のようなものです。不特定多数の人に向けて「私が本物の作者です」と証明するために使われるため、鍵の仕組みや目的が異なります。試験では「共通鍵を共有する」というキーワードが出たらメッセージ認証コードを選ぶのが鉄則です。

共通鍵暗号

鍵を使ってデータをゴチャゴチャに書き換えて秘密を守るのが共通鍵暗号です。これに対し、メッセージ認証コードはデータの内容を隠すことではなく、「データが途中で書き換えられていないか」をチェックすることがメインの目的です。暗号化と改ざん検知は役割が違うため、この違いを混同しないようにしっかり区別して覚えましょう。

ハッシュ値

ハッシュ値はデータの「指紋」のようなもので、改ざん検知だけならこれ単体でも可能ですが、「誰が送ったか(送信者の正当性)」を証明することはできません。送信者を特定するために「共通秘密鍵」を掛け合わせるひと手間を加えたものがメッセージ認証コードになるため、秘密鍵の有無が大きな決定打となります。