本文へ移動

ブラインド決定的鍵導出

完全な鍵素材を公開せず、ブラインドなRouter A/B手順で安定したウォレット識別情報を導出します。

ブラインド決定的鍵導出 ​

Router A/Bは、Streaming Yaoを使い、2つのサーバーロールで安定したウォレット鍵を共同導出します。 各ロールは、完全な鍵を見ずにシェアを計算します。 承認済みエクスポートの外では、Ed25519の鍵シードと署名スカラーを分割したまま保持します。 永続的なルートから鍵を復元・エクスポートできます。 このEd25519シードは、ウォレットオリジンの鍵管理フローが保持するカストディシードとは別です。

主な性質は、次のとおりです。

  • ウォレットは、2者中2者が必要なEd25519しきい値署名を使う。
  • 2つのDeriverロールが、ガーブルド回路による二者計算(2PC)で、決定的かつRFC 8032互換の鍵導出を行う。
  • 通常署名は、クライアントとSigningWorkerのシェアを使う。
  • 承認済みエクスポートは、ウォレットオリジンのエクスポートフロー内でEd25519シードを再構成する。

レイヤーのモデル ​

3つのレイヤーが暗号処理を行い、Routerが要求を調整します。

レイヤー仕組み役割
鍵管理加算秘密分散永続的ルートから導出したクライアント・サーバーの寄与の和で、シードを定義する。組み立ては行わない。シェアの加算、ブラインド化、更新差分などの線形操作は、通信せずローカルのシェア上で行う。
導出固定機能のYao 2PCAとBが、シェア上でSHA-512 -> clamp -> mod lを共同計算する。RFC 8032のエクスポート互換性を維持するため、この非線形処理にガーブルド回路が必要。
署名2者中2者のしきい値署名クライアントとSigningWorkerが、ブラインド化したスカラーシェアを受け取る。通常署名でDeriverを呼ばない。
調整Router受付、承認、リプレイ対策、エンベロープ中継。暗号文、公開メタデータ、署名済み記録だけを運ぶ。

Deriver AとBが鍵シェアを計算し、クライアントとSigningWorkerがその結果を署名用に保持します。 Deriverは導出中だけ参加します。 プロトコルは出力をランダムに分割するため、どちらのDeriverも完全な導出鍵を見ません。

一般的なしきい値署名との違い ​

通常の分散鍵生成(DKG)は、最終的な鍵保持者同士の通信でランダムな鍵を作ります。 この処理は、導出ルートからの決定的な復元を提供しません。 この構成では、次の性質を持つ鍵を導出します。

サーバーに見せない鍵のエクスポートと復元 ​

鍵は、コミット済みルートから決定的に導出します。そのため、復元は登録済み公開鍵を正確に維持します。 エクスポートは、標準RFC 8032の正確なEd25519シードを生成します。 明示的な承認の際、Deriverはマスクしたシードシェアを、承認済みクライアントだけに暗号化して出力します。 クライアントはシェアを結合し、公開鍵を再計算して登録済み識別情報と照合します。 Router、Deriver A、Deriver B、SigningWorkerのいずれも、エクスポート中を含めシードを見ません。 DKG方式のウォレットには、エクスポート用の導出シードがありません。 エクスポートのためにサーバーで鍵を再構成すると、この鍵管理モデルに違反します。

サーバーレスのデプロイ ​

手順は、使用量を限定したストリーミングを使います。 クライアントとRouterが交換するエンベロープは、キビバイト(KiB)単位です。 ガーブルド回路のストリームは、数メビバイト(MiB)です。 メモリー使用量を限定し、Deriver AとB間を直接流れます。 ホスト構成は、Cloudflare Workers、Durable Objects、リージョンD1、WebAssemblyにコンパイルしたRust計算を使います。 選択した同一アカウント構成は、管理のコントロールプレーンを共有します。 独立管理のDeriverアカウント構成は、延期中です。 サーバーレスのしきい値署名を参照してください。

TEEを必須としない構成 ​

機密性と正しさの保証は、2PC、1回限りのチケット、認証済みトランスクリプトと、実際のロール・管理境界に基づきます。 信頼モデルは、ハードウェアのアテステーションやエンクレーブの安全性を必須としません。 必要なロール分離とリリース制御を保つWorkers、コンテナー、VMで実行できます。 信頼できる実行環境(TEE)で、同じプロトコルの周囲の分離を強化することもできます。

信頼の境界 ​

現在の構成は、Deriverの正しい実行、A/Bの非共謀、信頼できる共有アカウントの制御を仮定します。

  • 承認済みエクスポート外のクライアントを含め、単独の参加者が、結合したシードや秘密スカラーを知ることはない。
  • AとBは、それぞれ自身のロール内の入力と、単独では使えない出力シェアだけを見る。
  • Routerは、暗号文、公開メタデータ、署名済み記録を見る。
  • クライアントとSigningWorkerは、結合が意図した2者中2者のしきい値境界となる、ブラインド化したスカラーシェアを保持する。

保証の対象には、A+Bの共謀と、クライアント+SigningWorkerの共謀を含みません。 クライアントとSigningWorkerは、一緒に設計上のしきい値境界を構成します。 基盤全体のホスティング提供者の侵害、公平性、出力配送の保証も対象外です。

状況 ​

Streaming Yaoは、Walletのライフサイクル経路に実装済みです。 現在の保証は、悪意あるDeriverの動作を含みません。 能動的安全性と独立管理のDeriver構成には、それぞれ実装、レビュー、デプロイ証跡が必要です。 現在の安全性を参照してください。

次に読むページ: