Vaultaire 的核心主張
隱私應用有一個致命缺陷:它們看起來就像隱私應用。本文說明為什麼 Vaultaire 的設計目標是消除證據,而不是再加一道鎖定畫面。
隱私應用有一個致命缺陷:它們看起來就像隱私應用。
一個上鎖的資料夾昭告天下它被鎖上了。一個名叫「計算機+」的隱藏相簿騙不過任何有備而來的人。你 iPhone 上每一款「安全」照片保險庫都有同樣的問題:它證明你有東西要藏。
當有人強迫你解鎖手機,不論是邊境人員、施暴的伴侶,或是威權政府,他們看到應用程式、看到鎖,就不會停下來,直到你打開它為止。
Vaultaire 打開時不會列出一串具名的保險庫。一個圖形對應一個加密保險庫,介面也不會透露其他保險庫的存在。
加密照片儲存應該如何運作
在格點上畫一個圖形。PBKDF2 會衍生出本機保險庫金鑰,用來驗證加密索引,並解開 AES-256-GCM 檔案加密所用的隨機主金鑰。畫另一個已設定的圖形,就能開啟另一個加密保險庫。AES 運算透過 CryptoKit 在 App 程序中執行;Vaultaire 並未宣稱在 Secure Enclave 內執行任意的對稱加密。
畫了一個沒有對應索引的圖形?不會出現「密碼錯誤」訊息,也沒有其他保險庫的清單,只會看到一個空白的建立畫面。這種無法區分只限於介面。檔案系統攻擊者若複製了索引檔名和 AES-GCM 標籤,仍然可以離線驗證猜測。
介面不會列出所有保險庫,但儲存上的邊界要說清楚:根索引檔案放在一個以隨機掩護檔案補足到 64 的倍數的檔案池中,所有保險庫共用 1 個儲存資料夾,檔名都是隨機的,但檢查檔案系統的人仍可估計有幾個保險庫存有檔案。儲存用量也會隨加密內容而變化。檢查者可以複製密文,而圖形衍生的金鑰和隨機主金鑰保護可讀的檔案對應表和內容。
這不是門上的一把鎖。這是一堵牆,把門原本在的地方填滿了。
零知識架構為何重要
光有鎖定畫面,並不能證明檔案有加密。判斷任何照片保險庫,都應該看它的儲存格式、金鑰層級、復原途徑,以及 App 容器被複製時會發生什麼,而不是看它有沒有 PIN 碼或圖形畫面。
Vaultaire 是依照一個範圍更窄的原則打造的:儲存加密 Vaultaire 記錄的服務,不應該收到可讀的保險庫內容或解密金鑰。用戶端、iOS、Keychain 和已解鎖的裝置仍屬於信任模型的一部分,加密檔案也仍然可以被辨識為加密的 App 資料。
沒有 Vaultaire 身分帳號。App 不需要你的電子郵件地址或電話號碼。Apple 仍可能保有購買、iCloud 和裝置帳號的記錄。App 分析和當機診斷預設開啟,可以在「設定」中用「匿名分享錯誤」關閉;開啟時,它們會依照隱私權政策產生化名的產品事件。
在本機使用保險庫不需要依賴雲端。Vaultaire 會為加密備份建立 CloudKit 記錄(備份預設開啟,可以在「設定」中關閉),你使用裝置同步或分享時也會建立記錄。CloudKit 收到的是密文和運作所需的中繼資料,而不是可讀的保險庫檔案或明文解密金鑰。iCloud 備份和電腦上的裝置備份是另外的系統途徑,可能包含 App 的加密本機檔案。
Vaultaire 內沒有生物辨識解鎖。圖形是一組與 iPhone 密碼和 Face ID 分開的憑證,但它仍可能被偷看、猜中、在脅迫下說出,或在遭入侵的裝置上被擷取。我們不採用生物辨識,是為了讓這條存取途徑保持明確。
沒有電子郵件重設。沒有由提供者持有的復原金鑰。Vaultaire 會產生一組由九個單字組成的自訂復原片語,而不是 BIP-39 助記詞。片語存放在加密的 Keychain 資料庫中,方便你日後查看;備份開啟時(預設開啟),它也可以儲存一份以片語加密的 CloudKit 清單。
你的圖形會搭配全裝置共用的鹽值,經過 600,000 輪 PBKDF2-HMAC-SHA512,衍生出 256 位元的保險庫金鑰。輸出長度再長,也不會讓容易猜到的圖形變成 256 位元的熵。使用期間金鑰存在於 App 記憶體中;鎖定時會丟棄使用中的狀態,但我們不宣稱能確實抹除每一份暫存副本。
適合哪些人
在手機搜查稀鬆平常的地方保護消息來源的記者。在政府監控下攜帶文件的社運人士。在自己知道被監控的裝置上保存證據的家暴倖存者。在強制檢查裝置的邊境過境的旅行者。在個人手機上存有特免材料的律師。
以及所有明白隱私不是因為有什麼要藏,而是因為有什麼值得保護的人。
脅迫保險庫
使用 Pro 時,可以把一個保險庫設為脅迫觸發。畫出該圖形時,會開啟指定的保險庫,同時 Vaultaire 從目前的裝置上移除其他保險庫的本機索引、儲存檔案和復原對應。既有的加密 iCloud 備份和其他裝置上的副本不受影響,日後要復原則必須明確輸入復原片語。脅迫設定是一個 Keychain 項目,所以能存取 Keychain 的檢查者可以看出設定過脅迫。
這個流程在 App 介面中不會有任何提示,但不保證在鑑識分析下無法察覺。已刪除的檔案、檔案系統狀態、雲端記錄、其他裝置,或先前已遭入侵的裝置,仍可能透露資料曾經存在或有過變動。
我們不會打造什麼
我們不會加入生物辨識解鎖,因為法律可以強制你使用它。我們不會加入依賴雲端的儲存,因為它會成為傳票和資料外洩的目標。我們不會把保險庫內容、圖形、復原片語或分享 ID 放進分析資料。當機報告仍可能包含檔名,而每個保險庫在分析資料中都有一個固定的雜湊參照。我們不會加入偽裝成帳號復原的後門。我們不會為了方便而削弱架構。
Vaultaire 的每一項決策都指向同一件事:在任何情況下,你的私人檔案都屬於你。
Vaultaire 是一款適用於 iPhone 和 iPad 的私密加密照片與檔案保險庫,不需要身分帳號。App 分析、當機診斷和 Apple Ads 歸因預設開啟,可以在「設定」中用「匿名分享錯誤」關閉。依照公開說明的事件政策,這些資料不包含保險庫內容、圖形、復原片語、檔案類型和分享 ID。當機報告可能包含檔名,而每個保險庫都有一個固定的雜湊參照。AES-256-GCM 透過 CryptoKit 在本機執行,並由 Keychain 保護綁定裝置的復原狀態。