安全性

BitLocker 磁碟機加密的進展

Byron Hynes

 

簡介:

  • BitLocker 的增強功能
  • 取得和安裝 BitLocker
  • 在伺服器上使用 BitLocker
  • 完整資料保護的考量要點

在去年的《TechNet Magazine》的安全性期刊中,我簡單地介紹了 Windows BitLocker 磁碟機加密的一部份功能,好讓您能了解它是如何在初版的 Windows Vista 中實作的。現在,隨著

Windows Vista® Service Pack 1 以及全新的 Windows Server® 2008 作業系統的發行,我們應該要再次回顧一下 BitLocker®。

在本文中,我會討論最新版本中的一些改變,概述如何在伺服器上安裝和使用 BitLocker,並提到一些值得注意的近期要點報告 (對了,如需閱讀去年的文章<使用 BitLocker 磁碟機加密保護資料的關鍵>,請至 technet.microsoft.com/magazine/cc138009.aspx)。

新功能

此 BitLocker 版本所引進的一些變更帶來嶄新的彈性,而且不會更改任何基本操作。我所介紹的變更具有資料磁碟區支援;允許機器存取進行三重要素驗證;具有統一可延伸韌體介面 (Unified Extensible Firmware Interface,UEFI) 支援,這是一種適用於 64 位元系統的新業界標準韌體;更能有效防護磁碟區中繼資料上的密碼編譯攻擊;而且可提高可信賴平台模組 (TPM) 的使用率。

資料磁碟區

當 Windows Vista 第一次發行時,BitLocker 控制台只允許您開啟 Windows® 作業系統磁碟區 (通常為 C:磁碟區) 的加密。對於許多消費者來說,這樣就已綽綽有餘,因為一般家用電腦的設定通常是將所有使用者資料及程式存放在與作業系統相同的磁碟區上。但是在企業環境中,尤其是在伺服器上,卻不然。因此,客戶最常提出的要求之一就是希望能夠加密資料磁碟區 — 安裝在電腦中除了 OS 磁碟區以外的磁碟區 (請注意,BitLocker 不是為了加密卸除式媒體而設計)。

[圖 1] 所示,我在本電腦上有三個可用磁碟區 (如果把用來開機的小型使用中磁碟分割也算在內,實際上是有四個)。我的作業系統是安裝在磁碟機 C:(這實際上是以圖示的 Windows「旗標」顯示),另外還有兩個資料磁碟區分別是 E:和 P:。P:磁碟區已經使用 BitLocker 加密,目前是鎖定的。E:磁碟區尚未加密。在 Windows Vista SP1 和 Windows Server 2008 中,我可以從 BitLocker 控制台小程式加密及解除鎖定這些資料磁碟區。

[圖 1] Bitlocker 介面

[圖 1]** Bitlocker 介面 **(按一下影像可放大檢視)

如果您的作業系統磁碟區已使用 BitLocker 加密,預設行為是加密的資料磁碟區會在作業系統解除鎖定時一起解除鎖定。如果使用控制台來解除鎖定資料磁碟區,您會看到這個選項顯示為核取方塊,如 [圖 2] 所示。

[圖 2] 儲存自訂鎖定的金鑰

[圖 2]** 儲存自訂鎖定的金鑰 **(按一下影像可放大檢視)

若要開啟或關閉資料磁碟區的「自動鎖定」,請使用 manage-bde.wsf 命令列工具。Manage-bde.wsf 是 Windows 隨附的一個功能強大的指令碼,這個工具使用與 BitLocker 一同安裝的基礎 Windows Management Instrumentation (WMI) 提供者。

比方說,若要標示資料磁碟區 P:,使它必須以手動方式解除鎖定,請使用下列命令:

manage-bde.wsf –autounlock –disable P:

若要再次開啟 P: 的自動鎖定,請使用:

manage-bde.wsf –autounlock –enable P:

BitLocker 控制台並未顯示可以使用 BitLocker 與資料磁碟區執行的所有作業,因此您應該使用 -?選項來研究 manage-bde.wsf 命令。manage-bde.wsf 語法也涵蓋在《Windows BitLocker 磁碟機加密設計指南》和《Windows BitLocker 部署指南》中,您可從 Microsoft 下載中心取得,網址是:go.microsoft.com/fwlink/?LinkId=115215

TPM+USB+PIN

