ビットコイン(仮想通貨)のセキュリティは破られたのか?仕組みを読み解く | SEの道標
NWセキュリティ

ビットコイン(仮想通貨)のセキュリティは破られたのか?仕組みを読み解く

事件が絶えない仮想通貨

ここのところビットコインの巨額盗難事件が立て続けに発生しています。

2018年1月26日に日本のコインチェック社が仮想通貨NEMを時価580億円分が盗難、同年2月9日にイタリアのBitgrail社が仮想通貨Nanoを時価212億円分が盗難に遭っています。もっと遡れば2014年に発生したマウントゴックス社の100億円盗難事件もまだ解決していません。

ビットコインのセキュリティは破られたのか?

ビットコインはセキュリティ上の問題を抱えた技術なのではないか?そんな疑問から、ビットコインの元になった論文を読んでみました。

https://bitcoin.org/bitcoin.pdf

この論文ではまずビットコインの構想(どのようなメリット・恩恵があるのか)が書かれており、以降は技術的な観点としてブロックチェーンの仕組みを説明しています。合計8ページ程度の比較的短い論文です。

この論文を踏まえ、これらの事件を見ていくと、論文の内容にセキュリティ上の問題は無い(少なくとも表層化していない)ことがわかります。

論文で書かれている内容のダイジェスト

まず論文ではビットコインで実現したいことは以下のことだと主張しています。

中央機関による信頼に基づく間接取引から脱却し、P2P(個人間)による証明に基づく直接取引を実現する

これはつまり、『銀行やクレジットカード会社といった取引の中心にいる機関を信頼し、それらを介して行う取引は、中央機関をただ盲目的に信頼するしか無いが、ビットコインを導入すれば、個人間で取引を行うことができ、それは信頼ではなく、ブロックチェーンによる証明に依るものである』ということです。

そして重要なポイントは、論文で技術の観点で論じているのは、複製可能な電子データであるビットコインを、如何に複製させずに送金できるかという点のみであることです。

つまり、本人の意思に沿った送金が為されるかどうかは、論文で論じていることの範疇外となっているのです。

結局何が問題なのか?

一連の事件から、現状の仮想通貨には2つの問題があると思います。

1つはブロックチェーンの持つ匿名性です。銀行では口座作成にあたっては個人名の特定が必須ですが、ビットコインは個人の特定なしに口座が作れます。なので盗難事件が起きても個人の特定が困難です。

もう1つは『ブロックチェーンは安全だ』ということを盲目的に信じ、論文の範疇外となっているセキュリティを疎かにしたことではないかと思います。

ブロックチェーンが安全というのはある意味正しいです。ただし、それは複製させずに使えるという意味であって、盗まれない、という意味ではありませんでした。

現実世界で実装する上では、厳重な盗難対策が必要だったのです。

コインチェック社における3つのセキュリティ上の問題

例えばコインチェックの盗難事件については、3つのセキュリティ上の問題があったと考えられます。

1つは、仮想通貨通貨を全て、オンライン(ホットウォレット)にしていたこと。

他の取引所等は通貨の一部のみをオンラインにして素早く送金できるようにし、大部分はコールドウォレットというオフライン運用をしています。これを実施していれば、被害額を抑えられたはずです。

2つ目は、マルチシグ非対応であったこと。

仮想通貨の送金時には秘密鍵による署名を行う必要がありますが、マルチシグという技術を使えば、仮に1つの秘密鍵をハッキングされたとしても、もう1つ(もしくはさらに複数)の鍵が無いので別の口座に送金はできなかったはずです。

コインチェック社はこともあろうに秘密鍵をハッキングされたサーバ上に置いて運用していたようです。

最後の1つは、そもそもハッキングされてしまっていたこと。

これに関しては実際にどうすればよかったか、という解答は分かりませんが、結果が示しているのではないでしょうか。

一番考えられるシナリオは、内部に協力者がいて、情報を外部にリークし、普通では思い付かないセキュリティホールを突いてきた、というあたりでしょうか。とはいえ重要なデータを保管する上で、インターネットからのアクセスを許すような構成であるのは信じがたいです。

ファイアウォールやWAF等のセキュリティ装置は付けていたのか、NW構成やサーバ構成が気になるところです。

まとめ

まとめとしては、ブロックチェーン自体のセキュリティは破られていないが、仮想通貨を実装するにあたってはブロックチェーンの範疇外のセキュリティはセットで考えなければならない、ということにつきると思います。

コメント

タイトルとURLをコピーしました