VeraCrypt

用於即時加密的開放原始碼實用工具

VeraCrypt是一款開放原始碼即時加密軟件英語on-the-fly encryption(OTFE)。[6]它可以建立一個虛擬加密磁碟檔案或加密分區[7],或預引導認證英語Pre-boot authentication整個儲存裝置(除非使用了UEFIGPT)。[8]

VeraCrypt
VeraCrypt 1.17 (Windows平台)
VeraCrypt 1.17 (Windows平台)
開發者IDRIX[1]
首次發佈2013年6月22日,​11年前​(2013-06-22
目前版本
  • 1.26.14(2024年8月25日;穩定版本)[2][3]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言CC++匯編語言
作業系統
語言37種語言[4]
類型硬碟加密軟件英語Disk encryption software
許可協定Apache License 2.0 但受限於 TrueCrypt License version 3.0[5]
網站www.veracrypt.fr

VeraCrypt是已經停止開發的TrueCrypt專案的一個分支[9]。據其開發者聲稱,安全方面的改進已經落實,最初TrueCrypt的代碼審計問題已得到解決。[10]

加密方式

演算法

TrueCrypt相同,VeraCrypt支援的加密演算法AESCamellia、Kuzenyechik、SerpentTwofish。此外,另有十種多重加密英語Multiple encryption方式:AES-Twofish,AES-Twofish-Serpent,Serpent-AES,Serpent-Twofish-AES,Twofish-Serpent,Camellia-Kuzenyechik,Kuzenyechik-Twofish,Camellia-Serpent,Kuzenyechik-AES及Kuzenyechik-Serpent-Camellia。[11] 可使用的密碼雜湊函數RIPEMD-160SHA-256SHA-512Whirlpool英語Whirlpool (cryptography)和Streebog。[12]

操作模式

VeraCrypt使用XTS英語Disk_encryption_theory#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_.28XTS.29操作模式[13]

密匙

軟件頭密匙(header key)和第二頭密匙(the secondary header key)是使用512-和327,661至655,331迭代的PBKDF2產生的,這取決於其使用的底層雜湊函數。[14]

安全性改進

據其開發者聲稱,VeraCrypt對TrueCrypt提出了一些安全方面的改進。

雖然TrueCrypt使用1000次迭代的PBKDF2-RIPEMD160演算法的系統分區,然而VeraCrypt使用的是327,661次迭代。對於標準儲存器和其他分區,VeraCrypt使用655331次迭代的RIPEMD160和500,000次迭代SHA-2和Whirlpool。雖然這使得VeraCrypt在打開被加密分區時稍慢,但它可以讓密碼破解增加最少10倍和最多約300倍的的難度。「事實上,如果破解TrueCrypt的加密分區需要一個月,那麼破解VeraCrypt可能需要一年。」[9]

Windows在引導程式中的漏洞也是如此。開發人員增加了對SHA-256的系統啟動加密選項,還修正了Shell的安全問題。LinuxMac OS X用戶受益於硬碟機磁區大小大於512的支援,並且Linux得到了NTFS格式加密磁區的支援。

由於安全性改進,因此VeraCrypt儲存格式是與TrueCrypt不相容的。VeraCrypt開發團隊認為,TrueCrypt的舊格式容易受到美國國家安全域的攻擊,因此它必須被拋棄。這是和VeraCrypt的競爭對手——CipherShed之間的主要區別之一,CipherShed繼續使用了TrueCrypt加密格式。自版本1.0F開始,VeraCrypt開始支援打開及轉換TrueCrypt的舊格式加密卷。[15][16]

似是而非的否認

VeraCrypt支援一種名為「似是而非的否認」的功能[17],允許在卷內建立另一個「隱藏驅動卷」。[18]此外,Windows版本的VeraCrypt可以建立並執行一個隱藏的加密作業系統,其存在可以被否認[19]該功能使用戶在受到脅迫時通過展示無關緊要的外層卷,而使內層隱藏卷矇混過關。

VeraCrypt說明文件中列出多種方式寫明當該功能受到影響時(例如第三方軟件可能通過臨時檔案、縮圖等向未加密的磁碟分區泄露資訊),幾種可能的方法來避免這種情況。[20]

效能

VeraCrypt支援多元處理並列[21]:63加密,在Windows系統中,管線化型讀寫操作(非同步處理的一種形式)[21]:63以提高加密解密的效能效率。該軟件在較新的處理器支援AES-NI指令集,亦支援AES硬件加速以進一步提高效能。[21]:64 磁碟加密對效能的影響在使用直接主記憶體訪問(Direct Memory Access,DMA)操作中尤其明顯,因為所有數據必須通過CPU進行解密,而不是直接從磁碟複製到主記憶體。

安全問題

VeraCrypt很容易受到各種已知的攻擊,也影響到其他基於軟件的磁碟加密軟件,如BitLocker。為了緩解這些攻擊,VeraCrypt的說明文件要求用戶遵守各種安全防範措施。[20][22]一些安全問題詳述如下:

主記憶體中的加密密匙

VeraCrypt儲存其在主記憶體中的密匙。普通個人電腦上對動態主記憶體斷電後的幾秒鐘(或更長,如降低溫度)之後可能仍然保留着數據。即使在主記憶體中的數據已經嚴重遺失,仍有各種演算法可以恢復金鑰。這種方法被稱為冷啟動攻擊,特別適用於在接入電源時,閒置或鎖屏模式下的手提電腦,現已成功地用於攻擊由TrueCrypt加密保護的檔案系統。[23]

物理安全性

VeraCrypt說明文件指出,如果攻擊者物理攻擊電腦中的數據,或者在受感染的電腦上使用該軟件,VeraCrypt也無法保全其加密數據的完整性。當然電腦被盜,遺失或被沒收這樣的情況自然無能為力。[24]當攻擊者通過物理訪問電腦,例如,安裝一個硬件或軟件的鍵盤記錄器或一個匯流排主控英語Bus mastering裝置擷取主記憶體資訊,或安裝任何其他惡意硬件英語Hardware Trojan軟件的攻擊,讓攻擊者捕捉到未加密的數據(包括加密金鑰和密碼),然後以這些非法得到的加密密匙及密碼進行解密。因此,物理安全是一個完善安全系統的基本前提。這種攻擊方式也一般稱之為「邪惡女傭攻擊」(Evil Maid attack)。[25]

惡意軟件

VeraCrypt說明文件指出,VeraCrypt無法保護被感染某些惡意軟件類型的電腦上的數據。某些類型的惡意軟件被設計用來記錄鍵盤輸入,包括鍵入的密碼,攻擊者也可以通過互聯網上載或儲存到未加密的本地驅動器後讀取它,或者直接物理訪問電腦時。[26]

可信平台模組

VeraCrypt網站上的FAQ指出,[27]可信平台模組(Trusted Platform Module,TPM) 的安全性並不可靠。因為如果攻擊者具有對電腦的物理管理訪問權限時,電腦可能被攻擊者植入惡意程式,如一個簡單的鍵盤按鍵記錄器等,可以被用來捕捉密碼或其他敏感資訊。——TPM並非防毒軟件,並不會防止攻擊者惡意修改電腦,因此VeraCrypt將不支援TPM。

安全審計

VeraCrypt正在進行一次獨立的代碼稽核,目前正處於初期規劃階段。[28]

VeraCrypt是基於TrueCrypt開發的,通過獨立的安全審計。審計的第一階段已於2014年4月14日完成,結果為「沒有證據證明該軟件有後門或惡意代碼」。[29]審計的第二階段完成於2015年4月2日,結果為「沒有證據表明該軟件有故意後門,或在大多數情況下將使軟件不安全的嚴重設計缺陷」。[30][31]

許可證

VeraCrypt從2015年6月28日起採用Apache 2.0許可證授權。[32]在此之前,它是以微軟公共許可證(Microsoft Public License)發佈的。[33]VeraCrypt使用了大量從其前身TrueCrypt得到的代碼,也是唯一一款使用 TrueCrypt License 3.0 的加密軟件。[34][35]然而這並不是一個廣泛使用的開源軟件許可證,也不是自由軟件基金會定義的自由軟件許可證,因為它包含分銷和著作權責任的限制等。[36]

參見

參考文獻

  1. ^ Contact Us - IDRIX. [16 November 2016]. (原始內容存檔於2022-04-19). 
  2. ^ https://sourceforge.net/p/veracrypt/discussion/general/thread/8d9f4f9c84/; 出版日期: 2024年8月25日.
  3. ^ https://github.com/veracrypt/VeraCrypt/releases/tag/VeraCrypt_1.26.14; 出版日期: 2024年8月27日.
  4. ^ VeraCrypt 1.0f Bundle (All files and their signatures). IDRIX. [2015-01-04]. (原始內容存檔於2015-06-03). 
  5. ^ VeraCrypt License. [2016-01-28]. (原始內容存檔於2016-02-05). 
  6. ^ "VeraCrypt Official Site". [2015-10-24]. (原始內容存檔於2021-03-30). 
  7. ^ VeraCrypt Volume. VeraCrypt Official Website. [February 16, 2015]. (原始內容存檔於2017-10-10). 
  8. ^ Operating Systems Supported for System Encryption. VeraCrypt Official Website. [February 16, 2015]. (原始內容存檔於2017-10-10). 
  9. ^ 9.0 9.1 Rubens, Paul. VeraCrypt a Worthy TrueCrypt Alternative. eSecurity Planet. Quinstreet Enterprise. October 13, 2014 [February 16, 2015]. (原始內容存檔於2018-01-04). 
  10. ^ Henry, Alan. Five Best File Encryption Tools. Lifehacker. Gawker Media. February 8, 2015 [February 16, 2015]. (原始內容存檔於2022-04-23). 
  11. ^ Encryption Algorithms. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2015-01-05). 
  12. ^ Hash Algorithms. VeraCrypt Documentation. IDRIX. [2015-01-04]. (原始內容存檔於2015-01-05). 
  13. ^ Modes of Operation. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2015-01-05). 
  14. ^ Header Key Derivation, Salt, and Iteration Count. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2015-01-05). 
  15. ^ [https:/acrypt.codeplex.com/wikipage?title=Release%20Notes "VeraCrypt Release Notes"]
  16. ^ Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.
  17. ^ Plausible Deniability. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2016-01-11). 
  18. ^ Hidden Volume. VeraCrypt Documentation. IDRIX. [2015-01-04]. (原始內容存檔於2015-12-22). 
  19. ^ Hidden Operating System. VeraCrypt Documentation. IDRIX. 2014-01-04 [2015-01-04]. (原始內容存檔於2015-12-22). 
  20. ^ 20.0 20.1 Security Requirements and Precautions Pertaining to Hidden Volumes. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2015-12-22). 
  21. ^ 21.0 21.1 21.2 VeraCrypt User Guide 1.0f. IDRIX. 2015-01-04 [2015-10-24]. (原始內容存檔於2015-12-16). 
  22. ^ Security Requirements and Precautions. VeraCrypt Documentation. IDRIX. [February 16, 2015]. (原始內容存檔於2015-01-05). 
  23. ^ Alex Halderman; et al. Lest We Remember: Cold Boot Attacks on Encryption Keys. [2015-10-24]. (原始內容存檔於2011-06-07). 
  24. ^ Physical Security. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2015-12-22). 
  25. ^ Schneier, Bruce. "Evil Maid" Attacks on Encrypted Hard Drives. Schneier on Security. 2009-10-23 [2014-05-24]. (原始內容存檔於2022-04-29). 
  26. ^ Malware. VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始內容存檔於2016-07-30). 
  27. ^ FAQ. [2015-01-04]. (原始內容存檔於2015-12-16). 
  28. ^ Idrassi, Mounir. Security audit. December 31, 2014 [February 22, 2015]. (原始內容存檔於2015-08-05). 
  29. ^ Farivar, Cyrus, TrueCrypt audit finds "no evidence of backdoors" or malicious code, Ars Technica, 2014-04-14 [2014-05-24], (原始內容存檔於2014-05-23) 
  30. ^ Green, Matthew. Truecrypt report. A Few Thoughts on Cryptographic Engineering. April 2, 2015 [April 4, 2015]. (原始內容存檔於2015-04-05). 
  31. ^ Truecrypt Phase Two Audit Announced. Cryptography Services. NCC Group. February 18, 2015 [February 22, 2015]. (原始內容存檔於2022-05-09). 
  32. ^ Apache License 2.0 (Apache). [2015-07-01]. (原始內容存檔於2015-07-09). 
  33. ^ Microsoft Public License (Ms-PL). [2015-07-01]. (原始內容存檔於2016-02-05). 
  34. ^ TrueCrypt License. Accessed on: May 21, 2012 Archive.is存檔,存檔日期2012年5月30日,
  35. ^ TrueCrypt Collective License頁面存檔備份,存於互聯網檔案館). Accessed on: June 4, 2014
  36. ^ Simon Phipps, TrueCrypt or false? Would-be open source project must clean up its act, InfoWorld英語InfoWorld, 2013-11-15 [2014-05-20], (原始內容存檔於2014-09-14) 

外部連結