Win32_EncryptableVolume 类的 ProtectKeyWithTPMAndPINAndStartupKey 方法

Win32_EncryptableVolume类的 ProtectKeyWithTPMAndPINAndStartupKey 方法通过使用计算机上的受信任的平台模块 (TPM) 来保护卷的加密密钥(如果可用),由用户指定的个人标识号 (PIN) 以及必须在启动时提供给计算机的外部密钥进行增强。

解锁卷的加密内容需要三个身份验证因素:

  1. 由 TPM 验证
  2. 输入 4 到 20 位 PIN,如果启用了“允许用于启动的增强型 PIN”组策略,则输入 4 到 20 个字母、符号、空格或数字
  3. 包含外部密钥的 USB 内存设备的输入

使用 SaveExternalKeyToFile 方法将此外部密钥保存到 USB 内存设备上的文件,以用作启动密钥。 此方法仅适用于操作系统卷。 创建类型为“TPM 和 PIN 和启动密钥”的密钥保护程序。

语法

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

parameters

FriendlyName [in, optional]

类型: 字符串

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

PlatformValidationProfile [in, optional]

类型: uint8

一个整数数组,指定计算机的 TPM 如何保护卷的加密密钥。 平台验证配置文件由一组平台配置寄存器 (PCR) 索引(包括 0 到 23)组成。 参数中的重复值将被忽略。 每个 PCR 索引都与操作系统启动时运行的服务相关联。 每次计算机启动时,TPM 都会检查平台验证配置文件中指定的服务未更改。 如果在 BitLocker 保护保持打开状态时这些服务中的任何一项发生更改,TPM 将不会释放加密密钥来解锁卷,并且计算机将进入恢复模式。

如果未指定此参数,则使用默认索引 0、2、4、5、8、9、10 和 11。 默认平台验证配置文件保护加密密钥,防止更改核心信任根的度量 (CRTM) , BIOS 和平台扩展 (PCR 0) 、选项 ROM 代码 (PCR 2) 、主启动记录 (MBR) 代码 (PCR 4) 、主启动记录 (MBR) 分区表 (PCR 5) , NTFS 启动扇区 (PCR 8) 、NTFS 启动块 (PCR 9) 、启动管理器 (PCR 10) ,BitLocker 访问控制 (PCR 11) 。 统一可扩展固件接口 (基于 UEFI) 的计算机默认不使用 PCR 5。

建议使用默认平台验证配置文件。 若要防止早期启动配置更改,请使用 PCR 0、1、2、3、4、5、8、9、10、11 的配置文件。

更改默认配置文件会影响计算机的安全性和可管理性。 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
应用程序支持

 

PIN [in]

类型: 字符串

包含 4 到 20 位个人标识号 (PIN) ,或者,如果启用了“允许启动增强型 PIN”组策略,则包含 4 到 20 个字母、符号、空格或数字。 必须在启动时将此字符串提供给计算机。

ExternalKey [in, optional]

类型: uint8[]

字节数组,指定计算机启动时用于解锁卷的 256 位外部密钥。 将此参数留空可随机生成外部密钥。 使用 GetKeyProtectorExternalKey 方法获取随机生成的密钥。

VolumeKeyProtectorID [out]

类型: 字符串

更新的唯一字符串标识符,用于管理加密卷密钥保护程序。

如果驱动器支持硬件加密,并且 BitLocker 尚未获取带所有权,则 ID 字符串设置为“BitLocker”,并将密钥保护程序写入每个带元数据。

返回值

类型: uint32

此方法返回以下代码之一,如果失败,则返回另一个错误代码。

返回代码/值 说明
S_OK
0 (0x0)
方法成功。
E_INVALIDARG
2147942487 (0x80070057)
虽然提供了 PlatformValidationProfile 参数,但其值不在已知范围内,或者与当前有效的组策略设置不匹配。
提供了 ExternalKey 参数,但它不是大小为 32 的数组。
FVE_E_BOOTABLE_CDDVD
2150694960 (0x80310030)
此计算机中提供了可启动的 CD/DVD。 删除 CD/DVD 并重启计算机。
FVE_E_FOREIGN_VOLUME
2150694947 (0x80310023)
TPM 无法保护卷的加密密钥,因为卷不包含当前正在运行的操作系统。
FVE_E_INVALID_PIN_CHARS
2150695066 (0x8031009A)
NewPIN 参数包含无效的字符。 禁用“允许启动增强型 PIN”组策略时,仅支持数字。
FVE_E_LOCKED_VOLUME
2150694912 (0x80310000)
卷已锁定。
FVE_E_POLICY_INVALID_PIN_LENGTH
2150695016 (0x80310068)
提供的 NewPIN 参数长度超过 20 个字符、短于 4 个字符,或短于 组策略 指定的最小长度。
FVE_E_PROTECTOR_EXISTS
2150694961 (0x80310031)
此类型的密钥保护程序已存在。
TBS_E_SERVICE_NOT_RUNNING
2150121480 (0x80284008)
在此计算机上找不到兼容的 TPM。

 

备注

对于卷,最多可以存在一个类型为“TPM 和 PIN 和启动密钥”的密钥保护程序。 如果要更改现有“TPM 和 PIN 和启动密钥”密钥保护程序使用的显示名称或平台验证配置文件,必须先删除现有密钥保护程序,然后调用 ProtectKeyWithTPMAndPINAndStartupKey 以创建新的密钥保护程序。

在无法获取卷加密密钥访问权限的恢复方案中,应指定其他密钥保护程序来解锁卷;例如,当 TPM 无法成功验证平台验证配置文件或 PIN 丢失时。 使用 ProtectKeyWithExternalKeyProtectKeyWithNumericalPassword 创建一个或多个密钥保护程序来恢复其他锁定的卷。

虽然可以同时具有类型为“TPM”的密钥保护程序,以及另一种类型为“TPM 和 PIN 和启动密钥”的密钥保护程序,但存在“TPM”密钥保护程序类型会抵消其他基于 TPM 的密钥保护程序的影响。

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

要求

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

请参阅

Win32_EncryptableVolume