安全架構:完整技術堆疊
Vaultaire 不依賴單一演算法或單一巧妙技巧。它使用分層密碼學架構,每個組件都有特定的職責,任何一層的失敗都不會危害其他層。以下是站在您的私人資料和外界之間的每個密碼、協定和設計決策。
Vaultaire 的安全堆疊使用 AES-256-GCM 進行檔案加密、PBKDF2 搭配 600,000 次迭代進行金鑰衍生、ChaCha20 進行元資料保護,以及 Apple 的 Secure Enclave 進行硬體支援的金鑰管理。每個檔案有自己的初始化向量,每個保險庫有自己的鹽值,應用程式鎖定時金鑰會從記憶體中清除。
密碼學堆疊
大多數安全應用程式選擇一種加密演算法就算了。Vaultaire 使用六種不同的密碼學機制協同工作,每種都是針對特定威脅模型選擇的。檔案內容用一種密碼加密,元資料用另一種加密。金鑰透過計算量大的函數衍生。硬體安全存儲結果。零知識架構確保即使是建造 Vaultaire 的人也無法存取您的資料。
這不是為了複雜而複雜。每一層都針對不同的攻擊面。AES-256-GCM 處理批量檔案加密,因為它快速且在 Apple 晶片上有硬體加速。ChaCha20 保護元資料,因為它是恆定時間的且能抵抗快取計時攻擊。PBKDF2 透過數十萬次迭代衍生金鑰,讓暴力破解攻擊在計算上不可行。Secure Enclave 儲存金鑰材料,因為當有人對您的裝置有物理存取權時,純軟體保護是不夠的。
這些層共同形成縱深防禦架構。攻擊者需要同時破解多個獨立的密碼學原語,這個場景牢牢地屬於數學不可能的範疇。
把 Vaultaire 的安全想象成一系列銀行金庫門,每扇門需要不同類型的鑰匙。突破一扇門對下一扇毫無幫助。檔案密碼、元資料密碼、金鑰衍生函數和硬體安全晶片各自是獨立的屏障。攻擊者必須擊敗所有這些,而不只是其中一個。
AES-256-GCM:檔案加密
Vaultaire 中儲存的每張照片、影片和文件都以 AES-256-GCM 加密,這是採用 256 位元金鑰的進階加密標準(Galois/Counter 模式)。這是美國政府用於最高機密分類資訊的相同密碼。這不是行銷類比,而是字面上相同的演算法、相同的金鑰大小和相同的操作模式。
AES-256 中的「256」指的是金鑰長度(位元)。256 位元金鑰有 2256 種可能的值。換個角度看這個數字:可觀測宇宙中大約有 1080 個原子。若每個原子都是一台超級電腦,每秒測試十億個金鑰,從宇宙大爆炸開始運行至今,它們探索的金鑰空間不到萬億分之萬億分之一。AES-256 不會被暴力破解。不是今天,不是這個世紀,不是在星球燃燒殆盡之前。
為什麼 GCM 模式很重要
AES 是一種區塊密碼,以 128 位元的塊加密資料。「模式」決定這些塊如何組合。GCM(Galois/Counter 模式)提供了更簡單模式(如 CBC)所沒有的兩樣東西:並行加密和內建認證。
認證這部分至關重要。GCM 為每個加密檔案生成一個密碼學標籤。這個標籤充當防篡改封條。若密文的哪怕一個位元被修改,無論是惡意行為者還是損壞的磁碟扇區,認證標籤就不匹配,解密就會失敗。您不會得到損壞的資料,而是得到一個清晰的訊號,表明出了問題。這個特性稱為認證加密,它防止了攻擊者透過修改加密資料來操控解密輸出的整類攻擊。
PBKDF2:金鑰衍生
您的加密金鑰不是憑空出現的。它透過金鑰衍生函數從您的圖形(或密語)衍生而來,這是一種專門設計用於將人類提供的輸入轉換為密碼學金鑰的演算法。Vaultaire 使用 PBKDF2(Password-Based Key Derivation Function 2)搭配 HMAC-SHA512,這是一個 NIST 推薦的標準,廣泛用於全球政府和金融系統。
PBKDF2 如何保護您的圖形
PBKDF2 背後的核心思想是刻意的緩慢。它取您的圖形,透過數十萬輪密碼學雜湊處理。每一輪需要一小段時間。對您來說,繪製圖形並等待解密幾乎是即時的。對於嘗試用暴力猜測圖形的攻擊者來說,那一小段時間會乘以每一次猜測。
Vaultaire 使用針對現代硬體特別校準的高迭代次數配置 PBKDF2。在這些參數下,每次金鑰衍生嘗試都需要大量計算工作。嘗試十億種圖形猜測的攻擊者需要多年的連續計算,而這只是針對一個保險庫。而且這還假設他們知道鹽值,而鹽值對每個保險庫來說是唯一的,儲存在您的裝置上。
每個保險庫都有自己的密碼學隨機鹽值。這意味著兩個恰好繪製相同圖形的用戶將產生完全不同的加密金鑰。預先計算的查找表(彩虹表)毫無用處,因為鹽值使每個保險庫的金鑰衍生都是唯一的。攻擊者必須針對他們攻擊的每個保險庫從頭開始。
ChaCha20:元資料保護
僅加密檔案內容是不夠的。檔案名稱、建立日期、縮圖尺寸和保險庫結構都是元資料,而元資料可能和資料本身一樣具有揭示性。名為「tax-return-2025.pdf」的檔案,即使內容是加密的,也向攻擊者準確揭示了裡面是什麼。時間戳顯示您何時使用了保險庫。縮圖大小揭示了某東西是照片還是影片。
Vaultaire 使用 ChaCha20 加密所有元資料,ChaCha20 是由 Daniel J. Bernstein 設計的流密碼。ChaCha20 與 AES 一起使用而非替代 AES,有一個特定的原因:密碼學多樣性。
為什麼要為元資料使用獨立的密碼?
對檔案內容和元資料使用相同的演算法,意味著針對該演算法的理論突破會一次性暴露所有東西。透過對檔案內容使用 AES-256-GCM、對元資料使用 ChaCha20,Vaultaire 確保即使在極不可能的情況下某個密碼被破解,另一層仍然完整。
ChaCha20 對元資料也有實際優勢。它是純軟體密碼,不依賴硬體 AES 指令,這使其效能完全恆定,無論加密的資料是什麼。這消除了快取計時旁通道攻擊,一類攻擊者透過測量加密需要多長時間來推斷金鑰或明文資訊的攻擊。對於元資料這樣的小型結構化資料,這種恆定時間特性尤其重要。
零知識架構
這是一個值得對任何安全應用程式提出的問題:若其背後的公司被入侵、被傳票或乾脆變得惡意,會發生什麼?
對大多數應用程式來說,答案令人不安。它們持有您的資料、您的金鑰,或兩者都有。法院命令迫使它們交出。資料洩露暴露了它。流氓員工存取了它。應用程式的安全性只有公司的運營安全那麼強,而歷史表明公司定期被入侵。
Vaultaire 建立在零知識架構上。這意味著製造 Vaultaire 的公司從來無法存取您的加密金鑰、您的圖形、您的密語或您的未加密資料。不是在同步期間,不是在備份期間,從不。密碼學操作完全在您的裝置上執行。若有任何東西離開您的裝置,它已經以只有您持有的金鑰加密。
零知識在實踐中的意義
若執法機構向 Vaultaire 發出傳票要求您的資料,公司可以完全配合,交出的東西毫無用處。沒有金鑰可以上交,沒有主密碼,也沒有後門。儲存在 iCloud 中的加密區塊在沒有您的金鑰的情況下,在數學上與隨機雜訊無法區分,而您的金鑰只存在於您的腦海中(作為圖形)和暫時存在於裝置的 Secure Enclave 中(應用程式開啟時)。
這不是政策決定,而是架構決定。無論意圖、動機或法律壓力如何,Vaultaire 無法存取您的資料。系統的設計使這種能力根本不存在。
零知識架構意味著您不需要信任 Vaultaire 作為一家公司。您不需要相信伺服器是安全的,員工是誠實的,或政府不會來敲門。數學保護您免受所有人的侵害,包括寫這段數學的人。
Secure Enclave 整合
純軟體安全有其上限。無論應用程式如何謹慎地在記憶體中處理加密金鑰,作業系統、其他應用程式或物理存取工具理論上都可以讀取那段記憶體。Apple 的 Secure Enclave 透過為金鑰操作提供硬體隔離環境來消除這個漏洞。
Secure Enclave 是內建於每部現代 iPhone 的專用協處理器。它有自己的加密記憶體、自己的啟動過程和自己的安全邊界。儲存在 Secure Enclave 中的金鑰永遠不會離開它,甚至主處理器也無法讀取它們。相反,應用程式將資料發送到 Secure Enclave,後者在內部執行密碼學操作並只返回結果。
Vaultaire 使用 Secure Enclave 進行金鑰管理。當您繪製圖形且金鑰衍生函數產生加密金鑰時,該金鑰被移交給 Secure Enclave。所有後續的加密和解密操作都委託給硬體。金鑰從不以可被調試器、越獄工具或鑑識成像系統提取的形式存在於應用程式的記憶體空間中。
這意味著即使攻擊者擁有對您 iPhone 的根存取權(一個需要複雜越獄的場景),加密金鑰仍然無法存取。Secure Enclave 是一個有自己矽晶片的獨立晶片。破壞 iOS 不等於破壞 Enclave。
每個檔案的初始化向量
當您用相同的金鑰加密兩個相同的檔案時,簡單的實作會產生相同的密文。這是個問題。看到兩個相同的加密區塊的攻擊者,在不解密任何東西的情況下就知道兩個原始檔案是相同的。在充滿照片的保險庫中,這種模式分析即使透過加密也能揭示資訊。
Vaultaire 透過為每個檔案生成唯一的、密碼學隨機的初始化向量(IV)來消除這個問題。IV 在 AES-256-GCM 操作中與加密金鑰結合,確保即使是逐位元組相同的檔案也會產生完全不同的密文。用相同金鑰加密的同一張照片的兩個副本,看起來像完全不相關的隨機資料。
IV 與加密檔案一起儲存,但不是秘密的,它們的安全性來自唯一性,而非機密性。每個 IV 使用裝置的密碼學隨機數字生成器生成,該生成器從硬體雜訊源汲取熵值。生成兩次相同 IV 的概率極小:GCM 的 96 位元 IV 大約是 1 / 296。
記憶體管理:自我銷毀的金鑰
安全軟體中的一個常見失誤,是在敏感資料不再需要後將其留在記憶體中。加密金鑰、衍生密碼和解密資料,可以在應用程式使用完它們之後很長時間仍然留在 RAM 中。鑑識工具可以轉儲裝置記憶體並搜索這些殘留物,一種稱為冷啟動攻擊或記憶體轉儲分析的技術。
Vaultaire 對記憶體衛生採取積極的方法。當您關閉應用程式或鎖定保險庫時,以下操作立即依序發生:
- 加密金鑰被覆寫。持有金鑰材料的記憶體位置先填充零,然後是隨機資料,再然後是零。這不是簡單的釋放記憶體,而是主動清除以防止恢復。
- 衍生金鑰材料被清除。PBKDF2 計算的中間值、臨時緩衝區和任何快取的解密資料都被清零。
- Secure Enclave 金鑰被失效化。Secure Enclave 中的金鑰參考被標記為銷毀,確保它們在不從圖形重新衍生的情況下無法被重用。
- 解密的縮圖和預覽被清除。記憶體中任何快取的圖像資料在應用程式完全關閉前被覆寫。
下次您開啟 Vaultaire 時,從頭開始。您繪製圖形,金鑰被新鮮衍生,Secure Enclave 收到新的金鑰參考。沒有工作階段令牌,沒有快取憑證,也沒有捷徑。每次應用程式啟動在密碼學上都獨立於上一次。
常見問題
AES-256 真的無法破解嗎?
在絕對的數學意義上,沒有任何加密演算法可以被證明是無法破解的。然而,AES-256 已經經受了全球研究社群超過二十年的公開密碼分析。針對 AES-256 已知的最佳攻擊,將有效金鑰強度從 256 位元降低到約 254.4 位元,這個降低幅度微不足道,實際影響為零。用暴力破解 AES-256 所需的能量超過了太陽系中存在的能量。就所有實際目的而言,它對任何現有或可預見的技術來說都是無法破解的。
為什麼使用 PBKDF2 進行金鑰衍生?
PBKDF2 搭配 HMAC-SHA512 是一個 NIST 推薦的標準,擁有數十年的安全分析驗證。結合 Vaultaire 的高迭代次數和每個保險庫的隨機鹽值,暴力破解攻擊需要每個保險庫數年的計算時間。PBKDF2 在 Apple 的 CommonCrypto 框架中原生實作,避免了第三方依賴,並確保金鑰衍生在經過強化和審計的系統程式碼中執行。
Vaultaire 向其伺服器發送哪些資料?
沒有任何資料。Vaultaire 沒有接收您資料的伺服器。若您啟用 iCloud 備份,您的加密資料儲存在您的個人 iCloud 帳號中,在離開您的裝置之前已加密,且 Apple 不持有加密金鑰。Vaultaire 公司從不接收、處理或儲存任何使用者資料,無論是否加密。
越獄的 iPhone 會危害我的保險庫嗎?
越獄給攻擊者提供了 iOS 的根存取權,但 Secure Enclave 是一個有自己安全邊界的物理獨立協處理器。越獄 iOS 不會越獄 Secure Enclave。儲存在那裡的加密金鑰即使在完全的作業系統控制下也無法存取。然而,越獄裝置確實增加了鍵盤記錄或螢幕擷取的攻擊面,因此 Vaultaire 建議使用非越獄裝置以獲得最大安全性。
為什麼對檔案和元資料使用兩種不同的密碼?
密碼學多樣性。若 AES 中發現了漏洞(極不可能,但並非不可能),您的元資料仍然受到 ChaCha20 的保護,反之亦然。此外,ChaCha20 提供的恆定時間效能特性非常適合處理小型結構化資料,例如檔案名稱和時間戳,這消除了理論上可能影響純軟體實作中的 AES 的某類旁通道攻擊。
應用程式崩潰時我的金鑰會怎樣?
iOS 在應用程式終止時(無論是正常還是崩潰)都會回收所有記憶體。Secure Enclave 的金鑰參考與應用程式的工作階段綁定,並在程序結束時自動失效。即使在崩潰場景下,金鑰材料也不會以可存取的形式持續存在。下次啟動時需要完整的圖形輸入和新的金鑰衍生,沒有辦法恢復之前的工作階段。