メッセージ認証符号(MAC)【情報処理安全確保支援士試験 令和6年度 春期 午前Ⅱ 問2】

情報処理安全確保支援士試験 令和6年度 春期 午前Ⅱ 問2

【出典:情報処理安全確保支援士試験 令和6年度 春期 午前Ⅱ(一部、加工あり)】

 送信者から受信者にメッセージ認証符号(MAC:Message Authentication Code)を付与したメッセージを送り、次に受信者が第三者に転送した。そのときのMACに関する記述のうち、適切なものはどれか。ここで、共通鍵は送信者と受信者だけが知っており、送信者と受信者のそれぞれの公開鍵は第三者を含めた3名が知っているものとする。

ア MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、受信者がメッセージの完全性を確認できる。
イ MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、第三者が送信者の真正性を確認できる。
ウ MACは、送信者がメッセージと受信者の公開鍵を用いて生成する。MACを用いると、第三者がメッセージの完全性を確認できる。
エ MACは、送信者がメッセージと送信者の公開鍵を用いて生成する。MACを用いると、受信者が送信者の真正性を確認できる。

情報処理安全確保支援士やネットワークスペシャリストの勉強、お疲れ様です! セキュリティ分野の学習は、覚えることがたくさんあって大変ですよね。今回は、そんな皆さんがよく耳にする「メッセージ認証符号(MAC:Message Authentication Code)」について、じっくりと掘り下げていきたいと思います。

「MACって何だか難しそう…」と感じる方もいるかもしれませんが、ご安心ください! 初心者の方にも分かりやすいように、具体的な例を交えながら解説していきますね。


メッセージ認証符号(MAC)って、そもそも何?

メッセージ認証符号(MAC)とは、「データの完全性」「メッセージの発信元の認証」を保証するための技術です。

少し専門的な言葉が並びましたが、簡単に言うと、以下の2つのことを同時に確認できる仕組みだと思ってください。

  1. 送られてきたデータが、途中で改ざんされていないか?
  2. そのデータが、本当に正しい相手から送られてきたものか?

イメージとしては、封筒に入った手紙に、差出人が「この手紙は私が書きました。内容もそのままです」という保証のハンコを押しているようなものです。


なぜMACが必要なの? その背景・経緯

インターネットが普及し、情報のやり取りが当たり前になった現代において、セキュリティの重要性はますます高まっています。特に、重要なデータや機密性の高い情報がネットワーク上を行き交う中で、以下のようなリスクが常に存在します。

  • データの改ざん(なりすまし)
    悪意のある第三者が、送受信途中のデータを書き換えてしまう。
  • なりすまし
    送信元を偽って、あたかも正規の相手から送られてきたかのように見せかける。

このような脅威から情報を守るために、データの「完全性」と「真正性」を確保する技術が求められるようになりました。そこで登場したのが、メッセージ認証符号(MAC)です。

以前は、単なるハッシュ関数(メッセージの要約値を作成する関数)を用いてデータの完全性を確認することもありました。しかし、ハッシュ関数だけでは「なりすまし」を防ぐことができません。なぜなら、攻撃者は改ざんしたデータに合わせてハッシュ値を再計算し、正規のハッシュ値であるかのように見せかけることが可能だからです。

この課題を解決するために、共通鍵暗号技術を組み合わせたMACが開発されました。MACは、送信者と受信者だけが知っている「共通鍵」を用いて認証情報を生成することで、なりすましや改ざんを防ぐことができるようになったのです。


MACはこんなところで活躍! 具体的な事例

MACは、私たちの身の回りにある様々なシステムで利用されています。

  • オンラインバンキング
    振り込みや送金などの取引データが改ざんされていないか、また、本当に自分が操作しているのかを確認するためにMACが使われています。もしMACがなければ、知らない間に口座からお金が引き出されてしまう…なんて恐ろしい事態も考えられますよね。
  • VPN(Virtual Private Network)
    企業ネットワークへの安全なリモートアクセスを実現する際に、通信されるデータが途中で改ざんされていないこと、そして接続元が正規のユーザーであることを確認するためにMACが利用されます。
  • ソフトウェアのダウンロード
    公式サイトからダウンロードしたソフトウェアが、悪意のあるプログラムに書き換えられていないかを確認するために、MACやデジタル署名が使われます。もし偽のソフトウェアをインストールしてしまったら、PCがウイルスに感染してしまう可能性があります。
  • 通信プロトコル(例:IPsec)
    インターネットプロトコルの一部であるIPsec(IP Security)では、通信の安全性を確保するために認証ヘッダ(AH)やカプセル化セキュリティペイロード(ESP)の中でMACが利用されています。

このように、私たちが安心してデジタルサービスを利用できるのは、MACをはじめとする様々なセキュリティ技術のおかげなんです。


MACにも課題が…

