中間者攻撃とリプレイ攻撃(man-in-the-middle attack / replay attack)

分類
テクノロジ系 セキュリティ
出る試験
基本情報応用情報
重要度
★★★☆☆

通信の間に割り込んで盗み見たり書き換えたりするのが中間者攻撃。盗み取ったやり取りをそのまま送り直すのがリプレイ攻撃。

もう少し詳しい説明

2つの違い

中間者攻撃リプレイ攻撃
していること通信の間に割り込む盗み取ったものを送り直す
攻撃する時点やり取りの最中やり取りのあと
中身を読む必要ある無い(そのまま送るだけ)
英語man-in-the-middlereplay(再生)

中間者攻撃

通信をしている2者の間に割り込み、双方に気づかれないまま中継する攻撃です。

利用者 →(割り込んだ側)→ 本物のサーバ
      ←              ←
できること中身
盗み見るやり取りの中身を読む
書き換える送金先や金額を差し替える
なりすます双方に対して、相手のふりをする

備えは、暗号化と相手の確認の両方です。

手立て効く理由
TLSで暗号化する割り込まれても中身が読めない
サーバ証明書を確かめる割り込んだ側を本物と取り違えない
証明書の警告を無視しない割り込みが起きていると、名前が合わない

暗号化だけでは足りません。 偽のサーバと暗号化して通信してしまえば、割り込んだ側には中身が見えます。相手が本物かを確かめる部分が、ここで効きます。

リプレイ攻撃

盗み取った認証のやり取りを、そのまま送り直す攻撃です。

成り立つ場面中身
同じ値を何度でも使える認証送り直すだけで通ってしまう
時刻の確認が無いいつ送られたものかを見ていない

中身を解読できなくても成り立ちます。 「同じものをもう一度送る」だけで済むためです。

備えは、同じものが二度通らないようにすることです。

手立て効く理由
ワンタイムパスワード1回使うと、その値は使えなくなる
チャレンジレスポンスサーバが毎回違う値を出し、それを使って応答させる
時刻を含める古いものを受け付けない
通し番号を含める同じ番号の2回目を受け付けない

チャレンジレスポンス

手順すること
1サーバが毎回違う値(チャレンジ)を送る
2利用者側が、その値とパスワードから計算した答えを返す
3サーバが同じ計算をして、合えば認証する

パスワードそのものが流れません。 しかも値が毎回変わるので、前回の答えを送り直しても合いません。

試験で並ぶ攻撃との区別

攻撃していること
中間者攻撃間に割り込む
リプレイ攻撃同じものを送り直す
ブルートフォース攻撃パスワードを片端から試す
辞書攻撃よく使われる語を試す
パスワードスプレー攻撃ありがちなパスワードを、多数のIDに少しずつ試す

前の2つは通信そのものを狙い、後の3つはパスワードを狙います。 狙う対象が違います。

試験ではこう出る

科目A(旧・午前)では、攻撃の名前と中身の対応が問われます。割り込むのが中間者、送り直すのがリプレイです。

備えとの組合せも出ます。中間者攻撃には相手の確認、リプレイ攻撃にはワンタイムパスワードやチャレンジレスポンスです。

午後や応用情報では、選択肢に並ぶ攻撃の1つとして出てきます。本文に書かれた状況から、どの攻撃が行われたかを選ぶ形です。

関連する用語

TLSとHTTPS
暗号化と相手の確認。中間者攻撃への備えになる
ブルートフォース攻撃
パスワードを試す攻撃。並べて出題される
デジタル署名
書き換えられていないことを確かめる仕組み
ワンタイムパスワード
1回だけ使える認証。送り直しが効かなくなる

ミニクイズ

リプレイ攻撃の説明として、最も適切なものはどれか。

正解は 4番:盗み取った認証のやり取りを、そのまま送り直して正規の利用者になりすます

リプレイ攻撃は、盗み取ったやり取りの内容をそのまま送り直す攻撃です。中身を解読できなくても、同じものを再び送れば認証が通ってしまう場合に成り立ちます。割り込んで中継するのは中間者攻撃、パスワードを固定してIDを変えるのはリバースブルートフォース攻撃、SQLの断片を入れるのはSQLインジェクションです。

間違えた用語の復習リストを見る →

この分野をまとめて解く → セキュリティのミニテスト(全47問)

最終更新:2026-11-09