合理否認:每個圖形開啟不同的保險庫

有人要求您解鎖保險庫。您畫了一個圖形。一個保險庫開啟了,裡面是無害的照片和購物清單。他們不知道的是,另一個圖形會開啟一個完全不同的保險庫,裡面是您真正需要保護的東西。而且沒有任何方式可以證明它的存在。

Vaultaire 的合理否認意味著在 5×5 格上繪製的每個圖形都會開啟一個有不同加密金鑰的不同保險庫。沒有主索引,沒有保險庫計數,也沒有辦法證明裝置上存在其他保險庫。

合理否認的真正含義

在安全領域,合理否認意味著您可以有可信地否認某事物存在。不只是隱藏它,不只是讓它難以被找到。您可以看著某人的眼睛,邊境官員、施暴的伴侶、搶了您手機的小偷,並誠實地說「這就是全部」,而且沒有任何技術證據可以反駁您。

大多數保險庫應用程式只有一個密碼後面的一個保險庫。若有人強迫您開啟它,一切都暴露了。有些應用程式提供「誘餌模式」,您可以設定第二個密碼來顯示假畫面。但這些實作通常只是表面功夫。鑑識人員可以查看應用程式的資料、看到設定旗標、注意到加密資料的大小與可見檔案不符,或找到揭示隱藏層存在的元資料。

Vaultaire 採取根本不同的方法。您在 5×5 格上繪製的每個圖形都會衍生出不同的加密金鑰。每個金鑰解密不同的加密區塊。沒有主索引,沒有保險庫登錄檔,沒有列出保險庫數量的設定檔。應用程式本身不知道。它不可能知道。它只是取您繪製的任何圖形,衍生出金鑰,嘗試用該金鑰解密資料,並顯示它找到的任何東西。

若找到保險庫,您就看到您的檔案。若什麼都找不到,它會詢問您是否要用該圖形建立新保險庫。若有人繪製不同的圖形,他們得到不同的金鑰,以及不同的結果。沒有「圖形錯誤」的提示。沒有其他保險庫存在的跡象。只有眼前這個保險庫,以及對其他一切完全、以數學強制執行的沉默。

核心原則

傳統保險庫應用程式就像一棟有可見保險箱的房子。即使保險箱上了鎖,每個人都能看到它在那裡。Vaultaire 就像一棟每把鑰匙創造出不同房間的房子。沒有人能知道有幾個房間,因為每把鑰匙只揭示它所配的房間。其他房間並非被隱藏起來,從沒有正確鑰匙的人的角度來看,它們根本不存在。

底層運作方式

Vaultaire 合理否認的技術基礎出乎意料地優雅。它依賴大多數保險庫應用程式完全忽視的加密特性:不同的金鑰從相同的加密資料產生不同的輸出,而且在不檢查明文的情況下,無法區分「正確」的解密和「錯誤」的解密。

不同的圖形,不同的金鑰

當您在 Vaultaire 的 5×5 格上繪製圖形時,您連接的點序列會與密碼鹽值一起輸入金鑰衍生函數 (PBKDF2)。這個過程產生一個唯一的 256 位元 AES 加密金鑰。不同的圖形,即使只差一個點,也會產生完全不同的金鑰。不是略有不同的金鑰,而是完全不同的金鑰。改變圖形中的一個點,衍生金鑰的每一個位元都會以不可預測的方式改變。

每個金鑰解密自己的區塊

Vaultaire 將加密資料儲存為不透明的區塊。當您繪製圖形時,應用程式衍生出金鑰並嘗試解密資料。若金鑰與現有保險庫相符,認證解密 (AES-256-GCM) 成功,認證標籤通過驗證,您的檔案就出現了。若金鑰不與任何保險庫相符,解密要麼靜默失敗,要麼產生無意義的輸出。無論哪種情況,應用程式都不顯示錯誤。它只是詢問您是否要用該圖形建立新保險庫。

沒有主索引

這是將 Vaultaire 與僅提供「誘餌模式」的應用程式區分開來的關鍵設計決策。沒有列出保險庫 ID 的資料庫表。沒有計算保險庫數量的設定檔。沒有任何能揭示額外加密容器存在的元資料結構。磁碟上的加密區塊彼此無法區分,也與隨機資料無法區分。就連 Vaultaire 本身也無法列舉使用者建立了幾個保險庫。

合理否認流程
圖形 A
您的真實圖形
金鑰 A
衍生金鑰
保險庫 A
您的私人檔案
圖形 B
誘餌圖形
金鑰 B
不同的金鑰
保險庫 B
無害的檔案

兩個保險庫同樣真實。兩者都用相同的演算法加密。兩者都產生相同種類的加密輸出。沒有任何旗標、標記或元資料將其中一個標記為「真實」,另一個標記為「誘餌」。就數學而言,它們是相同的。

誘餌保險庫策略

合理否認只有在您有東西可以展示時才有效。空的保險庫很可疑。明顯沒有值得保護的內容的保險庫也很可疑。最強的防禦是一個看起來正是有人預期會找到的保險庫。

