7月に起きた仮想通貨流出事件での教訓の1つに、高い技術をもったセキュリティでも破られてしまったということがあります。
なぜそれにも関わらず、今回のような結果になってしまったのか。そしてその教訓を、具体的にどのような形で活かしていくべきなのか。本記事でお話ししていきます。
高度な技術にも弱点はある
7月の流出事案から得れた教訓は、鍵の管理で高度な技術をもってどれだけ複雑性を高めても、メカニズム自体が解読されてしまうと、それは全く意味をなさないということです。
今回被害を受けた交換業者さんは、もしかするとホットウォレットの管理水準は、当社よりも高かった可能性はあります。でもだからといって、こちらが破られやすいかというとそうではありません。
当社はまた違う形で破られにくい状態を作っています。同じ土俵で戦っているわけではなく、違う土俵を作っている状況です。
ただ今回の事案から分かることは、おそらくどんなに複雑性が高かったり高度な暗号化であっても、もしくは高度な秘密鍵の分散化管理をしてブラックボックスを作った場合であっても、メカニズム自体が解読されたのであれば、ブラックボックスではなくなってしまうということです。
セキュリティにおける新たな課題
複雑な迷路でも、解き方によってはとても簡単になることがあります。ゴールから入っていって、線を引いていくと簡単に解けますよね。
例えば、IQテストで複雑な迷路を解く問題があって、真面目な子は頑張って解こうとしても解けなかったりしますが、ゴールから解く子はあっと言う間に解けたりします。
これは実はゴールから解けるかというのを試しているのですが、それと同様に、複雑なメカニズムであっても実は解読に難しくないというケースもあるでしょう。
そしてこれが、今回の事案で起こったことではないかと思っている部分でもあります。もしそうだとすると、複雑性を高める高度な暗号化、高度な分散化というのは、ホットウォレットを安全管理するということにおいて意味はあるのかなという気がします。
暗号化したとしても、どの暗号方式を使ったのかわかってしまったら復号化はできてしまいます。それに、世の中に暗号手法というのはたくさんあるわけでもないため、総当たりでやれば一週間もあればどれかわかってしまうでしょう。
暗号化とは、すごく高度なものにはできるけれども、汎用的なモジュールで構成されているプログラムを利用している限りにおいて言えば、どれを使っているのかということがわかれば、ブラックボックスではないということになってしまいます。
そうなった場合の次の議論としては、独自の暗号化をつくればいいじゃないかということになりますが、それができるのであれば、もはや仮想通貨交換事業をやめたほうがいいでしょう。セキュリティーのプロになったらいいんじゃないかと。技術的なことになるとどんどんそういったことになっていってしまいます。
やはり突き詰めていくと、オンライン上に存在する情報というのを、何らかの形でゼロにできるのかという哲学的な命題になってしまうでしょう。今はこの難しい問題に突き当たっているところなのかなと思っています。
アプローチは複数考えられる
オンライン上に存在する情報は、何らかの形で参照される可能性があるということを前提として、ホットウォレット自体の安全管理であったり、リスクを低減するというようなことであれば、どのようなアプローチの可能性があるのでしょうか。
例えばその1つとして、ウォレット自体を極端に数多く分散化してしまうという方法があります。ホットウォレットごとに存在する財産を極小化することで、システム処理自体の能力を引き上げるというのも一つのアプローチであり、今後はそういうところも研究していく必要があると思います。
またそれを検討する上で参考になるのが、インターネットの「ダークウェブ」です。ダークウェブは、元々軍事上の機密情報を暗号化し流すために作られたものです。
本来はそのような目的があったものの、これがオープンである理由は、こういったネットワークはクローズにしていてもハッキングされるリスクというのは必ずあって、却って開けていたほうが情報を紛らわせられるからです。
オープンにすることで、機密情報を流したい人がたくさん来ます。そうなると、軍の情報の何倍もの量の機密情報がやりとりされて、軍の情報はその中のほんの一部になり、紛れ込ませることができます。
そして、これと同じようなアプローチで、一つの真実に到達するための難易度を引き上げる方法の1つとして、情報を最大限小口分散化していろんなものに紛れ込ませて、特定する難易度をあげていくというものがあります。
また一方で、鍵自身をそのような状態に保つという方法もあります。例えば、秘密鍵を暗号化した場合、バイナリーデータになります。バイナリーデータを切って、インデックスをつけて振り分けて、いろんなものでごちゃっとしてあげるというイメージです。
また、例えば一つのファイルを100個に分けてあげて、それぞれの繋がりはこうですと配列は別のところに管理して、処理するときにその配列を持ってきて繋げて復号化してやるみたいなことをすると、外の人からはどのファイルをどう取って繋げないといけないか、判別することが困難になる状態を作ることができます。これも1つの方法なのかなと思います。
ただこれには欠点があって、軍事上の機密情報がカオスになったから、これがその情報ですよというのが受信している側はわかります。
それで、小口分散化した情報の中から、これが本当のデータですというのをわかる状態にするには、その台帳というのをどこからか持ってこなくてはならなりません。それは特権ユーザーしかアクセスできないところに隠蔽化されているであったり、またそれ自体を小口分散化しておくというような状況がありえます。その一番最初の原点になるソースの情報を取られてしまうと、複雑な迷路だったものが、結局ガラス張りのものになってしまうということになってしまいます。
簡単に言うと、技術的には複雑性をあげてカオスな状態を作れるのだけれども、カオスな状態から正しいものを見つけるというルールはあるわけで、そのルールを解析されてしまうと結局は解かれてしまうということです。
DMM Bitcoinは教訓をどう活かすのか
今回の事案でもそこまで徹底されていたのかは別として、それでも結局破られてしまう可能性があるとすると、リスクを低減したことでまた新たに高度なリスクが出てしまうということが起きてしまい、リスクの無限ループみたいなものが出てしまうのではないかなという気がしています。
それが、当社が今回の事案から得た教訓でもあります。お客様の利便性も高めながら安全性も高めるという両立をしていくのは、研究課題としてはありますが、今当社がそれをやるに値しているとは思っていません。それをやるとハッカーとの競争のような感じになってしまい、今の段階は違うというところです。
結果として当社はどうしていくのかというのは単純です。ホットウォレットを使わず、100%を超える形でコールドウォレットを使っていくということだったり、システムの自動処理はやめて、人がやるようにして日に数度変更するというようにしていくというところです。
出庫するときにも、一瞬ホットウォレットに入れますが、出庫する量だけを出して終わりというような形です。ローテクですが、基本的にはホットウォレット側に財産(当社の財産含め)を置くことをほぼほぼやめてしまうような形です。自分たちの財産を持たないといけないようなことであれば、他者のLPに送っておいていつでも取引できるようにしておくほうが安全なのではないかと思っています。
では、当社は、なぜ今はそのようなローテクな手段がベストであると考えるのか。またそれがお客様にとっても最も良い選択である理由については次回にお話ししていきます。
DMM Bitcoin独自の防衛策、「ローテクノロジー」だから実現する高いセキュリティ|DMM Bitcoinコラム(セキュリティ編)
次回記事はこちらから