ウォレットの種類別セキュリティ ~取引所とウォレットどちらにどのように保管すべきか~

ビットコインは日本円などの法定通貨と比べ、現状では盗難や紛失により資産が失われてしまうリスクの高いものです。

ビットコインの最低限の仕組み・用語の意味や保管方法ごとのリスクについてしっかりと理解しておくことで、大幅なリスク軽減につながるため、ここでは取引所や各種ウォレットのセキュリティについて解説します。

前提知識

ウォレットを使用する上では、最低限以下の用語の意味を理解しておきましょう。

アドレス

ビットコインにおける「口座番号」の役割を果たしています。ただし、銀行の口座とは異なり、非常に簡単にいくつでも無限に作成・保有することが可能でプライバシー等のために毎回新規作成することもある程なので、「メールアドレス」に例えられることもあります。アドレス(+秘密鍵)の集合のことを「ウォレット」と呼びます。

ビットコインアドレスは1、3、bc1などからはじまる英数字の羅列です。一定の規則に従ってビットコインアドレスは作成されるため、送金先アドレスのコピーが一文字足りなかったり入力ミスで何文字か間違えてしまったりしても、アドレスとしては無効なものと判定され送金不能となるので別のアドレスに送られてしまうことはありません。

秘密鍵(プライベートキー)

送金のための「暗証番号」や「パスワード」の役割を果たしています。ふつう、一つのアドレスに対してただ一つの秘密鍵が対応しており、従来システムの暗証番号やパスワードとは異なり、秘密鍵のみからアドレスを算出することが可能なので、秘密鍵を他人に見られると簡単にビットコインを盗難されてしまいます。

ビットコインアドレスと同様の英数字の羅列のかたちで表現されますが、どのウォレットでも特別な操作をしない限り秘密鍵が画面に表示されることは通常ありません。送金の際にはウォレットソフト内部に含まれている秘密鍵を使用する作業が行われています。

復元用フレーズ

最近のウォレットのほとんどで用意されているのが復元用のフレーズです。リカバリーフレーズ、パスフレーズ、シードなどとも呼ばれ、12単語から24単語の英単語または日本語の単語で構成されることが多いです。

フレーズは無限に近い複数の秘密鍵のマスターキーの役割を果たしており、一つのフレーズから同じ秘密鍵のセットを作成することが可能です。秘密鍵からは直接アドレスが算出できるので、同時にアドレスも判明します。

ビットコインを保管している端末が故障しても、フレーズさえ安全に保管しておけば別の端末からウォレット内のアドレス(+秘密鍵)をすべて復元することができます。逆に、他人にフレーズを見られるとウォレット内のすべてのビットコインを盗み取られてしまいます。

ビットコインを失うリスクについて

ビットコインを失うリスクには、大きく分けて「盗難リスク」と「紛失リスク」の二つがあります。盗難リスクは悪意のある他人にビットコインを盗まれてしまう危険性であり、紛失リスクはビットコインの秘密鍵の場所が分からなくなって送金できなくなってしまう危険性です。

ビットコインは運営主体がおらがず特定の企業や国が破綻しても存続できるのが大きな特徴ですし、当サイトでは、紛失リスクよりも盗難リスクの軽減を重要視し、最も盗難リスクが高いと思われる取引所を多額のビットコインの保管に利用することは非推奨の立場をとっています。ただし、二つのリスクはトレードオフ的な関係にあり、万能で絶対に安全であるという保管方法はないので、どの保管方法にどのようなリスクがあるかというのを理解してどこに保管しておくかを個人の価値観によって判断するのが重要となります。

仮想通貨コミュニティの反応を見ていると盗難によりビットコインを失う場合より紛失によりビットコインを失う場合の方が多いようにも感じられますし、ウォレットを安全に使うのには最低限の知識も必要です。投資・投機目的で買っただけでコンピュータ関係や自分で色々調べたりすることも苦手という方は、むしろウォレットではなく取引所に保管しておいた方が良い場合も多いです。

ウォレットに仮想通貨を保管していて資産を失うのは復元用フレーズを無くしたときが一番多いケースなので、復元用フレーズは絶対に無くさないように保管しましょう。

保管方法別のリスク

