Mirage Vaultの安全性と暗号化:写真を守るしくみ

2026年11月9日更新アプリのソースコードと2026-10-31のセキュリティ監査に基づく事実

Mirage Vaultは、すべての写真をiPhone上でAES-256-GCMにより暗号化し、ファイルごとにランダムな鍵を1つ使い、金庫の鍵をSecure Enclaveで保護します。アカウントもサーバもありません。入る方法はパターン、Face ID、リカバリーフレーズだけで、ファイルをコピーしても、ほかの場所で推測して開くことはできません。

誰が見ようとして、何を得るか

各行は、のぞき見する可能性のある人、その人がMirage Vaultで得られるもの、そしてあなたを守るものを示しています。

誰が見えるもの守るもの
ホーム画面をちらっと見たり、肩越しにのぞいたりする人ありふれたアイコン。ロック画面は何もない砂色の画面で、アプリ名もグリッドもないパターングリッドは指の下にだけ現れ、指を離すと消える。Appスイッチャーには何も写っていないスナップショットが表示される
ロックを解除したiPhoneを手にしている人金庫の何もないロック画面Face IDまたはパターン。5回間違えると30秒の待ち時間が始まり、最大1時間まで倍々に延びる。離れたときのロック、伏せたときのロック
あなたのiPhoneのパスコードを知っている人同じ何もないロック画面金庫には専用の鍵がある。iPhoneのパスコードでは開かず、金庫のFace IDは登録済みの顔に結びついている。iPhoneに新しい顔を追加すると、パターンでロックを解除してFace IDを再びオンにするまで、金庫のFace IDはオフになる
ファイルやiCloudバックアップのコピーを持っている人ランダムな名前の、ランダムに見えるデータファイルごとの鍵によるAES-256-GCM。金庫の鍵はコピーできないSecure Enclaveの鍵でラップされているため、パターンをオフラインで推測することはできない。バックアップは8単語のリカバリーフレーズでしか開かない
ロックを解除するよう強要する人あなたが見せることにした金庫2つ目のパターンで開くダミー金庫と、Wipe Key:その場で本物の金庫の鍵を消去し、代わりにダミー金庫を開くパターン(どちらもMirage Pro)。Face IDはMirageを開くとすぐに本物の金庫を開くため、どちらもFace IDをオフにしておく必要がある
Mirage、またはMirageに問い合わせる誰か何も得られない:アカウントもサーバも鍵のコピーもないリカバリーフレーズは一度だけ表示され、保存されない。Mirageの担当者がフレーズを尋ねることは決してない

Mirage Vaultの暗号化の実際

以下は要約ではなく、アプリのソースコードにあるパラメータです。

  • パターンまたはPINは、PBKDF2-HMAC-SHA256で600,000回以上反復処理されます。反復回数は、お使いのiPhoneで250 ms以上かかるように調整されます。その結果が金庫の鍵そのものになることはありません。
  • Secure Enclaveがその結果をラップします。方式は、Secure Enclave内のP-256の鍵を使ったECIESです。秘密鍵はSecure Enclaveの中で作成され、読み出すことはできないため、ファイルとキーチェーンをコピーしても、別のマシンでパターンを試すことはできません。
  • 金庫の鍵(256ビットの乱数、金庫ごとに1つ)は、正しいパターン、Face ID、リカバリーフレーズのいずれかを使ったあとに、メモリ上でのみアンラップされます。
  • 各ファイルには専用のランダムな鍵があり、金庫の鍵でラップされます。写真、動画、メモ、スキャン、サムネイル、プレビューはすべて別々のオブジェクトです。
  • 各ファイルは1 MiBのチャンク単位でAES-256-GCMにより暗号化されます。チャンクごとに新しいノンスを使い、チャンクをそのファイル、その位置、最後のチャンクかどうかに結びつける認証データを付けます。変更、切り詰め、入れ替えが行われたチャンクは検出され、復号されません。
256ビット
金庫の鍵(金庫ごとにランダム)
600,000回以上
PBKDF2-HMAC-SHA256の反復回数
1 MiB
暗号化チャンクあたり
0
サーバ、アカウント、トラッカー

