最終更新日:2026年5月20日
sg sg-security-overview crypto_auth it_security_operations
まず結論
メッセージ認証符号(MAC)は、メッセージが改ざんされていないかを確認するために、メッセージから生成して照合する値です。
SG試験では「改ざん検知の仕組みを選ばせる問題」で問われることが多いです。
このページで切り分けること(先にここだけ)
このページは、MAC(メッセージ認証符号)の役割を中心に整理します。
- MAC:改ざん検知と送信者確認(共有鍵ベース)
- 電子署名:改ざん検知+本人証明+否認防止(公開鍵ベース)
- ハッシュ:改ざん検知の材料になるが、鍵を使わない
迷ったら、 「共有鍵で照合する話か」 を見ます。 共有鍵でメッセージの正しさを確かめるならMACです。
SG試験で選択肢を切る判断軸(MAC編)
-
「送受信者が同じ秘密(共有鍵)を持つ」と書かれている → MACの話
-
「秘密鍵で署名し、公開鍵で検証する」と書かれている → 電子署名の話
-
「MACで内容を秘匿する(暗号化する)」と書かれている → 誤り。MACの主目的は改ざん検知と送信者確認
関連記事との役割分担(混同防止)
- MACと電子署名の違いを先に見たい → MACとデジタル署名の違いとは?改ざん検知と否認防止で整理【SG試験】
- 電子署名の仕組みを確認したい → 電子署名とは?本人証明と改ざん検知を整理【SG試験】
- HMACを確認したい → HMACとは?ハッシュと共通鍵でメッセージを認証する仕組み【SG試験】
直感的な説明
荷物に「封印シール」を貼るイメージです。
- 送るとき → メッセージから「チェック用の値(MAC)」を作る
- 受け取るとき → 同じ方法で計算して一致するか確認する
一致すれば「途中で開けられていない(改ざんされていない)」と判断できます。
👉 中身を見るのではなく、“変わっていないか”を確認する仕組みです。
定義・仕組み
メッセージ認証符号(MAC:Message Authentication Code)は、
- メッセージ
- 共有鍵(秘密のキー)
を使って計算される値です。
基本の流れはシンプルです。
- 送信側
- メッセージ + 共有鍵 → MACを生成
- メッセージとMACを送る
- 受信側
- 同じ方法でMACを再計算
- 受信したMACと一致するか確認
一致すれば
→ 改ざんされていないと判断
SG試験では細かい計算方法ではなく、
👉 「生成して照合する」流れが理解できているか が重要です。
どんな場面で使う?
使う場面
- 通信データの改ざんチェック(API通信・ログ転送など)
- システム間連携でのデータの信頼性確認
- 業務システムで「データが途中で書き換えられていないか」の確認
👉 現場では
「正しい相手から来て、内容が変わっていないか」を確認する用途で使います。
使うと誤解しやすい場面
- 内容を隠したい(機密性)
→ MACは暗号化ではない
よくある誤解・混同
SG試験ではここがよく狙われます。
❌ MACは暗号化の仕組み
→ ⭕ 改ざん検知の仕組み(内容は隠さない)
❌ パリティビットと同じ
→ ⭕
- パリティビット:単純な誤り検出
- MAC:鍵を使った改ざん検知(セキュリティ用途)
❌ 電子署名と同じ
→ ⭕
- 電子署名:公開鍵を使う(なりすまし防止・否認防止)
- MAC:共有鍵を使う(改ざん検知)
❌ PKIや証明書と同じ
→ ⭕
- PKI・証明書:鍵の信頼性を保証する仕組み
- MAC:データの改ざん確認
👉 SG試験では
「改ざん確認 → MAC」
「なりすまし+否認防止 → 電子署名」
で切り分けるのが重要です。
確認問題(SG試験対策)
メッセージが改ざんされていないかどうかを確認するために、そのメッセージからブロック暗号を用いて生成できるものはどれか。
- ア. PKI
- イ. パリティビット
- ウ. メッセージ認証符号
- エ. ルート証明書
▶ クリックして答えと解説を見る(ここを開く)
正解:ウ
解説
- ア:PKIは公開鍵証明書の信頼性を支える基盤であり、メッセージ本体から直接生成する値ではありません。
- イ:パリティビットは単純な誤り検出用で、暗号鍵を使った改ざん検知とは異なります。
- ウ:メッセージ認証符号(MAC)は、メッセージと共有鍵から生成し、受信側で照合して改ざん有無を確認します。
- エ:ルート証明書は証明書チェーンの信頼の起点であり、メッセージ改ざん確認の生成値ではありません。
👉 判断ポイント
「メッセージから生成して照合する改ざん検知」ならMACを選ぶ。
まとめ(試験直前用)
- MACはメッセージから生成して照合する改ざん検知の仕組み
- 共有鍵を使うのがポイント
- 暗号化ではない(内容は隠さない)
- 電子署名との違いを必ず区別する
- 「改ざん確認」と書かれていたらMACを疑う
👉 判断基準
改ざんチェック → MAC
本人証明 → 電子署名