BitLocker

微软Windows系统内置的磁盘加密软件

BitLocker是內置於Windows Vista及之後操作系統的磁盤加密功能,通過加密整個磁盤分區來保護用戶數據。它默認在密碼塊鏈接(CBC)或XTS英語Disk encryption theory模式下使用128位或256位密鑰AES加密算法[1][2][3]。其中CBC用於每個單獨的磁盤扇區,不在整個磁盤上使用[4]

BitLocker
磁盤驅動器創建BitLocker的選項
磁盤驅動器創建BitLocker的選項
其他名稱設備加密
開發者微軟
操作系統Microsoft Windows
類型磁盤加密軟件英語Disk encryption software
網站learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/ 編輯維基數據

歷史

BitLocker起源於微軟2004年的下一代安全計算基礎架構,其臨時代號為「基石」(Cornerstone)[5][6],功能為保護設備上的信息,尤其是在設備丟失或被盜的情況下。另一個特性為「代碼完整性根檢測」(Code Integrity Rooting),旨在驗證Microsoft Windows引導與系統文件的完整性[5]

當與兼容的可信平台模塊TPM)結合使用時,BitLocker可以在解密受保護的之前驗證引導和系統文件的完整性,如果驗證失敗,會禁止用戶訪問受保護的系統。[7][8]在Windows Vista發售之前,BitLocker簡稱安全啟動(Secure Startup)[7]

可用系統

BitLocker內置於以下系統:

最初,Windows Vista中的BitLocker圖形界面只能加密操作系統卷。從Windows Vista Service Pack 1和Windows Server 2008開始,圖形工具可以加密操作系統卷以外的卷。然而,BitLocker的某些功能(例如打開或關閉自動鎖定)必須通過名為manage-bde.wsf的命令行工具進行管理[14]

新版BitLocker首次包含在Windows 7和Windows Server 2008 R2中,增加了加密可移動驅動器的功能。在Windows XP或Windows Vista上,BitLocker To Go Reader程序可以實現對使用FAT16FAT32exFAT文件系統驅動器的只讀訪問[15]。另外,新的命令行工具manage-bde替換了舊的manage-bde.wsf[16]

從Windows Server 2012和Windows 8開始,微軟通過硬盤加密規範完善了BitLocker,該規範允許將BitLocker的加密操作下放到存儲設備的硬件中完成[17][18]。此外,BitLocker現在可以通過Windows PowerShell進行管理[19]。最後,Windows 8企業版引入了Windows To Go,可受BitLocker保護[20]

設備加密

Windows Mobile 6.5Windows RT和Windows 8.1標準版包含設備加密(Device encryption)——BitLocker的功能限制版本——用於加密整個系統[21][22][23]。使用具有管理權限的微軟帳戶登錄將自動啟動加密過程。恢復密鑰存儲到微軟帳戶或活動目錄中,允許任何計算機檢索。雖然Win 8.1全版本提供了設備加密功能,但與BitLocker不同,設備加密要求設備符合InstantGo英語InstantGo(前稱Connected Standby,譯為聯網待機)規範[23],需要固態驅動器,不可拆卸RAM(防止冷啟動攻擊)和一個TPM 2.0芯片[21][24]

加密模式

有三種認證機制可以用來構建BitLocker加密[25]

  • 透明運行模式:此模式使用TPM 1.2硬件的功能來透明運行。此模式下,用戶在無感知的情況下正常啟動並登錄到Windows。用於磁盤加密的密鑰由TPM芯片密封(加密),且在未檢測到有對早期啟動組件的修改的情況下被釋放到操作系統加載代碼中。因為其允許攻擊者啟動已關閉電源的機器,所以這種模式很容易受到冷啟動攻擊
  • 用戶認證模式:此模式要求用戶以預引導PIN或密碼的形式向預引導環境提供認證。
  • USB密鑰模式:用戶必須將包含啟動密鑰的USB設備插入計算機才能啟動受保護的操作系統。此模式要求受保護機器上的BIOS支持在操作系統預加載階段讀取USB設備。密鑰還可以通過使用CCID英語CCID (protocol)(芯片卡接口設備)讀取加密智能卡獲得。使用CCID比單純將密鑰文件存儲在外部U盤更安全,因為CCID協議使用嵌入在智能卡中的加密處理器隱藏私鑰,防止密鑰因智能卡內容泄露而被簡單獲取。

上述認證機制支持以下組合,全部具有可選的託管英語Key escrow恢復密鑰:

