メッセージ認証符号(MAC)とデジタル署名の違い|同じ鍵を共有するか、分けて持つか

「MAC」という3文字は、情報セキュリティマネジメント試験のシラバスに3回出てきます。ところが指すものは2種類しかなく、2回はネットワークにつなぐ口につく番号、残る1回がメッセージ認証符号です。この記事では、メッセージ認証を実現するMACを中心に扱います。仕組みと、デジタル署名との違いを、過去問の文言で整理してみましょう。
メッセージ認証とは
過去問は、こう聞いています。
メッセージが改ざんされていないかどうかを確認するために、そのメッセージから、ブロック暗号を用いて生成することができるものはどれか。
(出典:情報セキュリティマネジメント試験 平成30年春期 問24)
正解は「メッセージ認証符号」でした。メッセージ認証とは、簡単にいうと届いたメッセージが書き換えられていないかと、誰から来たかを確かめることです。過去問で問われるのは、おもに書き換えの確認のほうです。それを実現する方法の1つが、メッセージから作る値、メッセージ認証符号(MAC、Message Authentication Code)です。
シラバス(Ver.4.1)では、この2語が「情報セキュリティ技術(認証技術)」に置かれています。同じ枠にはデジタル署名も並びます。
一方、ログインやワンタイムパスワードは「情報セキュリティ技術(利用者認証)」という別の項目です。同じ「認証」でも、確かめるのはメッセージのほうだと押さえておきましょう。
具体例でイメージをつかむ
たとえば、経理システムが「A社に100万円を振り込む」という指示を送る場面を考えてみましょう。途中で「B社に」と書き換えられても、届いた文面を眺めただけではわかりません。
そこで送る側は、本文と鍵からメッセージ認証符号を作り、本文といっしょに送ります。受け取る側は同じ鍵で符号を作り直し、届いた符号と見比べます。一致しなければ、途中で書き換えられたと判断します。

方式が適切で符号が十分に長ければ、鍵を知らない人が書き換えた本文に合う符号を作るのは、現実的に困難です。ここが「書き換えに気づける」理由です。
では、その鍵はどんな鍵でしょうか。送る側と受け取る側が同じものを持つ、共通鍵です。ここが、このあと見るデジタル署名との分かれ目になります。
デジタル署名との違い
デジタル署名は、作成と検証で別の鍵を使います。令和元年秋期の問20では、作成に秘密鍵、検証に公開鍵という組合せが正解でした。同じ形は平成29年春期の問22とサンプル問題の問22にもあります。
目的の書かれ方も違います。
送信者が署名鍵を使って署名を作成し、その署名をメッセージに付加することによって、受信者が送信者を確認できるようにする。
(出典:情報セキュリティマネジメント試験 平成29年秋期 問24)
2つを並べてみましょう。
| 観点 | メッセージ認証符号(MAC) | デジタル署名 |
|---|---|---|
| 鍵の持ち方 | 送る側と受け取る側が同じ鍵を共有する | 作成は秘密鍵、検証は公開鍵と分けて持つ |
| 過去問での目的 | メッセージが改ざんされていないかを確認する | 受信者が送信者を確認できるようにする |
| 当事者以外の検証 | 同じ鍵を持つ相手どうしで確かめる | 送信者のものだと確認された検証鍵があれば、ほかの人も確かめられる |