設置您的誘餌

選擇第二個圖形,一個您在壓力下可以快速、自然地繪製的圖形。用該圖形建立一個保險庫。在裡面填入對使用保險庫應用程式的人來說合理的內容:也許是一些您希望保持私密但並不敏感的個人照片、幾份財務文件、一些筆記。內容應該令人信服且略顯尷尬,剛好足夠讓搜索您手機的人認為他們找到了您正在隱藏的東西。

讓它看起來可信

好的誘餌保險庫有幾個特點。它應該包含合理數量的檔案,不要太少(可疑地空),也不要太多(為什麼要保護那麼多平凡的內容?)。這些檔案應該足夠新,暗示有在使用。理想情況下,內容應該提供一個合理的理由,說明您為什麼要安裝保險庫應用程式。

找到您誘餌保險庫並看到個人照片、稅務文件和私人筆記的人,可能會得出結論認為他們已經找到了一切。他們沒有理由懷疑存在額外的保險庫,因為應用程式本身沒有提供任何跡象。磁碟上的儲存空間顯示加密區塊,這些區塊完全由可見的保險庫解釋,或者更精確地說,沒有技術方法可以判斷這些區塊是否已被完全解釋。

在壓力下

若您曾被迫解鎖裝置,請繪製誘餌圖形。保險庫開啟。檔案出現。把手機交出去。沒有什麼可以找到,沒有什麼可以調查,也沒有隱藏的選單可以發現。拿著您手機的人看到一個有已解鎖保險庫的保險庫應用程式。故事結束。

您的真實保險庫,裡面有真正重要的檔案,仍然不可見。不是藏在選單後面,不是受到第二層認證保護。它只是不顯現,除非繪製正確的圖形。而且沒有人能強迫您繪製一個他們不知道存在的圖形。

為何這在數學上可以驗證

這不是行銷宣傳。Vaultaire 合理否認的安全性根植於現代密碼學的成熟特性。以下是為什麼無論多麼複雜的鑑識分析都無法證明額外保險庫存在的原因。

0
揭示保險庫數量的元資料
2256
每個圖形的可能金鑰
100%
與隨機雜訊無法區分

加密資料看起來像隨機雜訊

AES-256-GCM 加密產生的輸出在計算上與隨機資料無法區分。這不是粗略的近似,而是密碼的正式特性。給定一個加密資料塊,沒有任何演算法能判斷它是有意義的加密內容還是真正的隨機位元組。這意味著磁碟上的加密保險庫資料在沒有正確金鑰的情況下無法被識別為「保險庫資料」。

沒有保險庫登錄檔

沒有任何檔案、資料庫或資料結構記錄保險庫的數量或它們對應的圖形。鑑識人員可以看到 Vaultaire 已安裝且存在加密資料。他們無法判斷這些資料代表幾個保險庫。可能是一個,可能是十個。資料本身回答不了這個問題。

沒有辨別先知

在密碼學中,「先知」是任何能回答關於加密資料問題的東西。大多數密碼系統包含一個先知:您輸入密碼,系統告訴您是否正確。Vaultaire 沒有這樣的先知。每個圖形都產生一個金鑰。每個金鑰都嘗試解密。沒有「拒絕存取」的回應能確認或否認給定的圖形是否對應現有保險庫。嘗試隨機圖形的攻擊者甚至無法判斷自己是否在接近正確答案。

資訊理論論證

正式地說:給定磁碟上可觀察的資料(加密區塊)和一個有效的解密(誘餌保險庫),對手獲得關於是否存在其他有效解密的零資訊。即使對手擁有無限的計算能力,這個結論也成立。這不是計算更努力或更久的問題。這些資訊根本不存在。

為什麼這在法律上很重要

在許多司法管轄區,您可能被強制交出密碼或解鎖裝置。但您不能被強制揭露一個無法被證明存在的東西。若法院或當局要求存取您的保險庫,而您提供了一個保險庫,那麼就由他們來證明額外保險庫的存在。在 Vaultaire 的情況下,這樣的證明在數學上不可能產生

誰需要合理否認

您可能認為合理否認只適用於間諜和告密者。實際上,數以百萬計的普通人面臨這樣的情況:在脅迫下保護資訊的能力不是奢侈品,而是必需品。

記者及其消息來源

調查性記者通常攜帶敏感材料:消息來源的身份、洩漏的文件、訪談錄音。在許多國家,記者在邊境、檢查站或突擊搜查時會被例行拘留並搜查裝置。包含無害筆記和已發表照片的誘餌保險庫提供掩護,而真實保險庫則保護消息來源,這些人的生命可能依賴於匿名。

社運人士和組織者

政治社運人士、勞工組織者和人權工作者在手機是監控目標的環境中行動。成員名單、戰略通訊和侵權記錄必須受到保護,不僅要防止盜竊,也要防止強制披露。合理否認意味著被沒收的手機不會揭示任何無法解釋的東西。

處於家暴情境中的人

