3 ポイント 投稿者 GN⁺ 2025-10-29 | まだコメントはありません。 | WhatsAppで共有
  • Keyhiveは、中央サーバーなしでオフラインでも動作可能なローカルファーストなアクセス制御システムを構築するための研究プロジェクトであり、Signalレベルのセキュリティを文書コラボレーションに適用しようとする試み
  • 分散環境でも同期可能な権限委任モデル(Capability Model)グループ管理CRDT因果関係ベースのE2EE(Causal Keys) を通じて、コラボレーション中でも安全なデータアクセス制御を実現
  • 中核暗号プロトコル BeeKEM は、中央サーバーなしでも Forward Secrecy(前方秘匿性)Post-Compromise Security(侵害後セキュリティ) を保証し、数千人規模のグループに対応
  • Keyhiveの同期レイヤー Beelay は、RIBLTベースのセット同期Sedimentree圧縮方式 を活用して、大規模なローカル文書同期の速度を改善
  • Ink & Switchはこのプロジェクトを通じて、サーバー依存のない安全な協業プラットフォームの基盤技術を提示し、オフラインファーストなソフトウェアエコシステムの拡大を目指す

Keyhive 概要

  • Keyhive は、クラウドサーバーを使わずに 協業データに対するアクセス制御をローカルファースト(local-first) な環境で実装するための研究
    • 従来のクラウド認証(OAuthなど)は中央サーバーによる権限確認に依存するが、ローカルファーストモデルでは データと権限が一緒に移動 する必要がある
    • このためKeyhiveは 権限委任(capability) ベースの設計を採用し、分散認証・暗号化レイヤーを構築
  • 目標は、Google Docs や GitHub のような ユーザーフレンドリーな体験を維持しつつ、完全に分散化された協業セキュリティ を実現すること

設計思想と構成

  • Keyhive は、データレイヤーより先にアクセス制御レイヤーが存在しなければならないという原則のもとで設計されている
    • そのため、ストレージや同期構造も暗号化・権限管理の方式に従う必要がある
  • 3つの主要コンポーネント:
    1. Convergent Capabilities: CRDTに適した新しい権限モデルで、オブジェクト間の委任を暗号学的に証明可能
    2. Group Management CRDT: 中央サーバーなしでグループの追加・削除および権限の回収を実行
    3. E2EE with Causal Keys: 文書の因果構造に従って鍵を管理し、効率的な暗号化を実現

Convergent Capabilities

  • 既存のオブジェクト権限(Object-capability)と証明書ベース権限(Certificate-capability)の長所を組み合わせたモデル
    • CRDT状態を含めることで、オフライン状態でも 一貫性(convergence) を維持
  • 公開鍵ベースの委任体系 を通じて、ユーザー・グループ・文書を対等なオブジェクトとして扱える
    • 例: ユーザーはデバイスグループを、文書はチーム単位を構成してアクセス権を付与

BeeKEM: グループ鍵合意プロトコル

  • BeeKEM は、中央サーバーなしで動作する 継続的グループ鍵合意(CGKA) プロトコル
    • TreeKEM の構造を継承しつつ、因果順序(Causal Order) のみで動作できるよう改良
    • Diffie-Hellman鍵交換BLAKE3ハッシュ関数 のみを使用し、標準的な暗号技術を基盤に設計
  • 主な特徴:
    • グループメンバーの追加・削除、同時更新の競合解決、空ノードの復元など、あらゆる操作を分散状態で処理
    • 同時実行の競合時には「Conflict Key」マージアルゴリズムを通じてセキュリティを維持
    • 通常ケースでは対数時間(logarithmic)性能、最悪ケースでは線形(linear)性能

Beelay: 信頼最小化同期プロトコル

  • Beelay は、Keyhiveのデータおよび権限情報を同期する RPCベースのプロトコル で、サーバーは暗号化されたデータのみを中継
    • メッセージは Ed25519署名 で認証され、リプレイ攻撃中間者攻撃(PITM) を防ぐ機能を内蔵
  • 中核となる動作手順:
    • RIBLT (Rateless Invertible Bloom Lookup Table) を用いた集合差分計算により、大規模データの高速同期を実現
    • メンバーシップグラフ(グループ・文書関係)、文書コレクション状態、文書本文を順次同期
  • Sedimentree 構造を通じて Autormerge コミットグラフを圧縮・統合し、大規模文書同期時の帯域幅を削減

同期フロー

  1. メンバーシップグラフ同期: グループおよび権限関係を同期
  2. 文書コレクション同期: 変更された文書を特定
  3. CGKA同期: BeeKEM演算をマージ
  4. 文書本文同期: Sedimentreeベースの圧縮転送
  • 一般的な変更1件の場合、往復2回のリクエストだけで全体同期が完了

今後の計画

  • Keyhive は現在 pre-alpha版を公開中 で、Rustベースの実装と WASM/TypeScript バインディングを提供
  • 今後はセキュリティ検証と性能論文の公開を予定しており、ローカルファーストな協業システムの セキュリティ標準モデル確立 を目指す

まだコメントはありません。

まだコメントはありません。