この記事は日経 xTECH有料会員限定ですが、2018年3月25日5時まではどなたでもご覧いただけます。
仮想通貨の秘密鍵を保管する専用装置「ハードウエアウォレット」が売れている。仏レジャー(Ledger)の国内販売代理店であるEarth Shipによれば、580億円相当の仮想通貨「NEM」が流出したコインチェック事件の直後、レジャーのハードウエアウォレット「Ledger Nano S」の1日あたり販売台数が事件前の約50倍に膨らんだという。
秘密鍵は仮想通貨を自分の口座から別の口座に送金する際に使う。Webサービス上で秘密鍵を保管する「ウェブウォレット」やPCで保管する「デスクトップウォレット」と比べ、ハードウエアウォレットは秘密鍵をネットワークから物理的に切り離せるため安全と言われてきた。ところが、そのハードウエアウォレットを攻撃するマルウエアが現れた。
攻撃の手口を紹介する前に、Ledger Nano S(以下、Ledger)を例に、ハードウエアウォレットの初期設定や使い方について簡単に触れたい。まず、購入したユーザーは本体の操作に必要なPINコードを設定する。次に、24単語の「リカバリーフレーズ」がランダムにLedgerの有機ELディスプレイへ表示されるので紙に記録しておく。この24単語を基に秘密鍵が生成され、秘密鍵から公開鍵や口座アドレスが決まる。
PINコードを間違えたり忘れたりしても、記録しておいたリカバリーフレーズを再度入力すれば同じ秘密鍵を使える。秘密鍵が分かれば保有する仮想通貨は失われない。
送金や入金の手続きには「Google Chrome」上で動く専用の公式アプリのほか、本来はデスクトップウォレット用アプリである「Electrum」からもハードウエアウォレットを使える。これらのアプリに送金先アドレスや送金量を入力すると、アプリがトランザクション(取引)データを生成し、ハードウエアウォレットに送信。するとハードウエアウォレットが秘密鍵で電子署名を施し、アプリに返す。この過程で秘密鍵がPC側に漏れることはない。この署名済みデータをアプリがブロックチェーンネットワークに送信することで、送金が完了する。
マルウエアが狙うのは、取引データを生成するこれらのアプリだ。