Win32_EncryptableVolume 类的 ProtectKeyWithTPMAndPIN 方法

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

通过 TPM 验证和个人标识字符串的输入都需要访问卷的加密密钥和解锁卷内容。

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

为卷创建类型为“TPM 和 PIN”的密钥保护程序(如果尚不存在)。

语法

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

参数

FriendlyName [in, optional]

类型: 字符串

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

PlatformValidationProfile [in, optional]

类型: uint8[]

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

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

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

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

  • 核心度量信任根 (CRTM)
  • BIOS
  • 平台扩展 (PCR 0)
  • 选项 ROM Code (PCR 2)
  • 主启动记录 (MBR) Code (PCR 4)
  • 主启动记录 (MBR) 分区表 (PCR 5)
  • NTFS 启动扇区 (PCR 8)
  • NTFS 启动块 (PCR 9)
  • 启动管理器 (PCR 10)
  • BitLocker 访问控制 (PCR 11)

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

从默认配置文件更改会影响计算机的安全性和可管理性。 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]

类型: 字符串

用户指定的个人标识字符串。 此字符串必须包含 6 到 20 位数字的序列,如果启用了“允许启动增强型 PIN”组策略,则包含 6 到 20 个字母、符号、空格或数字。

VolumeKeyProtectorID [out]

类型: 字符串

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

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

返回值

类型: uint32

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

返回代码/值 说明
S_OK
0 (0x0)
方法成功。
E_INVALIDARG
2147942487 (0x80070057)
虽然提供了 PlatformValidationProfile 参数,但其值不在已知范围内,或者与当前有效的组策略设置不匹配。
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 个字符、短于 6 个字符,或短于 组策略 指定的最小长度。
FVE_E_PROTECTOR_EXISTS
2150694961 (0x80310031)
此类型的密钥保护程序已存在。
TBS_E_SERVICE_NOT_RUNNING
2150121480 (0x80284008)
在此计算机上找不到兼容的 TPM。

 

安全注意事项

为了保护计算机的安全性,建议使用默认配置文件。 若要针对早期启动代码更改提供额外保护,请使用 PCR 0、2、4、5、8、9、10 和 11 的配置文件。 若要针对早期启动配置更改提供额外保护,请使用 PCR 0、1、2、3、4、5、8、9、10、11 的配置文件。

从默认配置文件更改会影响计算机的安全性或可用性。

备注

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

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

使用 ProtectKeyWithExternalKeyProtectKeyWithNumericalPassword 创建一个或多个密钥保护程序来恢复其他锁定的卷。

虽然可以同时拥有类型为“TPM”的密钥保护程序,也可以具有另一种类型“TPM And PIN”,但存在“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