Prive › セキュリティ
Prive の暗号化のしくみ
要点: Prive は写真と動画を 1 つずつ、iPhone 上で AES-256-GCM(Apple CryptoKit)により暗号化します。鍵は端末上で生成されたランダムな 256 ビットの鍵で、iPhone のキーチェーンと、Apple がエンドツーエンドで暗号化する iCloud キーチェーンに保管されます。Prive にはアカウントもサーバーもないため、開発者があなたの写真・鍵・PIN を受け取ることはありません。
概要
| 暗号方式 | AES-256-GCM(認証付き暗号)、Apple CryptoKit を使用 |
|---|---|
| 暗号鍵 | 初期設定時に iPhone 上で生成されるランダムな 256 ビットの鍵 |
| 鍵の保管場所 | iPhone のキーチェーン。iCloud キーチェーン(Apple によるエンドツーエンド暗号化)で同期され、ほかのデバイスでも金庫を開けます。iPhone のロック解除中のみ読み取り可能。 |
| Prive が暗号化するもの | 写真、動画、Live Photos の動画、サムネイル、端末上の検索インデックス、侵入アラートの写真 |
| アカウント | なし。登録・メール・ログイン不要 |
| サーバー | なし。開発者が写真・鍵・PIN を受け取ることはありません |
| バックアップ | 任意。あなた自身の Apple アカウントのプライベートな iCloud データベースへ |
| App Store のプライバシーラベル | データの収集なし |
| 第三者による監査 | まだ受けていません。ご自身で判断できるよう、このページで設計を公開しています |
写真を追加したときの流れ
- 「写真」からの読み込み、Prive 内での撮影、プライベートブラウザからの保存、またはワイヤレス転送でパソコンから送信します。
- Prive はファイルを iPhone 上で AES-256-GCM と新しいランダムな 96 ビットのノンスで暗号化します。大きな動画はブロックごとに個別のノンスで暗号化されるため、動画全体が暗号化されないままメモリに置かれることはありません。
- 保存されるのは暗号化済みのファイルだけです。小さなサムネイルも同じ方法で暗号化されます。
- 希望すれば、読み込み後に「写真」から元のデータを削除できます。「最近削除した項目」も空にしてください。
GCM は認証付き暗号です。暗号化されたファイルが 1 バイトでも変更・破損すると、壊れたデータを返す代わりに復号が失敗します。Prive の[金庫を検証]機能はこれを使ってすべてのファイルを確認します。
アップロードせずに検索
Prive は写真に写っている文字や物で写真を検索できます。解析は Apple の Vision フレームワークで iPhone 上で行われ、検索インデックスもほかのデータと同じくあなたの鍵で暗号化されます。認識のためにサーバーへ送られるデータはありません。
PIN、Face ID、復旧キー
- PIN:iPhone のパスコードとは別の 6 桁の PIN。Prive はキーチェーンにハッシュだけを保存し、PIN そのものは保存しません。
- Face ID / Touch ID:iOS が処理し、Prive が生体情報を見ることはありません。Face ID に失敗した場合は、iPhone のパスコードではなく Prive の PIN を求めます。
- 総当たり対策:PIN を 5 回間違えると 30 秒、10 回で 5 分ロックされます。侵入アラート(オプション)は前面カメラで推測している人を撮影します。
- 自動ロック:初期設定ではアプリを離れた瞬間にロックされ、App スイッチャーでも内容が隠されます。
- アルバムのパスワード:金庫の PIN に加えて、アルバムごとにパスワードを設定できます。
- 復旧キー:256 ビットの鍵を 24 個の単語で表したもの(チェックサム付きの BIP-39 形式)。忘れた PIN のリセットや、iCloud キーチェーンが鍵を失った場合の鍵の復元に使います。この単語と暗号化データを持つ人は金庫を開けられるので、紙に書いてオフラインで保管してください。
iCloud に送られるもの・送られないもの
iCloud バックアップは、オンにするまで無効です。オンにすると、Prive はあなた自身の Apple アカウント内のプライベートな CloudKit データベースを使います。
| データ | iCloud での保存方法 |
|---|---|
| 写真、動画、Live Photos の動画 | アップロード前に Prive が暗号化(AES-256-GCM) |
| サムネイルと検索インデックス | アップロード前に Prive が暗号化 |
| 暗号鍵 | iCloud キーチェーン(Apple によるエンドツーエンド暗号化)。バックアップ本体には含まれません |
| PIN | ハッシュのみ、iCloud キーチェーンに保存 |
| アルバム名、日付、ファイルサイズなどの整理用データ | プライベートな iCloud データベースに保存。Prive 独自の暗号化ではなく、Apple の iCloud セキュリティで保護 |
開発者はあなたのプライベートな iCloud データベースにアクセスできません。新しい iPhone で復元するには、同じ Apple アカウントでサインインして iCloud キーチェーンをオンにし、Prive をインストールして[iCloudから復元]をタップします。
ワイヤレス転送
金庫のロックが解除され、ワイヤレス転送の画面が開いている間だけ動作します。アップロードごとに iPhone に表示される 1 回限りの 6 桁のコードが必要で、受信専用のため金庫の中身をダウンロードすることはできません。ファイルはインターネットではなくローカルネットワークを通るので、自宅など信頼できる Wi-Fi で使ってください。
Prive が防げないこと
- Prive の PIN を知っている人、またはあなたの顔や指でロックを解除できる人。
- あなたの Apple アカウントを掌握し、かつ iPhone のパスコードを知っている人(iCloud キーチェーンと iCloud データを復元できる可能性があります)。強力なパスコードと 2 ファクタ認証を使ってください。
- 24 語の復旧キーを持っている人。
- 脱獄などで侵害された iPhone、スクリーンショットや画面収録。
- Prive の外にあるコピー:「写真」や「最近削除した項目」に残った元データ、ほかのクラウドサービス、パソコンのバックアップ。
アカウントなし、サーバーなし、トラッキングなし
Prive には登録もバックエンドもなく、広告、分析ツール、サードパーティ SDK もありません。App Store のプライバシーラベルは「データの収集なし」です。通信するのは、iCloud バックアップ(Apple のサーバー)、プライベートブラウザ、App Store での購入など、あなたが操作したときだけです。
設計についてのご質問は prive@vinhdang.app まで。関連記事:Prive と iPhone の「非表示」アルバムの違い
よくある質問
Prive はエンドツーエンドで暗号化されていますか?
写真と動画は保存・バックアップの前に iPhone 上で暗号化され、鍵はあなたのデバイスと、Apple がエンドツーエンドで暗号化する iCloud キーチェーンにだけ保管されます。開発者も Apple も、Prive のバックアップ内の写真を読むことはできません。アルバム名や日付は Apple の標準の iCloud セキュリティで保護されます。
Prive はどの暗号方式を使っていますか?
Apple CryptoKit による AES-256-GCM です。鍵は端末上で生成されるランダムな 256 ビットの鍵で、ファイルごと(大きな動画はブロックごと)に新しいランダムなノンスを使います。
開発者が写真を見たり PIN をリセットしたりできますか?
できません。Prive はサーバーを運用しておらず、写真・鍵・PIN を受け取りません。忘れた PIN は 24 語の復旧キーでのみリセットできます。
iPhone をなくしたらどうなりますか?
iCloud バックアップがオンだった場合は、新しい iPhone に Prive をインストールし、同じ Apple アカウントでサインインして[iCloudから復元]をタップします。オフだった場合、金庫はなくした iPhone の中にしか存在しませんでした。
Prive は第三者の監査を受けていますか?
まだ受けていません。ご自身で判断できるよう、このページで仕組みを詳しく説明しています。技術的なご質問は prive@vinhdang.app へどうぞ。