とても便利なMACですが、いくつか課題も存在します。

  • 鍵の管理
    MACは共通鍵暗号技術に基づいているため、送信者と受信者の間で安全に共通鍵を共有・管理する必要があります。鍵が漏洩してしまうと、MACのセキュリティも破られてしまう可能性があります。
  • 鍵の配送問題
    どのようにして安全に共通鍵を相手に渡すのか、という「鍵の配送問題」は常に課題となります。
  • 否認防止の難しさ
    MACは送信者と受信者が同じ共通鍵を共有しているため、メッセージを生成したのが「送信者である」ということを、受信者が第三者に対して証明することが困難です。これは「否認防止」の課題と呼ばれます。例えば、送信者が「そんなメッセージは送っていない!」と主張した場合、受信者はその主張を覆すことが難しいのです。

課題への対策と今後の動向

これらの課題に対しては、様々な対策が講じられています。

  • 鍵管理の仕組み
    鍵管理専用のシステム(Key Management System: KMS)の導入や、鍵交換プロトコル(例:Diffie-Hellman鍵交換)の利用により、安全な鍵の共有・管理が行われています。
  • 公開鍵暗号方式との組み合わせ
    否認防止の課題に対しては、デジタル署名という技術が有効です。デジタル署名は公開鍵暗号方式を応用しており、送信者だけが生成できる署名を用いて、送信者がメッセージを確かに作成したことを証明できます。MACとデジタル署名は、それぞれ異なる目的で利用されますが、両者を組み合わせてセキュリティを強化することもあります。
  • HMAC(Hash-based Message Authentication Code)
    現在主流となっているMACの方式の一つで、ハッシュ関数と共通鍵を組み合わせてMAC値を生成します。HMACは、広く普及しているハッシュ関数を利用できるため、実装が容易で、高いセキュリティ強度を持っています。
  • 量子コンピュータへの耐性
    将来的に量子コンピュータが実用化されると、現在の暗号技術の多くが解読される可能性があります。そのため、量子コンピュータにも耐性を持つ「耐量子暗号(Post-Quantum Cryptography: PQC)」の研究開発が進められており、MACにおいても耐量子性を持つアルゴリズムの研究が進められています。

まとめ

今回は、メッセージ認証符号(MAC)について、その定義から背景、具体的な事例、課題、そして今後の動向まで、幅広く解説しました。

  • MACは、データの完全性発信元の認証を保証する技術
  • インターネット社会において、データの改ざんやなりすましを防ぐために不可欠
  • オンラインバンキングやVPNなど、様々な場所で私たちの安全を守っている
  • 鍵管理や否認防止といった課題があり、デジタル署名やより安全なアルゴリズムの開発が進められている

情報処理安全確保支援士やネットワークスペシャリストの試験でも、MACは頻出テーマの一つです。今回の記事で、MACへの理解を深めることができたなら嬉しいです。

さて、問題の解説です

 送信者から受信者にメッセージ認証符号(MAC:Message Authentication Code)を付与したメッセージを送り、次に受信者が第三者に転送した。そのときのMACに関する記述のうち、適切なものはどれか。ここで、共通鍵は送信者と受信者だけが知っており、送信者と受信者のそれぞれの公開鍵は第三者を含めた3名が知っているものとする。

ア MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、受信者がメッセージの完全性を確認できる。
イ MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、第三者が送信者の真正性を確認できる。
ウ MACは、送信者がメッセージと受信者の公開鍵を用いて生成する。MACを用いると、第三者がメッセージの完全性を確認できる。
エ MACは、送信者がメッセージと送信者の公開鍵を用いて生成する。MACを用いると、受信者が送信者の真正性を確認できる。

ア MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、受信者がメッセージの完全性を確認できる。

 正解です。

  • MACは共通鍵とメッセージから生成される。
  • 受信者も共通鍵を持っているので、受け取ったメッセージとMACを検証できる。
  • 改ざんされていないこと(=完全性)を確認できる。

イ MACは、送信者がメッセージと共通鍵を用いて生成する。MACを用いると、第三者が送信者の真正性を確認できる。

 誤りです。

  • 第三者は共通鍵を知らないので、MACを検証できない。
  • 第三者にとってはそのMACが本当に送信者が作ったかどうかはわからない。
  • MACでは第三者への非否認性は保証できない。

ウ MACは、送信者がメッセージと受信者の公開鍵を用いて生成する。MACを用いると、第三者がメッセージの完全性を確認できる。

 誤りです。

  • MACは公開鍵暗号ではなく共通鍵暗号である。
  • 公開鍵を使うのは電子署名の話。
  • そもそも公開鍵ではMACは生成できない。

エ MACは、送信者がメッセージと送信者の公開鍵を用いて生成する。MACを用いると、受信者が送信者の真正性を確認できる。

 誤りです。

  • これもMACと電子署名の混同
  • MACは共通鍵を使う。
  • 公開鍵は使わない。

MACと電子署名の違い

特徴MAC電子署名
使用する鍵共通鍵(対称鍵)秘密鍵/公開鍵(非対称鍵)
目的完全性+認証(双方向)完全性+認証+非否認性
第三者による確認不可能(鍵が必要)可能(公開鍵で検証できる)