在Windows可信实例中使用BitLocker的TPM密钥保护程序加密系统盘

BitLocker 是微软提供的安全加密功能,可与 TPM 配合使用,实现系统盘全盘加密,确保系统仅在可信环境中才能解密启动。

系统盘解密工作原理

  • 密钥层级:通过三层密钥保障数据安全,密钥明文仅加载至内存中使用。

    • 全卷加密密钥(FVEK):直接用于加密和解密系统盘数据的密钥,采用AES-256标准静态加密。

    • 卷主密钥(VMK):用于加密和解密FVEK的密钥。

    • 密封密钥(Sealing Key):TPM内部的密封密钥,用于加密和解密VMK密钥。

  • 可信绑定:密封密钥与平台配置寄存器(PCR)的度量值绑定。

    PCR在实例启动过程中会记录关键组件(如UEFI固件、引导加载程序)的哈希值。详细内容,请参见查看实例的可信状态
  • 解密过程

    实例启动时,TPM会重新计算PCR值,并将其与预存的基准度量值进行比较。

    • 如果值匹配,证明为可信环境,提供密封密钥以解密VMK,VMK再解密FVEK,最终系统盘被解密,操作系统正常启动。

    • 如果值不匹配,将拒绝提供密封密钥,系统会中断启动,需手动输入恢复密码,系统才可正常启动。

      恢复密码在配置BitLocker时生成,可在紧急情况下恢复对数据的访问。

适用范围

  • 实例规格族:仅支持ecs.g9i 、ecs.c9i、ecs.r9i、ecs.hfg9i 、ecs.hfc9i 、ecs.hfr9i。

  • 镜像:仅支持启动模式为UEFIWindows Server镜像。

操作步骤

本操作以Windows Server 2022为例。

步骤一:创建Windows可信实例

暂不支持控制台创建,需使用CLIAPI创建。

若已有实例已满足实例规格族及镜像要求,可直接安装BitLocker功能组件

CLI

以下为示例配置,请根据实际需求替换。

aliyun ecs RunInstances \
  --region cn-hangzhou \
  --RegionId 'cn-hangzhou' \
  --ImageId 'win2022_21H2_x64_dtc_zh-cn_40G_uefi_alibase_20250817.vhd' \
  --InstanceType 'ecs.c9i.large' \
  --SecurityOptions.TrustedSystemMode vTPM \
  --SecurityGroupId 'sg-[SecurityGroupId]' \
  --VSwitchId 'vsw-[VSwitchID]' \
  --SystemDisk.Category cloud_essd \
  --SystemDisk.Size 40 \
  --DataDisk.1.Category cloud_essd \
  --DataDisk.1.Device /dev/xvdb \
  --DataDisk.1.Size 40 \
  --Password '[YOUR_PASSWORD]'

API

可调用API接口RunInstances创建可信实例。

步骤二:安装BitLocker功能组件

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入用户名和密码,登录图形化终端页面。

  2. 安装BitLocker功能组件。

    1. Win+R输入PowerShell并按Enter键,进入PowerShell界面后,安装BitLocker功能组件。

      Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools

      输出的SuccessTrue,表示指令执行成功。

    2. 重启实例完成安装。

      1. 在实例详情页的页面右上角单击重启

      2. 在弹窗中,单击确定,立即重启实例。

  3. 查看是否安装成功。

    ECS实例内,选择控制面板 > 系统和安全,若显示BitLocker 驱动器加密功能,则表示安装成功

步骤三:启用BitLocker加密系统盘

  1. 在数据盘中新建文件夹。

    恢复密码无法存储至系统盘,需先在数据盘中新建文件夹用于后续启用时保存恢复密码文件。

  2. 打开控制面板 > 系统和安全 > BitLocker 驱动器加密,单击操作系统驱动器下的启用BitLocker,根据页面提示单击下一步。

  3. 保存恢复密钥。

    你希望如何备份恢复密钥弹窗中,选择保存到文件,将文件先保存至数据盘新建的文件夹下后,单击下一步

    重要

    恢复密码是数据保护的最后防线,建议将此文件下载至本地保存。如果密码丢失且TPM验证失败,系统盘数据可能将永久无法恢复。

  4. 选择要加密的驱动器空间大小后,单击下一步

    • 仅加密已用磁盘空间:适合新系统盘,速度较快。

    • 加密整个驱动器:适合正在使用中的系统盘,速度较慢。

  5. 选择加密模式为新加密模式后,单击下一步

  6. 是否准备加密该驱动器的弹框中,单击开始加密

步骤四:验证加密状态

  1. 进入PowerShell界面,检查系统盘加密状态。

    manage-bde.exe -status C:
    BitLocker 驱动器加密:配置工具版本 10.0.20348
    版权所有(C)2013 Microsoft Corporation。保留所有权利。
    
    可以使用 BitLocker 驱动器加密保护的磁盘卷:
    卷C:[]
    [os 卷]
    
        大小:              39.29 GB
        BitLocker 版本:    2.0
        转换状态:           仅加密了已用空间
        已加密百分比:        100.0%
        加密方法:           XTS-AES 128
        保护状态:           保护已启用
        锁定状态:           已解锁
        标识字段:           未知
        密钥保护器:
            TPM
            数字密码

    示例中,系统盘的保护状态已开启,加密百分比为100%,表示已完成加密。

  2. 查看恢复密码。

    manage-bde -protectors -get C:
    BitLocker 驱动器加密:配置工具版本 10.0.20348
    版权所有(C)2013 Microsoft Corporation。保留所有权利。
    
    可以使用 BitLocker 驱动器加密保护的磁盘卷:
    卷C:[]
    所有密钥保护器
    
       TPM:
         ID: {08666E3D-6E4E-497A-B07B-1C68A33xxxxx}
         PCR 验证配置文件:
           0,2,4,11
    
       数字密码:
         ID: D21A5371-8896-404C-BF77-BA37B93xxxxx}
         密码:
           049577-628485-629002-576851-260304-251900-218823-xxxxx

    输出中同时包含 TPM数字密码 两种保护程序,表明系统盘受TPM自动保护,并具备恢复密码作为备用解锁方式。数字密码中的48位密码即为恢复密码。

常见问题

  • 实例重启后要求输入恢复密码,怎么办?

    • 可能原因

      • 操作系统更新、驱动更新或修改了启动设置,导致系统完整性度量值(PCR值)发生变化。

      • 使用已加密系统盘创建自定义镜像,并用该镜像创建了新实例。新实例的TPM与原实例不同,无法解密。

    • 解决方案

      • 尽快通过ECS控制台的VNC远程连接功能连接到实例。

      • BitLocker恢复界面,手动输入保存的48位恢复密码。

        重要

        如果恢复密码未配置或丢失,系统盘数据可能永久无法恢复。因此,务必配置并妥善保管。

  • 如何使用BitLocker加密数据盘?

    数据盘可使用BitLocker的其他保护程序(例如密码、智能卡或自动解锁)进行加密。具体请参考BitLocker planning guide-microsoft

相关文档