sg security_general crypto_auth access_control sg-security-overview
まず結論
メッセージ認証とは、「データが改ざんされていないこと」と「送信者が正しいこと」を確認する仕組みであり、SG試験では「電子署名との関係」で問われることが多い。
直感的な説明
たとえば、契約書を紙でやり取りするとき、
- 内容が途中で書き換えられていないか(改ざん防止)
- 本人が書いたものか(なりすまし防止)
を確認したいですよね。
これをデジタルで実現したのがメッセージ認証です。
「封筒の中身が変わっていない+送り主が本物」
この2つを同時にチェックするイメージです。
定義・仕組み
メッセージ認証は、主に次の2つの技術を組み合わせて実現します。
- ハッシュ関数
- 公開鍵暗号(電子署名)
基本の流れはシンプルです。
送信側
- メッセージからハッシュ値を作る
- そのハッシュ値を秘密鍵で暗号化(署名)する
- メッセージと署名を送る
受信側
- メッセージからハッシュ値を再計算する
- 署名を公開鍵で復号してハッシュ値を取り出す
- 2つのハッシュ値を比較する
→ 一致すればOK
- 改ざんされていない(完全性)
- 送信者が正しい(認証)
SG試験ではこの流れを丸暗記するのではなく、
👉 「送信者は秘密鍵」「受信者は公開鍵」
この対応関係を押さえることが重要です。
どんな場面で使う?
よく使われる場面
- 電子メールの送信(なりすまし防止)
- ソフトウェア配布(改ざん検知)
- 電子契約(本人確認)
SG試験での出題ポイント
SG試験では、
- 「改ざん検知なのか?」
- 「送信者確認なのか?」
- 「両方なのか?」
を判断させる問題が多いです。
👉 メッセージ認証は 両方を満たす仕組み
よくある誤解・混同
❌ ハッシュで元のメッセージに戻せる
→ できない(不可逆)
SG試験では
「ハッシュ値を復号して元のメッセージを得る」
と書かれていたら即NGです。
❌ 送信者は公開鍵で署名する
→ 逆です
- 正:秘密鍵で署名
- 誤:公開鍵で署名
👉 ここは超頻出のひっかけです
❌ 暗号化=メッセージ認証
→ 役割が違う
- 暗号化:盗み見防止(機密性)
- メッセージ認証:改ざん検知+送信者確認
👉 SG試験では「機密性」と「完全性」を混同させてくる
❌ 秘密鍵のハッシュ値を送る
→ 意味がない
送るのは
👉 メッセージのハッシュ値に対する署名
まとめ(試験直前用)
- メッセージ認証=改ざん検知+送信者確認
- 送信者:ハッシュ作成 → 秘密鍵で署名
- 受信者:ハッシュ再計算+公開鍵で検証
- 「秘密鍵で署名・公開鍵で確認」が判断基準
- ハッシュは元に戻せない(ここを狙った誤りに注意)
🔗 関連記事
- アクセス制御モデルとは?RBAC・ABAC・DAC・MACの違いを整理【情報セキュリティマネジメント】
- アクセス管理とは?特権IDとneed-to-knowで権限を適切に制御【情報セキュリティマネジメント】
- 攻撃者の種類とは?目的と特徴で整理する【情報セキュリティマネジメント】
- 認証・アクセス制御まとめ|SSO・MFA・ゼロトラストを体系整理【情報セキュリティマネジメント】
- 認証・認可・アクセス制御の違いとは?役割の切り分けを整理【情報セキュリティマネジメント】