ブログ一覧に戻る
インサイト

Ledger Recover 騒動がセルフカストディに残した教訓

ハードウェアウォレットがシードを3つの暗号化された断片に分割し、3つのカストディアン企業へ送る様子を描いたフラットイラスト。

5月16日、ベストセラーのハードウェアウォレットを手がける Ledger は「Recover」を発表しました。これはオプトイン式のサブスクリプションで、シードフレーズを端末内で暗号化し、3つの断片に分割して3つのカストディアンへ送ることでバックアップするというものです。発表から数時間のうちに、この一件は「Ledger Recover 騒動」へと発展しました。削除されたツイート、急遽設定されたインタビュー、そして最終的にはローンチの一時停止まで伴う、ここ数年でセルフカストディが生んだ最も激しい反発の一つです。3週間が経ち、いくらか頭が冷えた今、この騒動が実際に何を証明したのかを問う価値があります。

先に私たちの答えを述べておきます。この論争は、実のところ一つの任意サービスをめぐるものではありませんでした。争点は、ある前提が公然と崩れたことにあります。すなわち「秘密鍵は物理的にハードウェアウォレットのセキュアエレメントから外に出られない」という前提が、実際には自然法則ではなく方針にすぎなかった、ということです。検証できないセキュリティは約束にすぎず、約束はファームウェアアップデート一つで変わり得ます。

Ledger Recover が実際に行うこと

憤りをいったん脇に置けば、その仕組みは簡潔に説明できます。Ledger Recover は月額およそ10ドルのオプトイン式サブスクリプションで、ウォレットのシードフレーズを端末内で暗号化し、暗号化された素材を3つの断片に分割して、3つの別々の企業――Ledger 自身、Coincover、EscrowTech――に分散します。単一のカストディアンがシードを復元できるだけの情報を保持することはありません。復元するには、ユーザーが政府発行の身分証明書で本人確認を行い、3つのうち2つのカストディアンが新しい端末へそれぞれの断片を渡すと、そこでシードが再構成されます。

このサービスは Nano X 向けのファームウェアアップデートと同時に提供され、明示的な登録を必要とします。所有者がサブスクリプションに加入し、端末上で確認し、本人確認を通過しない限り、何もバックアップされません。Ledger はこの点について一貫しており、これに反する公開された証拠は存在しません。

Ledger Recover のフロー図:端末がシードを暗号化して3つの断片に分割し、Ledger、Coincover、EscrowTech が保持する。本人確認が 2-of-3 の復元を制御する。
Ledger Recover が暗号化されたシードを3つのカストディアンに分散する仕組み。

なぜ反発はこれほど激しかったのか

サービスが任意なら、なぜこれほどの怒りが湧いたのでしょうか。それは、この発表が単なる製品ではなく、ある「能力」を明らかにしたからです。Recover が存在しうるためには、Ledger のファームウェアがシード素材を――暗号化され断片化されているとはいえ、依然としてシード素材を――セキュアエレメントの外へ、そして端末の外へと動かせなければなりません。Ledger の顧客の大部分は、これは設計上不可能だと誠実に信じており、同社自身のマーケティングもその信念を後押ししていました。「秘密鍵がセキュアエレメントから出ることは決してない」と述べた数か月前の公式アカウントの投稿が、数時間のうちに掘り起こされ、執拗に共有されたのです。

Ledger Recover 騒動を決定づけた瞬間は、Ledger の公式アカウントの一つが、鍵の抽出を可能にするファームウェアを書くことは技術的に常に可能だった、と認めたときに訪れました。その投稿はすぐに削除されましたが、スクリーンショットはあちこちに拡散し――そしてその発言は正確でした。まさにそこが痛烈だったのです。隠されたバックドアがあったのではなく、ユーザーの鍵と外の世界を隔てる壁が、これまでずっと「署名されたファームウェアが何をすると決めるか」次第でしかなかった、という気づきだったのです。

さらに2つの懸念が反応を増幅させました。第一に「身元」です。Recover は認証済みの政府発行 ID をハードウェアウォレットに紐づけますが、これはプライバシーを一因としてセルフカストディを選んだ人々にとって居心地の悪い組み合わせです。第二に「集中」です。断片を保持する3つの名の知れた企業は、3つの召喚状の標的であり、3つの侵害の対象面であり、そして将来の方針変更が意味を持ちうる3つの場所でもあります。

