基本情報技術者 2014年 春期 午前(科目A) 問36
問題文
メッセージ認証符号におけるメッセージダイジェストの利用目的はどれか。
選択肢
ア:メッセージが改ざんされていないことを確認する。(正解)
イ:メッセージの暗号化方式を確認する。
ウ:メッセージの概要を確認する。
エ:メッセージの秘匿性を確保する。
🔒 解説は解答すると表示されます
メッセージダイジェストの目的【午前解説】
正解の理由
メッセージ認証符号(MAC)は、メッセージの整合性(改ざんがないこと)と場合によっては送信者認証を保証する仕組みです。メッセージダイジェスト(ハッシュ値)はメッセージの固定長の要約(指紋)であり、受信側は受け取ったメッセージからダイジェストを再計算し、送信者側が示したダイジェスト(あるいは共有鍵を用いたダイジェスト)と比較することで、メッセージが途中で改ざんされていないかを確認できます。したがって「メッセージが改ざんされていないことを確認する。」が正解です。
解法ステップ
- 問題文のキーワードを確認:「メッセージ認証符号」「メッセージダイジェスト」。
- 用語の定義を思い出す:ダイジェスト=ハッシュ値、メッセージ認証符号=整合性(+認証)を目的。
- 選択肢を一つずつ照合して不適合を排除する:暗号化や概要確認は定義と一致しない。
- 鍵有無の違いを念頭に置き、整合性(改ざん検出)を選ぶ。
選択肢別の誤答解説
- ア: メッセージが改ざんされていないことを確認する。→ 正解。ダイジェストは整合性検査に使われ、MAC/HMACでは改ざん検出と認証に用いられます。
- イ: メッセージの暗号化方式を確認する。→ 誤り。ダイジェストは暗号方式を示すものではなく、メッセージ内容の要約(指紋)です。
- ウ: メッセージの概要を確認する。→ 誤り。人間が読む「概要」ではなく、データの指紋であり意味の要約ではありません。
- エ: メッセージの秘匿性を確保する。→ 誤り。秘匿性は暗号化(例:AES)で得られ、ハッシュ/ダイジェストは秘匿性を提供しません。
よくある誤解
- ダイジェスト=暗号化と誤解する:ダイジェストは要約(整合性確認)であり、秘匿(暗号化)を提供しません。
- ダイジェストが単独で送信者認証になると考える:鍵なしのハッシュは整合性検出には使えても送信者の真正性は保証しません。
- 「概要を確認する」=人間の要約と混同する:ダイジェストは機械的な指紋であり、内容の意味的な「概要」ではありません。
補足コラム
- ハッシュ関数とMACの違い:ハッシュ(SHA-256等)は入力の指紋を計算する一方、MAC(例:HMAC-SHA256)は共有鍵を用いて改ざん検出に加え送信者認証の性質を付加します。
- 古いアルゴリズムの注意点:MD5やSHA-1は衝突が実証されつつあり、整合性保証の用途では避けるべきです。代替はSHA-256以上やHMAC-SHA256等を使用します。
- 実務での利用例:メッセージ送受信時に送信側がHMACを付与し、受信側が同じ鍵で再計算して一致すれば改ざんされていないと判断します。
FAQ
Q1: ハッシュだけ送れば改ざん検出できませんか?
A1: ハッシュを送れば改ざんの検出には役立ちますが、攻撃者がハッシュを差し替える可能性があるため、共有鍵を使ったMAC(HMAC)が推奨されます。
A1: ハッシュを送れば改ざんの検出には役立ちますが、攻撃者がハッシュを差し替える可能性があるため、共有鍵を使ったMAC(HMAC)が推奨されます。
Q2: ダイジェストはどのくらいで衝突が問題になりますか?
A2: ハッシュ長とアルゴリズムに依存します。一般に衝突耐性が低下したアルゴリズム(MD5, SHA-1)は避け、SHA-256以上を使います。
A2: ハッシュ長とアルゴリズムに依存します。一般に衝突耐性が低下したアルゴリズム(MD5, SHA-1)は避け、SHA-256以上を使います。
Q3: デジタル署名との違いは?
A3: デジタル署名は公開鍵基盤で送信者の否認防止と整合性を提供します。MACは対称鍵で効率的に整合性と認証を提供しますが否認防止は弱いです。
A3: デジタル署名は公開鍵基盤で送信者の否認防止と整合性を提供します。MACは対称鍵で効率的に整合性と認証を提供しますが否認防止は弱いです。
関連キーワード: メッセージ認証、メッセージダイジェスト、MAC、HMAC、ハッシュ関数、整合性、改ざん検出、SHA-256、MD5、SHA-1

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

