Win32_EncryptableVolume 類別的 ProtectKeyWithTPMAndStartupKey 方法

Win32_EncryptableVolume類別的ProtectKeyWithTPMAndStartupKey方法會使用信任平臺模組 (TPM) 電腦上的安全性硬體,藉由必須在啟動時向電腦呈現的外部金鑰來增強保護磁片區的加密金鑰。

TPM 的驗證和包含外部金鑰的 USB 記憶體裝置輸入都需要存取磁片區的加密金鑰,並解除鎖定磁片區內容。 使用 SaveExternalKeyToFile 方法,將此外部金鑰儲存到 USB 記憶體裝置上的檔案,以作為啟動金鑰使用。

這個方法僅適用于包含目前執行中作業系統的磁片區。

如果磁片區還不存在,則會為磁片區建立類型為 「TPM And Startup Key」 的金鑰保護裝置。

語法

uint32 ProtectKeyWithTPMAndStartupKey(
  [in, optional] string FriendlyName,
  [in, optional] uint8  PlatformValidationProfile[],
  [in, optional] uint8  ExternalKey[],
  [out]          string VolumeKeyProtectorID
);

參數

FriendlyName [in, optional]

類型: 字串

此金鑰保護裝置的使用者指派字串識別碼。 如果未指定此參數,則會使用空白值。

PlatformValidationProfile [in, optional]

類型: uint8[]

整數陣列,指定電腦信任平臺模組 (TPM) 安全性硬體如何保護磁片區的加密金鑰。

平臺驗證設定檔包含一組平臺設定暫存器 (PC) 索引,範圍從 0 到 23,包含。 會忽略 參數中的重複值。 每個PCR 索引都會與作業系統啟動時執行的服務相關聯。 每次電腦啟動時,TPM 都會檢查您在平臺驗證設定檔中指定的服務是否已變更。 如果 BitLocker 磁片磁碟機加密 (BDE) 保護時有任何服務變更,TPM 將不會釋放加密金鑰來解除鎖定磁片區,而且電腦會進入復原模式。

如果在啟用對應的群組原則設定時指定此參數,則必須符合群組原則設定。

如果未指定此參數,則會使用預設值 0、2、4、5、8、9、10 和 11。 預設平臺驗證設定檔會針對下列元素的變更保護加密金鑰:

  • 測量核心根 (CRTM)
  • BIOS
  • 平臺延伸模組 (PC 0)
  • 選項 ROM Code (PC 2)
  • 主要開機記錄 (MBR) 程式碼 (PC 4)
  • 主要開機記錄 (MBR) 分割資料表 (PC 5)
  • NTFS 開機磁區 (PC 8)
  • NTFS 開機區塊 (PC 9)
  • Boot Manager (PC 10)
  • BitLocker 存取控制 (PC 11)

針對電腦的安全性,我們建議使用預設設定檔。 如需防止早期啟動設定變更的額外保護,請使用 PCR 0、1、2、3、4、5、8、9、10、11 的設定檔。 統一可擴展韌體介面 (UEFI) 型電腦預設不會使用PCR 5。

從預設設定檔變更會影響電腦的安全性和管理性。 根據 PCR 的包含或排除,BitLocker 對平臺修改 (惡意或授權) 的敏感度會隨著 PCR 的包含或排除而增加或減少。 若要啟用 BitLocker 保護,平臺驗證設定檔必須包含PCR 11。

意義
0
測量的核心根目錄 (CRTM) 、BIOS 和平臺延伸模組
1
平臺和主機板組態和資料
2
選項 ROM 程式碼
3
選項 ROM 組態和資料
4
主要開機記錄 (MBR) 程式碼
5
主要開機記錄 (MBR) 資料分割資料表
6
狀態轉換和喚醒事件
7
電腦Manufacturer-Specific
8
NTFS 開機磁區
9
NTFS 開機區塊
10
開機管理程式
11
BitLocker 存取控制
12
已定義供靜態作業系統使用
13
已定義供靜態作業系統使用
14
已定義供靜態作業系統使用
15
已定義供靜態作業系統使用
16
用於偵錯
17
動態 CRTM
18
平臺定義
19
由信任的作業系統使用
20
由信任的作業系統使用
21
由信任的作業系統使用
22
由信任的作業系統使用
23
應用程式支援

 