客戶也希望能夠使用 BitLocker 提供的其他驗證要素。BitLocker 在您的電腦中使用 TPM 晶片以便驗證平台的完整性 — 換句話說,這是為了確定早期啟動元件 (包括 BIOS) 未遭到竄改或損壞。不過,自從 Windows Vista 發行以後,您現在也可以要求輸入 PIN 或出示包含在啟用 BitLocker 時所建立之金鑰的 USB 快閃磁碟機。

藉由 Windows Server 2008 和 Windows Vista SP1,您現在可以結合這三項功能。TPM 會繼續確認平台完整性,USB 金鑰代表「您有的東西」,而 PIN 則代表「您知道的東西」。這項設定提供非常強大的防護功能,可避免未獲授權的使用者啟動電腦和解除鎖定受 BitLocker 保護的磁碟機。

不過就像在安全性中常見的情況一樣,這也代表著取捨。以這種方式設定 BitLocker 的話,電腦顯然無法自動重新啟動。以伺服器的情況為例,您必須判斷哪一邊比較重要:順暢地重新啟動或是更高的保護層級。

UEFI 支援

在 Windows Server 2008 和 Windows Vista SP1 中,已經針對裝有統一可延伸韌體介面 (Unified Extensible Firmware Interface,UEFI) 的電腦加入支援。UEFI 是一種規格,代表大部分電腦在啟動時所使用的傳統 BIOS 現代化。如需 UEFI 規格的詳細資訊,請造訪 www.uefi.org

增強保護

當 BitLocker 偵測到系統有所變更時,或是在開機時未提供必要的 PIN 或 USB 金鑰的話,BitLocker 便會進入修復模式。在修復模式中,啟用 BitLocker 的磁碟區會繼續保持鎖定狀態,並且會向使用者顯示稱為修復主控台的文字模式對話方塊。

若要解除鎖定磁碟機,使用者必須從鍵盤或 USB 快閃磁碟機輸入修復密碼 (48 位數的數字) (儲存在 USB 快閃磁碟機中的密碼有時稱為修復金鑰,因為它是二進位格式而非文字格式)。

BitLocker 使用修復密碼來解密儲存在磁碟區中繼資料 — 磁碟區主要金鑰 (VMK),隨後是完整磁碟區加密金鑰 (FVEK) — 中的金鑰來解除鎖定磁碟機。若要修復順利進行,必須要有修復密碼。

因此,除了由使用者儲存 (例如儲存在 USB 快閃磁碟機上),強烈建議您也在中央儲存修復密碼。作業系統包含將修復密碼儲存在 Active Directory® 網域服務 (ADDS) 中的功能。

儲存在磁碟區中繼資料 (例如 VMK) 中的秘密會經過加密,而且整個磁碟區中繼資料的完整性會以密碼編譯的方式加以保護。如果 BitLocker 偵測到磁碟區中繼資料遭到竄改,便會拒絕中繼資料的使用,也不會解除鎖定受保護的磁碟區。要注意的是,單靠修復密碼將無法解除鎖定這種情況下的磁碟機。

我必須強調,這種情況只有在電腦遭到蓄意的安全性攻擊時才會發生。如果發生這種情況,電腦很可能已經落入惡人之手,而超出您的控制範圍了。如果只是對平台進行非計劃的簡單變更或是您忘記 PIN,並不會發生這種情形。

若要解除鎖定磁碟區,您需要下列三個項目:

  • 修復密碼 (可以是輸入的文字,或位於 USB 快閃磁碟機上)
  • 包含加密版本的 FVEK 和 VMK 的二進位金鑰封裝
  • BitLocker 修復工具

簡言之,您必須確保您的企業隨時都能存取以上所有項目。

修復密碼可以手動或自動備份。建議您使用群組原則設定將修復密碼自動備份到 Active Directory 網域服務。

當您進行此設定時,如 [圖 3] 所示,包含備份二進位金鑰封裝的選項。二進位金鑰封裝包括加密版本的 VMK 和 FVEK,可讓您視需要使用 BitLocker 修復工具。

[圖 3] 設定群組原則以便將金鑰封裝放入修復資訊中

[圖 3]** 設定群組原則以便將金鑰封裝放入修復資訊中 **(按一下影像可放大檢視)

BitLocker Repair Tool 的設計可協助您從啟用 BitLocker 的受損磁碟中復原資料。請注意,這是專門提供給有經驗的系統管理員使用的進階工具。如需 BitLocker 修復工具的詳細資訊,請閱讀微軟知識庫文章 (support.microsoft.com/kb/928201),或觀賞我的網路廣播「企業中的 Microsoft BitLocker:讓生活更輕鬆的 BitLocker 工具」(即時展示影片),網址是 go.microsoft.com/fwlink/?LinkId=114985

