Quira Quira Docs
GitHub Star

先進セキュリティアーキテクチャ

コアセキュリティレイヤーを超えて、Quiraは既存のどのブラウザも実装していない、macOS深層メカニズムに着想を得た8つの新規セキュリティ構造を導入します。各構造は形式的脅威モデルに基づき、特定の敵対者クラスに対処します。

研究段階

これらの構造は研究・設計段階です。パーミッションシステムプライバシーアーキテクチャの基盤の上に構築されます。これらを拡張・組み合わせる8つの追加構造についてはエマージェントセキュリティを参照。

Knowledge Protection Classes (KPC)

iOS Data Protection Classes (A-D) に着想を得たKPCは、Context Graphに状態依存の段階的暗号化を適用します。Quiraの現在の暗号化(SQLCipher)はDB全体に対する単一鍵であり、iOS Class Cに相当します。KPCは認証状態に応じてデータのアクセシビリティが変化する4クラスを導入します。

4つの保護クラス

クラス対象鍵の利用可能条件鍵の破棄条件
KPC-A(Active Research)アクティブSpaceのグラフデータSpaceがフォアグラウンド + 認証済みSpaceがバックグラウンドになった瞬間
KPC-B(Session)当セッションでアクセスしたSpaceセッション内で一度認証後ブラウザ終了時
KPC-C(Index Only)FTS5インデックス + グラフトポロジーの一部マスターパスワード / 生体認証後OSシャットダウン時
KPC-D(Structural)ノード数、Space名、タイムスタンプ常時利用可能(UID由来の鍵)リモートワイプのみ

鍵階層はHKDF導出を使用: マスターキー(パスフレーズ + ハードウェアUIDからArgon2idで導出)から各レベルのクラス固有鍵を導出。

脅威モデルカバレッジ

敵対者攻撃KPC防御
OS レベル (A4)メモリダンプアクティブSpaceのデータのみ復号状態 ― 被害がそのSpaceに限定
OS レベル (A4)コールドブート攻撃セッション鍵は揮発性メモリのみ ― 電源断で全鍵消失
OS レベル (A4)ディスク窃取(電源OFF)全クラスがマスターキーを必要 ― パスフレーズなしでは復号不可
拡張機能 (A3)グラフ全体読取非アクティブSpaceには復号鍵がメモリに存在しない

Context Security Event Bus (CSEB)

macOSのEndpoint Security Frameworkに着想を得たCSEBは、全グラフ操作に対するプログラマブルなリアルタイムイベント監視システムです。シグネチャベースの検知とは異なり、AUTH(ブロッキング)とNOTIFY(観察のみ)の2モードを提供します。

世界初

内部グラフ操作に対するプログラマブルなセキュリティイベントバスを実装したブラウザは存在しません。CSEBはQuiraのアーキテクチャで最も新規性の高い構造です。

イベントタイプとルール

カテゴリイベントタイプモード
Graph.Readnode.read, edge.read, query.executeNOTIFY拡張がノード内容を読取
Graph.Writenode.create, node.update, edge.createAUTHAIがエンティティを追加
Graph.Exportexport.json, clipboard.copyAUTHデータがブラウザ外へ
AI.Pipelineai.extract, ai.embed, ai.queryAUTHAIパイプラインの各段階
Extension.APIext.graph.read, ext.network.sendAUTH拡張のAPI呼出し

ルールはスタック可能(組込み + コミュニティ + ユーザー)で、アクション: ALLOW、DENY、THROTTLE、QUARANTINE。例: 拡張からの100ノードを超える一括エクスポートをブロック。

アーキテクチャ

全コンポーネントがロックフリーリングバッファにイベントを発行。ルールエンジンがリアルタイムで評価。AUTHイベントは判定が下されるまでブロック。追記専用の監査ログが全判定をフォレンジック分析用に記録。

Knowledge Query Relay (KQR)

iCloud Private Relay(MASQUE / ODoH)に着想を得たKQRは、Cloud AI利用時にアイデンティティとクエリ内容を構造的に分離します。

エンティティ知っている情報知らない情報
Relay 1(Quira)ユーザーID、サブスクリプション状態クエリ内容、AI応答
Relay 2(独立第三者)クエリ内容(平文)ユーザーID、IPアドレス
AI Computeクエリ内容ユーザーID(Relay 2経由)

