より安全に電子署名・資産管理を!コールドウォレットを知る|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  より安全に電子署名・資産管理を!コールドウォレットを知る

より安全に電子署名・資産管理を!コールドウォレットを知る

2019.01.17

コラム

より安全に電子署名・資産管理を!コールドウォレットを知る

仮想通貨で大きな課題になるセキュリティ
インターネットの発明と普及に次ぐインパクトをもたらすと期待されるブロックチェーン技術概念において、それを基盤とする応用分野のうち、仮想通貨(暗号通貨)は先行した発展がみられている代表格といえるでしょう。

すでに多くの取引が活発に行われるようになり、独自に発行された仮想通貨を介した新たな経済圏の構築による社会的プロジェクトも多数立ち上がってきています。これらの中には高い将来性があると見込まれているものも多く、今後は、これまで解決が困難とされてきた複雑で大規模な社会問題を抜本的に解消する道を開いていくこととなるでしょう。

このようによりよい社会の実現でも、新たな資産運用方法としても、高い注目を集めている仮想通貨ですが、オープンなインターネット環境にあるブロックチェーンベースである以上、その上に構築した仕組みとして、セキュリティ対策は避けて通れない問題です。

資産管理や取引でも、あらゆる攻撃を考慮したリスク対策をとらねばなりません。セキュリティホールを突いた仮想通貨の大量流出・盗難事件は世界で相次いでおり、メディアでも大きく報道されています。今回は、そうした中で身につけておきたい基礎知識として、コールドウォレットによる対策とその有効性について考えていきましょう。

コールドウォレットの特徴をおさらい
仮想通貨のためのウォレットには、大きく分けて「ホットウォレット」と「コールドウォレット」があります。ホットウォレットは常時インターネットに接続され、オンライン上で管理されるタイプで、入出金が容易、すぐに電子署名が実行できるメリットがありますが、秘密鍵もオンラインになることがあるなど、本人認証における脆弱性、外部からのハッキング被害に遭うリスクの高さがデメリットになっています。

これに対し、コールドウォレットは、公開ネットワークから完全に隔離され、オフラインで管理するタイプのウォレットです。オフライン環境にあるため、ホットウォレットのようにインターネット上のブロックチェーンに記録された情報を直接取得することができなかったり、入出金・取引を実行する際に手間がかかったりといった面がありますが、不正アクセスやハッキング被害での資産流出・消失リスクを大幅に低減できる、安全面の大きなメリットがあります。

コールドウォレットにもいくつか種類があり、USBなどの物理的デバイスを用いるハードウェアウォレット、紙媒体に印刷するなどして保管するペーパーウォレット、鉄やメタルプラスチックに保管する物理ウォレット、脳だけで記憶するブレインウォレットといったものが該当します。

コールドウォレットの仕組み~なぜ安全?
仮想通貨のウォレットには、直接その資産が入っているのではなく、必要となるペアになった公開鍵と秘密鍵という暗号鍵の生成・管理機能が収められています。仮想通貨の取引では、銀行にあたる送金先アドレスと送金額を指定し、その取引データであるトランザクションを生成します。

秘密鍵は他人に知られてはならない、本人だけが厳重に管理すべきもので、コールドウォレットはこれをネットワークから完全に切り離した環境で管理します。取引では、秘密鍵から一方向関数にかけて作成・暗号化した公開鍵、同様の処理で生成したアドレスを公開します。

暗号の復号は正しいペアの秘密鍵、公開鍵でしか行えないため、電子署名が成立、秘密鍵を保有する本人であることが確認でき、その人だけが該当アドレス内の仮想通貨資産を動かせるようになっています。

ブロックチェーンに記録されるのは、トランザクションデータであり、秘密鍵以外に仮想通貨の所有権を保証するものはありません。ですから秘密鍵の情報が漏れてしまうと、資産も好きに利用されてしまうのです。

このように電子署名の仕組みは、仮想通貨を流通させる上できわめて重要な役割を担っているものであり、秘密鍵を管理することはイコール仮想通貨の資産を管理すること、取り扱いは厳重かつ慎重に行う必要があります。コールドウォレットを用いる場合も、USBや紙などその媒体管理に十分注意しましょう。

コールドウォレットの使い方
コールドウォレットを使う場合、そのままではオフラインにあるため、やや工夫が必要になります。受け取りの際は、さほど難しくありません。まずその方法をみていきましょう。

コールドウォレットをもとに、オフライン環境で秘密鍵とアドレスを生成します。送金を頼む相手にアドレスを伝え、送金後にオンライン上で着金を確認すればOKです。

次に出金する場合、資産を動かす場合ですが、こちらはオンライン環境のPCとオフライン環境のPCを併用するのが基本になります。最初にオンラインで未署名の状態にあるトランザクションデータを作成、QRコードなどの方法で出力します。

続いて別のオフライン状態にあるPCで、コールドウォレットの秘密鍵により、出力したトランザクションへの電子署名を行います。署名処理が完了したら、再びQRコードなどで出力させます。

オンライン環境のPCに戻り、署名後のQRコードを読み込んで、ブロックチェーンネットワークに送信、伝播すればすべて完了となります。これで秘密鍵をオンラインにすることなく、やりとりが行えました。

インターネット接続のPCに、コールドウォレットのUSBなど専用端末を直接、またはケーブルでつないで使うユーザーも少なくありませんが、これでは秘密鍵の管理は完全に切り離されておらず、ホットウォレットに比べてオンライン状態にある時間をより短くしたに過ぎません。リスクの低減になる可能性は高いものの、対策としては不十分でしょう。

コールドウォレットを、その特性を活かして安全な資産管理に用いるなら、オフライン環境で電子署名を行い、署名済みのトランザクションを物理的デバイスと人的操作によって接続環境に移動させて、その後にオンラインのネットワークへ配信するようにしてください。

▼DApps総研
https://dapps-info.com/

(画像は写真素材 足成より)