圖形加密:繪製形狀如何保護您的檔案
你用手指畫出一個圖案。 PBKDF2 將該手勢轉換為保管庫金鑰,從而解鎖一個單獨的隨機金鑰,用於保護您的文件 AES-256-GCM。沒有密碼字段,沒有短 PIN 碼。只是您的模式和故意分層的關鍵層次結構。
Vaultaire 序列化在 5×5 網格上繪製的形狀並使用 PBKDF2-HMAC-SHA512,600,000 次迭代,以及儲存在設備範圍內的鹽 iOS Keychain。 256 位元結果是保管庫金鑰:它加密保管庫索引並解開單獨的隨機主金鑰 AES-256-GCM 用於文件內容和元資料。
什麼是圖形加密?
大多數保險庫應用程式隱藏在 PIN 碼或密碼後面。輸入四個數字,您的照片就出現了。聽起來夠安全,對吧?
問題在於:四位數 PIN 碼只有 10,000 種可能的組合。電腦可以在不到一秒內嘗試所有組合。六位數?一百萬種組合,在現代硬體上仍然輕而易舉。即使是僅使用小寫字母的八個字元密碼,也只有約 2,000 億種可能性。這聽起來很多,直到您了解標準筆記型電腦每秒可以測試數十億個密碼雜湊值。
模式加密採用了一種根本不同的方法。您無需在框中輸入字符,而是在點網格上繪製幾何形狀。您追蹤的特定路徑(您觸碰的點、順序、幾何形狀)將成為基於密碼的金鑰派生函數的輸入。結果不僅僅由介面檢查:它必須解鎖經過身份驗證的加密索引及其內部的隨機主密鑰。
區別很重要。當您在某些應用程式中輸入 PIN 碼時,該應用程式僅檢查您是否輸入了正確的號碼。如果您這樣做了,它就會打開,即使檔案可能主要受到存取控制的保護。相反,Vaultaire 將繪製的圖案輸入 PBKDF2 派生 256 位元保管庫金鑰。此金鑰必須先驗證並解密保管庫索引,然後才能解開檔案上使用的隨機主金鑰。無法辨識的模式呈現為空庫,但底層 AES-GCM 身份驗證仍然可以區分正確的金鑰和錯誤的金鑰。
基於 PIN 碼的訪問門就像放置在可讀文件前面的一扇上鎖的門。 Vaultaire 的模式更接近保險箱上的組合:它衍生出開啟加密索引的金鑰,而索引又會釋放保護內容的單獨金鑰。此介面不能簡單地繞過該加密鏈。
運作方式,逐步說明
從您的手指觸碰螢幕到您的檔案對其他人變得不可讀,以下是整個過程。
步驟一:繪製您的圖形
Vaultaire 展示了 5×5 的點網格。您繪製一條連接至少 6 個點且至少有兩個方向變化的連續路徑。該應用程式準確記錄您訪問了哪些點以及訪問的順序。這個序列就是你的模式。
與 Android 鎖定畫面常用的 3×3 網格不同,Vaultaire 使用 5×5 網格。這不是美容選擇。二十五個位置比九個位置允許更多的路徑、交叉、跳過和方向改變。更大的理論空間會有所幫助,但實際的安全性仍然取決於您選擇的路徑的不可預測性。即使網格可以表達數十億種替代方案,熟悉的字母或簡單的形狀仍然是可猜測的。
步驟 2: 此模式派生保管庫金鑰
您繪製的圖案將按照網格大小進行序列化並輸入到 PBKDF2 (基於密碼的密鑰導出函數2) HMAC-SHA512,600,000 次迭代,以及隨機的設備範圍鹽。鹽是儲存在中的非秘密值 iOS Keychain 作為 WhenUnlockedThisDeviceOnly 項目。它使得本地導出設備綁定;它並不是每個金庫所獨有的,並且不會為人類選擇的模式添加熵。
金鑰派生過程故意成本高昂。 PBKDF2 運行 600,000 HMAC-SHA512 每個候選模式的迭代,增加了猜測攻擊的成本。這不會將低熵模式轉變為 256 位元安全性,且攻擊時間取決於攻擊者的硬體。它的目的更狹窄且可衡量:使每個猜測都比簡單的散列更昂貴。
步驟三:您的檔案被加密
首次建立保管庫時,Vaultaire 會產生一個隨機的 256 位元主金鑰。模式派生的保險庫金鑰對索引進行加密並包裝該主金鑰;它不會直接加密每個檔案。主密鑰用於 AES-256-GCM 文件頭、內容、縮圖和相關元資料。新的隨機數確保重複的明文不會在同一密鑰下產生重複的密文。
GCM 模式增加了一個重要層次:認證。它不只是打亂您的資料,還會生成一個用於偵測任何篡改的標籤。若加密檔案的任何一個位元被修改,解密就會失敗。任何人都無法在您不知情的情況下篡改您的檔案。
第 4 步:清除活動按鍵狀態
當 Vaultaire 鎖定時,它會清除其活動保管庫和主密鑰狀態,並在再次顯示檔案之前需要另一個解鎖儀式。當保管庫開啟時,這些對稱金鑰位元組必然存在於應用程式進程中,因此 CryptoKit 可以執行 AES-GCM 操作。 Vaultaire 還將恢復資訊(包括模式和短語加密的恢復信封)保存在一個 AES-GCM 加密資料庫儲存在 iOS Keychain。這與聲稱圖案和每個密鑰副本都沒有存儲在任何地方有本質上的不同。
背後的數學(用淺顯的語言解釋)
您不需要電腦科學學位就能理解這為什麼有效。安全性歸結為三個數字:可能的圖形有多少、每次猜測需要多長時間,以及攻擊者能進行多少次猜測。
熵:衡量不可預測性
熵是“這有多難猜”的專業說法。擲硬幣有 1 位元的熵(兩種結果)。四位數 PIN 碼約有 13 位元的熵(10,000 種結果)。在 5×5 格上選擇良好、連接 8 個或更多點的圖形,可以超過 30 位元的熵,也就是超過十億種可能的圖形。
此模式的熵設定了猜測攻擊的上限。 PBKDF2 無法創建手勢不包含的熵,但它會使每個候選者的測試成本更高。
金鑰衍生:讓猜測變得昂貴
PBKDF2 採用序列化模式並運行 600,000 輪 HMAC-SHA512。攻擊估計必須使用硬體上進行猜測的測量成本:如果每個完整候選人正好 1 毫秒,則 1,000,000,000 個候選人將需要 1,000,000 秒,即 1 個工作人員大約需要 11.6 天。較慢的候選成本測量會增加時間;並行硬體減少了它。 256 位元輸出長度不會改變模式搜尋空間的大小。
設備範圍的鹽儲存在 Keychain 並且並不是為了保密而設計的。 Keychain 和 iOS 資料保護可能會使設備扣押情況下的提取變得更加困難,但密碼分析必須假設獲取加密文件的檢查員也可能獲取鹽。鹽會阻止跨裝置的預計算;它不能取代強大的模式。
AES-256:政府信賴的標準
AES-256 是美國政府用於機密資訊的加密標準。“256” 指的是金鑰長度(位元)。256 位元金鑰有 2256 種可能值,這個數字大到如果可觀測宇宙中的每一個原子都是一台電腦,每台電腦每秒能測試一兆個金鑰,它們也無法在宇宙熱寂之前破解它。
的安全性 AES-256 不依賴演算法的保密性。但整個系統並不僅僅受到 AES 密鑰空間的保護:實際的猜測範圍來自模式的熵,即 PBKDF2 工作因素,以及圍繞設備鹽和加密儲存的保護。 AES-256-GCM 一旦正確的隨機主密鑰被解鎖,就提供強大的經過身份驗證的加密。
為什麼無人能突破
讓我們考慮一下有人可能嘗試存取您的加密檔案的主要方式、Vaultaire 採取了哪些措施來提高成本,以及仍然存在哪些限制。
暴力破解:嘗試每一種圖形
PBKDF2 讓每個模式候選人支付60萬 HMAC-SHA512 迭代。這是一個有意義的防禦,但不是固定年限的承諾:結果取決於模式選擇、測得的推導速度、並行性以及檢查者是否已恢復設備鹽。更長、更難以預測的路徑很重要,因為 PBKDF2 增加猜測成本而不是創造新的熵。
污跡攻擊:讀取您的螢幕
在 3×3 格上,螢幕上的污跡可以大幅縮小可能的圖形範圍。在 5×5 格上,污跡圖案顯示哪些點被觸碰,但不揭示順序、方向或點之間的連接方式。組合爆炸讓這種方法不切實際。
偷窺:觀察您繪製
在小型手機螢幕上快速繪製的圖形,通過觀察極難記憶,在 5×5 格上尤其如此。研究顯示,與偷聽大聲說出的 PIN 碼或密碼相比,觀察者複製複雜圖形要困難得多。
裝置沒收:拿走您的手機
如果有人拿走了您的手機,Vaultaire 的文件內容和索引仍然存在 AES-GCM 密文,直到所需的密鑰可用。該應用程式不會儲存傳統的密碼驗證器記錄,但這不會刪除離線驗證。每個加密保管庫索引的檔案名稱包含保管庫金鑰的截斷雜湊值,並且 AES-GCM 對於候選密鑰,經過身份驗證的解密也會成功或失敗。因此,設備保護和模式強度仍然是威脅模型的一部分。
不需要單獨的密碼雜湊來測試對經過身份驗證的密文的猜測。沃泰爾的 AES-GCM 標籤提供高可信度的成功或失敗結果,索引檔案名稱提供更便宜的初步檢查。辯護是憑證的成本和不可預測性加上 iOS 保護本地材料,而不是缺乏驗證神諭。
選擇強圖形
加密的強度取決於您選擇的圖形。以下是如何以最小的努力最大化安全性。
什麼讓圖形更強
- 使用更多點。連接 25 個可用點中的至少 8 個。每個額外的點都會讓可能的圖形數量成倍增加。
- 交叉您的路徑。回環、跳過點或意外改變方向的圖形,比直線圖形更難從記憶或觀察中重現。
- 避免明顯的形狀。字母(L、Z、S)、簡單幾何形狀(正方形、三角形)和直線是攻擊者會首先嘗試的。
- 使用完整格子。只停留在一個角落或一條邊緣的圖形浪費了可用的熵值。要擴散到整個格子。
應避免什麼
- 最小長度模式。 Vaultaire 需要至少 6 個點和兩個方向變化,但滿足最小值並不會使路徑變得不可預測。當您能夠可靠地記住結果時,請使用更多的網格。
- 簡單幾何形狀。L 形、鋸齒形或直對角線,是圖形版本的“password123”。
- 每次都從同一個角落開始。關於 Android 鎖定圖形的研究顯示,大多數人從左上角的點開始。攻擊者知道這一點。
最佳選擇
連接 8–12 個點、至少有兩次方向改變的圖形,能提供出色的安全性,同時透過肌肉記憶很容易記住。您不需要像密碼一樣記住它,您的手會記住這個動作,就像它記住如何寫您的簽名一樣。
為什麼您可以感到安心
Vaultaire 中的模式加密不僅僅是一個更漂亮的密碼鍵盤。此手勢由真實金鑰衍生函數處理,並且必須解鎖經過驗證的加密資料。它的強度仍然取決於你選擇的手勢,因此 Vaultaire 將更大的網格與高 PBKDF2 工作因子,而不是將 256 位元輸出長度表示為 256 位元人類秘密熵。
您的模式和本機保管庫金鑰不會傳送到 Vaultaire。如果啟用了可選備份,則會使用單獨的模式派生備份金鑰進行加密 CloudKit 記錄和加密的復原清單可讓復原短語還原保管庫和備份金鑰。 Vaultaire 不持有解密這些記錄的提供者金鑰,但裝置和復原憑證仍然是設計中的安全關鍵部分。
您畫一個形狀,這個形狀保護您的檔案。其餘的交給數學。
常見問題
忘記圖形怎麼辦?
當您建立保管庫時,Vaultaire 會產生包含 9 個單獨單字的自訂恢復句子。 PBKDF2 從該句子中派生出恢復金鑰,該金鑰將開啟包含保管庫金鑰的加密信封。如果您同時遺失了模式和復原短語,Vaultaire 就沒有可以恢復保管庫的伺服器端金鑰。
圖形真的比密碼更安全嗎?
在 5×5 格上選擇良好的圖形,其熵值可與或超過一般密碼。優勢在於易用性:人們之所以選擇弱密碼,是因為強密碼難以記住。圖形利用肌肉記憶,讓您自然地使用複雜圖形,而無需刻意背記。
有人能截圖或錄製我的圖形嗎?
Vaultaire 將盡力而為的螢幕截圖屏蔽應用於圖案網格,並在以下情況下做出反應 iOS 報告活動螢幕捕獲。 iOS 不為任意應用程式內容提供公共安全螢幕標誌,因此這些控制項可以減少意外捕獲,但不能保證每種捕獲方法都會被阻止。
Vaultaire 使用什麼加密演算法?
沃泰爾用途 PBKDF2-HMAC-SHA512 經過 60 萬次迭代,從模式和裝置範圍內匯出保管庫金鑰 Keychain 鹽。此保管庫金鑰對保管庫索引進行加密並包裝隨機的 256 位元主金鑰。 AES-256-GCM 在主金鑰下,透過經過驗證的加密來保護檔案內容、標頭、元資料和縮圖。
圖形儲存在我的裝置上嗎?
Vaultaire 將恢復資訊(包括模式)儲存在 AES-GCM 加密復原資料庫保存在 iOS Keychain。此模式不會傳送到 Vaultaire 或儲存在純文字檔案中。當保險庫開啟時,關鍵字節存在於應用程式進程中;鎖定會降低 Vaultaire 的活動密鑰狀態。
Vaultaire 能存取我的加密檔案嗎?
Vaultaire 不提供接收您的模式、復原短語、解密金鑰或可讀保管庫內容的服務。加密的 iCloud 備份保留在您的私人資料夾中 CloudKit 資料庫。此提供者邊界不會保護開放保管庫免受受損的應用程式建置、作業系統或裝置的影響。