認証にはRSAブラインド署名を使用 ― Relay 1はトークンを発行するが、どのトークンがどのクエリに使われたかを追跡できません。OHTTP(RFC 9458)とPrivacy Pass(RFC 9578)上に構築。

Privilege-Separated Context Services (PSCS)

macOS XPC Servicesに着想を得たPSCSは、セキュリティクリティカルなコンポーネントを最小権限の隔離マイクロサービスに分解します。

サービス権限アクセス不可
Graph EngineDB読書き、FTS5、KPC鍵ネットワーク、GPU
AI Pipelineモデル読取専用、GPU/CPU、一時メモリデータベース、ネットワーク
Permission ManagerTCC DB、ポリシー評価、監査ロググラフデータ、ネットワーク
Export Serviceグラフ読取(Graph Engine経由)、ファイル書込ネットワーク
Extension Host拡張ストレージ、IPC経由のグラフDB直接アクセス
Update Serviceネットワーク読取、コード署名検証グラフデータ

重要な制約: AI Pipelineはデータベースに直接アクセスできません。全グラフアクセスはGraph Engine IPC経由。プロンプトインジェクションがAI Pipelineを侵害しても、データベースへの書込みは不可能です。

Sealed Knowledge Volume (SKV)

macOS Sealed System Volume (SSV) に着想を得たSKVは、特定時点のグラフ状態に対する暗号学的コミットメントを作成します。

  • 研究優先性の証明 ― Merkleパス + タイムスタンプ局(RFC 3161)により、時刻Tにナレッジノードが存在したことを証明
  • 非保有の証明 (Proof of Absence) ― Sparse Merkle Treeにより、時刻Tにあるトピックがグラフに存在しなかったことを証明
  • 増分シール ― グラフ全体ではなく、変更されたノード/エッジのみを再ハッシュ

利用場面: 研究先行性の証明、法的紛争(特定情報への非アクセスの証明)、侵害後の整合性検証。

Context Trust Arbiter (CTA)

macOS AMFI (Apple Mobile File Integrity) に着想を得たCTAは、全てのセキュリティ判定を一元化する判定デーモンです。各サブシステムが独立して信頼判定を行う代わりに、CTAが統一パイプラインで全リクエストを評価します:

  1. アイデンティティ検証(コード署名)
  2. Capability評価
  3. TCCパーミッションチェック
  4. ポリシー評価(宣言的)
  5. KPC状態チェック(保護クラス vs 認証レベル)
  6. CSEBコンテキストチェック(直近のイベントパターン)

短絡評価: 最初のDENYで即座に返却。ALLOWには全チェックの通過が必要。

Adaptive Security Posture (ASP)

二値切替のLockdown Modeを超えて、ASPは環境シグナルに基づきセキュリティレベルを連続的に調整します。

ポスチャ範囲レベル動作の変化
0.0–0.2LockdownAI無効、エクスポート禁止、拡張無効
0.2–0.4High AlertCloud AI禁止、ローカルAIのみ、エクスポートに確認要求
0.4–0.6Elevated拡張のレートリミット強化、KPC-A自動適用
0.6–0.8Normalデフォルト設定
0.8–1.0Relaxed承認済み環境、パフォーマンス優先のキャッシュ

シグナル: ネットワーク種別(公衆WiFiでポスチャ低下)、認証経過時間、CSEB異常検知、OS更新状態、外部デバイス接続。

実装優先順位

フェーズ構造理由
Phase 1PSCS, CSEB基盤 ― プロセス分離とイベント監視が他の全構造を可能にする
Phase 2KPC, CTA, SKV核心的保護 ― 段階的暗号化、統一信頼判定、暗号学的コミットメント
Phase 3ASP適応的対応 ― CTAとCSEBが前提
Phase 4KQRCloud AIプライバシー ― Cloud AI機能のリリース時に必要
← Previous: パーミッションシステム Next: 創発的セキュリティ →
このページは役に立ちましたか?
Ask AI
Q

ドキュメントについて何でも聞いてください

Ctrl+K to open anytime