FileVault

磁盘加密软件

FileVault是一款磁碟加密程式,內嵌於Mac OS X 10.3 (2003)和更新的版本。它的工作方式允許Mac電腦上的卷宗被即時地加密

FileVault
作業系統macOS
許可協定專有

版本沿革與關鍵功能

FileVault 首次隨附於 Mac OS X Panther (10.3),[1]當時的版本只允許加密使用者目錄,而非啟動宗卷。 作業系統使用一個加密的稀疏磁碟鏡像(一個單一的大檔案)為使用者目錄的資料提供虛擬磁碟。 Mac OS X LeopardMac OS X Snow Leopard 使用更現代的 稀疏磁碟鏡像包[2] ,將資料拆分成8 MB大小的檔案(被稱作 bands )存放於檔案包中。 Apple將採用這兩種方法加密的版本稱為legacy FileVault。[3]

Mac OS X Lion (10.7) 及之後的系統隨附重新設計過的 FileVault 2,[3] 新版的軟體將直接加密整個OS X的啟動宗卷(自然也包括使用者目錄),並拋棄了之前使用磁碟鏡像的方法。採用這種加密方法,已授權的使用者資訊將從一個單獨的非加密引導卷宗讀取。[4] (分割區格式為 Apple_Boot)。

FileVault

原始版本的 FileVault 隨附於Mac OS X Panther,且只被用於加密使用者目錄。

主密碼和恢復金鑰

啟動 FileVault 功能時,系統會要求使用者設定一個主密碼,當使用者忘記密碼時,便可以使用這個主密碼或是恢復金鑰直接解密檔案。[3]

資料遷移

遷移 FileVault 使用者目錄時有以下兩個限制條件:[5]

  • 目標電腦上不可以存留此前遷移過的資料
  • 目標電腦上不可以存留使用者帳戶

若遷移助手檢測到目標電腦上有使用者帳戶,或曾經建立過使用者帳戶:

  • 遷移資料前,FileVault 必須在源電腦上被停用

若 FileVault 資料是使用 10.4 或更早版本的 Mac 上的內建實用工具建立的,那麼在轉移到新機器上時,資料將仍使用舊的磁碟格式儲存。若使用者手動關閉 FileVault 再重新啟動,(此操作會重新加密磁碟資料),資料會以新格式儲存。

手動加密

不使用用 FileVault ,使用者也可以用 磁碟實用工具建立使用者目錄之下任意子目錄的加密。 (例如, ~/Documents/private)。這種方式除了檔案存放在使用者自訂的目錄之外,和 FileVault 沒有明顯的不同。

只加密部分使用者目錄會造成一些應用在訪問加密檔案時出現問題,除非先掛載加密鏡像,否則使用者檔案往往不可用。為特定檔案製作 symbolic links 可以緩解此問題。

軟體限制和問題

備份

Time Machine 在非 OS X Server 環境下備份時會登出使用者帳戶。 已有一些案例指明其備份的使用者目錄可能不完整。 當備份目標電腦使用 OS X Server 時,TimeMachine 允許使用者在登入時備份FileVault 使用者目錄。

因為 FileVault 限制了其他使用者對當前使用者資料的訪問,因此一些第三方軟體在備份使用者目錄時,會要求排除其它使用者的目錄才可以繼續備份過程。[6][7]

問題

legacy FileVault已被證明存在一些缺陷,通過破解1024-bit RSA3DES-EDE演算法,加密資料可被解密。

和 Legacy FileVault 使用的 CBC 操作模式比較, (請參閱磁碟加密原理), FileVault 2 使用的 XTS-AESW 模式更健壯。 其他問題包括將macOS置於睡眠模式時,金鑰存在的洩露風險。[8] 2008 年發布的一篇研究顯示,資料在室溫下將殘留動態隨機存取記憶體 (DRAM)里長達數秒至數分鐘之久,在處理器冷卻下來之後可存留更長時間。這使得研究人員能夠執行冷啟動攻擊來從主流的一些磁碟加密方式中恢復解密金鑰,這也包括FileVault, 研究人員利用其採用的金鑰擴充後的冗餘儲存方式(這種方法用來提高解密效率,用於諸如金鑰排程演算法中)完成攻擊。研究人員建議,物主在離開電腦時可將電腦關機而非置於休眠模式,來確保資料安全。[9]

早期版本的FileVault自動將使用者密碼儲存在系統「鑰匙串」內,需要使用者手動停用該密碼來彌補這一安全漏洞。

2006年,第23屆混沌通訊大會討論了Unlocking FileVault: An Analysis of Apple's Encrypted Disk Storage System 的主題後,Jacob Appelbaum 和 Ralf-Philipp Weinmann 發布了 VileFault which decrypts encrypted Mac OS X disk image files.[8]

