界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

implementing-disk-encryption-with-bitlocker

implementing-disk-encryption-with-bitlocker

【效率与协作】使用 Microsoft BitLocker 在 Windows 端点上实施全盘加密,保护静态数据免受 设备丢失或被盗时未授权访问的威胁。适用于部署加密以满足合规要求、保护移动工作站 或在企业范围内实施数据保护控制的场景。适用于涉及 BitLocker 加密、磁盘加密、 TPM 配置或静态数据保护的请求。

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: implementing-disk-encryption-with-bitlocker description: > 使用 Microsoft BitLocker 在 Windows 端点上实施全盘加密,保护静态数据免受 设备丢失或被盗时未授权访问的威胁。适用于部署加密以满足合规要求、保护移动工作站 或在企业范围内实施数据保护控制的场景。适用于涉及 BitLocker 加密、磁盘加密、 TPM 配置或静态数据保护的请求。 domain: cybersecurity subdomain: endpoint-security tags: [endpoint, encryption, BitLocker, TPM, data-protection, windows-security] version: 1.0.0 author: mahipal license: Apache-2.0

使用 BitLocker 实施磁盘加密

使用场景

在以下情况下使用本技能:

  • 加密 Windows 端点以保护静态数据,满足合规要求(PCI DSS、HIPAA、GDPR)
  • 通过 Intune、SCCM 或 GPO 在企业设备群中部署 BitLocker
  • 配置基于 TPM 的加密,并使用 PIN 或 USB 启动密钥增强安全性
  • 在 Active Directory 或 Azure AD 中管理 BitLocker 恢复密钥

不适用于 Linux 磁盘加密(使用 LUKS/dm-crypt)或 macOS(使用 FileVault)。

前置条件

  • Windows 10/11 专业版、企业版或教育版
  • TPM 2.0 芯片(推荐;支持 TPM 1.2,但有限制)
  • 已启用安全启动的 UEFI 固件(推荐)
  • 独立系统分区(最小 200 MB,由 Windows 安装程序自动创建)
  • 用于恢复密钥托管的 Active Directory 或 Azure AD

操作流程

步骤 1:验证 TPM 和系统要求

# 检查 TPM 状态
Get-Tpm
# ManufacturerId, ManufacturerVersion, TpmPresent, TpmReady, TpmEnabled

# 检查 TPM 版本(最佳兼容性需要 2.0)
(Get-WmiObject -Namespace "root\cimv2\security\microsofttpm" -Class Win32_Tpm).SpecVersion

# 检查 UEFI/安全启动
Confirm-SecureBootUEFI
# 如果已启用安全启动则返回 True

# 检查 BitLocker 就绪状态
$vol = Get-BitLockerVolume -MountPoint "C:"
$vol.VolumeStatus  # 应为 "FullyDecrypted"
$vol.ProtectionStatus  # 应为 "Off"

步骤 2:配置 BitLocker GPO 设置

计算机配置 → 管理模板 → Windows 组件 → BitLocker 驱动器加密

操作系统驱动器:
  - 启动时要求其他身份验证:已启用
    - 无兼容 TPM 时允许 BitLocker:已禁用(强制使用 TPM)
    - 配置 TPM 启动:允许 TPM
    - 配置 TPM 启动 PIN:允许与 TPM 配合使用的启动 PIN
    - 配置 TPM 启动密钥:允许与 TPM 配合使用的启动密钥

  - 选择如何恢复受 BitLocker 保护的操作系统驱动器:已启用
    - 允许数据恢复代理:True
    - 配置恢复信息存储到 AD DS:已启用
    - 将操作系统驱动器的恢复信息保存到 AD DS:存储恢复密码和密钥包
    - 在存储恢复信息之前不启用 BitLocker:已启用

  - 选择驱动器加密方法和密码强度:
    - 操作系统驱动器:XTS-AES 256 位(Windows 10 1511+)
    - 固定驱动器:XTS-AES 256 位
    - 可移动驱动器:AES-CBC 256 位(用于跨平台兼容性)

固定数据驱动器:
  - 选择如何恢复受 BitLocker 保护的固定驱动器:已启用
    - 在 AD DS 中存储恢复密码:已启用

可移动数据驱动器:
  - 控制在可移动驱动器上使用 BitLocker:已启用
  - 配置可移动驱动器的密码使用:要求复杂性

步骤 3:通过命令行启用 BitLocker

# 使用仅 TPM 保护程序启用 BitLocker(对用户透明)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 `
  -TpmProtector -SkipHardwareTest

# 使用 TPM + PIN 启用 BitLocker(推荐用于笔记本电脑)
$pin = ConvertTo-SecureString "123456" -AsPlainText -Force
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 `
  -TpmAndPinProtector -Pin $pin

# 添加恢复密码保护程序
Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector

# 将恢复密钥备份到 Active Directory
Backup-BitLockerKeyProtector -MountPoint "C:" `
  -KeyProtectorId (Get-BitLockerVolume -MountPoint "C:").KeyProtector[1].KeyProtectorId

