本頁面為機器翻譯,仍在審閱中。閱讀英文版

安全

安全

用平實的話說明 VaultWell 如何保護你存放的內容。也包括它無法保護的部分,以及我們尚未完成的事。

從你的路徑到加密檔案這張圖說明保險庫如何上鎖。你在蜂巢上畫出的路徑會經過 Argon2id 延展,使用 64 MiB 記憶體和兩輪運算。結果再與手機安全硬體中保存的密鑰結合:iPhone 上是 Secure Enclave,Android 上是 Android Keystore,可用時使用 StrongBox。兩者共同產生保險庫金鑰,用來解鎖保險庫的主金鑰。接著,各項內容以 1 MiB 為一塊,用 AES-256-GCM 加密,每一塊都經過驗證,而且只儲存在你的手機上。下方用文字寫出了相同的步驟。 你的路徑在蜂巢上畫出八格或更多 Argon2id64 MiB 記憶體兩輪 (t=2) 結合只在這支手機上 保險庫金鑰解鎖主金鑰 AES-256-GCM1 MiB 分塊每塊都經驗證 加密檔案保存在你的手機上不會傳送給我們 硬體密鑰iPhone 上的 Secure EnclaveAndroid 上的 StrongBox(如可用) 從你的路徑到加密檔案這張圖說明保險庫如何上鎖。你在蜂巢上畫出的路徑會經過 Argon2id 延展,使用 64 MiB 記憶體和兩輪運算。結果再與手機安全硬體中保存的密鑰結合:iPhone 上是 Secure Enclave,Android 上是 Android Keystore,可用時使用 StrongBox。兩者共同產生保險庫金鑰,用來解鎖保險庫的主金鑰。接著,各項內容以 1 MiB 為一塊,用 AES-256-GCM 加密,每一塊都經過驗證,而且只儲存在你的手機上。下方用文字寫出了相同的步驟。 你的路徑在蜂巢上畫出八格或更多 Argon2id64 MiB 記憶體兩輪 (t=2) 結合只在這支手機上 硬體密鑰iPhone 上的 Secure EnclaveAndroid 上的 StrongBox(如可用) 保險庫金鑰解鎖主金鑰 AES-256-GCM1 MiB 分塊每塊都經驗證 加密檔案保存在你的手機上不會傳送給我們
每一步都在你的手機上完成。沒有帳號,也沒有伺服器。 閱讀文字版步驟

我們防範誰、防範什麼

VaultWell 針對的是日常的隱私威脅,也就是大多數人真正會遇到的那些。

  • 有人拿起你的手機。伴侶、親戚、同事,或撿到手機的陌生人。沒有路徑,保險庫就始終關著,即使他們知道你的手機密碼也一樣。
  • 有人逼你解鎖。你可以開啟一個日常保險庫或脅迫保險庫。螢幕上不會顯示還有其他保險庫存在。
  • 有人複製了 App 的檔案。金鑰與手機的安全硬體綁定,因此無法在高速電腦上進行猜測。
  • 有人篡改了儲存的檔案。每個加密片段都經過認證,因此改動會被檢測出來,而不會被顯示。

它並非為抵禦以下攻擊者而設計:已經在你手機上安裝了惡意軟體的人、看著你畫出路徑的人,或能強迫你說出所有路徑的人。沒有任何 App 能對此作出承諾。

加密如何運作

  1. 路徑。你在蜂巢上畫過的格子順序(至少八格,不可重複)就是輸入。
  2. Argon2id。該輸入經 Argon2id 強化,使用 64 MiB 記憶體和兩輪運算,因此每次猜測都要耗費實實在在的時間和記憶體。
  3. 硬體綁定。結果會與一個儲存在 iPhone 的 Secure Enclave 或 Android Keystore(可用時為 StrongBox)中的金鑰相結合。這個金鑰無法匯出,因此只有在你的手機上才能算出最終金鑰。
  4. 主金鑰。每個保險庫都有一個隨機的 256 位主金鑰,只以經路徑金鑰加密的形式儲存。
  5. 分塊 AES-GCM。內容以 1 MiB 為一塊,用 AES-256-GCM 加密。每一塊都與其所屬項目和位置綁定,因此一旦被交換、重排或截斷就會校驗失敗。縮圖、項目列表和設定也都經過加密。