A free space wipe using 磁碟實用工具 left a large portion of previously deleted file remnants intact. Similarly, FileVault compact operations only wiped small parts of previously deleted data.[10]

FileVault 2

安全性

FileVault使用使用者登入密碼作為加密權杖,並採用AES的XTS-AES模式將資料劃分成128位元的塊,同時生成一枚256位金鑰來加密磁碟,這一標準也是NIST推薦的標準。[11][12]當使用者解鎖後,其他使用者也可以訪問這些資料,直到電腦關機。[3]

效能

約有3%的I/O的效能下降會出現在使用AES指令集的CPU上(如Intel Broadwell 架構CPUOS X 10.10.3環境),[13] 早期的酷睿CPU,或者其他不使用該指令集的處理器會有更明顯的效能下降。

主密碼和恢復金鑰

系統執行時執行 FileVault2,電腦會建立一個恢復金鑰,並在螢幕上顯示出來,提示使用者保管,並且提供了一個將金鑰上傳至 Apple 的可選項。恢復金鑰共有120位,由全部英文字母和數字 1-9 組成,系統會呼叫/dev/random的亂數生成器生成整枚金鑰。因此其安全性取決於macOS 使用的亂數生成演算法,根據密碼學家 2012 年的聲明指出,該演算法是安全的。[14]

除非重新加密整個卷宗,否則將無法修改恢復金鑰。[3]

OS X 10.9 或更早版本的 FileVault 2可以執行終端命令來檢查金鑰是否正常工作,命令為:

sudo fdesetup validaterecovery

金鑰必須顯示為類似以下格式:

xxxx-xxxx-xxxx-xxxx-xxxx-xxxx

若工作正常,系統會返回 true 狀態。[15]

另請參閱

參考資料

  1. ^ Apple Previews Mac OS X "Panther". Apple Press Info. Apple. June 23, 2003 [January 21, 2013]. (原始內容存檔於2017-03-25). 
  2. ^ ScottW. Live FileVault and Sparse Bundle Backups in Leopard. macosx.com. November 5, 2007 [January 21, 2013]. (原始內容存檔於October 29, 2013). 
  3. ^ 3.0 3.1 3.2 3.3 3.4 Apple Inc. OS X: About FileVault 2. Apple Inc. August 9, 2012 [September 5, 2012]. (原始內容存檔於2014-10-29). 
  4. ^ Apple Inc. Best Practices for Deploying FileVault 2 (PDF). Apple Inc: 40. August 17, 2012 [September 5, 2012]. (原始內容 (PDF)存檔於August 22, 2017). 
  5. ^ Archived - Mac OS X 10.3, 10.4: Transferring data with Setup Assistant / Migration Assistant FAQ. Apple support. Apple. [January 21, 2013]. (原始內容存檔於2014-03-01). 
  6. ^ Using Encrypted Disks. CrashPlan PROe support. CrashPlan PROe. [January 21, 2013]. (原始內容存檔於2013-01-14). 
  7. ^ Using CrashPlan with FileVault. CrashPlan support. CrashPlan. [January 21, 2013]. (原始內容存檔於2013-10-20). 
  8. ^ 8.0 8.1 Appelbaum, Jacob; Weinmann, Ralf-Philipp. Unlocking FileVault: An Analysis of Apple's disk encryption (PDF). 23rd Chaos Communication Congress. Berlin. December 29, 2006 [March 31, 2007]. (原始內容存檔 (PDF)於2018-06-23). 
  9. ^ Halderman, J. Alex; et al. Lest We Remember: Cold Boot Attacks on Encryption Keys (PDF). 17th USENIX Security Symposium. San Jose, CA. February 2008 [2022-07-20]. (原始內容存檔 (PDF)於2021-04-17). 
  10. ^ Zdziarski, Jonathan. File Vault's Dirty Little Secrets. January 1, 2008. 
  11. ^ Apple, Inc. Best Practices for Deploying FileVault 2 (PDF). Apple, Inc: 28. August 17, 2012 [September 5, 2012]. (原始內容 (PDF)存檔於August 22, 2017). 
  12. ^ Dworkin, Morris. Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices (PDF). NIST Special Publication. January 2010, (800–3E) [2022-07-20]. doi:10.6028/NIST.SP.800-38E. (原始內容存檔 (PDF)於2011-08-13). 
  13. ^ How Fast is the 512 GB PCIe X4 SSD in the 2015 MacBook Pro?. Tech ARP. [2022-07-20]. (原始內容存檔於2021-08-22). 
  14. ^ Choudary, Omar; Felix Grobert; Joachim Metz. Infiltrate the Vault: Security Analysis and Decryption of Lion Full Disk Encryption. July 2012 [January 19, 2013]. (原始內容存檔於2022-07-20). 
  15. ^ fdesetup(8) Mac OS X Manual Page. Apple. August 21, 2013 [August 9, 2014]. (原始內容存檔於2016-03-24).