エンドツーエンド暗号化クラウド同期
TL;DR:CookieVault の暗号化 Cookie 同期は libsodium の XChaCha20-Poly1305 と Argon2id 由来の鍵を使います。Cookie はブラウザを離れる前に端末側で暗号化され、同期サーバーは不透明な暗号文——CookieVault のエンジニアですら復号できない暗号文——しか保持しません。Pro のゼロ知識機能です。
エンドツーエンド暗号化 Cookie 同期は、クラウドサーバーが復号不能な暗号文しか保持しないことを保証しつつ、Cookie を端末間で同期させ続けるゼロ知識の仕組みを提供するものです。パスフレーズは Argon2id を使ってあなた自身の端末で暗号鍵を導出します。その鍵は CookieVault のインフラに一切触れないため、私たちのエンジニアも、サーバー侵害も、法的要求も、あなたの Cookie を明らかにできません。これは CookieVault Editor と CookieVault Guardian の両方が共有する Pro プランの基盤であり、暗号境界がオープンソースであるため、その主張は約束ではなく検証可能です。
暗号化の仕組み
要点:パスフレーズは端末側で Argon2id(メモリハードな鍵導出)にかけてマスター鍵を生成します。各 Cookie 記録はその後、ブラウザを離れる前に libsodium の XChaCha20-Poly1305 で封印されます。サーバーが受け取るのは暗号文と認証タグだけで、鍵は決して見ません。
このパイプラインは、独自暗号ではなく、よくレビューされたプリミティブから意図的に組み立てられています。Argon2id は Password Hashing Competition で勝利したメモリハードなアルゴリズムで、人間が記憶できるパスフレーズに対する GPU / ASIC の総当たり攻撃に耐えるという理由で選ばれました。XChaCha20-Poly1305 は 192 ビットの拡張ナンスを持つ認証付き暗号で——ナンスをランダムに選んでも実用上の衝突リスクがないほど広く、実装上の落とし穴の一群をまるごと取り除きます。
設計を定義する 6 つの性質:
- クライアント側の鍵導出 —— Argon2id がパスフレーズを端末側で鍵に変える。鍵は決して送信もサーバー保存もされない
- 記録単位の暗号化 —— 各 Cookie を XChaCha20-Poly1305 で個別に封印するため、1 つの破損した塊が金庫全体を汚染しない
- 認証付き暗号文 —— Poly1305 タグがあらゆる改ざんを検知し、改変された塊は黙って復号されず拒否される
- 端末ごとのサブ鍵 —— 各ブラウザは高速アンロック用のサブ鍵を導出し、同期サイクルごとに Argon2id の完全なコストを払い直さない
- 暗号文のみの保存 —— 同期サーバーは不透明な塊と最小限のルーティングメタデータを保持し、平文は決して保持しない
- 開かれた暗号境界 —— 導出、暗号化、同期クライアントのコードが公開され、データ経路を監査できる
応用暗号で広く支持される原則は、サーバーに暗号化を任せるのではなく、アップロードする前に暗号化せよ、というものです。CookieVault が強制するのはまさにその境界です——平文が存在しうる唯一の場所はブラウザです。
脅威モデル
要点:サーバーは完全に侵害されうると想定し、それでも問題にならないように設計します。サーバー侵害、ネットワーク傍受、召喚状はすべて「攻撃者は暗号文を持っている」に帰着します。平文を露出させる唯一のシナリオは、攻撃者があなたのアンロック済み端末を支配している場合で——これはどの同期システムも防げません。
Cookie はベアラートークンです。有効なセッション Cookie を持つ者は、宛先サイトにとってはあなたです。ブラウザのドキュメントは、Cookie がセッション識別子と認証状態を運ぶと明記しており1、だからこそそれを平文で第三者に同期するのは無謀です。脅威モデルはそれを真剣に扱います。
| 脅威シナリオ | 攻撃者が目にするもの | 結果 |
|---|---|---|
| 同期サーバーの完全侵害 | 不透明な XChaCha20 暗号文 | 使える Cookie なし。サーバーに鍵なし |
| ネットワーク中間者攻撃 | TLS で包まれた暗号文 | 二重に保護。読めるものなし |
| 法的要求 / 召喚状 | 保存された暗号文のみ | 引き渡せる復号可能なものなし |
| 悪意ある内部者 | 他の全員と同じ暗号文 | ゼロ知識ゆえ特権的アクセスは存在しない |
| 盗まれたロック済み端末 | 暗号化されたローカル金庫 | アンロックにあなたのパスフレーズが必要 |
| 盗まれたアンロック済み端末 | アンロック後は平文 | 対象外 —— 端末レベルのアクセスを守ること |
正直な境界は最後の行です。エンドツーエンド暗号化は転送中とサーバー保存時のデータを守りますが、すでにあなたのアンロック済みブラウザに座っている攻撃者は守りません。それには端末ログイン、フルディスク暗号化、画面ロック——拡張機能より下の層に存在する防御に頼ります。
Free と Pro
要点:ローカルの Cookie 作業はすべて永久無料。暗号化されたデバイス間同期は Pro 機能(月 4 USD = 約 600 円、または年 36 USD)で、サーバーインフラを必要とする唯一の機能だからです。データを守る暗号はプランに関わらず同一です。
| 機能 | Free | Pro(月 4 USD / 年 36 USD) |
|---|---|---|
| ローカルの Cookie 表示 / 編集 / 削除 | あり | あり |
| ローカルエクスポート(JSON / Netscape / HAR) | あり | あり |
| タブを閉じたときの自動削除(Guardian) | あり | あり |
| デバイス間暗号化同期 | なし | あり |
| 取り消し付き Cookie 履歴(30 日) | なし | あり |
| 暗号化プロファイル同期 | なし | あり |
| ゼロ知識アーキテクチャ | 該当なし(ローカル) | あり |
Pro が支払う価値を持つのは、2 台以上の端末を使って同期させ続けたい場合、または Cookie 履歴の取り消しという安全網が欲しい場合だけです。単一端末・ローカル専用のユーザーは、中核ワークフロー全体を無料で得られます。完全な Free / Pro / Team の内訳は 料金ページ を参照してください。
暗号化同期の設定方法
- CookieVault をインストール(Editor、Guardian、または両方)—— ダウンロードページ から
- 拡張機能のポップアップを開き「同期を有効化」をクリック
- Pro アカウントを作成 —— メールアドレスで。これは請求とルーティングだけを扱い、鍵は決して扱わない
- 強いパスフレーズを選び、パスワードマネージャーに保管する。これがデータを復号できる唯一のもの
- 端末側の鍵導出が走るのを確認(Argon2id の処理中、ポップアップに「鍵を導出中…」と表示される)
- 最初の暗号化スナップショットのアップロードを待つ —— 選択した全 Cookie が送信前に封印される
- 2 台目の端末に CookieVault をインストールし、同じパスフレーズを入力して同じ鍵をローカルで導出する
- 同期インジケーターが両端末で緑になるのを確認 —— 変更された記録が暗号化された塊として複製される
パスフレーズを変更すると、各端末は次の送信の前に新しい鍵を再導出し、ローカルの金庫を再暗号化します。サーバーは使える鍵を持たないため、サーバー側の再暗号化はありません。
監査と検証可能性
要点:暗号化コードはオープンソースで再現可能ビルドが可能なため、データ経路は今日でも検証できます。暗号スタックの独立した第三者監査は 2026 年第 3 四半期に予定しており、報告書と所見は全文公開します。
「信用してください」というセキュリティはセキュリティではありません。導出、暗号化、同期クライアントのコードが公開された MIT ライセンスのリポジトリにあるため、誰でも、鍵が端末を決して離れないこと、サーバーには暗号文しか届かないことを確認できます。Chrome の拡張機能モデルは、拡張機能が触れられる範囲をさらに制約し2、Cookie は独自チャネルではなく公式のブラウザ Cookie API1 を通じて読み書きされます。予定している外部監査は、独立した第二の目を加えることを意図しています。報告書が出たら セキュリティページ からリンクします。
関連ページ
- CookieVault Editor —— この同期エンジンを使う Cookie エディター
- CookieVault Guardian —— 同じ Pro 同期を共有する自動削除拡張機能
- セキュリティ —— エンドツーエンド暗号化設計と脅威モデルの全容
- オープンソース —— MIT ライセンス、公開された暗号境界、再現可能ビルド
- 複数アカウントプロファイル —— 同じ方法で同期される暗号化プロファイルスナップショット
- 料金 —— Free / Pro / Team の内訳
Footnotes
-
セッション Cookie と認証 Cookie を含むブラウザの Cookie ストアは MDN の https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies に記載されています。CookieVault は公式のブラウザ Cookie API を通じてのみ Cookie を読み書きします。 ↩ ↩2
-
Chrome 拡張機能の Cookie API とその権限モデルは https://developer.chrome.com/docs/extensions/reference/api/cookies に文書化されており、拡張機能がブラウザの Cookie ストアにアクセスするために使える唯一のインターフェースを定義しています。 ↩