這裡清楚地指出 BitLocker 並不能取代備份資料的需求。如果您的磁碟受損或遭到蓄意攻擊,BitLocker 修復工具並不保證能夠復原任何 (更別說全部) 資料。

更廣泛的 TPM 用途

技術上來說,這不算是 BitLocker 變更,但還是值得一提。在 SP1 之前,Windows OS 唯一使用 TPM 的部分就是 BitLocker,不過現在 TPM 也應用於其他一些功能。舉例來說,當 Windows 看到 TPM 可用時,便會在產生亂數時使用 TPM 當作增加 Entropy 的來源。如此可提高各種加密的品質 (甚至可能讓遊戲玩得更順暢)。

但是,這也表示顯示在事件檢視器中的 TPM 相關事件不一定都與 BitLocker 有關係。身為 IT 專業人員,您必須注意其他系統元件 — 可能是來自其他廠商的軟體 — 可以也將會使用 TPM,因此會產生其他記錄事件。

Windows Server 2008 中的 BitLocker

由於 Windows Vista 與 Windows Server 2008 共用程式碼基底,因此出現在 SP1 中的 BitLocker 變更也是 Windows Server 2008 不可或缺的部分。但是 BitLocker 在伺服器上有何重要性?畢竟,BitLocker 的設計目的就是要保護電腦防範離線攻擊。換句話說,BitLocker 無法保護執行中的系統,而伺服器通常都是一直保持執行狀態。

但其實伺服器或伺服器的硬碟有時還是冒著離線攻擊的風險。即使這種情形從未發生,解除委任伺服器或硬碟時,BitLocker 仍然大有幫助,我們接下來就會提到。首先,我們來看一下如何在伺服器上安裝和執行 BitLocker。

取得和安裝 BitLocker

Windows Server 2008 的所有版本中都有包含 BitLocker,但這是選用元件或功能,必須從伺服器管理員或命令列安裝。BitLocker 會實作為 NTFS 篩選器驅動程式的一部份。安裝此篩選器驅動程式必須重新啟動電腦,因此要注意,在伺服器上啟動 BitLocker 將需要重新開機。此外,就跟 Windows Vista 一樣,BitLocker 也需要有分割載入設定,其中用來啟動電腦的使用中磁碟分割會保持未加密狀態。如果製造商的伺服器並未預先設定,那麼 BitLocker Drive Preparation 工具可用來輔助您正確設定硬碟以支援 BitLocker。不過,如果您熟悉硬碟磁碟分割,當然可以手動設定硬碟。

若要將 BitLocker 安裝到 Windows Server 2008,您可以使用伺服器管理員圖形化介面,從功能清單中選取 BitLocker,如 [圖 4] 所示,或者您也可以使用伺服器管理員命令列介面發出以下命令:

[圖 4] 在伺服器管理員中選取 BitLocker

[圖 4]** 在伺服器管理員中選取 BitLocker **(按一下影像可放大檢視)

ServerManagerCmd –install BitLocker –restart

使用伺服器管理員時,它會安裝 BitLocker 和 BitLocker 的管理工具。您也可以不安裝 BitLocker,只安裝管理元件。這麼做就無須重新開機,因為篩選器驅動程式未包含在內。此元件名稱是「RSAT-BitLocker」。

BitLocker 在執行 Server Core 安裝選項的電腦上也能正常運作,但是您無法使用伺服器管理員將 BitLocker 安裝在 Server Core 上,也無法使用圖形化使用者介面來管理 Server Core 上的 BitLocker。因此,若要安裝元件,請改用命令列工具 pkgmgr 或 ocsetup。

一旦安裝 BitLocker 二進位檔且在必要的分割載入設定中設定磁碟之後,您就可以啟用 OS 磁碟區上的 BitLocker。BitLocker 控制台小程式在 Windows Server 2008 與 Windows Vista SP1 都提供相同的圖示與選項。為了啟用 BitLocker 的進階模式,您必須調整預設設定,這些設定會使用套用到伺服器的本機原則編輯器或群組原則物件。

在 Server Core 上,或著您只是不想使用控制台時,可以使用 manage-bde.wsf 來啟用 BitLocker。若要在磁碟機 C: 上啟用,請輸入

