Mirage Vault 如何加密並保護你的照片

更新於 2026 年 11 月 9 日事實來自 App 原始碼與 2026-10-31 的安全性稽核

Mirage Vault 保護照片的方式,是在 iPhone 本機上以 AES-256-GCM 加密每張照片(每個檔案一把隨機密鑰),並以 Secure Enclave 鎖住保險箱密鑰。沒有帳號,也沒有伺服器:圖形、Face ID 或復原短語是僅有的進入方式,檔案的副本也無法在其他地方被猜解開啟。

誰在看,以及他們能得到什麼

每一列代表一個可能查看的人、他們在 Mirage Vault 中能得到什麼,以及保護你的是什麼。

誰他們看到什麼保護你的是什麼
瞄一眼你的主畫面,或從你背後偷看的人一個普通的圖像;鎖定畫面是一片空白的沙色,沒有 App 名稱,也沒有格點圖形格點只會在手指下方出現,手指離開後便淡去;App 切換器顯示一張空白的快照
拿著你已解鎖 iPhone 的人保險箱空白的鎖定畫面Face ID 或圖形;錯誤 5 次會開始 30 秒的等待時間,每次加倍,最長 1 小時;離開時鎖定、螢幕朝下時鎖定
知道你 iPhone 密碼的人同樣空白的鎖定畫面保險箱有自己的密鑰。iPhone 密碼打不開它,而保險箱的 Face ID 綁定已註冊的臉孔:在 iPhone 上新增臉孔,會關閉保險箱的 Face ID,直到你用圖形解鎖並重新開啟它為止
擁有檔案副本或 iCloud 備份副本的人檔名隨機、看似隨機的資料AES-256-GCM,每個檔案一把密鑰;保險箱密鑰由無法複製的 Secure Enclave 密鑰包裝,因此無法離線猜測圖形。備份只能用 8 個單字的復原短語開啟
逼你解鎖的人你選擇讓對方看的任何保險箱藏在第二個圖形後面的誘餌保險箱,以及 Wipe Key:一個會當場抹除真正保險箱的密鑰、改為開啟誘餌保險箱的圖形(兩者皆為 Mirage Pro)。兩者都需要關閉 Face ID,因為 Face ID 會在 Mirage 一開啟時就開啟真正的保險箱
Mirage,或任何向 Mirage 索取的人什麼都沒有:沒有帳號、沒有伺服器,也沒有密鑰的副本復原短語只顯示一次,從不儲存;Mirage 也絕不會有人向你索取

Mirage Vault 實際的加密方式

以下是 App 原始碼中的參數,而不是摘要。

  • 你的圖形或 PIN 碼會經過至少 600,000 次迭代的 PBKDF2-HMAC-SHA256 運算,並經過校準,在你的 iPhone 上至少耗時 250 毫秒。運算結果本身從來都不是保險箱密鑰。
  • Secure Enclave 會包裝這個結果:以 Secure Enclave 中的 P-256 密鑰進行 ECIES。私密密鑰在 Secure Enclave 內建立且無法讀出,因此光有檔案和鑰匙圈的副本,不足以在另一台機器上嘗試圖形。
  • 保險箱密鑰(256 位元隨機值,每個保險箱一把)只在記憶體中解除包裝,而且只在圖形、Face ID 或復原短語正確之後。
  • 每個檔案都有自己的隨機密鑰,由保險箱密鑰包裝。照片、影片、筆記、掃描、縮圖和預覽都是各自獨立的物件。
  • 每個檔案都以 1 MiB 區塊封存,使用 AES-256-GCM:每個區塊使用全新的 nonce,並以驗證資料將區塊綁定到所屬檔案、它的位置,以及它是否為最後一個區塊。被更改、截斷或調換的區塊會被偵測出來,而不會被解密。
256 位元
保險箱密鑰,每個保險箱隨機產生
≥ 600,000
PBKDF2-HMAC-SHA256 迭代次數
1 MiB
每個加密區塊
0
伺服器、帳號、追蹤器