運行

BitLocker是邏輯卷加密系統。一個卷的範圍可以是硬盤驅動器的一部分、整個驅動器或多個驅動器。啟用後,TPM和BitLocker可以確保可信引導路徑(如BIOS和引導扇區)的完整性,阻止大多數離線物理攻擊和引導扇區惡意軟件[32]

為使BitLocker加密保存操作系統卷,至少需要兩個NTFS格式的卷:一個用於操作系統(通常為C盤),另一個大小至少為100 MB,用於操作系統引導[32]。BitLocker需要後者保持未加密狀態[33]——在Windows Vista上,此卷必須分配一個驅動器號,而在Windows 7上則不需要[32]。與以前的Windows版本不同,Vista的「diskpart」命令行工具可以縮小NTFS卷的大小,以便從已分配的空間創建此卷。微軟還有一個名為BitLocker驅動器準備工具的軟件,可將Windows Vista上的現有捲縮小,為新的引導卷騰出空間,並將必要的引導文件傳輸到卷中[34]

創建備用啟動分區後需要初始化TPM模塊(假設正在使用此功能),之後配置所需的磁盤加密密鑰保護機制,如TPM、PIN或USB密鑰[35]。對卷的加密會在後台完成,這在大型磁盤上可能需要大量時間,因為每個邏輯扇區都要被讀取、加密並重寫回磁盤[35]。這些密鑰只有在整個卷被加密後才會被保護,這時此卷被認為是安全的[36]。 BitLocker使用低級設備驅動程序對所有文件操作進行加密和解密,這對於在平台上與加密卷進行交互操作的應用程序是透明的[35]

加密文件系統(EFS)可以與BitLocker結合使用,在操作系統運行時提供保護。要控制操作系統中的進程和用戶對文件的訪問,使用者只能使用運行於Windows層面的加密軟件(如EFS)。因此,BitLocker和EFS提供了針對不同類別攻擊的保護。[37]

在活動目錄環境中,BitLocker支持可選密鑰託管到活動目錄。如果活動目錄服務託管在Windows Server 2008之前的Windows版本上,則可能需要先進行架構更新[38]

BitLocker和其他全磁盤加密系統可能被惡意啟動管理器攻擊。一旦惡意引導程序獲取解密用信息,它就可以解密卷主密鑰(Volume Master Key,VMK),然後解密或修改加密硬盤上的任何信息。通過配置TPM來保護受信任的啟動路徑,包括BIOS引導扇區,BitLocker可以減輕此威脅。 (注意,引導路徑的一些非惡意更改可能會導致平台配置寄存器檢查失敗,從而生成錯誤的警告。)[32]

安全問題

據微軟透露[39],BitLocker沒有刻意設置後門。沒有後門,執法機構就無法從安全通道獲取微軟提供的用戶驅動器上的數據。2006年,英國內政部擔心缺乏後門[40],試圖與微軟談判,微軟開發人員尼爾斯·弗格森英語Niels Ferguson和其他微軟的發言人表示他們不會增加後門[41]。微軟工程師曾表示,雖然沒有正式的書面請求,聯邦調查局特工也在許多會議上向他們施加壓力,要求增加後門。微軟的工程師最終向FBI建議,特工應該尋找BitLocker程序建議其用戶創建的密鑰硬拷貝英語Hard copy[42]。雖然BitLocker使用的AES加密算法屬公有領域,但它在BitLocker以及軟件的其他組件中的實現都是專有的。該代碼可供微軟合作夥伴和企業審查,但須遵守保密協議[43][44]

BitLocker的「透明運行模式」和「用戶認證模式」使用TPM硬件檢測BIOSMBR預加載環境是否有未經授權的改變。如果檢測到任何未經授權的更改,BitLocker將在USB設備上請求一個恢復密鑰。該加密密鑰用於解密卷主密鑰,並允許繼續運行引導過程[45]

2008年2月,一個安全研究小組發布了所謂「冷啟動攻擊」的詳細信息,其通過將機器從可移動介質(如USB驅動器)引導到另一個操作系統,然後轉儲預引導內存中的內容來損害諸如BitLocker的全磁盤加密系統[46]。攻擊依賴於這樣一個事實:電源關閉後,DRAM保留英語Data remanence長達數分鐘的信息(冷卻後的保留時間更長)。美國專利9,514,789號描述的Bress/ Menz裝置可以完成這種攻擊[47]。單獨使用TPM不會提供任何保護,因為Windows運行時密鑰保存在內存中。其他供應商和操作系統(包括LinuxMac OS X)的類似全磁盤加密機制也容易遭受同樣的攻擊。普林斯頓大學教授的一篇論文推薦在未取得擁有者物理控制的情況下應將計算機關閉而不是處於睡眠模式,並且把加密軟件配置為需要密碼才能啟動機器[46]