以下より盗難リスクが高いと思われる順に保管方法ごとのリスクを解説します。

①取引所や秘密鍵を預けるウェブウォレット(カストディアルウォレット)

仮想通貨を取引所(ウォレット)の運営企業に預けるタイプのもので、取引所が最も代表的です。他者に仮想通貨を保管・管理(Custody)してもらうことからカストディアルウォレット(Custodial Wallet)とも呼ばれます。逆に②以降の自分で管理するウォレットはノンカストディアルウォレット(Non-custodial Wallet)と呼ばれ、当サイトではノンカストディアルウォレットのことを「ウォレット」と通常呼び、取引所をはじめとするカストディアルウォレットとは区別しています。

イメージとしては銀行に預けるのと同じです。ただし、最近法規制が始まったばかりの暗号資産取引所は長年の歴史がある銀行とは異なる点には注意しましょう。海外には取引所ではない秘密鍵を預けるタイプのカストディアルウォレットもあります。

盗難リスク

第三者にお金を預けることになるので、預けている取引所の内部システムが外部から不正アクセス・ハッキングを受けたり内部犯行により取引所自体の資産または顧客資産を盗まれる可能性があります。盗難時の被害額が大きい場合、倒産してしまい預けていたビットコインが返ってこないという事態も考えられます。ただし、倒産により資産が返ってこないリスクは2017年の仮想通貨法の施行を受けて登録制・認可制になったことで、日本の取引所ではある程度軽減されたものとは考えられます。

また同様にリスクが大きいのは、自分のアカウントに不正ログインされ、ビットコインを不正送金されてしまうケースです。二段階認証をかけていても突破される事例はありますし、銀行のインターネットバンキングの不正送金でさえ多く起きています。預金保護法で規制されている銀行の場合でも自分の過失(パスワードを自分の過失で流失等)による不正送金は全額補償はされませんし、補償についての法規制が全くない暗号資産取引所ではなおさら自己責任となる場合も多いと考えられるので十分注意しましょう。

紛失リスク

お金を預けているので、自分の不注意による紛失リスクというのはほとんどないと考えられます。ログインパスワードを紛失しても再設定が可能ですし、よっぽど顧客情報の管理がずさんな取引所でない限り、紛失リスクは無視できるでしょう。

その他のリスク

秘密鍵を自分で保有していないために、その他のリスクがいくつか存在します。送金手数料を自分で完全に自由には設定できないため早く送金完了させたくてもできない、出金には他人の許可が必要となるためそもそも送金実行に時間がかかる場合がある、など24時間365日いくらでも自分で送金が可能というビットコインの特徴が失われてしまうものです。しばらく放置していたら取引所が気が付かない間にサービス終了していて仮想通貨を取り出せなくなった、という可能性もあります。

それ以外にも、特にビットコイン以外の仮想通貨でよくあることですが、仮想通貨が分裂(ハードフォーク)して新しい仮想通貨が生まれた際に一方のコインしか受け取れない、ある仮想通貨の残高をもとに新たな仮想通貨・トークンを配布するようなプロジェクトの新コインを受け取れない、あるいは受け取れても時間がかかるなどのリスクが考えられます。

②秘密鍵を自分で管理できるウェブウォレット

Blockchain.com(旧Blockchain.info)に代表されるウォレット形式で、ウェブサイト上のアカウントベースの管理で異なるPCやスマホから同じウォレットに容易にアクセスできるウォレットです。使用上は便利といえますが、盗難リスク及び紛失リスクともに高いので現在はおすすめしておりません。

盗難リスク

お金を預けているわけではないので、ウォレット運営会社の倒産によるリスクはありませんが、取引所と同様にアカウントへの不正ログインによる盗難リスクがあります。

紛失リスク

秘密鍵や復元用のフレーズの情報は自分で管理することになるので、紛失リスクが発生します。

③オンライン環境下のソフトウェアウォレット(デスクトップウォレット、モバイルウォレット)

自分のPCやスマートフォンに秘密鍵(復元用フレーズ)を保管するタイプのウォレットです。ここから先の保管方法はすべて「タンス預金」に当たるもので、保管が完全な自己責任となります。

盗難リスク