家暴倖存者通常需要記錄證據,包括傷勢照片、威脅錄音、與法律顧問或庇護所的通訊,同時與監控其裝置的人共同生活。若施暴者要求查看保險庫應用程式中的內容,誘餌保險庫不顯示任何令人擔憂的東西。存放證據的保險庫仍然不可見,同時保護文件和當事人的安全。

過境邊境的旅行者

在越來越多的國家,邊境官員可以要求旅行者解鎖裝置並將其交出進行檢查。拒絕可能意味著被拒入境、拘留,或更糟的後果。有了 Vaultaire,您可以完全誠實地配合:您打開保險庫,官員檢查它,而您在其他保險庫中的私人資料仍然完全無法偵測。

任何重視隱私的人

您不需要身處危險才值得擁有隱私。也許您有私人日記,也許您有不想被人偶然看到的醫療資訊,也許您只是認為您數位生活的每個部分都不應該被任何撿起您手機的人存取。合理否認是最強大的隱私形式,因為它不只阻止存取,更阻止問題本身被提出。

與其他保險庫應用程式的比較

市場上大多數保險庫應用程式將安全性視為存取控制問題:設定密碼,密碼把關對您檔案的存取。有些提供「假 PIN」或「誘餌模式」。但這些實作很膚淺,知識豐富的檢查員一眼就能看穿。

單一保險庫的問題

絕大多數保險庫應用程式,包括 Private Photo Vault、Keepsafe、Calculator#,都只有一個密碼後面的一個保險庫。若您被迫打開它,一切都看得到。沒有第二層,沒有替代視圖,沒有辦法只顯示部分檔案同時隱藏其他檔案。您唯一的選擇是拒絕解鎖,而在許多情況下,這根本不是選項。

表面性的誘餌模式

少數應用程式提供「假密碼」功能,輸入次要代碼後顯示有限或空的保險庫。這聽起來很聰明,直到您考慮其實作方式。這些應用程式通常在設定中儲存一個旗標,表示誘餌模式存在。鑑識工具甚至中等技術水平的人,都可以檢查應用程式的資料目錄,找到旗標,並知道存在隱藏模式。這種誘餌模式是安全劇場。

Vaultaire 的方法在架構上截然不同

Vaultaire 並非在傳統保險庫架構上添加合理否認功能。它內建在基礎之中。圖形到金鑰的衍生、保險庫登錄檔的缺失、使用不揭示其他金鑰資訊的認證加密,這些不是可以開啟或關閉的功能。它們是加密方案本身的特性。沒有旗標可以找到,因為根本沒有旗標。沒有誘餌模式,因為每個保險庫都是真實的。

這就是一個試圖隱藏保險庫的系統,與一個「隱藏」概念根本不適用的系統之間的區別。Vaultaire 不隱藏您的保險庫。它讓它們對沒有正確圖形的任何人來說在密碼學上不存在。

常見問題

我可以建立幾個保險庫?

沒有人為限制。您繪製的每個獨特圖形都會建立一個有自己加密金鑰的獨立保險庫。您可以有兩個或二十個。由於沒有任何地方儲存登錄檔或計數,只有您知道自己擁有幾個保險庫。

鑑識人員能判斷我有幾個保險庫嗎?

不能。磁碟上的加密資料與隨機雜訊無法區分。沒有任何元資料、索引或結構性特徵能揭示保險庫的數量。鑑識人員可以確認 Vaultaire 已安裝且存在加密資料,但無法判斷這些資料代表幾個不同的保險庫。

若有人知道 Vaultaire 的合理否認功能怎麼辦?

這正是這個設計的精妙之處。即使有人確切了解系統的運作方式,即使他們讀過這頁,他們仍然無法證明額外保險庫的存在。安全性不依賴隱晦性,而依賴數學。知道演算法,沒有金鑰也無濟於事,任何分析都無法揭示是否存在其他金鑰。

擁有多個保險庫會影響儲存空間或效能嗎?

每個保險庫消耗的儲存空間與其包含的檔案成正比。無論您有一個還是多個保險庫,加密和解密的開銷都相同。應用程式只會解密您繪製的圖形所對應的保險庫,因此效能不受其他保險庫存在的影響。

Vaultaire 能被強迫透過軟體更新揭露所有保險庫嗎?

不能。這個架構讓此事在理論上也不可能發生。根本沒有保險庫清單可以揭露。軟體更新無法建立保險庫清單,因為應用程式本身就沒有這項資訊。唯一能發現保險庫的方式,是提供衍生其金鑰的圖形。這是加密的特性,而非應用程式的特性。

若我不小心用已使用過的圖形建立保險庫怎麼辦?

若您繪製的圖形與現有保險庫相符,應用程式就會開啟該保險庫。您不可能意外建立重複項目,因為金鑰衍生是確定性的:相同的圖形始終產生相同的金鑰。繪製現有保險庫的圖形只是開啟它。

保護真正重要的東西

不到一分鐘就能設置您的第一個誘餌保險庫。因為真正的安全,是當您有東西要隱藏時,看起來卻什麼都沒有。

免費下載 Vaultaire