ユアーズ・ウォレット(Yours Wallet)は、一般的なUSBドライブを利用した新しいセキュリティおよび復元システムを備えるバージョン5.1.0を公開した。
「USBセキュリティキー(USB Security Key)」として導入された新機能では、一般的なUSBメモリーや外付けドライブを、ウォレットのロック解除に必要な第2の認証要素として利用できる。専用のハードウェア認証機器や独自ファームウェア、追加ソフトウェアは必要ない。
USB保護を有効にすると、ユーザーのパスワードだけではウォレットに保存された鍵を復号できなくなる。
ユアーズ・ウォレットは、登録したドライブ上に隠しフォルダー「.yours」を作成し、その中にランダムに生成された32バイトの秘密情報(シークレット)と、登録済みドライブを識別する情報を含む小さなファイルを保存する。一方、ウォレット側では別途マスター要素が生成される。このマスター要素は、ウォレットにもUSBドライブにも平文では保存されない。
ウォレットのロックを解除する際には、ユーザーのパスワードから導出した情報と、登録済みUSBドライブを通じて復元したマスター要素を組み合わせる。その結果として生成された鍵を使い、ウォレットに保存されたアカウント鍵を復号する。
つまり、単にUSBドライブが接続されているかどうかを確認する仕組みではない。USBドライブ上のシークレットそのものが、ウォレットを復号するための暗号鍵の生成に組み込まれている。
ユアーズのセキュリティ文書によると、攻撃者がロックされたコンピューターやブラウザ拡張機能の保存データを入手したとしても、登録済みUSBドライブのシークレットがなければ、パスワードだけで保存されたウォレット鍵を復号することはできない。
ハードウェアウォレットではない
ユアーズは、この機能がハードウェアウォレットやユビキー(YubiKey)、FIDO/WebAuthn認証機器とは異なることを明確にしている。
USBドライブ自体が暗号署名を行うわけではなく、耐タンパー性を備えたプロセッサーも搭載していない。USB側のシークレットはファイルとして保存されるため、コピーすることも可能である。
そのためユアーズは、このUSBドライブを耐タンパー型のセキュリティ機器ではなく、「所持していること」を認証に利用する所持要素と位置付けている。ウォレットのロック解除中は、秘密鍵がブラウザ拡張機能のメモリー上に復号された状態で存在する。
この保護が最も有効なのは、ウォレットをロックしている間、ウォレットを使用するコンピューターと登録済みUSBドライブを別々に保管する場合である。攻撃者がパスワードとUSBのシークレットの両方を取得すれば、この分離による保護は失われる。
複数のUSBドライブを登録することもできる。各ドライブには固有のシークレットと識別子が与えられ、それぞれのドライブから同じウォレットのマスター要素を復元できる。
これにより、1本を日常利用し、もう1本を別の場所にバックアップとして保管するといった運用が可能になる。紛失した、あるいはコピーされた可能性のあるドライブは、個別に削除したり、セキュリティ情報を更新したりすることもできる。
ローテーションを実行すると、新しいマスター要素、USBシークレット、復元コードが生成され、ウォレットに保存されたアカウント鍵も新しい暗号鍵で再暗号化される。それ以降、以前のUSBキーファイルのコピーは、新しいウォレットデータの復号には使用できなくなる。
復元コードによる緊急アクセス
USB保護を有効にすると、鍵生成の第2要素に使われるマスター要素に対応する復元コードも生成される。
ユアーズでは、設定時にユーザー自身が復元コードを確認することを求めている。
USBドライブが一時的に利用できない場合には、パスワードと復元コードを使って、そのセッション中のウォレットを開くことができる。
登録済みドライブを紛失した場合や、コピーされた可能性がある場合にも、この復元手順からセキュリティ情報を更新し、新しいUSB登録と復元コードを作成できる。
すべての登録済みUSBドライブと復元コードを失った場合には、以前に作成したマスターバックアップから復元する必要がある。
USBドライブに暗号化されたウォレットバックアップも保存
バージョン5.1.0では、USBドライブを単なるロック解除要素として使用するだけではない。
登録済みUSBドライブには、ウォレットを再構築するために必要な状態情報も暗号化してバックアップできる。
これは、ユアーズのアーキテクチャが、ウォレットを単なる決定論的な秘密鍵の集合として扱うのではなく、BRC-100を基盤としている点で特に重要である。
ユアーズの文書によると、ウォレットは資産を特定・管理するために必要なトランザクション履歴や派生情報も保持している。BRC-100に関連する一部の派生メタデータは、シードだけからは再構築できない場合がある。
そのため、シードから秘密鍵を再生成できたとしても、それらの鍵がどのトランザクションやアウトプット、アプリケーション上の活動と関連しているかという情報まで、すべて復元できるとは限らない。
ユアーズはすでに、こうした情報を保存・同期するためのリモートBRC-100ストレージサーバーをサポートしている。今回のUSBバックアップは、特定のストレージ事業者やブラウザプロファイルに依存しない、別の復元手段を提供する。
USBバックアップには、暗号化されたアカウント鍵、ウォレット設定、トランザクション関連データなどが含まれる。復元開始に必要な小さなファイルを除き、バックアップはAES-GCMで暗号化され、さらにArgon2idによる鍵導出処理を加えることで、オフラインでのパスワード推測攻撃に必要な計算量を増やしている。
ウォレットがロック解除され、登録済みUSBドライブが利用可能な間は、変更された部分だけを追加する増分バックアップが行える。また、バックアップには世代管理が採用されており、新しい完全バックアップを書き終えてから以前の世代を削除する。これにより、更新が途中で中断した場合でも、復元可能なコピーが失われる可能性を抑えている。
別のコンピューターでウォレットを復元
新しいコンピューターにユアーズ・ウォレットをインストールした場合、USB復元機能を使ってウォレットのアカウント情報や保存データを復元できる。その後、パスワードと登録済みUSBのシークレットから、ウォレットを開くために必要な暗号情報を再構築する。
復元後も、同じUSBドライブを利用した保護が有効な状態でウォレットを使えるよう設計されている。
ユアーズには、このUSBバックアップとは別に、従来型のマスターバックアップも用意されている。
マスターバックアップファイルはパスワードのみで保護されるため、すべてのUSB要素を失った場合でも、バックアップそのものまで利用不能になることを防げる。
一方、USBドライブ上のバックアップは、登録済みドライブとパスワードの両方に結び付いており、ウォレットを別の環境で継続して利用するために必要な状態情報を持ち運べるコピーとして機能する。
ただし、USBドライブにバックアップを保存することで、紛失時のリスクも変化する。
USBドライブにロック解除用のシークレットだけが保存されている場合、それだけでは、ウォレットの暗号化された保存データとパスワードがなければ利用できない。
しかし、同じUSBドライブに暗号化されたウォレットバックアップも保存している場合、紛失したドライブにはUSBの認証要素と暗号化されたウォレットデータの両方が含まれる。
ユアーズは、この場合、紛失したUSBドライブが暗号化されたバックアップファイルと同様に、オフラインでのパスワード推測攻撃の対象になり得ると説明している。
Argon2idはパスワード推測に必要な計算コストを高めるが、強力なパスワードの重要性がなくなるわけではない。USBによるロック解除を維持したまま、USBバックアップだけを無効にすることもできる。
保護機能の限界
ユアーズは、署名や支払い、アプリケーションへの鍵関連機能の提供など、重要な操作を行う際にも、登録済みUSBドライブが最近確認されているかをチェックする。
ただし、こうした確認は、最初のウォレットロック解除時に行われる暗号学的な保護とは区別されている。
一度ウォレットのロックが解除されると、生成されたセッション鍵や復号済みの鍵情報はブラウザ拡張機能の環境内に存在する。そのため、すでに侵害されたコンピューター上で動作するマルウェアは、このUSBシステムによる保護の対象外となる。
プロジェクトの脅威モデルでも、すでにロック解除された端末上のマルウェアは、この機能では防げないリスクとして明示されている。
USB機能はブラウザのFile System Access APIに依存しており、主にグーグル・クロームとマイクロソフト・エッジでの利用が想定されている。
ユアーズ・ウォレット5.1.0は、9月17日にクロームウェブストアで公開された。
編集者の見方
ユアーズ・ウォレット5.1.0でより重要なのは、単にウォレットデータをUSBドライブへコピーできるようになったことではない。
今回のリリースでは、これまで別々に扱われることの多かった二つの問題、すなわち「秘密鍵へのアクセスをどのように保護するか」と、「別の環境でウォレットを再構築するために必要な状態をどのように保存するか」が、一つの仕組みの中で扱われている。
単純な決定論的ウォレットであれば、復元の考え方は比較的わかりやすい。シードを保存しておけば、鍵を再生成できる。
しかし、より高度なアプリケーションウォレットでは、それ以外の情報も蓄積されていく。トランザクション間の関係、派生情報、権限、証明書、アイデンティティ、その他のアプリケーション状態などである。
ユアーズのBRC-100アーキテクチャでは、この違いが特に明確に表れている。同プロジェクトの実装資料によると、一部の派生メタデータは特定のアウトプットを使用するために必要となる場合があり、シードだけでは必ずしも再構築できない。
バージョン5.1.0では、こうした復元インフラの一部をユーザー自身の手元に置けるようになった。
一般的なUSBドライブが、ウォレットの復号に必要なシークレット情報の一部を提供すると同時に、別のコンピューターでウォレットを復元するために必要な状態情報の暗号化コピーも保持できる。
これによってUSBメモリーがハードウェアウォレットになるわけではなく、ユアーズもそのような主張はしていない。
むしろ今回のリリースは、BRC-100アプリケーションにおいて「ウォレットの復元」が何を意味するのかが変わりつつあることを示している。
問われるのは、ユーザーが秘密鍵を復元できるかどうかだけではない。
ウォレットそのもの、すなわち鍵、トランザクションに関する情報、派生状態、そしてそのまま利用を継続できる状態まで復元できるかどうかが、より重要になりつつあるのである。
ユアーズ・ウォレット5.1.0は、この二つの課題を同じ機能の中で扱っている。
参照リンク
ユアーズ・ウォレット — USBキーのセキュリティ設計・実装資料
ユアーズ・ウォレット — リモートストレージ・プロバイダーガイド
※本記事は、原記事の発行元であるBSVタイムズの使用許諾を得て、原記事を要約・翻訳・編集のうえ掲載しています。
2026年9月17日