覚え方は「MACは同じ鍵、デジタル署名は秘密鍵と公開鍵」です。鍵そのものの違いは共通鍵と公開鍵の記事で扱っています。
気をつけたいのは、改ざんに気づけるのがMACだけではないことです。デジタル署名でも、こんな選択肢が正解です。
文書ファイルが改ざんされていないこと、及びディジタル署名が署名生成鍵Yによって生成されたことを確認できる。
(出典:情報セキュリティマネジメント試験 平成28年春期 問23)
分けて覚えるなら、目的よりも鍵の持ち方を軸にすると混ざりません。
同じ「MAC」でも別物です
シラバスには、MACという略語が3か所に出てきます。
- 情報セキュリティ技術(認証技術): MAC(Message Authentication Code:メッセージ認証符号)
- ネットワークセキュリティ: MACアドレス(Media Access Control address)フィルタリング
- 通信プロトコル: MACアドレス
(出典:IPA「情報セキュリティマネジメント試験(レベル2)シラバス Ver.4.1」)
後ろの2つは同じで、ネットワークにつなぐ口に割り当てられた番号です。メッセージから作る値とは役目が別です。詳しくはMACアドレスの記事で扱っています。選択肢に「MAC」が出てきたら、後ろまで読んでみてください。
試験ではこう出る
セキュマネの平成28年春期〜令和元年秋期の午前8回と、令和5〜7年の公開問題・サンプル問題では、メッセージ認証が問われているのは4問です。押さえるのは次の2つ、符号そのものを選ばせる形と利用目的を選ばせる形です。
面白いのは、前者の3問が同じ文面なことです。平成30年春期の問24、令和元年秋期の問23、サンプル問題の問23が、選択肢までそろって同じでした。その1問は冒頭で引用したので、ここでは後者の形を解いてみましょう。
腕試し問題
出典:情報セキュリティマネジメント試験 平成31年春期 問26
メッセージ認証符号の利用目的に該当するものはどれか。
解答と解説
解説(解答せずに開けます)
正解はアです。
正答の理由
メッセージ認証符号は、本文と鍵から作った値どうしを突き合わせて使います。作り直した値が届いた値と合わなければ、途中で書き換えられたと判断します。こうして改ざんの有無を確かめるのが、符号の利用目的です。
誤答の解説
- ❌ イ「メッセージの暗号化方式を確認する。」→ どの方式で暗号化したかは、符号からはわかりません
- ❌ ウ「メッセージの概要を確認する。」→ 符号から本文の中身は読み取れません
- ❌ エ「メッセージの秘匿性を確保する。」→ 中身を守るのは暗号化の役目です
ポイント
- 符号がそろうかどうかで見るのは、中身ではなく書き換えの有無
- 「秘匿」が出てきたら中身を守る話。改ざんの確認とは切り分ける
署名の側からも見分けてみる
鍵の持ち方で分けて覚えられたか、署名側の出題でも確かめてみてください。
腕試し問題
出典:情報セキュリティマネジメント試験 平成30年春期 問29
ディジタル証明書をもつA氏が、B商店に対して電子メールを使って商品を注文するときに、A氏は自分の秘密鍵を用いてディジタル署名を行い、B商店はA氏の公開鍵を用いて署名を確認する。この手法によって実現できることはどれか。ここで、A氏の秘密鍵はA氏だけが使用できるものとする。
解答と解説
解説(解答せずに開けます)
正解はエです。問題は「A氏の秘密鍵はA氏だけが使用できる」と断っています。その鍵で作られた署名を公開鍵で検証できたなら、注文はA氏から出たものだと確かめられます。誤答は、内容の秘匿、注文の到達、販売の許可でした。中身を隠すのも、届くことを保証するのも、署名の役目ではありません。
まとめ
- メッセージ認証は、届いたメッセージが書き換えられていないかを確かめる仕組み
- それを実現する方法の1つがメッセージ認証符号(MAC)。ブロック暗号を用いて生成できるもの、と出題された
- デジタル署名は作成が秘密鍵・検証が公開鍵。MACは同じ鍵を共有する
- 改ざんに気づけるのは両方。分けて覚えるなら鍵の持ち方を軸にする
- MACアドレスとは別物。略語の後ろまで読む
メッセージから作る値を探しているのか、鍵の持ち方を聞いているのか。そこを見分けられれば、この分野の出題は読みやすくなるはずです。
この記事のタグ
- テクノロジ系
- セキュリティ実装技術
- メッセージ認証
- メッセージ認証符号
- デジタル署名


