基本情報 2022 サンプル問題 問32:テクノロジ系に関する問題
メッセージ認証符号の利用目的に該当するものはどれか。
- aメッセージが改ざんされていないことを確認する。正答
- bメッセージの暗号化方式を確認する。
- cメッセージの概要を確認する。
- dメッセージの秘匿性を確保する。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a です。
メッセージ認証符号(MAC)は、メールやデータに付ける“封蝋(ふうろう)”みたいなもの。送る人と受け取る人だけが知っている合言葉(共通鍵)を使って、メッセージから小さな印(タグ)を作って一緒に送ります。
受け取り側は同じ合言葉でもう一度印を作って比べて、ピッタリ合えば「途中で書き換えられてない!」と分かる仕組み。
👉 覚え方:MAC = “改ざんされてないか”を確かめる印
ほかの選択肢:b 暗号化方式の確認=別の話/c 概要を見る=要約の話/d 秘匿性(盗み見防止)=それは「暗号化」の役目で、MACの仕事じゃありません。
なぜこれが正解か
正解は a。メッセージ認証符号(MAC: Message Authentication Code)は、共通鍵とメッセージを入力にハッシュ関数等で固定長のタグを生成し、受信側で再計算・照合することで 完全性(改ざん検知) と 送信元認証 を保証する仕組み。HMAC-SHA256などが代表。
各選択肢の解説
- a:改ざん検知が主目的。正解。
- b:暗号化方式の確認はMACの役割ではない(ネゴシエーションはTLSハンドシェイク等の役目)。
- c:概要確認=要約/メタデータの話で別物。
- d:秘匿性確保は 暗号化 の役割。MACはデータを暗号化しない。
覚え方・ひっかけ注意
セキュリティの3要素 CIA(機密性Confidentiality/完全性Integrity/可用性Availability)のうち MACは Integrity 担当。「暗号化=秘密にする」「MAC=書き換え検知」を分けて覚える。d の秘匿性に引っかからないこと。
理論的背景
MACは大きく3方式。(1) HMAC(RFC2104)はハッシュ関数(SHA-2/SHA-3)を ipad/opad で二重適用しkey extension攻撃を防ぐ。(2) CMAC/CBC-MACはブロック暗号(AES等)ベース、CCMやGCM-SIVなど認証付き暗号モードに発展。(3) Poly1305(ChaCha20-Poly1305、RFC8439)はwNAF/多項式評価で高速、TLS1.3標準。
デジタル署名との違いは鍵方式:MACは共通鍵で 第三者証明・否認防止は不可、署名は公開鍵で否認防止可能。秘匿性と完全性を同時に得るには 暗号化と認証を別々にするのではなく、AEAD(Authenticated Encryption with Associated Data:AES-GCM、ChaCha20-Poly1305)を使うのが現代標準。
実務での使われ方・関連規格
TLS1.2まではEncrypt-then-MAC/MAC-then-Encrypt議論があり、後者はLucky 13攻撃の温床に。TLS1.3ではAEAD一択に整理。JWT(JSON Web Token)のHS256もHMAC-SHA256で署名部を生成。API認証ではAWS Signature V4がHMAC-SHA256で日時・リージョン込みのタグを生成。
試験での位置づけ
基本情報では「MAC=完全性」を選ばせる定番出題。応用情報・情報処理安全確保支援士ではHMAC構造、AEAD、リプレイ攻撃対策(タイムスタンプ・ナンス併用)まで問われる。MACアドレス(媒体アクセス制御)と語が同じため文脈で区別する力も問われる。
選択肢の発展補足
d の秘匿性確保=暗号化は、共通鍵暗号(AES)/公開鍵暗号(RSA・ECC)と組み合わせる「ハイブリッド暗号方式」が一般的。完全性のみで足りるケース(ログ・コマンド送信)ではMAC単独で運用される。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 2022 サンプル問題 問32/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。