格式的其他事實:磁碟上的檔名是隨機的 128 位元識別碼;容器受 NSFileProtectionComplete 保護,並排除在裝置備份之外;檔頭存放 8 個長度相同的密鑰槽,未使用的密鑰槽會填滿隨機位元組,因此密鑰槽不會透露是否存在誘餌保險箱或 Wipe Key。索引檔案在鑑識分析下仍可能顯示第二個保險箱的跡象;這是 App 稽核中尚未解決的項目。Face ID 有自己的 Secure Enclave 密鑰,以目前已註冊的臉孔建立,不會改用 iPhone 密碼解鎖。影片透過加密的資源載入器逐區塊播放,不會產生暫存的解密檔案。入侵記錄會在保險箱鎖定期間以 HPKE(P-256、HKDF-SHA256、AES-256-GCM)加密封存,因此日後只有真正保險箱的密鑰能打開它們。

備份與復原

加密的 iCloud 備份對所有人免費,且預設開啟。它會把同樣的加密物件上傳到你自己 iCloud 帳號的私有資料庫;Apple 看到的只有密文,Mirage 則什麼也看不到。備份只能用復原短語開啟:從 BIP-39 單字表中選出的 8 個單字(88 位元),只顯示一次,從不儲存。復原短語是唯一能在另一支 iPhone 上使用的鑰匙,因為其他所有密鑰都綁定在建立它們的那支 iPhone 的 Secure Enclave 上。

Mirage Vault 的復原短語畫面:八個編號的單字,以及三則提醒你抄寫在紙上的提示Mirage Vault 的復原短語畫面:八個編號的單字,以及三則提醒你抄寫在紙上的提示
八個單字,只顯示一次。Mirage 無法再次顯示,也無法重設。

檢查了什麼,由誰檢查

容器格式與 App 層已於 2026-10-31 接受審查:閱讀程式碼、由另一位審查者再次審查格式,以及一個包含並行、竄改、模糊測試和明文外洩檢查的壓力測試目標(套件中有 71 項測試,全部通過,在 Thread Sanitizer 下也通過)。檔案加密經得起位元翻轉、隨機變異、在每個邊界截斷,以及在檔案之間調換區塊:從未傳回錯誤的明文。發現的問題出現在保險箱與密鑰槽的邏輯,以及 iCloud 備份中,嚴重和高風險的問題已在當天修正;稽核文件記錄了每個問題及其狀態。

定義容器格式與密鑰的 MirageCrypto 模組,是以獨立套件的形式撰寫的,以便在 GitHub 上公開。公開後,本頁將提供連結。

App 的一段話介紹、圖像和可供報導使用的螢幕截圖,都在媒體資料包中。

安全性頁面

常見問題

Mirage Vault 有加密嗎?
有。每張照片、每部影片、每則筆記和每個檔案,都在 iPhone 上以 1 MiB 區塊進行 AES-256-GCM 加密,每個檔案都有自己的隨機密鑰。縮圖和預覽也會加密。磁碟上不會寫入任何可讀取的副本,檔名也是隨機的識別碼。
Mirage 能讀取我的照片嗎?
不能。沒有 Mirage 帳號,也沒有 Mirage 伺服器。保險箱密鑰從不離開 iPhone,iCloud 備份在你自己的 iCloud 帳號中只包含密文,而復原短語只顯示一次,從不儲存。Mirage 沒有任何人能打開保險箱,也絕不會有人向你索取復原短語。
如果有人從我的 iPhone 複製檔案,會怎樣?
他們只會得到看似隨機的資料。要打開它,需要保險箱密鑰,而這把密鑰由那支 iPhone 的 Secure Enclave 內的密鑰包裝。從檔案副本離線猜測圖形是行不通的:Secure Enclave 密鑰無法被取出,因此每一次猜測都必須在裝置上執行,而在裝置上錯誤 5 次就會開始一段最長達 1 小時的等待時間。
Mirage Vault 會收集任何資料嗎?
App Store 隱私權標籤標示為「未收集資料」。App 沒有分析工具、沒有當機回報服務、沒有廣告 SDK,也沒有帳號。購買透過 Apple 處理。唯一的網路活動,是選用的加密 iCloud 備份,傳送到你自己的 iCloud 帳號。
加密程式碼是公開的嗎?
定義容器格式與密鑰的 MirageCrypto 模組,是以在 GitHub 上公開為前提撰寫的。在公開之前,本頁會詳細說明格式,讓任何人日後都能拿公開的模組來核對這些說法。