manage-bde.wsf –on C: -RecoveryPassword –RecoveryKey F:\

這裡的 C:是要加密的磁碟區,F:\ 則是 USB 金鑰或存放修復金鑰複本的另一個磁碟區 (使用二進位格式)。您也可以使用 UNC 路徑,將修復金鑰儲存在網路磁碟機上。另外也會產生並顯示修復密碼 (使用數字文字格式)。若您確定硬體平台符合所有 BitLocker 需求,可加入 –skiphardwaretest 參數。這樣可免去一次重新開機。

伺服器案例

現在,我們來討論一下 BitLocker 應用在伺服器中的幾個特殊案例。別忘了我之前提過,BitLocker 的設計用意是為了協助您防範離線攻擊 — 這種攻擊會在 Windows 未執行的時候發動。

分公司 BitLocker 在伺服器上最重要和最顯著的用途之一就是作為 Windows Server 2008 分公司策略的一部份。有四分之一到三分之一的伺服器是安裝在分公司 — 也就是實體安全性較低、IT 支援的存取能力較低,而且資料中心的連線力較差的辦公室。分公司也是易受攻擊的目標。結合使用唯讀網域控制站 (RODC) 之後,BitLocker 能有效保護必須存放在分公司使用,但是無法提供與資料中心同等實體安全性的機密資料。

此時正好可以思考一下適當的保護等級。究竟哪一邊比較重要 — 防止未經授權的資料存取,或是要求伺服器立即備份而不中斷?我的建議是,在許多分公司中,要求輸入 PIN 來重新啟動伺服器是可接受的,但是各家公司必須自行決定。

運送磁碟 我們常需要將硬碟中的資料運送到遠方位置。其中包括運送單一磁碟,或是預先設定並運送整部伺服器。在運送過程中,您無法掌握這些磁碟上的資料,它們可能會被複製、遺失或遭竊。

若要減輕風險,運送之前請先啟用電腦磁碟區上的 BitLocker,然後移除除了修復金鑰或修復密碼之外的所有金鑰保護裝置。此金鑰或密碼可以與伺服器分開保管和攜帶,甚至可以透過電話或加密的電子郵件來告知接收方員工。一旦收到電腦或磁碟之後,便可以使用修復密碼來解除鎖定磁碟機。磁碟機可以保持加密 (再次加入其他金鑰保護裝置),如果想要的話,磁碟可以在遞送之後完全解密。

這個方法可以有效地為分公司預先分段準備網域控制站或伺服器。

伺服器的竊盜風險 正如上一節所述,伺服器 (尤其是網域控制站) 要面對被偷竊的真實風險。竊賊可能會藉機偷取膝上型電腦,但是伺服器的竊盜事件往往是精心設計的。如果將 BitLocker 設定為只需要 TPM 完整性檢查,那麼遭竊的伺服器可能會輕易地被啟動和開機。相對地,如果伺服器中的磁碟機都使用 BitLocker 加以保護,而且以進階模式設定 BitLocker — 需要 USB 金鑰、PIN 或兩者皆要 — 竊賊就很難在合理的時間內取得有用的資訊。

磁碟的竊盜風險 但是反過來說,如果只有磁碟遭竊,TPM 仍然提供高度的保護機制。只有來自原始伺服器的 TPM 可用來解除鎖定受 BitLocker 保護的磁碟機,因此無法直接將磁碟插入另一台電腦進行讀取。

降低風險 藉由訂購包含 TPM 晶片的伺服器硬體,並使用 BitLocker 平台完整性檢查,即可增加對某些惡意程式碼形式的防禦能力。尤其,BitLocker 會偵測在 Windows 離線時所做的變更或對早期啟動元件的變更,特別是當惡意程式碼 (例如 Rootkit) 需要重新開機才能安裝時。這並不是全面的解決方案,但是一旦結合 Windows 程式碼完整性等功能和 Microsoft® ForefrontTM Client Security 等產品,就能有效提供另一層深度防禦能力。

安全地解除委任 BitLocker 最實用的其中一項案例,是發生在伺服器或磁碟的生命週期結尾時。您是否常聽說伺服器或伺服器上的磁碟尚未妥善解除委任就被棄置?您是否知道在拍賣場上,使用過的硬碟有時售價比新硬碟還高,因為不肖買家希望從這些舊電腦中汲取有用的資訊?