一旦受BitLocker保護的機器開始運行,其密鑰就會存儲在內存中,可能易受能夠訪問物理內存的進程的攻擊,例如通過1394Thunderbolt DMA通道攻擊[48]。從Windows 10版本1803開始,微軟向BitLocker添加名為「內核DMA保護」的新功能,可防止通過Thunderbolt 3端口進行的DMA攻擊[49]

最初,Windows Vista使用AES的密碼塊鏈接(CBC)+大象擴散器(Elephant Diffuser)模式進行磁盤加密[50]。自Windows 8和Windows Server 2012開始,微軟在沒有聲明原因的情況下從BitLocker方案中移除了大象擴散器(Elephant Diffuser),僅使用CBC模式進行磁盤加密[51]。軟件工程師丹·羅森多夫(Dan Rosendorf)的研究表明,移除大象擴散器對BitLocker加密的安全性有「不可否認的負面影響」[52]。微軟隨後說明擴散器移除的原因是性能問題以及不遵守聯邦信息處理標準(FIPS)[53]。從Windows 10版本1511開始,微軟向BitLocker添加了新的符合FIPS標準的XTS-AES英語Disk encryption theory加密算法[1]

2015年11月10日,微軟發布了一項安全更新,修補BitLocker中的安全漏洞。漏洞使攻擊者可以繞過目標計算機上的Kerberos身份驗證,只有在計算機已加入域,目標系統已啟用BitLocker且沒有PIN或USB密鑰的情況下,才能利用該繞過漏洞[54]

manage-bde工具

Windows 7中加入了manage-bde命令行工具以管理BitLocker加密分區。其主要功能參數為:

選項 功能
-status 分區的加密/解密及其正在進展中的狀態顯示
-on 開始加密
-off 開始解密
-pause 暫停加密或解密
-resume 恢復加密或解密
-lock 阻止對加密數據的訪問
-unlock 允許對加密數據的訪問
-autounlock 管理自動解鎖數據分卷
-protectors 管理加密密鑰的保護方式
-tpm 配置計算機的可信平台模塊
-SetIdentifier、-si 配置分卷的identification field
-ForceRecovery、-fr 強制被BitLocker保護的操作系統在重啟時恢復
-changepassword 修改數據分卷的口令
-changepin 修改分卷的PIN
-changekey 修改分卷的啟動密鑰
-upgrade 升級BitLocker版本
-ComputerName、-cn 在另一台計算機上運行,如「ComputerX」,「127.0.0.1」
-?、/? 顯示幫助。如「-ParameterSet -?」
-Help、-h 顯示完整幫助,如「-ParameterSet -h」

參見

