暗号通貨流出事件の本質は認証の突破 一般に、暗号通貨が「安全」と言われているのは、ハッシュ関数を応用することで、取引の改ざん、つまり過去の情報を書き換えたり、偽のトランザクションが作り出せたりしない仕組みになっているというブロックチェーンの仕組みを指している。しかし、コインチェックの暗号通貨流出事件の原因はこうしたブロックチェーンの仕組みにはない。原因がどこにあったのかというなら、事件を起こした交換所のシステムそのものの認証が突破されてしまったというところにある。 そもそも、ブロックチェーンの情報を操作するためには、ほとんどの場合、なんらかのウェブアプリケーションが介在していて、それをインターフェースとして機能する。ウェブアプリケーションというと、ウェブブラウザー上で動くアプリケーションのことと思いがちだが、ここではウェブサービスAPIを使っているアプリもウェブアプリケーションの1つといってよいだろう。ウェブサービスAPIを利用するのはなにも仮想通貨の交換所だけではなく、これらブロックチェーンの仕組みを取り入れた各種のサービスも同様である。 一般に、セキュリティとして、最も気を付けなければならないのは「なりすまし」「否認」「情報漏えい」の3つだといわれるが、とりわけ、今回の事件は「なりすまし」、つまり情報へ正規にアクセス権限がある人であるかのように振る舞われたというのが問題の本質である。 悪意のある人にとっての侵入経路は2つ考えられる。1つは認証の突破（なりすまし）であり、もう1つはソフトウェアの脆弱性である。最近では、さまざまな手法により、正規の人になりすまして、認証を突破しようというのがトレンドである。なぜならば、認証さえ突破できれば、ブロックチェーンの情報を改ざんするような困難なことに取り組まなくても、ブロックチェーンとして「正当な操作」をすることができ、自在にコントロールすることができるからだ。そのための手法としてのフィッシングはとても魅力的な手段である。今回のコインチェック事件では、具体的にどのような状況で当事者が陥れられたかは明らかになってはいないようだが、悪意のある人は、さまざまな情報を収集したうえで、ソーシャルエンジニアリング（人間の心理的なスキや行動のミスなど）を駆使して、巧みに陥れたということだろう。

常に変化する攻撃手法と継続した対応の必要性 過去の大規模なウェブ攻撃のトレンドを振り返ると、SQLインジェクションやクロスサイトスクリプティングといった手法が思い起こされる。これらも、そんなことはありえないだろうという「思い込み」が仇となった例である。最近では対策が進んだことから沈静化しているが、悪意のある人からすると、このように対策が取られれば、次々と新たな「思い込み」ポイントを探し出し、そこを突くような攻撃の手法を考え出して繰り出してくるという、「イタチごっこ」ともいえるような状況にある。いまの段階における対策が将来にも有効ということではないことにも留意すべきだ。 さらに、暗号技術の選択も重要な点である。残念なことに、一般に知られる暗号技術ではなく、よく知られていない独自の「謎な暗号技術」を使う例がいまだにある。一般に知られる暗号技術では処理が遅いことから、「謎な暗号技術」を採用することで、処理の高速化が実現できるということが顧客に対して、自社のアドバンテージとしてアピールできるというのがその理由のようだが、こうしたお手製のセキュリティ技術は容易に破られると知るべきだ。世界中で暗号技術の研究が進んでいるので、悪意のある人からしてもこうしたお手製技術はたいしたハードルにはならないのである。 そして、一般に現在のところ安全と言われている暗号技術であっても、いつかは死んでいく運命にあるということも念頭におくべきだ。過去にも安全といわれていたアルゴリズムは破られてきている。今後も、量子コンピューターなどで高速な処理が可能になれば、ますます早まることだろう。 つまり、暗号を使っているから安全と思うことも危険な「思い込み」の1つである。こうした暗号の特性を理解しながら、仮に認証が突破されたとしても、巨額の価値が流出するような最悪の事態に至らないようにするさまざまな工夫を考えるべきであろう。