BitLocker是內建於Windows Vista及之後作業系統的磁碟加密功能,通過加密整個磁碟分割區來保護使用者資料。它預設在密碼塊連結(CBC)或XTS英語Disk encryption theory模式下使用128位元或256位金鑰AES加密演算法[1][2][3]。其中CBC用於每個單獨的磁碟磁區,不在整個磁碟上使用[4]

Quick Facts 其他名稱, 開發者 ...
BitLocker
Thumb
Thumb
磁碟機建立BitLocker的選項
其他名稱裝置加密
開發者微軟
作業系統Microsoft Windows
類型磁碟加密軟體英語Disk encryption software
網站learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/ 編輯維基數據
Close

歷史

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加密分割區。其主要功能參數為:

More information 選項, 功能 ...
選項 功能
-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」
Close

參見

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.