ウォレットの復元はテキスト入力の作業に見えて、実際には鍵の保管の作業である。入力するフレーズはサーバーが照合するパスワードではなく、失われる前にウォレットが持っていたのと同じ秘密鍵を再構築する派生関数への入力だ。その瞬間にキー入力やクリップボード、プロセスのメモリを読めるものは、同じように再構築できる。したがって準備とは、秘密が存在してよい場所を、存在する前に決めることである。

フレーズを媒体から派生鍵まで追跡する

BIP-39 形式のニーモニックは正規化され、任意のパスフレーズを塩として PBKDF2-HMAC-SHA512 で伸長され、ウォレットが鍵を派生する種に変換される。ここから二つの帰結が直接導かれる。第一に、フレーズはセッションの資格情報ではなく持続的な権限なので、漏れてもサーバー側でのリセットは存在しない。第二に、任意のパスフレーズが派生に関与するため、空のウォレットができたように見える復元は通常、フレーズが違うのではなくパスフレーズの入力が違うことを意味する。

正規化後の各段階は、入力したプロセスの内部で起きる。ほとんどの復元手順が飛ばすのはこの点で、露出する面は入力経路とそのプロセスのメモリであり、あなたとウェブサイトの間のネットワークではない。

どのプロセスが正規かはウォレットによって決まる。ハードウェア機器には機器上の独自の復元インターフェースがあり、ソフトウェアウォレットには検証済みビルドの文書化された復元画面がある。どちらもサポートチャットではなく、どちらも代わりにフレーズを照合してくれるページではない。

ゲストシステムはホストの信頼を引き継ぐ

仮想マシンは別のコンピューターのように感じられるが、独立した信頼境界ではない。NIST の完全仮想化に関する指針はこの依存関係を直接説明している:ゲストの安全性はホストとその下のハイパーバイザーに依存し、クリップボードやフォルダー統合などの共有資源が両者の間の経路を広げる。すでに疑っているマシンにゲストを導入しても、新しい入力経路は生まれない。

ControlWhat it addressesWhat it leaves exposed
Verified wallet buildRunning the code the publisher actually signedEverything the running process can read once it starts
Live-boot environment, no persistent diskSecrets left in swap, caches or a saved sessionThe firmware, the keyboard and the display path
Full-disk encryption on the hostRecovery material at rest after shutdownThe same material while the machine is unlocked
Tunnel to a trusted exitWho can observe traffic in transitLocal processes, screen capture and input hooks

実際の漏れも同じ線をたどる。共有クリップボードはコピーしたものを何でも運ぶ。スナップショットや一時停止状態のファイルは、フレーズを含むメモリを捕捉しうる。ホストのファイルシステムにアクセスできるゲスト追加機能は、ゲストにホストの経路を、ホストにゲストの経路を見せる。どれも珍しい攻撃ではなく、仮想マシンを便利にする機能そのものである。

正直な結論は「仮想マシンは安全でない」より狭い。ホストが信頼できるマシンで、共有機能を外してあるなら、仮想マシンは作業の正しい容器になりうる。信頼できないホストを救うことはできない。

暗号化トンネルが実際に覆う範囲

VPN は二つの端点の間のパケットを守る。どちらの端で誰が画面を見ているかについて意見は持たず、ローカルのプロセスがウィンドウへの入力を観察するのを止めもしない。だからトンネルは、懸念が経路にあるときは関係し、懸念がホストにあるときは関係しない。

この区別が重要なのは、両者が一緒に売られているからだ。「暗号化された接続」は通過を説明し、「信頼できる端末」は端点を説明する。復元の手順は両方に別々の答えを必要とし、そのうち片方だけがネットワークサービスで答えられる。

ダウンロードしたものを検証することは、端点に関する同じ種類の問いに属する。ハッシュの照合と署名の照合は、アーカイブが公開者の出したものと一致することを示すが、それを実行するマシンについては何も語らない。

sha256sum -c SHA256SUMS.txt
gpg --verify SHA256SUMS.txt.sig SHA256SUMS.txt

素材が現れる前に環境を整える

順序は道具より重要だ。ホストを決め、共有機能を外し、つなぐ必要のないものを切り離し、それから初めて復元記録を保管場所から出す。逆の順序で進めると、どこに置くべきかをまだ決めている間に秘密はすでにメモリにある。

次に、ウォレットの製造元が文書化している流れの中で秘密を保つ。ウォレット自身の復元インターフェースで、ウォレットが想定するネットワーク上で入力し、ウォレットが提供する信頼できる表示で確認できる操作だけを承認する。見慣れたデスクトップのダイアログは、デバイスがダイアログの主張どおりに許可する証拠ではない。

露出を疑うなら、そのシステムへの入力をやめ、独立して信頼できる環境へ移る。仮想マシンを閉じること、VPN のパスワードを変えること、ウォレットアプリを再インストールすることはウォレットの権限を更新せず、資産を新しく生成した鍵の新しいウォレットへ移すことだけがそれを行う。ウォレット固有の手順を入手している間、生のフレーズはどのサポート会話にも出さないこと、なぜなら正当なサポート手順がそれを必要とすることはないからだ。この一つの規則が、どんな堅牢化チェックリストよりも多くの損失を防ぐ。

関連記事