PCやスマートフォンがウイルス感染したりハッキングを受けたりすることによって秘密鍵を盗み出される可能性があります。現状では、個人のPCに不正アクセスされるリスクは取引所のアカウントに不正ログインされるリスクと比較すると非常に小さいため、取引所の盗難リスクと比較すると大幅に安全だと考えられます。

ただし、ウイルス感染のリスクは一定程度あるので、オフライン環境下(コールドウォレット)または二段階認証の設定(マルチシグネチャウォレット)時以外基本的に多額の保管にはおすすめできません。一般的にPCよりもスマートフォンのほうがウイルス感染のリスクは低いといわれていますが、スマホにも詐欺アプリなどが存在しますし持ち歩く分端末自体の盗難のリスクはあるのでパスワード設定等は確実にしておきましょう。

紛失リスク

PCやスマートフォンの故障によるリスクはありますが、秘密鍵・復元用フレーズさえあれば復元が可能なので、その点はほとんど無視できます。ただし、自分で秘密鍵・復元用フレーズを管理することになるので、フレーズ自体の紛失のほか、メモし忘れやメモの間違い等があると紛失につながるので注意が必要です。間違いを防ぐために多くのウォレットでは確認画面が用意されていますが、そうでない場合は必ず自分で試すようにすると良いでしょう。

初期のウォレットの中には電子データ形式でしかバックアップがとれないものもあるので、その場合はデータの破損・紛失リスクが発生します。

④オフライン環境下のソフトウェアウォレット(デスクトップウォレット、モバイルウォレット)

インターネットに接続された端末と接続されていないオフライン環境下の端末の2台を用意し、秘密鍵を保管するオフライン端末上で送金データを作成した後、送金データを秘密鍵を保管していないオンライン端末に移して送信する方法(コールドストレージ機能)です。④以降のオフライン環境下のウォレットはコールドウォレット、③のようなオンライン環境下のウォレットはホットウォレットとも呼ばれます。

通常のソフトウェアウォレットより安全ですが、2台の端末が用意できるのであれば、最後に説明する「マルチシグネチャウォレット」としても作成することもおすすめします。

盗難リスク

インターネットに接続していない端末のみに秘密鍵を保存することになるので、通常のソフトウェアウォレットよりは盗難リスクが低いと考えられますが、USBメモリを通じてウイルス感染する可能性もあるので注意が必要です。

紛失リスク

通常のデスクトップウォレットやモバイルウォレットと同様にフレーズのメモ忘れや間違い、メモの紛失が紛失リスクとなります。

⑤ペーパーウォレット

紙媒体などに秘密鍵を印刷することにより長期保管する方法です。セキュリティ上、一度秘密鍵を読み取ると使用不可となり長期保管専用なのがデメリットと言えます。また確実に安全に保管するにはウイルス感染していないPCで安全なツールを実行する必要があるので、次のハードウェアウォレットよりは初心者が安全に利用するのは難しいです。

盗難リスク

秘密鍵の作成ツールをダウンロードしてオフライン環境下のPCで秘密鍵を作成、印刷することによりビットコインを保管します。ツール自体にウイルスや悪意のあるコードが混入していたり、作成するPCがウイルス感染していると、盗難されるリスクとなります。

ただし、作成時と読み取り時以外は物理的に盗まれることしか一切盗難リスクが発生しないので、正しく作成さえできれば最も盗難リスクが低い保管方法です。

紛失リスク

これは自分で秘密鍵を保管するタイプのウォレットすべてに共通することですが、紙に印刷することになるので、紙自体の紛失リスクや劣化リスク等があります。ただし、ペーパーウォレットは、英単語などから構成されるフレーズではなく無秩序な英数字の羅列からなる秘密鍵を直接印刷することになるので、一文字でも正しく読み取れないと秘密鍵の推測が不可能で資産の紛失によりつながりやすいといえます。

そのため、他の保管方法でも同様ではあるのですが、より一層紙自体の保管方法に気を使う必要があります。例えば金属等に刻印することを含め劣化に強い材質のものを使用したり、火事対策に耐火金庫に入れたり、複数同じものを印刷して分散保管することなどが考えられます。

⑥ハードウェアウォレット

