Cloud Backup の仕組み
最終確認日: 2026年8月1日ファイルは端末を離れる前に、あなたのスマートフォン上で暗号化されます。サーバーが 保存するのは復号できないバイト列と、読み取れるメタデータです。 ファイルを読み取れるものが送信されることは決してありません。
Cloud Backup とは
Cloud Backup は、ダウンロードしたファイルの暗号化されたコピーを保管します。アプリで完了したダウンロードから開始し、あとで同じ端末でも、リカバリーコードを持つ別の端末でも復元できます。あなたが求めるまで何もアップロードされず、使った分の容量だけを支払い、プライベート保管庫のファイルは決して含まれません。
01 サーバーは侵害されているものとみなす
サーバーが侵入され、押収され、裁判所に提出を求められ、あるいは私たち自身が設定を誤った、と仮定してください。この4つのどの場合でもファイルは読めないままです。サーバーは復号できるものを一切保持しないからです。
02 リカバリーコードが鍵のすべて
アカウントも、メールも、パスワードもありません。スマートフォンがリカバリーコードを生成し、すべての鍵を端末内でそこから導出します。
バックアップ時も、復元時も、ブラウザのペアリング時も、コードが送信されることはありません。私たちは写しを持たず、作ることもできません。
03 ファイルをバックアップすると何が起きるか
- そのファイル専用の新しい鍵が生成されます。1本の鍵でバックアップ全体が開くことはありません。
- ファイルはスマートフォン上で断片に分けて暗号化されます。各断片はそのファイル内の位置に結び付けられ、入れ替えも並べ替えも、ファイル間の移動もできません。
- 断片はストレージプロバイダーへ直接アップロードされます。私たちのサーバーが読めるものを目にすることはありません。
- その鍵はリカバリーコードから導出した鍵で施錠され、ファイルの隣に保存されます。コードなしでは役に立ちません。
- 索引(名前・種類・日付・プレビュー)はひとつのブロックとして暗号化されます。私たちは保管して返すだけで、開くことはできません。
復元は端末上でこの逆を行います。鍵はスマートフォン以外のどこにも存在しません。
- 名前
- 種類
- サイズ
- 428.6 MB (引き続き見えます)
- 保存日
- 2026年8月2日 (引き続き見えます)
端末を離れるのはこの状態です。名前と種類は暗号化された索引の中に あります。サイズとタイムスタンプはそうではありません。
04 私たちに見えるもの・見えないもの
暗号化が隠すのは内容であり、存在ではありません。
見えるもの
- 各ファイルの大きさ
- ファイルの数
- バックアップ・復元した日時
- 接続元の IP アドレス
- ストレージクレジットの残高
見えないもの
- ファイル名
- ファイルの内容
- サムネイルやプレビュー
- ファイルの種類
- ダウンロードの取得元サイト
- バックアップしていないあらゆるもの
| オブジェクト | サイズ | 保存日時 |
|---|---|---|
| a3f9c2…7e10 | 8,388,642 bytes | 2026-07-14 09:12 |
| b71d04…9fa3 | 8,388,642 bytes | 2026-07-14 09:12 |
| c0e5aa…12b8 | 2,104,331 bytes | 2026-07-14 09:13 |
これがレコードのすべてです。名前も種類もありません。サイズと時刻は実在するシグナルであり、暗号化はそれを消しません。
05 身元を明かさずに支払う
ストレージの支払いは普通、人とアカウントを結ぶ記録を生みます。ここでは生みません。
クレジットはブラインド署名によって匿名トークンとして発行されます。決済システムは、何に署名しているかを見ずに署名します。支払いが本物であることは検証できますが、それを使うアカウントと結び付けることはできません。求められてもその結び付きは提示できません。そもそも作られないからです。
カード情報は決済プロバイダー自身のページに送られ、私たちには届きません。Lightning にカード処理業者は関与しません。
06 ブラウザでバックアップを開く
アプリでコードをスキャンすると、コンピューター上でバックアップを開けます。送られるのは、そのブラウザセッション専用に暗号化されたストレージ鍵そのものです。何も復号できないログイントークンではありません。
リカバリーコードは決して送られません。ペアリングされたブラウザが届くのはバックアップ済みファイルだけです。コードを再導出することはできず、サインアウトやタブを閉じた時点で鍵は消去されます。
鍵が渡される前に、両方の画面に同じ6桁が表示されます。異なる場合は一致しないを選んでください。
07 これが守れないもの
- 侵害されたスマートフォン。暗号化は端末上で行われるため、侵害された端末ではファイルは平文のままです。サーバー側では何も対処できません。
- 失われたリカバリーコード。誰にも復元できません。
- メタデータ。上の左側の列は隠されておらず、根本的に高価な設計なしには隠せません。
- バックアップしていないファイル。このページはクラウドバックアップのみを扱います。セーフフォルダは端末に留まり、対象から除外されています。
08 自分で確かめる
暗号化・鍵導出・ペアリングのハンドシェイクはすべてアプリ内で動き、サーバー上では動きません。このページの主張はすべて、クライアントだけで検証できます。
| ファイル | 役割 |
|---|---|
| sync/crypto/SyncIdentity.java | コードからすべての鍵を導出 |
| sync/crypto/VaultCrypto.java | ファイル単位の暗号化 |
| sync/crypto/BookmarkBlob.java | 暗号化された索引 |
| sync/crypto/Canonical.java | リクエスト署名 |
| sync/crypto/PairSeal.java | ブラウザのペアリング |
| sync/crypto/BlindSignature.java | 匿名の支払いトークン |
ソースコードは GitHub で読めます。何が誰によって保存されるかはプライバシーポリシーをご覧ください。
セキュリティ上の問題は非公開で報告してください。アプリリポジトリの SECURITY.md を参照するか、[email protected] までメールを。
これは参考のための翻訳です。相違がある場合は、このページの英語版が優先されます。