幸好,BitLocker 提供了另一種方法,而無須採取昂貴又耗時的程序來清除磁碟上的有用資訊。基本上,沒有任何資訊會以有用的格式寫入磁碟。既然加密資料已經無法使用,因此移除所有金鑰資訊的步驟是既快速又簡單。這麼一來,無論磁碟硬體被如何處置 — 可能被賣出、回收、另作他用等等,都不必擔心資料被不當使用。

在 Windows Vista 與 Windows Server 2008 中,格式命令會更新以清除 BitLocker 金鑰,包括多次覆寫。現在您已找到簡單有效的方法來解除委任磁碟機。

最新消息

當我撰寫本篇專欄時,也就是您讀到本出版品的數週前,有一些最新的文章、論文及新聞報告討論了幾項有趣的硬碟特性,還有這些特性如何影響 BitLocker、其他 Windows 安全性功能,以及來自不同廠商的加密產品。我想要花點時間來討論其中一些新發現。

當中一項發現是由普林斯頓大學的研究人員所發表的,展示了 (令人印象深刻地!)現代電腦記憶體的一個特性,有時稱為「DRAM 殘磁」(請參閱 citp.princeton.edu/pub/coldboot.pdf)。簡單來說,電腦記憶體內容可以在記憶體電源移走後的一段時間內存取。BitLocker 當然也是在 Windows 執行時將解密資料的金鑰保存在記憶體中,問題在於金鑰有可能被未獲授權的使用者取得。

Adam Boileau 的另一項示範 (security-assessment.com/files/presentations/ab_firewire_rux2k6-final.pdf) 顯示 IEEE 1394 (常稱為 FireWire) 如何允許直接記憶體存取 (DMA),這種行為可用來擷取 Windows 上的秘密,例如密碼或解密金鑰。有趣之處在於 DMA 幾乎等於點 1394;這不算是錯誤,而是 Firewire 原本的設計。

不過這兩種攻擊的共通點都是需要存取執行中的 (或至少是剛剛執行過的) 實體電腦。BitLocker 並非針對線上攻擊的防護而設計,而且也不能免除一定程度的實體安全性需求。正確的深度防禦需要運用多項工具和功能,建立實體安全性的環境,擬定基本的企業原則並持續教育使用者。

當然,這些都不是新發現。這些方法已經流傳好一陣子,而且實際上就記錄在 Microsoft® Data Encryption Toolkit (DET) 中。DET 中提供的風險分析是為了協助客戶在安全性與使用性以及實作和管理成本之間取得平衡。這可不能等閒視之。我們相信唯有正確教育客戶,他們才最能夠權衡安全性、使用性與成本以做出決策。

除了 DET,我的幾位同事也提供一些絕佳的評論及指導。首先是 Russ Humphries 在他的部落格文章中討論了 DRAM 殘磁環境中的安全性取捨:go.microsoft.com/fwlink/?LinkId=115217。此外,Douglas MacIver 也在系統整合性 (System Integrity,SI) 小組部落格上撰寫了其他特殊設定步驟和對策,可供您參考應用:go.microsoft.com/fwlink/?LinkId=115218。強烈建議您抽點時間閱讀這兩篇實用的部落格文章。您也應該閱讀 DET。

這些建議事項的重點是要使用進階模式 (也就是需要 USB 金鑰或 PIN 的模式),而且別讓電腦在無人看管的情況下進入睡眠模式 (請改用休眠)。

結論

BitLocker 仍然是 Windows Vista 最好用的功能之一。隨著 SP1 發行,增強過的 BitLocker 不但可直接回應客戶的意見,可用於更多案例,而且符合更廣泛的需求以提供資料保護。將靜止資料保護機制延伸擴充到 Windows Server 2008,提供您更多方法來保護資料和保持循規,無論這些資料是存放在伺服器或用戶端工作站、資料中心、分公司或由行動工作者保管。

Byron Hynes 是 Microsoft 企業和合作夥伴小組 (Enterprise and Partner Group,EPG) 的企業技術策略專家,專攻安全性功能與產品。在加入 EPG 之前,他從 2005 年開始就在 Windows Server 部門處理與 BitLocker (System Integrity) 密切相關的工作。歡迎您的寶貴意見或問題,您可以在 Tech•Ed 2008 提出,或傳送電子郵件到 bhynes@microsoft.com

© 2008 Microsoft Corporation 和 CMP Media, LLC.保留所有權利;未經允許,嚴禁部分或全部複製.