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]。使用具有管理權限的微軟帳戶登入將自動啟動加密過程。恢復金鑰儲存到微軟帳戶或Active Directory中,允許任何電腦檢索。雖然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比單純將金鑰檔案儲存在外部USB手指更安全,因為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]

在Active Directory環境中,BitLocker支援可選金鑰寄存到Active Directory。如果Active Directory服務寄存在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). 

外部連結