ExternalKey [in, optional]

類型: uint8[]

位元組陣列,指定電腦啟動時用來解除鎖定磁片區的 256 位外部金鑰。

如果未指定任何外部索引鍵,則會隨機產生一個。 使用 GetKeyProtectorExternalKey 方法來取得隨機產生的金鑰。

VolumeKeyProtectorID [out]

類型: 字串

字串,此字串是與建立的金鑰保護裝置相關聯的唯一識別碼,可用來管理金鑰保護裝置。

如果磁片磁碟機支援硬體加密,且 BitLocker 尚未取得頻外擁有權,識別碼字串會設定為 「BitLocker」,且金鑰保護裝置會寫入每個頻段中繼資料。

傳回值

類型: uint32

此方法會在失敗時傳回下列其中一個代碼或另一個錯誤碼。

傳回碼/值 描述
S_OK
0 (0x0)
此方法成功。
FVE_E_LOCKED_VOLUME
2150694912 (0x80310000)
磁片區已鎖定。
TBS_E_SERVICE_NOT_RUNNING
2150121480 (0x80284008)
此電腦上找不到相容的 TPM。
FVE_E_FOREIGN_VOLUME
2150694947 (0x80310023)
TPM 無法保護磁片區的加密金鑰,因為磁片區不包含目前正在執行的作業系統。
E_INVALIDARG
2147942487 (0x80070057)
提供PlatformValidationProfile參數,但其值不在已知範圍內,或不符合目前作用中的群組原則設定。
提供 ExternalKey 參數,但不是大小為 32 的陣列。
FVE_E_BOOTABLE_CDDVD
2150694960 (0x80310030)
在此電腦中找到可開機的 CD/DVD。 移除 CD/DVD,然後重新開機電腦。
FVE_E_PROTECTOR_EXISTS
2150694961 (0x80310031)
此類型的金鑰保護裝置已經存在。

 

安全性考量

針對電腦的安全性,我們建議使用預設設定檔。 如需防止早期啟動程式碼變更的額外保護,請使用 PCR 0、2、4、5、8、9、10 和 11 的設定檔。 如需防止早期啟動設定變更的額外保護,請使用 PCR 0、1、2、3、4、5、8、9、10、11 的設定檔。

從預設設定檔變更會影響電腦的安全性或可用性。

備註

最多一個類型為「TPM 和啟動金鑰」的金鑰保護裝置隨時可以存在磁片區。 如果您想要變更現有 「TPM 加上啟動金鑰」金鑰保護裝置所使用的顯示名稱或平臺驗證設定檔,您必須先移除現有的金鑰保護裝置,然後呼叫 ProtectKeyWithTPMAndStartupKey 來建立新的保護裝置。 應該指定其他金鑰保護裝置,以在無法取得磁片區加密金鑰的復原案例中解除鎖定磁片區;例如,當 TPM 無法成功驗證平臺驗證設定檔,或遺失包含外部金鑰的 USB 記憶體時。

使用 ProtectKeyWithExternalKeyProtectKeyWithNumericalPassword 來建立一或多個金鑰保護裝置,以復原其他鎖定的磁片區。

雖然可以同時擁有類型 「TPM」 的金鑰保護裝置和另一種類型 「TPM And Startup Key」,但存在 「TPM」 金鑰保護裝置類型會否定其他 TPM 型金鑰保護裝置的效果。

Managed 物件格式 (MOF) 檔案包含 Windows Management Instrumentation (WMI) 類別的定義。 MOF 檔案不會安裝為 Windows SDK 的一部分。 當您使用 伺服器管理員 新增相關聯的角色時,它們會安裝在伺服器上。 如需 MOF 檔案的詳細資訊,請參閱 Managed Object Format (MOF)

規格需求

需求
最低支援的用戶端
Windows Vista Enterprise、Windows Vista Ultimate [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
命名空間
Root\CIMV2\Security\MicrosoftVolumeEncryption
MOF
Win32_encryptablevolume.mof

另請參閱

Win32_EncryptableVolume

Win32_Tpm