Win32_EncryptableVolume类的 ProtectKeyWithTPMAndStartupKey 方法

Win32_EncryptableVolume类的 ProtectKeyWithTPMAndStartupKey 方法通过使用受信任的平台模块 (TPM) 计算机上的安全硬件来保护卷的加密密钥,如果可用,则由必须在启动时提供给计算机的外部密钥进行增强。

TPM 验证和包含外部密钥的 USB 内存设备的输入都需要访问卷的加密密钥并解锁卷内容。 使用 SaveExternalKeyToFile 方法将此外部密钥保存到 USB 内存设备上的文件,以便用作启动密钥。

此方法仅适用于包含当前正在运行的操作系统的卷。

如果卷尚不存在,则会为卷创建类型为“TPM 和启动密钥”的密钥保护程序。

语法

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

参数

FriendlyName [in, 可选]

类型: 字符串

此密钥保护程序的用户分配字符串标识符。 如果未指定此参数,则使用空值。

PlatformValidationProfile [in, 可选]

类型: uint8[]

一个整数数组,指定计算机受信任的平台模块 (TPM) 安全硬件如何保护磁盘卷的加密密钥。

平台验证配置文件由一组平台配置寄存器 () 索引(包括 0 到 23)组成。 忽略参数中的重复值。 每个PCR索引都与操作系统启动时运行的服务相关联。 每次计算机启动时,TPM 都会检查平台验证配置文件中指定的服务是否已更改。 如果其中任一服务在 BitLocker 驱动器加密 (BDE) 保护仍然存在时发生更改,TPM 将不会释放加密密钥以解锁磁盘卷,并且计算机将进入恢复模式。

如果在启用相应的组策略设置时指定此参数,则此参数必须与组策略设置匹配。

如果未指定此参数,则使用默认值 0、2、4、5、8、9、10 和 11。 默认平台验证配置文件根据对以下元素的更改保护加密密钥:

  • 度量的核心信任根 (CRTM)
  • BIOS
  • 平台扩展 ()
  • 选项 ROM 代码 ( ()
  • 主启动记录 (MBR) 代码 ()
  • 主启动记录 (MBR) 分区表 ()
  • NTFS 启动扇区 ()
  • NTFS 启动块 ()
  • 启动管理器 ()
  • BitLocker 访问控制 ()

对于计算机的安全性,我们建议使用默认配置文件。 若要进一步防止早期启动配置更改,请使用 PCR 0、1、2、3、4、5、8、9、10、11 的配置文件。 统一可扩展固件接口 (基于 UEFI) 的计算机默认不使用 VPN 5。

从默认配置文件更改会影响计算机的安全性和可管理性。 BitLocker 对平台修改的敏感度 (恶意或授权) 根据 PCR 的包含或排除,分别增加或减少。 若要启用 BitLocker 保护,平台验证配置文件必须包含RF 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, 可选]

类型: uint8[]

一个字节数组,指定计算机启动时用于解锁卷的 256 位外部键。

如果未指定任何外部键,则会随机生成一个。 使用 GetKeyProtectorExternalKey 方法获取随机生成的密钥。

VolumeKeyProtectorID [out]

类型: 字符串

一个字符串,该字符串是与创建密钥保护程序关联的唯一标识符,可用于管理密钥保护程序。

如果驱动器支持硬件加密且 BitLocker 尚未获取带所有权,则 ID 字符串设置为“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 和启动密钥”,但存在“TPM”密钥保护程序类型会否定其他基于 TPM 的密钥保护程序的影响。

托管对象格式 (MOF) 文件包含 Windows Management Instrumentation (WMI) 类的定义。 MOF 文件未作为 Windows SDK 的一部分安装。 使用服务器管理器添加关联的角色时,它们安装在服务器上。 有关 MOF 文件的详细信息,请参阅 托管对象格式 (MOF)

要求

要求
最低受支持的客户端
Windows Vista 企业版,Windows Vista 旗舰版 [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
命名空间
Root\CIMV2\Security\MicrosoftVolumeEncryption
MOF
Win32_encryptablevolume.mof

另请参阅

Win32_EncryptableVolume

Win32_Tpm