ビットコインにおけるリプレイアタックと対処法

ビットコインの取引を行っている方の中では、ビットコインそのものは非常に堅牢な仕組みとなっていることはご存知であると思います。ビットコインは今でも多くの技術者によって検証され、改善が続けられています。ですが、技術者たちの努力にもかかわらずビットコインについては今もなお、セキュリティの話題が絶えません。

ビットコインのセキュリティ問題として、最も話題になったのは2014年2月、当時世界最大のビットコイン取引所だったマウントゴックスの破たんでしょう。他にも2016年にビットフィネックスという香港に本拠地を置く大きな取引所がハッキングを受け、約12万BTC、当時のレートで換算すると約80億円に値するビットコインが流出したという事件もあります。しかしマウントゴックスの破たんも、ビットフィネックスのビットコイン流出も、ビットコインの仕組みそのものではなく、ビットコインを取り扱う取引所の体制やシステムに脆弱性があったことを忘れてはいけません。

今回のコラムではビットコインにおけるリプレイアタックについて解説します。ビットコインにおけるリプレイアタックも、ビットコインそのものではなく、ビットコインを取り扱う際に生じる隙を突いた攻撃手法となりますので、上に移動ビットコインを安全に運用するために知っていただきたい知識です。

リプレイアタックとは

オンラインバンキングのような重要な情報を扱うシステムにログインするとき、一般にシステムとユーザ間でやりとりする情報を暗号化します。通常、悪意ある攻撃者がネットワークを流れる情報を盗聴し、ユーザのログインに関わるデータを手に入れたとしても、内容は暗号化されているので読み取ることができません。暗号化された情報はログインするシステム側でしか解読できません。

ところが、リプレイアタックでは「暗号化された情報を解読せず、暗号化されたままシステムに送信することでシステムへのログイン、もしくは送金の操作を行う」という手法を取ります。

簡易的な操作で解説をいたします。

AさんからBさんへ1万円の送金を行ったとします。Bさんはリプレイアタックとして、この操作を複製することで10万円でも20万円でも好きな金額を手にいれることが可能となります。

実際の操作はここまで単純でないものの、リプレイアタックは有効なデータを複製することで行われる攻撃となり、パスワードの漏洩に関係なく被害にあう可能性があり注意が必要です。

ビットコインにおけるリプレイアタック


リプレイアタックという言葉の意味を理解したところで、ビットコインにおけるリプレイアタックの危険性について考えていきましょう。通常ビットコインにおけるブロックチェーンでは、重複した複数の取引データの送信が行えない仕組みになっています。つまり通常ビットコインを扱う場合では理論上リプレイアタックは不可能であるといえます。

ところが、ビットコインにおいてもリプレイアタックについて注意が必要な場合があります。ビットコインにおけるリプレイアタックについても先述したリプレイアタックの仕組みを応用したものです。具体的には、悪意ある攻撃者が、複数の異なるブロックチェーンに対して同じ取引情報を記録しようと試みます。ビットコインのブロックチェーンは唯一のものであり、ビットコインの利用者全員によって検証されているため改ざんは困難です。
ビットコインでは重複した取引は送信を行うことができないはずですので、検証の際リプレイアタックにより取引は承認されることはなく、一見するとビットコイン取引においては、リプレイアタックによる不正な取引が成立することはありえないことのように思えます。ですが、例外としてハードフォークという現象が発生した場合、複数の異なるブロックチェーンが存在する状況になります。ハードフォークが行われば場合には、リプレイアタックによる被害を受ける可能性があるのです。

念のため、ハードフォークについても詳しく説明します。ハードフォークとはブロックチェーンの分岐を強制的に発生させることです。例えばビットコインの取引において重大な問題が発生し、悪意ある攻撃者にビットコインが盗まれたとします。このとき、ブロックチェーンのうちビットコインが盗まれる直前のブロックを参照し、そのブロックから新たなブロックチェーンを生成する、といった被害者への救済措置が考えられます。この新たなブロックチェーンを生成する、という行為がハードフォークです。実際、イーサリアムという仮想通貨において「The DAO」というプロジェクトが発起したものの、プロジェクトに集まった資金のうち三分の一が悪意ある攻撃者によって流出した、という重大な事件がありました。このときイーサリアムの開発チームは被害者への救済措置としてハードフォークを行い、攻撃を受ける前のブロックから新たなブロックチェーンを派生させました。多くのイーサリアム利用者は新たなブロックチェーンを選択しましたが、古いブロックチェーンを選択する利用者もいました。

