以下素人日記。
最近ウォレットに対する規制がどんどん強化してきているように見受けられます。
ということで、昨年ぐらいから少しずつハードウェアウォレットやらデスクトップウォレット、モバイルウォレットなんかをなんとなく調べたり触ったりしています。
で、結論としてタイトルにあるのですが、結局どのウォレットにしようが何しようが、
「シードフレーズ」の管理をしっかりしないとどのウォレット使っても一緒
ってことになりました。超極論です。実際は全然違いますがここがしっかりできてないと超安全といわれているハードウェアウォレット使ってても無駄だよねって。
「ニーモニックフレーズ」や「パスフレーズ」「リカバリーフレーズ」とも呼ばれるのですが、このシードフレーズとは12桁ないし24桁のワードでこれを順番通り入力するとなんと自身のウォレットを復元できてしまうのだ!
つまりこの中に秘密鍵が入ってるってことです。秘密鍵は一つのアドレスに対して1個に対し、シードフレーズは複数の秘密鍵を束にして管理・復元できてしまうので非常に危険な存在であるということです。
たとえ話で言えば、「シードフレーズ」はドラえもんの「スペアポケット」みたいなもので、誰かが「スペアポケット」を拾ったらそれはドラえもんの「四次元ポケット」に通じていて中身取り放題みたいな感じになってると。超危険!
で、最近のウォレットはほぼ全部この「シードフレーズ」が対応しています。
結局ハードウェアだろうがデスクトップだろうがモバイルだろうが何でもかんでも最終的にこの「シードフレーズ」に行きつくと。
じゃあなんでハードウェアウォレットが安全って世間一般で言われているかというと、オフラインで秘密鍵およびシードフレーズを生成・管理ができるからです。
でも結局シードフレーズは別でどこかで管理しないといけない。ここが第一の関門だろうと。
じゃあこの「シードフレーズ」をどうやって管理するの?って話が今回考える所かなと思っています。ということで昔も書いた気がするけどもっかい書き出してみる。
一般人向け?シードフレーズ保存方法
1.紙に書いて金庫に入れる
→紙が劣化して読めなくなるためNG
2.金属板にシードフレーズを書き込んで金庫に入れる
→アリよりのアリ。「シードフレーズ 金属板」でググると実際商品が売られてる
3.スマホやパソコンにテキストで置いておく
→ハッキングされたらアウト
4.テキストを暗号化した上で保存しておく
→作業端末を完全に「オフライン」にして管理するのはアリかなと思ってる。
この「オフライン端末」と「ハードウェアウォレット」の2つ持っておけば
割と安全か?
5.スマホやパソコン等の媒体を複数に分けて、それぞれ単語を保管する
→いわゆる「マルチシグ」方式で保存を試みる方法。
12単語なら3つの機器を用意してそれぞれ8単語ずつそれぞれの媒体で保管して
3つの機器のうち2つ確認できれば復元可能!みたいにしとくのは「あり」かも
ただし保管先の媒体2つは少なくとも「オフライン」端末にしたい
ガチ勢だともっともっとすごいことやってて、国をまたいでマルチシグ対応にして金庫を分けるとか、家族3人で分けあうとか色々やってるようですが、一般人でできる範囲はこのぐらいじゃないかなぁと。
現実的には2か4か5になるかなぁと個人的に思ってます。もう少し深堀してみる。
金属板にシードフレーズを書き込んで金庫に入れる
これは実際にアリだと思います。金属板は劣化しないし火事になっても燃えません。金庫に預けておけば経年劣化もそこまで気にならないことが予想できます。
この保管方法を行う場合に考えてるのは、シードフレーズを取得したウォレットは直ちに破棄すべきだと思っています。もちろん、普段使用でよく使うならその限りではありませんが、超長期保管で安全にいくなら破壊すべきです。
なぜならハードウェアウォレットでもモバイルウォレットでも「ログインパスワード」みたいなものがあるのですが、それは「シードフレーズ」とは別で、「今」手元にあるアドレスにアクセスするための「パスワード」は別にあるということです。
「シードフレーズ」が「スペアポケット」とすると「ログインパスワード」は「四次元ポケット(マスター)の鍵」みたいな。ちょっとわかりづらいかw
四次元ポケットの鍵というより「家の鍵」の方がいいか?
ようするに今ある「家」に入るために「ログインパスワード」で入るんだけど、「スペアポケット」であるシードフレーズがあればそのポケットから「家」に入ることができてしまうと。
もちろん、「ログインパスワード」でも「家」に入れるので結局この「家の入口」のパスワードと「スペアポケット」のシードフレーズの二つの入口が存在することになってしまいます。
じゃあどうするか。「家の入口」を「破壊」した方が安全ですよね。
「家の入口」であるハードウェアウォレットはハンマーで物理的に叩き壊せば「家の入口」側は封じることができますし、モバイルウォレットやデスクトップウォレットは極限まで安全性高めるならハンマーで物理的にパソコンやスマホを「破壊」するし、そこまでしなくてもディスク消去ツールで完全にディスクやメモリから削除して利用するのがいいかなと。
一般人向けとしてはモバイルウォレットやデスクトップウォレットをオフラインで使用してシードフレーズをオフラインで取得できたらディスク消去するだけでもいいかなと思ってる。
もちろん、利便性は皆無なので本当に超長期目的の保管方法だ。
まー、あとは信じられる「金庫」を探さないといけないんだけどね。それこそ「銀行」は信じられるのかとか。日本が「その金庫あけろ!法律変えたぞ!」みたいなことで超強引に個人の金庫をこじ開けてきたりしたらアウト。そんなことあるか???
そう。つまり「どこまで信じるのか」という話に繋がるのだ。この辺は次回にでも回すとして、「銀行等の金庫は安全」ということを考えるならこの方法が一番最適じゃないだろうか。
最大の欠点は「メンテナンス」ができないこと。
大事に大事に保存していたつもりが、いつの間にかだれかに「ハッキング」されていて実は中身が0だった、という可能性も否定できない。都度金庫から出してシードフレーズを復元してチェックするのもその瞬間「オンライン」にするのでほんの少しだけ危険が伴う。まぁともあれ安全性で言ったら圧倒的に高い。高いけど超絶面倒くさい。
まぁー10億円ぐらいになったらやるかなぁーーーって感じで(はなほじ)
テキストを暗号化した上で保存しておく
一般の人はこれじゃねって思う。不十分だけど実用性とか考えて。
ただし「オフライン」の端末で保存した方が絶対良いのは言うまでもない。
そもそも今使っている端末がすでに「ウイルス」に感染しているという可能性を考慮しなくてはいけないのだ。
であるならば、しまう先の端末は最初から「オフライン」であることが望ましいし、今後も「オフライン」で取り扱えば安全性は非常に高まるだろう。
最初に「オンライン」で使用していた端末を途中から「オフライン」にするのは若干危険。なぜなら「情報収集系」のウイルスではなく「端末破壊系」のウイルスだった場合、取り出せなくなるからだ。
そう考えた場合でもやはり「オフライン」で管理する端末は2,3個欲しくなるのが人情というものだ。同じ暗号化されたファイルを3つUSBにでも保存しておけばなんとなく安心できる。
ただしこの方法の問題点は「暗号化」されたファイルを解凍するための「パスワード」をまた別で管理しなくてはいけないということ。さっきの「家の鍵」みたいな。
この場合は「家の鍵」が最重要であり、このパスワードを忘れると完全に復元不可になる。
じゃあ今度はこの「パスワード」をどうやって管理するの?って話になるので堂々巡りだったりする。
ただし、これは「家の鍵」、つまり「暗号化ファイル」にしか対応していないため、攻撃者はこのシードフレーズが暗号化された「暗号化ファイル」と「ログインパスワード」の2つを手元に置かなくては攻撃は成立しないため、「シードフレーズ」1つあれば全部解決するよりも安全性は高い。
この「パスワード」は実はオンラインの端末にでも保存していてもいいかもしれない。なぜなら保管している「暗号ファイル」は「オフライン」管理だからだ。
結局先ほど暗号化したファイルは「オフライン」で管理しておけばいいわけだ。犯人は自宅に忍び込んでこのUSBを入手しつつ、「パスワード」も入手しなくてはいけないので難度が跳ね上がるだろう。
もちろん、USBを1つだけに保存してもいい。ただ、壊れたら終わりなのでさすがに2,3個持っておきたいよなぁ・・・
そして機器に保存するため2,3年に1度はチェックすべきであり、管理もなかなか大変。生きているうちはいいが、老人になってから対応するのはさすがに骨だ。
ということで、そこそこ「カジュアル」に、かつ、そこそこ安全性が高い方法だと思う。
じゃあその「暗号化」するための「ソフトウェア」は安全なのか?という話になるので、ビットコインを扱ってから「どこまで信頼を置くか」というのを常に考えさせられることになってる。これも次回に回す。
スマホやパソコン等の媒体を複数に分けて、それぞれ単語を保管する
マルチシグを手動でやろうという感じ。
超簡単に書くと、先ほども書きましたが12単語のシードフレーズがあったら、
- 1~8単語を保存したテキストを保存
- 5~12単語を保存したテキストを保存
- 1~4単語 + 9~12単語を保存したテキストを保存
これを用意することで3つのうち2つあれば復元可能となります。
こうすることで暗号化したファイルを解凍するための「パスワード」を別途管理する必要もなく、単純に管理することができる。
これは最初の金属板+金庫の合わせ技でやるといいかもしれない。USBだと経年劣化があって同時に2つが欠損する可能性を考慮しなくてはいけないためだ。
※2021/12/17 追記
この方法だと8桁まで攻撃者に判明してしまうためセキュリティ面が脆弱になるためこの方法は実施しないほうがいいです。
これはもっとちゃんとした対応でマルチシグで秘密鍵を複数に機械的に分けた方がいいんだろうけど、今回は一般人向けなのでここまででも十分かなと思ってる。というか一般とはいったい…って感じだけども。
人というのはその本人が理解しているだけではダメで、家族や老後の自分が理解できるのか、というのも考えなくてはいけない。自身も歳を重ねてその判断能力がどんどん失われているのを実感しているので極力シンプルにしたいと常々思っている。
この方法であればとりあえず3つの保管先のうち2つ取り出せればOKなので比較的安全性が高く、かつ、3つのうち1つなくなってもいいという安心感が若干ある。
さらに安全性高めるなら金庫に「手順書」を入れておくのもいいだろう。「残り1つのシードフレーズを探せ!」みたいに。場所まで書くかはお好み。銀行の金庫の場所ならまぁ保管担当者いるだろうから書いててもいいかも。とか。
ということで、自身で暗号資産を保管するのは「シードフレーズ」の保管方法1つ考えるだけで色々な方法を考えなくてはいけないという非常に面倒くさいものであるのだ。
長くなったのでじゃあ次にウォレットの種類は何がいいのかっていうのを考えてみる。次回も完全素人雑談記事万歳の私の頭の整理回になる予定だ。