沒有帳號,也沒有伺服器。你的金鑰從不離開你的手機,保險庫中的任何內容都不會發送給我們。

隱藏保險庫,以及檢查者仍可能看到什麼

在螢幕上,VaultWell 不會透露任何資訊。鎖定畫面只有蜂巢。錯誤的路徑和從未用過的路徑看起來完全一樣。沒有保險庫列表,也沒有數量。每個保險庫的設定檔案都被填充到相同大小,因此從外部無法分辨一個保險庫的選項,包括它是否為脅迫保險庫。

在儲存層面,我們想說得精確一些。每個保險庫都儲存為一個獨立的加密資料夾。能夠完全存取 App 原始檔案的人,例如對已解鎖手機進行取證提取,可以數出這些資料夾的數量,也能數出有幾個保險庫設定了復原短語。他們無法開啟它們,也看不到裡面的內容,但可以推斷出存在不止一個保險庫。我們計畫減少這一點,例如加入誘餌條目,有變化時會公佈詳情。

在螢幕上

不透露任何資訊

  • 只顯示蜂巢
  • 沒有保險庫清單,也沒有數量
  • 錯誤的路徑看起來就像從未用過的路徑

在原始檔案中,擁有完整存取權時

可能被數出來的

  • 有多少個加密的保險庫資料夾
  • 有多少個保險庫設定了復原短語

依然無法讀取的

  • 任何保險庫裡有什麼
  • 哪一個是脅迫保險庫

脅迫保險庫

當用路徑開啟脅迫保險庫時,VaultWell 會先刪除其他所有保險庫的金鑰檔案及其復原檔案,然後移除這些保險庫的資料夾。沒有金鑰檔案,資料就無法解密。隨後脅迫保險庫會像其他保險庫一樣開啟,螢幕上不顯示任何提示。

  • 在手機上的清除是永久性的,無法撤銷。
  • 用復原短語開啟脅迫保險庫不會清除任何內容。
  • 存放在其他地方的備份和分享不受影響。

備份與分享

備份(.vwbackup)必須能在新手機上開啟,因此無法使用舊手機的硬體。取而代之的是,每份備份都會用 Argon2id 根據你的路徑(如已設定,還有短語)以及一個全新的隨機鹽值來鎖住保險庫的主金鑰。項目保持與儲存時完全相同的加密狀態。備份的安全取決於路徑或短語的強度,因此請妥善保管備份檔案。

分享(.vwshare)使用一個全新的隨機金鑰,由單獨的分享短語鎖住。項目會被重新加密到其中,因此接收者永遠不會得知你保險庫的金鑰。開啟次數、到期和匯出的限制由 App 執行,而不是由密碼學保證,因為沒有伺服器。拿到短語且有心之人仍然可以複製他們看到的內容。

我們不作的聲明

  • 尚未完成審計。我們計畫在推出前進行一次獨立安全審計,並會公佈結果。
  • 並非隱形。即使使用偽裝圖示,App 在你的手機上仍然可見,而且取證檢查可能顯示存在多個保險庫。
  • 在 iPhone 上無法完全防截圖。VaultWell 能防護螢幕擷取,但 iOS 不允許 App 阻止截圖;有截圖時 VaultWell 會告訴你。沒有任何 App 能阻止別人對著螢幕拍照。
  • 我們無法替你復原。如果你丟失了路徑和短語,我們幫不上忙。我們從未擁有它們。

報告問題

如果你發現了安全問題,我們非常感謝你先私下告訴我們;如果你願意,我們會註明你的貢獻。聯絡方式將在推出前公佈。