# 加密固定数据驱动器
Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 `
  -RecoveryPasswordProtector -AutoUnlockEnabled

步骤 4:通过 Intune 部署(企业版)

Intune → 端点安全 → 磁盘加密 → 创建配置文件

平台:Windows 10 及更高版本
配置文件:BitLocker

设置:
  BitLocker 基本设置:
    - 操作系统驱动器加密:要求
    - 固定数据驱动器加密:要求
    - 可移动数据驱动器加密:要求

  操作系统驱动器设置:
    - 启动时的其他身份验证:要求
    - TPM 启动:允许
    - TPM 启动 PIN:要求(用于高安全端点)
    - 加密方法:XTS-AES 256 位
    - 恢复:托管到 Azure AD

  固定驱动器设置:
    - 加密方法:XTS-AES 256 位
    - 恢复:托管到 Azure AD

  分配到:所有托管 Windows 设备(或特定组)

步骤 5:管理恢复密钥

# 查看本地系统上的恢复密钥
(Get-BitLockerVolume -MountPoint "C:").KeyProtector |
  Where-Object {$_.KeyProtectorType -eq "RecoveryPassword"} |
  Select-Object KeyProtectorId, RecoveryPassword

# 从 Active Directory 检索恢复密钥(需要 RSAT)
Get-ADObject -Filter {objectClass -eq "msFVE-RecoveryInformation"} `
  -SearchBase "CN=COMPUTER01,OU=Workstations,DC=corp,DC=example,DC=com" `
  -Properties msFVE-RecoveryPassword |
  Select-Object -ExpandProperty msFVE-RecoveryPassword

# 从 Azure AD 检索恢复密钥
# Azure 门户 → Azure AD → 设备 → [设备] → BitLocker 密钥
# 或通过 Microsoft Graph API:
# GET /devices/{id}/bitlockerRecoveryKeys

步骤 6:监控加密状态

# 检查设备群中的加密状态
manage-bde -status C:

# 已加密驱动器的预期输出:
#   转换状态:完全加密
#   加密百分比:100.0%
#   加密方法:XTS-AES 256
#   保护状态:保护已开启
#   密钥保护程序:TPM,数字密码

# PowerShell 合规检查
$vol = Get-BitLockerVolume -MountPoint "C:"
if ($vol.ProtectionStatus -eq "On" -and $vol.VolumeStatus -eq "FullyEncrypted") {
    Write-Host "合规:BitLocker 已启用且完全加密"
} else {
    Write-Host "不合规:BitLocker 状态 - 保护:$($vol.ProtectionStatus),卷:$($vol.VolumeStatus)"
}

关键概念

术语定义
TPM(可信平台模块)存储 BitLocker 加密密钥并提供测量启动完整性的硬件安全芯片
XTS-AES 256BitLocker 使用的加密算法;XTS 模式为磁盘加密提供比 CBC 更好的保护
恢复密钥48 位数字密码,用于在 TPM 身份验证失败时解锁受 BitLocker 加密的驱动器
密钥保护程序用于解锁 BitLocker 的方法(TPM、TPM+PIN、恢复密码、启动密钥、智能卡)
仅已用空间加密仅加密包含数据的扇区;初始加密速度更快,但可能在可用空间中留下残余数据
全盘加密加密整个卷,包括可用空间;速度较慢,但对之前包含数据的驱动器更安全

工具与系统

  • BitLocker(内置):Windows 全盘加密功能
  • manage-bde.exe:命令行 BitLocker 管理工具
  • BitLocker 恢复密码查看器:用于查看 Active Directory 中恢复密钥的 RSAT 工具
  • MBAM(Microsoft BitLocker 管理和监控):企业 BitLocker 管理工具(旧版,已被 Intune 取代)
  • Microsoft Intune:基于云的 BitLocker 策略部署和恢复密钥管理

常见误区

  • 加密前未托管恢复密钥:如果在加密前未将恢复密钥保存到 AD/Azure AD,一旦 TPM 故障,密钥可能永久丢失。
  • 使用仅 TPM 模式而不带 PIN:仅 TPM 模式对用户透明,但容易受到冷启动攻击和"邪恶女佣"攻击。为离开办公室的笔记本电脑添加启动 PIN。
  • 在重新用途驱动器上仅加密已用空间:如果驱动器之前包含敏感数据,"仅已用空间"加密会将已删除的数据以未加密形式留在可用空间中。对重新用途的驱动器使用全盘加密。
  • 忘记可移动驱动器:USB 驱动器和外部磁盘是常见的数据泄露途径。对可移动媒体强制使用 BitLocker To Go。
  • SCCM 部署未预先配置:在 OSD 任务序列期间预先配置 BitLocker,以便在操作系统部署前进行加密,避免部署后的漫长加密过程。
我的收藏