參考資料

  1. ^ 1.0 1.1 Hakala, Trudy. What's new in Windows 10, versions 1507 and 1511. TechNet. Microsoft. 2016-11-29 [2016-12-15]. (原始內容存檔於2016-11-12). 
  2. ^ Windows BitLocker Drive Encryption Frequently Asked Questions. TechNet Library. Microsoft. 2012-03-22 [2007-09-05]. (原始內容存檔於2010-09-26). 
  3. ^ Ferguson, Niels. AES-CBC + Elephant Diffuser: A Disk Encryption Algorithm for Windows Vista (PDF). Microsoft. August 2006 [2008-02-22]. (原始內容 (PDF)存檔於2016-03-03). 
  4. ^ Ferguson, Niels. AES-CBC + Elephant diffuser: A Disk Encryption Algorithm for Windows Vista (PDF). August 2006 [2016-10-07]. (原始內容 (PDF)存檔於2017-02-13). 
  5. ^ 5.0 5.1 Biddle, Peter. Next-Generation Secure Computing Base. Microsoft. 2004 [2015-01-30]. (原始內容 (PPT)存檔於2006-08-27). 
  6. ^ Thurrott, Paul. Pre-PDC Exclusive: Windows Vista Product Editions. Supersite for Windows. Penton. 2005-09-09 [2015-03-14]. (原始內容存檔於2015-04-02). 
  7. ^ 7.0 7.1 Microsoft. Secure Startup – Full Volume Encryption: Technical Overview. 2005-04-22 [2015-03-14]. (原始內容 (DOC)存檔於2017-07-01). 
  8. ^ Microsoft. Secure Startup – Full Volume Encryption: Executive Overview. 2005-04-21 [2015-06-09]. (原始內容 (DOC)存檔於2016-03-04). 
  9. ^ 9.0 9.1 What's New in BitLocker for Windows 8 and Windows Server 2012. TechNet Library. Microsoft. 2012-02-15 [2012-03-02]. (原始內容存檔於2012-03-04). 
  10. ^ Windows BitLocker Drive Encryption Frequently Asked Questions. TechNet Library. Microsoft. 2012-03-22 [2007-09-05]. (原始內容存檔於2010-09-26). 
  11. ^ Compare Windows 10 Editions. Windows for Business. Microsoft. [2017-07-02]. (原始內容存檔於2016-11-17). 
  12. ^ BitLocker Drive Encryption in Windows Vista. TechNet. Microsoft. [2017-07-02]. (原始內容存檔於2016-11-17). 
  13. ^ BitLocker Drive Encryption Overview. TechNet. Microsoft. [2017-07-02]. (原始內容存檔於2016-11-17). 
  14. ^ Hynes, Byron. Advances in BitLocker Drive Encryption. TechNet Magazine (Microsoft). June 2008 [2008-07-18]. (原始內容存檔於2008-08-29). 
  15. ^ Description of BitLocker To Go Reader. Microsoft. [2013-09-07]. (原始內容存檔於2019-09-24). 
  16. ^ Enabling BitLocker by Using the Command Line. TechNet. Microsoft. 2009-11-02 [2017-07-02]. (原始內容存檔於2016-12-20). 
  17. ^ Encrypted Hard Drive. TechNet. Microsoft. 2012-08-23. (原始內容存檔於2017-07-05). 
  18. ^ Encrypted Hard Drive Device Guide. MSDN. Microsoft. 2011-09-13. (原始內容存檔於2016-12-20). 
  19. ^ BitLocker Cmdlets in Windows PowerShell. TechNet. Microsoft. [2016-12-12]. (原始內容存檔於2016-12-20). 
  20. ^ Windows To Go: Frequently Asked Questions. TechNet. Microsoft. [2016-10-07]. (原始內容存檔於2016-10-07). 
  21. ^ 21.0 21.1 Device Encryption. Windows Mobile 6.5 Dev Center. Microsoft. 2010-04-08 [2014-07-06]. (原始內容存檔於2014-12-18). 
  22. ^ Cunningham, Andrew. Windows 8.1 includes seamless, automatic disk encryption—if your PC supports it. Ars Technica. Condé Nast. 2013-10-17 [2014-07-06]. (原始內容存檔於2014-07-05). 
  23. ^ 23.0 23.1 Help protect your files with device encryption. Windows Help portal. Microsoft. [2017-07-02]. (原始內容存檔於2016-05-02). 
  24. ^ Thurrott, Paul. In Blue: Device Encryption. Paul Thurrott's SuperSite for Windows. Penton Media. 2013-06-04 [2013-06-10]. (原始內容存檔於2013-06-09). 
  25. ^ BitLocker Drive Encryption. Data Encryption Toolkit for Mobile PCs: Security Analysis. Microsoft. 2007-04-04 [2007-09-05]. (原始內容存檔於2007-10-23). 
  26. ^ ProtectKeyWithTPM method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-12-01). 
  27. ^ ProtectKeyWithTPMAndPIN method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-12-01). 
  28. ^ ProtectKeyWithTPMAndPINAndStartupKey method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-12-02). 
  29. ^ ProtectKeyWithTPMAndStartupKey method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-09-24). 
  30. ^ ProtectKeyWithExternalKey method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-12-26). 
  31. ^ ProtectKeyWithNumericalPassword method of the Win32_EncryptableVolume class. MSDN Library. Microsoft. 2008-02-19 [2008-07-18]. (原始內容存檔於2008-12-01). 
  32. ^ 32.0 32.1 32.2 32.3 BitLocker Drive Encryption in Windows 7: Frequently Asked Questions. TechNet. Microsoft. 2012-03-22 [2017-07-02]. (原始內容存檔於2017-09-21). 
  33. ^ Windows BitLocker Drive Encryption Step-by-Step Guide. [2017-07-02]. (原始內容存檔於2017-07-03). 
  34. ^ Description of the BitLocker Drive Preparation Tool. Microsoft. 2007-09-07 [2017-07-02]. (原始內容存檔於2008-02-19). 
  35. ^ 35.0 35.1 35.2 Andrew, Bettany. Exam Ref 70-687: Configuring Windows 8. Microsoft Press. 2013: 307 [2017-07-02]. ISBN 978-0-7356-7392-2. OCLC 851209981. (原始內容存檔於2019-09-24). 
  36. ^ Jerry, Honeycutt. Introducing Windows 8: An overview for IT professionals. Microsoft. 2012: 121 [2017-07-02]. ISBN 978-0-7356-7050-1. OCLC 819519777. (原始內容存檔於2019-09-24). 
  37. ^ Ou, George. Prevent data theft with Windows Vista's Encrypted File System (EFS) and BitLocker. TechRepublic. CBS Interactive. 2007-06-08 [2017-07-02]. (原始內容存檔於2017-07-06). 
  38. ^ Backing Up BitLocker and TPM Recovery Information to AD DS. Microsoft. [2016-07-01]. (原始內容存檔於2016-08-09). 
  39. ^ Back-door nonsense. System Integrity Team Blog. Microsoft. 2006-03-02. (原始內容存檔於2010-02-09). 
  40. ^ Stone-Lee, Ollie. UK holds Microsoft security talks. BBC. 2006-02-16 [2009-06-12]. (原始內容存檔於2009-03-18). 
  41. ^ Evers, Joris. Microsoft: Vista won't get a backdoor. CNET. CBS Interactive. 2006-03-03 [2008-05-01]. (原始內容存檔於2011-06-16). 
  42. ^ Franceschi-Bicchierai, Lorenzo. Did the FBI Lean On Microsoft for Access to Its Encryption Software?. Mashable. [2016-10-07]. (原始內容存檔於2016-10-07). 
  43. ^ Thurrott, Paul. No Back Doors: Microsoft Opens Windows Source Code to EU Governments – Petri. Petri. 2015-06-10 [2016-10-07]. (原始內容存檔於2017-02-22). 
  44. ^ Microsoft. Shared Source Initiative. www.microsoft.com. [2016-10-07]. (原始內容存檔於2018-09-28). 
  45. ^ Byron, Hynes. Keys to Protecting Data with BitLocker Drive Encryption. TechNet Magazine (Microsoft). [2007-08-21]. (原始內容存檔於2007-09-03). 
  46. ^ 46.0 46.1 Halderman, J. Alex; Schoen, Seth D.; Heninger, Nadia; Clarkson, William; Paul, William; Calandrino, Joseph A.; Feldman, Ariel J.; Appelbaum, Jacob; Felten, Edward W. Lest We Remember: Cold Boot Attacks on Encryption Keys (PDF) (學位論文). Princeton University. 2008-02-21 [2017-07-02]. (原始內容 (PDF)存檔於2011-09-04). 
  47. ^ Systems and methods for safely moving short term memory devices while preserving, protecting and examining their digital data. USPTO.gov. [2017-04-01]. (原始內容存檔於2018-09-19). 
  48. ^ Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker. Microsoft. 2011-03-04 [2011-03-15]. (原始內容存檔於2012-08-13). 
  49. ^ Kernel DMA Protection for Thunderbolt™ 3. Microsoft. 2019-03-26 [2020-03-16]. (原始內容存檔於2020-04-22). 
  50. ^ 梁敏, 常朝穩, 樊雪竹. 加密存儲算法和模式研究頁面存檔備份,存於網際網路檔案館) Research of Encryption Storage Algorithms and Modes[J]. 計算機工程, 2011, 037(013):101-103.
  51. ^ BitLocker Overview. technet.microsoft.com. [2016-10-07]. (原始內容存檔於2017-02-13). 
  52. ^ Rosendorf, Dan. Bitlocker: A little about the internals and what changed in Windows 8 (PDF). 2013-05-23 [2016-10-07]. (原始內容 (PDF)存檔於2016-05-22). 
  53. ^ Lee, Micah. Microsoft Gives Details About Its Controversial Disk Encryption. The Intercept. 2015-06-04 [2016-10-07]. (原始內容存檔於2018-10-03). 
  54. ^ Microsoft Security Bulletin MS15-122 – Important. Security TechCenter. Microsoft. 2015-11-10 [2015-11-12]. (原始內容存檔於2016-02-24). 

外部連結