我有一些 PDF 檔案需要安全地儲存在我的 Mac(MacBook Air 2011、OSX Lion)上。我對加密軟體進行了快速搜索,結果給我留下了幾個問題。首先關於加密軟體:它似乎使用選擇的演算法來加密您的文件,我想知道哪個是最安全的?以及如何安全是實際上嗎?因為我對加密(PHP密碼加密等...)的(基本)理解告訴我,如果加密的檔案可以再次解密,那麼從定義上來說它並不是那麼安全(該演算法可以「反轉」。)那麼什麼是最安全的怎麼辦?
另一件事。我發現有些人使用終端機透過在文件名稱前面加一個點來隱藏文件,這樣它就不會顯示在正常的使用者介面中。這對我來說似乎很奇怪,因為它仍然顯示在終端中。如果你們能指出我正確的方向,我將不勝感激!
答案1
正如您所說,您最好的選擇是同時執行這兩項操作,即加密文件,然後隱藏它。最好的選擇是使用磁碟映像,它可以用作 Finder 中的目錄,以便於存取(安裝時)。
使用「磁碟實用程式」(位於 /Applications/Utilities/ 中,或使用 Spotlight)建立 DMG 映像。為此,請按一下檔案 > 新建 > 空白磁碟映像。然後您可以選擇大小(選擇足夠大以滿足您的需求)和加密(128 位元或 256 位元 AES)。給它一個名稱和儲存位置,然後就可以了。
使用終端,您可以使用重新命名檔案(假設影像保存在文件資料夾中)
mv ~/Documents/myImage.dmg ~/Documents/.myImage
每次您需要存取影像時,您都可以從終端執行以下操作:
open ~/Documents/.myImage
系統將提示您輸入密碼,然後您可以像平常在 Finder 中一樣使用磁碟映像。您可以使用任何您想要的名稱。
為了更安全,您需要清除歷史記錄,以便沒有人可以看到您輸入的開啟影像的命令(這會顯示其位置)
history -c && rm -f ~/.bash_history
另外,卸載映像後,請確保刪除「磁碟工具」左側窗格中的連結。
答案2
隱寫術是確保事物安全的一種糟糕方法。雖然它可能會添加一層保護,以確保電腦上的檔案免受非技術用戶的攻擊,但它對其他任何人都提供零安全性。大多數取證應用程式都會搜尋原始資料中的檔案頭並分析檔案大小等。因此,舉例來說,如果您要將pdf檔隱藏在jpg中,這對於搜尋 pdf 標題的人來說毫無用處。 (它也可能會突出顯示 320 像素 x 320 像素的 25MB 圖像......)本質上,速記在現代計算中對現代取證技術來說是毫無用處的。另外,加上“.”在檔案不隱藏之前,它只允許過濾點檔案的過濾器將其過濾掉。如果您特別要求,您仍然可以找到這些文件。
就 AES、Blowfish、Rijndael 或其他任何技術的強度而言,它們的安全性有限。不管別人告訴你什麼,這些演算法並不是牢不可破的,它們也不是被設計成牢不可破的。您的說法是正確的,加密(通常)依賴可逆的演算法;然而,要反轉它們,需要大量的處理工作——比當前計算素數和檢索原始密鑰可能或可能的工作量還要多。
考慮加密的一個好方法是問自己:“我的資料值多少錢?”以及「其他人會付出多少努力才能得到它?」。
如果您試圖隱藏核發射代碼,那麼將它們彈出到受密碼保護的 zip 檔案中的文字檔案中還不夠。
這僅有的許多人認為無法破解的加密是一次性墊。
那麼,我該如何隱藏我的東西呢?
我建議您下載真密碼建立一個適合容納所有要隱藏的檔案的大容器 - 然後添加 30%-50%。創建容器後,用其他人可能認為重要但毫無價值的文件填充其中 30%-50%。這些文件將充當您的轉移文件 - 如果您被迫透露密碼,這些文件將成為誘餌。
設定完成後,建立另一個隱第一個容器內。這是您放置您的超秘密文件。 (請參閱 Truecrypt 文件以了解如何執行此操作 - 這很簡單。)
最後,使用不同的文件副檔名重命名您的文件,以免人們迷失方向。 OS X 上的 .dmg 副檔名對此很有用,甚至是 .iso。同樣,這的用途有限,但會讓一些人感覺更好。
現在你有了一個非常安全的容器來隱藏你的文件,如果你遇到洩露密碼的情況,你可以向你的誘餌分區洩露密碼,沒有人能夠證明其他情況。有傳言稱即使在兩年後,FBI 仍無法破解 Truecrypt 容器。
現在,如果您真的想將事情提升到一個新的水平。得到帶密碼的 USB,並使用 FileVault2 加密您的 USB 並將 Truecrypt 容器放在 USB 上。
我也有一條護城河,裡面有狂暴的鯊魚,但 YMMV...
答案3
隱藏檔案與加密無法相比。
目前 AES 是標準加密演算法,非常安全,它與您使用的密碼一樣安全。它只能透過猜測您的密碼來解密。確保您不使用 ECB 模式,但沒有嚴肅的程式甚至提供這種加密模式。
在 MacOSX 中,使用「磁碟工具」和「新映像」可以輕鬆建立加密的 DMG 檔案。
答案4
關於隱藏文件
文件名前加點的技巧只是一個標準的 Unix 約定:以點開頭的文件名是隱藏文件,不應透過使用者介面顯示。然而,在大多數 UI 中,都有一種方法可以讓這些文件可見。使用這個技巧可能會對大多數人隱藏該文件,但可能會讓電腦專家更加明顯。
關於加密
現代加密基於數學假設,即某些類型的操作無法輕易撤消,除非您首先確切地知道它們是如何完成的。這可以防止逆向工程和密碼分析。因此,加密演算法可以標準化並發布以供公眾監督。
為了仍然保護您的數據,演算法中的步驟接受從加密金鑰派生的參數。還將提供解密演算法,該演算法僅在給出原始加密金鑰的情況下才有效。如果使用錯誤的金鑰,解密的文字將是亂碼。這些加密演算法套件還附帶數學證明,表明在不知道加密金鑰的情況下,無法使用其他實用演算法來解密資料。
關於哈辛
安全雜湊函數是單向函數,即不可逆,對其屬性有一些額外的保證。它們實際上並不是用於“加密”,而是用於“證明”。
您在 PHP 中用於「加密」密碼的方法可能是雜湊函數,它並不是真正的加密,因為如您所知,關鍵在於雜湊資料無法解密。
人們經常混淆兩者,因為 a) 許多密碼可以用作雜湊函數,b) 雜湊也用於加密套件以使其更安全。
有關 b) 的更多資訊:雜湊最常用於處理加密金鑰,以使輸入統一併避免已知的弱點。因此,在更專業的加密軟體中,您通常會同時選擇加密演算法(AES、RC4 等)和雜湊演算法(MD5、SHA 等)。
但是,您顯然不能使用雜湊函數來加密內容,因為有用的加密的目的是您可以取回明文。
為了讓這些知識實用起來
……您必須仔細考慮您要向誰隱藏數據,他們的電腦技能有多好,以及這些數據是否值得他們聘請專家。
如果您可以接受人們找到加密檔案但仍然無法開啟它們,那麼任何加密軟體都可以。如果您想要否認存在,即人們無法在您不放棄知識的情況下證明您擁有加密文件,您可以查看 TrueCrypt。