あなたは常にファームウェアを信頼していた

ここからが居心地の悪い部分であり、それは一つのベンダーの枠をはるかに超えています。セキュアエレメントは鍵を物理的な抽出や改ざんから守りますが、端末のファームウェアがそこに何を要求できるかを決めるわけではありません。あなたの鍵を生成し保持する、あらゆるクローズドな端末は、その製造元のコード署名鍵、リリースプロセス、従業員、そして法的圧力への耐性を――その端末を使い続ける限り毎年――信頼するよう、あなたに求めているのです。

セルフカストディは二者択一ではありません。それはハードウェア、ファームウェア、ソフトウェア、プロセスという信頼前提の積み重ねであり、有益な問いは「どの層を自分で独立に検証できるか」です。5月の出来事は、その積み重ねを何一つ変えていません。変わったのは、非常に多くの人々が初めてそれをはっきりと目にした、という点です。

私たち自身がその積み重ねのどこに立っているのかも、率直に述べておくべきでしょう。Ownbit アプリは、ほとんどのウォレットアプリと同様にクローズドソースです。その現実に対する誠実な対応は、信頼が存在しないふりをすることではなく、信頼がカバーしなければならない範囲を縮めることです。私たちのセキュリティモデルはまさにそのように構築されています。マルチシグのコントラクトはオープンソースであり、Ownbit マルチシグにおけるすべての鍵は標準的な BIP39 シードフレーズであり、資金は公開されている自己回復ガイドに従えば Ownbit のサーバーなしでも回復可能なままです。ウォレットの評価基準は、ベンダーを信頼するかどうか――どこかで必ず信頼はしています――ではなく、その信頼がカバーしなければならない範囲がいかに小さいか、そしてそのうちどれだけを自分で確かめられるか、にあります。

Recover が解こうとする問題は現実のものだ

総攻撃のただ中では、Ledger が本物の障害モードに狙いを定めているという事実を忘れがちです。広く報じられてきた推計は長らく、すべてのビットコインのおよそ5分の1が、鍵を失ったウォレットの中で立ち往生していることを示唆してきました。1枚の紙に書かれたシードフレーズは、両方向における単一障害点です。それを見つけた者は誰でもすべてを奪えますし、燃えたり水に流されたり、あるいは単に忘れられたりすれば、すべてが道連れになります。取引所はこれを口座とサポート窓口で解決しましたが、その代償はカストディでした――業界が繰り返し後悔する理由を得てきた取引です。

だからこそ、その志は公平に扱われるべきです。ハードウェアウォレット、MPC サービス、規制対象のカストディアンは、いずれも現実のニーズを持つ現実のユーザーに応えており、保険付きの回復サービスは確かにその一部の人々に合うでしょう。Ledger Recover 騒動の核心にある反論は、もっと限定的です。すなわち、このサービスは人々がすでに購入していた端末の信頼モデルをひそかに書き換えたのであり、しかもその書き換えは、ファームウェアがクローズドである限り独立に監査できない、ということです。

秘密を分割することは、管理を分割することではない

Recover の「3断片・2つで復元」という設計は、表面的にはマルチシグに似て聞こえます。その違いこそが肝心なのです。シードの断片化は、いずれ再構成されなければならない一つの秘密を分割します。復元の瞬間には、完全な鍵が再び一つの場所に存在し、すべては再構成を行う当事者とプロセス次第になります。マルチシグは、管理そのものを分割します。別々の端末で異なる人々によって生成された2つないし3つの独立したシードフレーズは、どこでも結合されることがありません。2-of-3 のウォレットはオンチェーンで2つの署名を必要とし、一台の機械が一瞬でもすべてを保持する儀式は存在しないのです。

この区別こそ、マルチシグが2017年以来 Ownbit の中核設計であり続けている理由です。各参加者は標準的な BIP39 シードフレーズを保持し、署名ルールは企業の言葉ではなくブロックチェーンによって執行され、Ownbit のサーバーは鍵を一切保持することなく署名を調整します。鍵を1つ失っても切り抜けられ、鍵を1つ盗んでも役に立たず、そして私たちを含むいかなるカストディアンも、資金を動かせるものを一切保管しません。

