[教學] 免費硬碟/隨身碟加密軟體 VeraCrypt (TrueCrypt 替代方案)

/ 分類: , / 15 則回應

標籤: ,

在開始介紹 VeraCrypt 之前,不得不從自 2004 年就開始發展的免費開源加密工具 TrueCrypt 說起,軟體本身採用 On-the-fly encryption (OTFE) 的方式來建立加密分割區或者是編碼過得虛擬區塊來模擬磁碟機,讓使用者可以將重要的檔案存放其內並加密,除非擁有正確的密碼,不然無法知道保護區塊內有啥樣類型的檔案。

也曾經有新聞報導過,美國 FBI 無法破解巴西政府委託透過 TrueCrypt 編碼的硬碟,自然軟體本身無法輕易被破解的強大保護功能似乎也再次受到驗證,加上跨平台的設計,其實也有著為數不少使用者,只是在無預警的情況下,TrueCrypt 在官網上註明了 “WARNING: Using TrueCrypt is not secure as it may contain unfixed security issues“,也明確說明 TC 不會繼續開發,最新的 7.2 版僅提供解碼功能,讓使用者可以解出使用先前版本製作的編碼檔案,並建議使用其他編碼工具替代,團隊並未針對所謂的安全疑慮做出其他解釋,不過盛囂塵上的傳言紛紛把矛頭指向 NSA,直指 TrueCrypt 早就被破解甚至值入後門,方便官方在某些情況下直接取得編碼內容,網友 badon 也在發表的 Hidden message on the new sourceforge TrueCrypt site 的文章中指出,最新版的程式碼中也透過藏頭的方式,用拉丁文來暗指 TC 下架的原因。

其實早 TrueCrypt 在公告停止開發之前,在 Indiegogo 就已經有人發起 The TrueCrypt Audit 的募資案,在發布的 Phase I Report 中,只發現了 11 個弱點,並沒有所謂的 critical vulnerability 或者 backdoor,不過 Phase II 的報告出來之前,誰也不敢下定論,下面是相關的一些資訊,有興趣的可以參考看看。

儘管 TrueCrypt 已經中止開發,不過基於其架構下出現了 CipherShed 和 VeraCrypt 兩個分支,前者目前還處在 Alpha Build,後者則是已經開放下載使用,兩者皆會是 OpenSource 跨平台的方式來持續發展,如果已經很熟悉 TrueCrypt 的操作方式,其實選用 VeraCrypt 幾乎可以是無痛上手,操作方式如出一轍。

VeraCrypt 本身已經修正 TrueCrypt 已知的弱點和有安全疑慮的程式碼,強化在編碼系統分割區所使用的 PBKDF2-RIPEMD160 演算法複雜度,雖然會對系統增加一些運算上的負擔,不過現階段的硬體運算強度應該也不至於造成太大的困擾,同時為了避免延續先前架構造成像是 NSA 這類機構能夠較快的找出或者設計出破解機制,新的格式被落實也是必備開發項目。

安裝注意事項

  • 選擇 Extract 的話,可以建立 Portable 版本,不過無法針對系統分割區/系統硬碟進行加密動作

操作語系切換

  • 若是英文界面操作上有窒礙,在 Setting/Language 下可以找到繁體中文

編碼演算法類別淺談

VeraCrypt 在編碼演算法的部份,除了提供 AES、Serpent 以及 Twofish 之外,還有所謂的 Cascade ciphers,也就是同樣的區塊,先後使用不同的演算法以及獨立金鑰下去編碼,甚至是使用上述的三種演算法來加密,進而增加複雜度,不過最直接反應的就是電腦硬體處理的效能,為了讓使用者評估編碼方式的選擇,VeraCrypt 也提供簡單的效能評估工具,讓使用者可以在電腦效能跟編碼複雜度中找到平衡點。

  • 在軟體主頁面 Tools 選項下方可以找到 Benchmark

  • 選取好 Buffer Size 之後按下 Benchmark 之後,就會開始各種編碼方式所需要處理的時間
  • 要注意的是,上述測試是單純在記憶體中運算所需要的時間,在實際的儲存媒體中編碼解碼效率,會受限於 I/O 效能
  • 眼尖的使用者,應該會發現 AES 編碼解碼效能遠高過其他演算法,這並非其編碼較為簡易,而是 CPU 本身有支援硬體加速功能

  • 想要知道自己電腦本身是否有 AES 硬體加速,可以在 Settings 下找到 Performance

  • 若是右上角顯示 Yes, 則是代表 CPU 有支援硬體加速,當然使用者也可以決定該功能是否開啟與否

加密用 Keyfile 的製作

Keyfile 的用途,是在編碼過程中加入雜訊,沒有正確的密碼和對應的檔案,就無法開啟加密過的空間,而 VeraCrypt 本身對於 Keyfile 的檔案大小以及類別並沒有限制,任何格式任何容量大小的檔案都可以作為 Keyfile,不過為了效能考量,只會使用檔案的前 1,048,576 bytes (1 MB) 來做運算,如果沒有適當的檔案或者想要建立亂數產生的 Keyfile,VeraCrypt 本身也提供使用 RNG ( Random Number Generator) 的工具來讓使用者自行製作。

  • Tools 下可以找到 Keyfile Generator 產生器

  • 雖然說是 RNG,不過其實還是屬於 Pseudorandomness,並非真的亂數,所以 VeraCrypt 加入了讓使用者隨意移動滑鼠的動作,滑行時間越久,強度就越高,命名完 Keyfile 名稱之後按下 Generate and Save Keyfile 即可

Page 2 : 建立加密空間 (檔案格式)

一般留言 (15)

  1. 問個問題
    若是之前在TrueCrypt所建立的加密映像檔
    在VeraCrypt能否以相同方式開啟呢?

  2. 對不起,我是新手,我有幾個問題。(一)加密卷可以隨便就刪除ㄟ,怎麼保護它呢?(二)加密卷都是固定大小,不能設定動態的嗎?比方說只要放檔案進去,這個加密卷自動變大?(三)如果在正常加密卷放超過一些資料,隱藏加密卷竟然就被破壞了(比方說整個正常加密卷20G,裡面有5G隱藏加密捲,結果不小心正常加密捲放超過15G,隱藏加密卷就損毀了,救不回來)。不知道有沒有辦法解決呢?

    • 1. 軟體本身僅做加密,要避免誤刪,可能要考慮定期備份或者找看看鎖定檔案的軟體作為輔助 2. Volume Format 設定的時候請勾選 Dynamic (hidden volume 無法動態,包含外層也不行) 3. 關於避免 hidden volume 免於外層 volume 寫過頭這個部份,在 Mount 外層的時候,可以點擊 Mount Options 會看到一個 Protect hidden volume against damage caused by writing to outer volume,勾選即可

  3. 謝謝好文

    • 謝謝支持

      • 你好, 加密區大小是否只可以"固定的", 已經不可以設"變量的"?? 謝謝

        • 剛剛嘗試了一下 還是可以選擇是否要 Dynamic (最新版) 是否可以描述一下無法勾選得操作流程 ?!

          • 喔, 看到耶,跟以前一樣選, 感覺可以省一點空間…謝謝你回應
            “編碼演算法的選擇"那項, 沒需要加入16位密碼的對嗎? 那只是測試用?

          • 基本上就是安全性考量,越複雜相對也會多少影響效能,還是要看需求找個平衡點,至於 TEST 功能,主要是針對你選擇的編碼方式,在處理主機上頭的效能評鑑參考

  4. 寫得相當清楚&完整 想必花了不少時間! 推推推~!!

  5. 寫得淺顯易懂,大推!!!!

發表迴響