専用の端末に保管する方法で、実質的に送金時以外はインターネットに接続されていないオフライン環境に保管することになるので、最も安全な保管方法の一つです。セキュリティ部分をほとんど専用端末に任せられる分、初心者でも安全に利用できるのがメリットですが、やや高価で特に公式からの購入は海外からの輸入となるので同時に初心者にはハードルが高いのがデメリットです。

盗難リスク

購入前に悪意のあるコードを仕込まれていたり何らかの脆弱性により盗難される可能性もゼロではありませんが、総合的に見て最もリスクが低い保管方法だと考えられます。現実的に最も大きいリスクは購入時なので、公式または公式代理店以外からは絶対に購入しないようにしましょう。使い方さえ覚えれば事前に難しい知識をもつことなく安全に使用できるので、購入する必要がある点を除いては、ウイルス対策により気を使わなければならないペーパーウォレットよりも万人にすすめやすいです。

紛失リスク

ウォレット端末が故障する可能性もあるので、他の保管方法と全く同じ復元用フレーズの紛失リスクが存在します。ハードウェアウォレットに保管しているから安心と油断して、フレーズのメモの管理を疎かにしていると、端末が故障したときに資産を失ってしまうので十分注意しましょう。

全般的なセキュリティ向上策

すべての保管方法に共通するリスク軽減策として以下のようなものがあります。

分散保管

絶対に安全な保管方法というものはありません。そのため、万が一を考えて、例えば複数の取引所を利用したり、複数のハードウェアウォレットを購入したり、取引所とデスクトップウォレットとペーパーウォレットに分けておくなど、資産を分散しておくことが重要です。

また複数種類の仮想通貨を同時に保管できるウォレットは便利で需要も高いと思われますが、仮想通貨の種類ごとに別のウォレットを使う方がセキュリティ面で言えば分散保管の一環になり望ましいです。

マルチシグネチャアドレス(ウォレット)

マルチシグネチャアドレスとは、送金のために1つのアドレスに対し複数の秘密鍵(実用的には複数のフレーズ)が必要になる特殊なアドレスのことです。③以降のノンカストディアルウォレットで利用できます。

エスクローや複数人による共通の資産の管理など様々なマルチシグネチャを利用した応用がありますが、個人のビットコイン管理で使う際には二段階認証的な役割を果たし、利用にはPCとスマホや2台のPC等複数の端末が必要となります。セキュリティはやや落ちるものの、秘密鍵のうちの一つをサービス会社に預けることで一つの端末だけで二段階認証的にマルチシグネチャウォレットを使えるソフト・アプリもあります。

送金に複数の端末(内の秘密鍵)が必要となることで、ウイルスやハッキングによる盗難リスクを大幅に減らすことが可能となります。ただし、その分複数の復元用フレーズをすべて安全に保管しなければならず、紛失リスクは増加してしまいますので、十分検討の上利用してください。物理的な盗難リスクをあえて軽視して復元用フレーズをまとめて紙にメモしておくなどの工夫もアリです。

マルチシグネチャウォレットは取引データのサイズが大きいため送金手数料が上がってしまうというデメリットもあります。新たなアドレス形式であるbc1からはじまるSegWitアドレス(またはTaprootアドレス)を使用すると大幅に手数料が削減できるので、マルチシグでは新形式のアドレスを使用することをおすすめします。

送金の手間などは増えますし利便性も損なわれるので、シングルウォレットでも十分にセキュリティが担保されているハードウェアウォレットにおいては、必ずしも利用はおすすめしません。

2of2のマルチシグネチャアドレス

通常、m of nのマルチシグネチャアドレスといったとき、n個存在する秘密鍵のなかで送金にm個の秘密鍵を必要するアドレスのことを指します。2 of 2なので、2個中2個の秘密鍵を使えば送金が可能なアドレスということになります。2段階認証としてマルチシグネチャウォレットを使うときは、これが最も基本なかたちになります。

2of3のマルチシグネチャアドレス

盗難リスクを大幅に抑えつつ紛失リスクも軽減するために、2of3のマルチシグネチャの利用も考えられます。この場合、例えば3つのフレーズを、自分が住む家、家族・親戚が住む別の家、銀行の貸金庫にそれぞれ分散して保管しておけば、どれか一つを紛失しても二つのフレーズが安全であれば送金できることになります。

