シカラボ

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

シカラボ編集部
メッセージ認証符号(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は同じ鍵、デジタル署名は秘密鍵と公開鍵」です。鍵そのものの違いは共通鍵と公開鍵の記事で扱っています。

気をつけたいのは、改ざんに気づけるのが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アドレスとは別物。略語の後ろまで読む

メッセージから作る値を探しているのか、鍵の持ち方を聞いているのか。そこを見分けられれば、この分野の出題は読みやすくなるはずです。

この記事のタグ

関連記事