啟用硬體Bitlocker加密在Lenovo T14與 Samsung 980上

經過快5天的折騰,我終於結束啟用硬體加密的嘗試了,下面會說明我遇到的幾個關卡,以及可以攻克、無法攻克的點,到最後終於成功了,還發現了許多可以用的好工具,所以決定記錄下來。

英文關鍵字:

  • Enable SED on Bitlocker
  • how to enable hardware encryption BitLocker
  • Disable auto encrypt on windows install

概述

警告

若硬碟啟用SED功能與eDrive,那麼Lenovo內建的診斷程式會認為硬碟故障,原因為診斷程式無法解鎖SSD,所以會認為SSD異常無法讀取/寫入。

微軟的態度

在2019年 9 月更新 KB4516045中,微軟預設使用軟體加密Bitlocker而非硬體加密,即使裝置符合TCG Opal的所有要求,印象中當年接連數個SSD硬體加密的實做被發現有漏洞,這導致微軟改變了預設的政策。要覆蓋這項改變,可以經由 1)修改登錄檔的方式, 2)改變GPO, 3)使用PowerShell下指令開啟硬體加密。

加之若電腦支援TPM安全模組且安裝專業、教育、企業等支援Bitlocker的版本,在安裝Windows後系統會自動幫你進行加密,所以你無從使用前三個方法在加密前阻止它。

Samsung 980

三星的SSD若支援自我加密(SED)的話,需要使用三星SSD魔術師啟用該功能,具體來說是啟用後重新安裝支援的系統,理論上就會自動幫加密;我相信這套機制以前(在KB4516045前)運作良好,但目前會使用軟體加密,所以無效。

辨識方法也很簡單,在SSD的標籤上會印有PSID加上一長串Key,這可以解除所有SSD的加密並恢復出廠預設值,理論上硬體加密金鑰銷毀後,該SSD可以視作資料完全清除,前提是韌體實做正確。

但魔術師的重置功能無法在T14上使用,所以要常常拆機移到桌機去重設,非常不方便、花時間、容易傷害指甲(T14不好拆阿…),後來發現了SEDuite,終於可以不用拆拆裝裝了。

Lenovo T14 BIOS

既然加密所需要的條件之一是TPM模組的話,那麼在安裝前關閉TPM,裝好後修改完登錄檔,在啟用TPM後進行加密可以嗎?答案是否定的,因為在安裝完後,SSD的加密狀態會從等待啟用被修改成已啟用,一旦狀態變成已啟用後,Bitlocker就無法使用它的硬體加密功能了。

實做

綜上所述,目前的方案是降版安裝,我選擇Windows 1903進行標準安裝,成功啟用了硬體加密。

準備材料

兩支USB隨身碟,SSD的PSID(建議先拍照),下載Rufus

製作SEDutil救援隨身碟

要先下載SEDuite救援映象檔案,到他們的下載頁面,選擇RESCUE64的img下載,下載後用Rufus安裝到第一隻USB隨身碟上面。

Rufus製作開機USB

製作Windows 1809的安裝USB

下載製作工具MediaCreationTool.bat,可以點選右上角的code綠色按鈕後下載Zip,解壓縮後選擇1809的版本進行安裝。

開搞吧

需要時間: 1 小時

這些步驟可能有些多餘,因為每次嘗試都是一個重灌,耗費蠻多時間的,以下是我確定成功的步驟。

  1. 調整BIOS設定

    為了要能從USB開機,需要關閉Secure Boot;要能夠自動加密,需啟用TMP且支援2.0;Windows Guard也要關閉,同時開機選單要啟用,才能從USB開機。

  2. 使用USB1(SEDutil)開機,並掃描裝置

    使用root登入(無密碼),並使用sedutil --scan確認支援的裝置路徑,如果類型為 2 表示支援。

  3. 重置SSD

    輸入sedutil-cli --PSIDrevert [32位從SSD貼紙上抄的密碼] /dev/nvme0
    約一秒鐘後會看到Successful

  4. 確認SSD位於等待加密的狀態

    輸入sedutil-cli --query /dev/nvme0
    確認 Locking function的Locked=N,LockingEnable=N,LockingSupport=Y

  5. 正常安裝Windows

    插入剛剛製作的Windows1803 USB,正常安裝,我是選用離線安裝,以免裝一裝被更新

  6. 第一次進入系統

    第一次(且只有第一次)進入桌面後,在開始選單按右鍵,用系統管理員權限開啟PowerShell,輸入 manage-bde -status ,確認未處於加密狀態,或是有顯示加密方法:硬體加密;若是後者,你成功了,記得去備份Key。

  7. 使用指令以硬體加密方式啟用BitLocker

    輸入manage-bde -on C: -ForceEncryptionType hardware如沒有裝置不支援的情況,他會叫你重新開機,他要進行相容性檢查

  8. 重新開機

    在開始選單按右鍵,用系統管理員權限開啟PowerShell,輸入 manage-bde -status ,你應該會看到以完全加密且加密方法為硬體加密了。
    一樣,你應該要去控制台->Bitlocker備份你的金鑰

  9. BIOS開回來

    可以把安全開機之類的功能開回來了,切記一定要先建立救援金鑰再做這一步。

建立救援金鑰

因為我們選擇用指令方式進行加密,預設金鑰只有一份存在TPM裡面,但TPM會因為改了BIOS或是更新之類的問題需要救援金鑰,所以請使用下面的指令產出救援金鑰並備份起來:
manage-bde -protectors -add c: -rp

效能

總結

結論而言,雖然2019年發現了挺多漏洞的,不過我想該修的也修好了,所以既然能用硬體實做當然就用硬體來做,相較於軟體實做的BitLocker,硬體加密讀取沒有比較快,寫入快一些些,那如此大費周章圖什麼呢,CPU使用率的確較低,應該可以期待省電效果,雖說也就個位數的差異,可能硬體加解密在性能較低的CPU帶來的優勢會明顯一些吧。

在軟體全盤加密的選擇上,我認為BitLocker是做的最差的,啟用後系統會有一種莫名的延遲感,按個右鍵要等一瞬間選單才會跑出來;我實驗室的桌上型電腦是選用VeraCrypt,一個完全開源的軟體實做全盤加密,不需要TPM支援,用起來和沒有加密一樣順暢,這邊強烈推薦。
目前體驗上來看 VeraCrypt = BitLocker 硬體加密 >> BitLocker XTS-AES 128(軟體加密),希望對於筆電來說,能體驗到硬體加密帶來的節能效果。

參考資料

如何使用 SSD 啟用 BitLocker 硬體加密 • Helge Klein:講解了在更新前如何啟用硬體加密的

SEDutil: Self Encrypting Drive Utility:我找到的一個工具,既然Windows不支援,那麼在Windows前面放一個子系統,專門加密解密硬碟,解密後再將控制權交給Windows也是一個可行方案,缺點是SecureBoot或是WindowsGuard無法搭配使用。

ATA加密與SED自我加密硬碟剖析 – OSSLab:OSSLab是一個強大的資料救援實驗室,在此推薦他們的二手硬體,因為他們的專業與需求,常常會有備品或退役的機器,可以低價購買專業服務,也常常發布一些專業的文章,可以追蹤。

發佈留言