ただし、2of3は3つの復元用フレーズまたはマスター公開鍵(秘密鍵の情報は含まれていないがウォレット内のすべてのアドレスを復元できるマスターキー)からアドレスを算出するため、2つの復元用フレーズだけでは資産を復元できず保管の仕方によっては紛失リスクは逆に増加します。3つのマスター公開鍵すべてを列記したものを、それぞれの復元用フレーズと合わせて保管しておくと良いでしょう。

※特に企業に秘密鍵の一部を預けるマルチシグウォレットの場合、実際にどの復元用フレーズをバックアップしておけばよいかは、ウォレットソフト・アプリによって異なります。例えば、Electrumの2段階認証ウォレット(ソフト上ではマルチシグと別の扱い)は、原理的には2of3のマルチシグネチャウォレットなのに1つのフレーズのバックアップだけで済みます。そうでなくてもマルチシグは複雑なので、初めて使う際はテスト用のウォレットを作成しどのようにして復元できるかを確認すると良いでしょう。

オープンソースとクローズドソース

ウォレットのセキュリティを考える上では、オープンソースとクローズドソースという考えがあります。ウォレットに限らず一般的に、プログラムのソースコードを公開していることをオープンソースと言い、逆にソースコードを非公開にしていることをクローズドソースと言います。

クローズドソースにはどんなコードが含まれているか分からないので、実は秘密鍵を外部サーバーに送信するコードがそのソフトに含まれているなどの悪意がないことを信じなければなりません。また仮に悪意のあるソフトウェアでなくても、セキュリティ上の脆弱性があった場合にコードが公開されていないので見つけられる人が限られており、長期間脆弱性が放置され得るというリスクがあります。

オープンソースでは、自分でコードを検証できるため根本的に開発者やソフトを信頼して使う必要がありません。また、コードが公開されている分脆弱性が発見されやすくすぐに修正されることが期待できます。ソフトの開発者が開発を止めてもオープンソースならばソースが公開されているので、誰かが開発を引き継げるというメリットもあります。

ただし、セキュリティ面でいうと、オープンソースはちゃんとコードを検証する人や開発に参加する人が少なければ脆弱性も簡単に放置され得る一方、クローズドソースは開発者さえきちんとしていればコードが公開されていない分攻撃者側から見ると脆弱性を見つけにくく攻撃しにくいというメリットにもなり得ます。このようにどちらも一長一短があり、細かい状況によってどちらがセキュリティに優れているのかは変わってくるのが実態です。そのため、クローズドソースのソフトを使ってる人に直ちにオープンソースのソフトに移行することをすすめるようなものではありません。

仮想通貨コミュニティ、特にビットコインのコミュニティでは、そもそもビットコイン自体がオープンソースであり透明性・分散性などが大きなメリットなので、ウォレットも同様に透明性・分散性をもつオープンソースの方がより信頼できるという声のほうが多いです。このような状況に合わせて、当サイトでは原則としてオープンソースのソフトウェアウォレットのみを紹介しています。

※Coinomiウォレットのようにオープンソースからクローズドソースに移行するもの、またその逆の場合もあります。ハードウェアウォレットのLedgerのように、専用のウォレットソフトはオープンソースでもファームウェアだけクローズドソースという場合もあります。オープンソースとクローズドソースの区分はグレー部分もあるので、信頼性が十分あると判断すれば完全なオープンソースでなくても紹介しています。

※ソースコードはGithubというサイトで公開されている場合がほとんどです。公開されているコードが配布されているソフトに含まれているコードと一致しているとは限らないので、実際にそのソースコードから作ったソフトが配布されているものを再現できる(reproducible)かが重要で、Githubのページがあっても完全なオープンソースとは限りません。

最終更新日: 2023年01月30日

コメント欄

コメントシステムを試験的に変更し、メールアドレスの入力やSNSからのログインを廃止しました。投稿後5分以内であれば編集や削除が可能です。その後に削除したいコメントがあれば依頼していただければこちらで削除いたします。

質問については出来る限りお答えしていますが、個人が運営している関係上対応の遅れや見逃し等限界もあるのでご了承ください。