先述したように、ビットコインにおけるリプレイアタックはハードフォークによって分岐した二本のブロックチェーンのうち、片方のブロックチェーンで実行された取引記録を、もう片方のブロックチェーンに対しても試みることのです。ハードフォークによって分岐したブロックチェーンと大元のブロックチェーンとの間で、同じ取引情報が有効となってしまう可能性があるのです。特にハードフォークが実施された直後は大元のブロックチェーンと分岐したブロックチェーンが同じブロックを参照しているため、同じ取引情報が有効となりやすいようです。分岐したブロックチェーンにおいてある人が実行した取引の情報を悪意ある攻撃者が盗み、大元のブロックチェーンに対して盗んだ取引情報をそのまま書き込むことに成功したとします。この場合、その人は分岐したブロックチェーンと大元のブロックチェーン、二つのブロックチェーンで同様の取引を行った、ということになってしまいます。

一般的なリプレイアタックに対する対処方法


最も一般的な対処方法はワンタイムパスワードを利用して二段階認証を行うことです。よく知られた利用例としてネットバンキングでの利用が挙げられます。ご存知の方も多いでしょうが、ワンタイムパスワードは一度きりの使い捨てのパスワードです。悪意ある攻撃者がリプレイアタックによる不正ログインを試みても、ワンタイムパスワードを用いなければならないために不正ログインの試みは防がれます。ワンタイムパスワードは一定時間内に一度のみ有効なパスワードフレーズであるため、悪意ある攻撃者はワンタイムパスワードを利用することはできません。

オンライン上のビットコイン取引所でも、ワンタイムパスワードを用いた二段階認証を利用している取引所があります。残念ながらハードフォーク時に発生するビットコイン特有のリプレイアタックに対しては効果がありませんが、日常的にビットコイン取引を行う際にセキュリティ対策を厳重にしておくことはとても重要です。ビットコインの取引所を選ぶ際には、いかにセキュリティ対策を講じているか、という点も考慮に入れましょう。

ハードフォーク時に発生しうるリプレイアタックへの対処方法
ハードフォークをするか否かは、ビットコインの参加者全体による多数決で決定されます。仕様やプログラムについても個人で変更できるものではありません。したがって、仮にハードフォークが発生した場合、個人がリプレイアタックに対して取りうる対処法は「ハードフォークによる悪影響が無いことを確認するまで取引を控えること」です。ハードフォークは仕様の変更に伴って行われることが多いため、もし変更された仕様に脆弱性があった場合、自分も被害者となる可能性があります。プログラムは決められた通りに動作しますが、プログラムを作成する人間は完璧ではありません。原始的な方法ではありますが、プログラムや仕様に脆弱性が無いことが確認されるまでは、取引を控えることが最も有効な防衛策であると言えるかもしれません。


今回のコラムではビットコインにおけるリプレイアタックについて説明しました。一般的なリプレイアタックは「情報が暗号化されていても、そのまま悪用することができる」ことを悪用したものであり、ビットコインにおけるリプレイアタックは「異なる複数のブロックチェーンに同じ取引情報を書き込むことができる」ことを悪用したものです。通常、ビットコインにおけるリプレイアタックは成立しませんが、ハードフォークが発生した場合にはリプレイアタックの被害を受ける可能性があるという点に注意する必要があります。

先述したイーサリアムでは被害者への救済措置としてハードフォークが行われましたが、ハードフォークは救済措置以外にも適用される可能性があります。例えばビットコイン・アンリミテッド (= Bitcoin Unlimited : BU) という、ビットコインのブロックサイズが小さいことに不満を持つ一部の利用者によって提唱されている仮想通貨の仕様が存在し、これはビットコインに対してハードフォークを行うことを想定しています。2017年12月26日時点において、ビットコイン・アンリミテッドは実現していませんが、いつか実現される可能性もあります。ビットコインを利用している方は、ビットコイン・アンリミテッドの動向について頻繁にチェックしておく必要があるでしょう。

関連記事

コメントは利用できません。

bitFlyer

最近の投稿

新着記事

  1. ビットコインの取引を行っている方の中では、ビットコインそのものは非常に堅牢な仕組みとなっていることは…
  2. ビットコインについて調べているとまず目にする国家の名前は中国、ギリシャ、キプロス、そして世界最大級の…
  3. ビットコイン投資に興味を持ったものの、ビットコインを始めとした仮想通貨がいったいどのようなものかわか…
  4. ビットコインをはじめとした仮想通貨は従来の通貨には無いユニークな特徴を多く持っています。世界各国の中…
  5. ブルームフィルタとは計算機科学におけるデータ構造の名前であり、ブルームフィルタは主に、スマートフォン…
  6. 行動経済学という比較的新しい学問が存在します。行動経済学は従来の経済学では説明できなかった現象を説明…
  7. 2017年5月末、日本国内でビットコイン取引所を運営しているビットポイントジャパンが大手コンビニチェ…
  8. ガイドラインとは様々な機関によって様々な位置づけで公表される、何らかの取り決めを記載した文書のことで…
  9. ビットコインの情報を調べていると、様々なお国事情を垣間見ることができます。情勢が不安定な国ほど自国の…
  10. 最近、ビットコインについて調べていると韓国の話題も目にするようになりました。韓国は元々、高速なインタ…
ページ上部へ戻る