比較図:断片化されたシードは復元時に一つの完全な鍵へ再結合するのに対し、2-of-3 マルチシグは別々に署名し決して結合しない独立した鍵を使う。
断片化は一つの秘密を再構成する。マルチシグの鍵は別々に署名し、決して出会わない。

2023年6月時点で持ち帰るべきこと

第一に、パニックに陥る理由はありません。この3週間の間に、エクスプロイトも、盗難も、故障した端末も実証されていません。Recover に未登録の Ledger は、4月に直面していたのと同じ現実的なリスクに直面しているだけです。もしあなたが1台持っているなら、賢明な対応は落ち着いたものです――ファームウェアアップデートは慎重に適用し、告げられたことに反応するのではなく、自分が何を信頼しているのかを見直すことです。

第二に、教訓が新鮮なうちに、自分の信頼前提を棚卸ししましょう。あなたの構成のどの部分が約束にすぎず、どの部分が検証可能でしょうか。有益な練習は、使っているウォレットごとに、そのベンダーが何を「しうるか」――するだろうか、ではなく、しうるか――を、そしてもし実際にそうしたら自分が気づけるかを問うことです。

第三に、重要な残高については、いかなる単一の鍵にも、いかなる単一の企業にも依存するのをやめましょう。2-of-3 マルチシグに管理を分散すれば、Recover が狙う単一障害点を取り除けます。しかも、いかなるカストディアンにもシードの再構成可能な写しを渡すことなく、です。本稿執筆時点で、Ledger は Recover の展開を一時停止し、ローンチ前により多くのコードをオープンソース化すると表明しています――正しい方向であり、そしてこの業界のすべてが判断されるべきやり方、すなわち「出荷時に何が検証可能か」によって判断されるべきものです。Ledger Recover 騒動が残す永続的な教訓は、「できない」と「しない」の間の距離こそがセルフカストディという主題そのものであり、ユーザーには自分がどちらを買ったのかを知る権利がある、ということです。

よくある質問

Ledger Recover とは何ですか?

Ledger Recover は、2023年5月16日に Ledger が発表したオプトイン式のサブスクリプションサービスで、ハードウェアウォレットのシードフレーズをバックアップします。端末がシードを暗号化し、3つの断片に分割して、3つのカストディアン――Ledger、Coincover、EscrowTech――に分散します。復元には政府発行 ID による本人確認と、3つのうち2つのカストディアンからの断片が必要です。

Ledger Recover はバックドアですか?

通常の意味ではバックドアではありません。任意であり、登録、サブスクリプション、そして端末上での物理的な確認を必要とします。騒動が起きたのは、この機能が「Ledger のファームウェアはそもそも暗号化されたシード素材をセキュアエレメントから外に持ち出せる」と示してしまったからです――つまり、多くのユーザーが物理的なものだと思い込んでいた保護は、実際にはファームウェアの方針にすぎなかった、ということです。

Ledger のハードウェアウォレットは今も安全に使えますか?

この一件の間、エクスプロイト、盗難、脆弱性のいずれも実証されておらず、Recover に一度も登録しない端末は以前と変わらず動作します。変わったのは、ユーザーが前提とすべき信頼モデルです。クローズドファームウェアの端末は、そのベンダーのコードとプロセスと寸分違わぬ程度にしか信頼できません。多くの保有者はそれを許容できると判断するでしょうし、別の人々はマルチシグでリスクを分散させるでしょう。

シード回復サービスに代わるセルフカストディの選択肢は何ですか?

主な選択肢はマルチシグです。2-of-3 マルチシグウォレットは、別々の端末で保持される3つの独立したシードフレーズに管理を分散するため、鍵を1つ失っても資金は失われず、いかなる企業もシードの再構成可能な写しを保持することはありません。カストディアンも本人確認も伴わずに、同じ「事故からの回復」という問題に対処します。

この数週間で、自分の信頼がどこに集中しているのかを改めて確かめているのなら、実践的な次の一歩は、いかなる単一の鍵――そしていかなる単一の企業――にも頼るのをやめることです。Ownbit マルチシグなら、自分自身で保持する標準的なシードフレーズに管理を分割できます。コントラクトはオープンソースで、セキュリティモデルは私たちのサーバーがなくても資金が回復可能なままとなるよう設計されています。次の騒動を眺めるには、より落ち着いた場所です。