フォーマットについてのそのほかの事実:ディスク上のファイル名はランダムな128ビットの識別子です。コンテナはNSFileProtectionCompleteで保護され、デバイスのバックアップから除外されています。ヘッダーには同じ長さの鍵スロットが8つあり、使われていないスロットはランダムなバイトで埋められているため、スロットからはダミー金庫やWipe Keyがあるかどうかはわかりません。ただし、インデックスファイルからは、フォレンジック解析で2つ目の金庫の形跡がわかる可能性があります。これはアプリの監査で未解決の項目です。Face IDには、現在登録されている顔の組み合わせで作成された専用のSecure Enclaveの鍵があり、iPhoneのパスコードに切り替わることはありません。動画は暗号化されたリソースローダーを通じてチャンクごとに再生され、復号された一時ファイルは作られません。侵入の記録は、金庫がロックされている間にHPKE(P-256、HKDF-SHA256、AES-256-GCM)で暗号化されるため、あとから開けるのは本物の金庫の鍵だけです。

バックアップと復元

暗号化されたiCloudバックアップは誰でも無料で使え、初期設定でオンになっています。同じ暗号化されたオブジェクトを、あなた自身のiCloudアカウントのプライベートデータベースにアップロードします。Appleに見えるのは暗号文だけで、Mirageには何も見えません。バックアップを開けるのはリカバリーフレーズだけです。フレーズはBIP-39の単語リストから選ばれた8つの単語(88ビット)で、一度だけ表示され、保存されません。ほかのすべての鍵は作成したiPhoneのSecure Enclaveに結びついているため、別のiPhoneで使える鍵はこのフレーズだけです。

Mirage Vaultのリカバリーフレーズの画面:番号付きの8つの単語と、紙に書き留めるよう促す3つの注意Mirage Vaultのリカバリーフレーズの画面:番号付きの8つの単語と、紙に書き留めるよう促す3つの注意
8つの単語は一度だけ表示されます。Mirageは再表示もリセットもできません。

何を、誰が確認したか

コンテナ形式とアプリ層は2026-10-31にレビューされました。コードの精読、別のレビュー担当者によるフォーマットの2回目のレビュー、そして並行処理、改ざん、ファジング、平文漏えいを確認するストレステスト用ターゲットです(パッケージ内の71件のテストはすべて合格し、Thread Sanitizer下でも合格)。ファイルの暗号化は、ビット反転、ランダムな変異、あらゆる境界での切り詰め、ファイル間でのチャンクの入れ替えに耐え、誤った平文が返されることは一度もありませんでした。指摘事項は金庫とスロットのロジック、そしてiCloudバックアップにあり、重大度が「緊急」と「高」のものは同日中に修正されました。監査文書には、各指摘事項とその状況が記録されています。

コンテナ形式と鍵を定義するMirageCryptoモジュールは、GitHubで公開できるよう独立したパッケージとして書かれています。公開されたら、このページからリンクします。

アプリの1段落の紹介文と、記事用のアイコンとスクリーンショットはプレスキットにあります。

セキュリティのページ

よくある質問

Mirage Vaultは暗号化されていますか?
はい。写真、動画、メモ、ファイルはすべて、iPhone上でAES-256-GCMにより1 MiBのチャンク単位で、ファイルごとに専用のランダムな鍵で暗号化されます。サムネイルとプレビューも暗号化されます。読み取り可能なコピーがディスクに書き込まれることはなく、ファイル名はランダムな識別子です。
Mirageは私の写真を見られますか?
いいえ。Mirageのアカウントもサーバもありません。金庫の鍵がiPhoneの外に出ることはなく、iCloudバックアップにはあなた自身のiCloudアカウント内の暗号文しか含まれず、リカバリーフレーズは一度だけ表示されて保存されません。Mirageの誰も金庫を開けることはできず、フレーズを尋ねることも決してありません。
誰かが私のiPhoneからファイルをコピーしたらどうなりますか?
手に入るのはランダムに見えるデータです。それを開くには金庫の鍵が必要で、その鍵はそのiPhoneのSecure Enclave内の鍵でラップされています。ファイルのコピーからオフラインでパターンを推測することはできません。Secure Enclaveの鍵は取り出せないため、すべての推測はデバイス上で行う必要があり、そこでは5回間違えると待ち時間が始まり、最大1時間まで延びます。
Mirage Vaultはデータを収集しますか?
App Storeのプライバシーラベルは「データの収集なし」です。アプリには分析ツールも、クラッシュレポートのサービスも、広告SDKも、アカウントもありません。購入はAppleを通じて行われます。ネットワーク通信が発生するのは、あなた自身のiCloudアカウントへの暗号化されたiCloudバックアップ(任意)だけです。
暗号化のコードは公開されていますか?
コンテナ形式と鍵を定義するMirageCryptoモジュールは、GitHubで公開する前提で書かれています。公開されるまでは、のちに公開されるモジュールと照らし合わせて誰でも主張を確認できるよう、このページでフォーマットを詳しく説明しています。