リプレイアタック

ビットコインや暗号資産に関する、お役立ち用語をわかりやすくご紹介!

リプレイアタックとは

リプレイアタックは別名「反射攻撃」とも呼ばれ、有効なデータ(送金情報など)の転送が不正に繰り返されたり、遅延させられることによる攻撃のことを指します。よくある事例では、AさんがBさんにデータを送信する際、BさんはAさんにデータの送信元がAさんであるという証明(代表的なものはIDやパスワード)を求めます。しかしこのAさんであるという証明が傍受され、他人がAさんになりすまして、Bさんへのデータ転送を繰り返し行うといったものがあります。

暗号資産におけるリプレイアタックは、暗号資産が分裂して複数のブロックチェーンが生まれた際に起こります。例えば、とある通貨のブロックチェーンが2つに分裂したとします。その時に、AさんがBさん宛の送金を行うと、分裂した両方のブロックチェーンにこの送金情報が反映されてしまい、Aさんは2つの通貨をBさんに送ってしまうということが起こります。Aさん本人が両方をBさんに送金するつもりであれば全く問題ないのですが、もしそうでない場合、送りたくない通貨まで送ってしまうことになるのです。AさんはBさんに分裂した片方だけの送金を望んでいるのに、他者がもう片方にも送金情報のコピーを作り出して、Aさんの望まないような送金を行ってしまうことがリプレイアタックとされます。

リプレイアタックの対策方法とは?

こうしたリプレイアタックを防ぐために、暗号資産には様々なリプレイアタック対策が施されます。中でも代表的な対策が「リプレイアタックプロテクション」です。先程の例を使って説明すると、他者がAさんからBさんへの送金情報を片方のブロックチェーン上に不正に作成したとしても、ブロックチェーンにおける指定の署名がなければその送金が行われないという仕組みです。また送金手続きを行った際に、その取引を承認する為のワンタイムパスワードなどを利用することでも、リプレイアタックを回避することが可能です。