BitLocker hardening: XTS-AES 256, TPM+PIN, key escrow
Configure BitLocker for real-world threats: encryption method, TPM-only vs TPM+PIN, recovery key escrow to AD or Entra ID, Secure Boot, DMA protection and fleet verification.
BitLocker turns a lost or stolen device from a data breach into a hardware expense. Most organisations turn it on; far fewer configure it against anything more than casual theft. The difference lies in four decisions: the encryption method, how the key is released at boot, where recovery keys live, and whether the boot chain around BitLocker is itself protected.
The threat model in one table
| Threat | TPM only | TPM + PIN |
|---|---|---|
| Laptop stolen while powered off, thief boots it | Protected (Windows login still required) | Protected |
| Drive removed and read in another machine | Protected | Protected |
| Key sniffed from a discrete TPM bus at boot | Vulnerable | Protected (key not released without PIN) |
| Device stolen while asleep (S3) and attacked in memory | Vulnerable | Vulnerable: use hibernate instead of sleep |
| Evil maid modifies boot components | Detected by TPM measurements (recovery prompt) | Detected |
| Malicious DMA device plugged in | Depends on Kernel DMA Protection | Depends on Kernel DMA Protection |
TPM-only is a reasonable default for most office laptops. Executives, administrators, travellers and devices with sensitive data warrant TPM+PIN.
Step 1: choose the encryption settings
GPO path: Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption.
| Setting | Value |
|---|---|
| Choose drive encryption method and cipher strength (Windows 10 1511 and later) | OS drives XTS-AES 256-bit, fixed data drives XTS-AES 256-bit, removable drives AES-CBC 256-bit (for compatibility with older systems) |
| Operating System Drives > Enforce drive encryption type | Full encryption on devices that previously held data, Used space only on new devices |
| Fixed Data Drives > Deny write access to fixed drives not protected by BitLocker | Enabled (optional) |
| Removable Data Drives > Deny write access to removable drives not protected by BitLocker | Enabled, if your USB policy allows removable media at all |
Existing volumes keep their original cipher. Changing the policy only affects volumes encrypted afterwards; to move an old AES-128 volume to XTS-AES 256 you must decrypt and re-encrypt.
Step 2: configure startup authentication
Under Operating System Drives > Require additional authentication at startup:
- Enabled.
- Allow BitLocker without a compatible TPM: unchecked.
- Configure TPM startup: Allow TPM.
- Configure TPM startup PIN: Allow startup PIN with TPM (or Require for high-risk groups via a separate GPO).
- Leave startup key options as Do not allow unless you have a reason for USB keys.
Related settings:
| Setting | Value |
|---|---|
| Configure minimum PIN length for startup | 6 to 8 or more |
| Allow enhanced PINs for startup | Enabled (allows letters and symbols) |
| Disallow standard users from changing the PIN or password | Enabled (PIN is set during provisioning or by self-service tooling) |
| Allow network unlock at startup | Enabled for servers and desktops on the corporate LAN if you deploy Network Unlock |
To add a PIN to an already encrypted device:
$pin = Read-Host -AsSecureString "Startup PIN"
Add-BitLockerKeyProtector -MountPoint C: -TpmAndPinProtector -Pin $pinStep 3: escrow recovery keys first
A device that is encrypted without an escrowed recovery key is a future data-loss incident. Under Operating System Drives > Choose how BitLocker-protected operating system drives can be recovered:
- Allow data recovery agent: optional.
- Save BitLocker recovery information to AD DS: Enabled, store recovery passwords and key packages.
- Do not enable BitLocker until recovery information is stored to AD DS: Enabled.
- Omit recovery options from the setup wizard: Enabled (users cannot choose to print or save the key to a file).
For Entra-joined devices, the Intune BitLocker profile does the equivalent and stores keys in Entra ID. For existing devices, back up the key explicitly:
$kp = (Get-BitLockerVolume -MountPoint C:).KeyProtector |
Where-Object KeyProtectorType -eq 'RecoveryPassword'
Backup-BitLockerKeyProtector -MountPoint C: -KeyProtectorId $kp.KeyProtectorId # AD DS
BackupToAAD-BitLockerKeyProtector -MountPoint C: -KeyProtectorId $kp.KeyProtectorId # Entra IDRestrict who can read recovery keys. In AD, keys are stored in msFVE-RecoveryInformation child objects of the computer; review which groups can read them, as with LAPS passwords. Configure key rotation after use (Intune supports rotating the recovery password when it has been shown to a user).
Step 4: protect the boot chain
BitLocker trusts the TPM, and the TPM trusts what it measured at boot. Make sure that chain is intact:
- UEFI with Secure Boot on every device. Check with
Confirm-SecureBootUEFI(returnsTrue). - TPM 2.0, firmware up to date (
Get-Tpm). - PCR 7 binding:
manage-bde -protectors -get C:shows the PCR validation profile;msinfo32shows PCR7 Configuration: Bound on modern devices. This makes BitLocker rely on Secure Boot state instead of individual boot component hashes, so firmware updates cause fewer recovery prompts. - Kernel DMA Protection (visible in
msinfo32) on devices with Thunderbolt or USB4. On older hardware without it, TPM+PIN or disabling external DMA ports in firmware compensates. - Firmware password set on devices where it's supported, so the boot order and Secure Boot can't be changed casually.
- Hibernate rather than sleep for high-risk devices: set Allow standby states (S1-S3) when sleeping (on battery) and (plugged in) to Disabled under System > Power Management > Sleep Settings, so keys are not in RAM while the lid is closed.
Step 5: verify across the fleet
On a device:
Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, EncryptionMethod,
EncryptionPercentage, ProtectionStatus, KeyProtector
manage-bde -status C:You want ProtectionStatus: On, EncryptionMethod: XtsAes256 and protectors Tpm or TpmPin plus RecoveryPassword.
ProtectionStatus: Off with a fully encrypted volume means BitLocker is suspended (for example left over from a firmware update script with Suspend-BitLocker), and the key is stored in clear on the disk. Resume it with Resume-BitLocker -MountPoint C: and hunt for scripts that suspend without a reboot count.
Fleet-wide, report from Intune's encryption report, Configuration Manager's BitLocker management, or a compliance script collecting the values above. Alert on devices with no escrowed key and on volumes left suspended.
Useful logs: Applications and Services Logs > Microsoft > Windows > BitLocker-API > Management records protector changes, encryption start/stop and key backups.
Automatic device encryption
On modern hardware, Windows 11 enables device encryption automatically during setup when the user signs in with a Microsoft or work account, and recent releases apply it to more devices. It uses XTS-AES 128 and TPM-only protection, and the key goes to the signed-in account. For managed devices, apply your BitLocker policy during provisioning so the managed configuration (cipher, escrow target, PIN) replaces the automatic one; otherwise you may inherit AES-128 volumes whose keys sit in a personal account.
Checklist
- XTS-AES 256 for OS and fixed drives; full encryption for reused hardware
- TPM-only for standard devices, TPM+PIN (enhanced PIN) for high-risk users
- Encryption blocked until the recovery key is escrowed
- Access to recovery keys restricted and audited
- Secure Boot on, TPM 2.0, PCR 7 bound, Kernel DMA Protection verified
- Sleep disabled in favour of hibernate for high-risk laptops
- Fleet report on protection status, cipher and key escrow; alert on suspended volumes
BitLocker's strength depends on the boot chain it sits on. The same virtualization-based security that protects the boot chain also powers Credential Guard, so both belong in the same hardware-readiness project.
Frequently asked questions
Is TPM-only BitLocker enough?
Against casual theft of a powered-off device, usually yes. Against a skilled attacker with physical access, TPM-only protection can be defeated by sniffing the key from a discrete TPM bus or by attacks on a running or sleeping machine. Pre-boot authentication (TPM+PIN) closes those gaps for high-risk devices.
Where should recovery keys be stored?
In the directory that manages the device: Active Directory for domain-joined machines, Microsoft Entra ID for Entra-joined or hybrid devices managed by Intune. Require the backup to succeed before encryption starts so no device is ever encrypted without an escrowed key.
Should servers use BitLocker?
Yes for servers in branch offices or any location without strong physical security, and for virtual machines where the hypervisor supports a virtual TPM. BitLocker Network Unlock lets domain servers boot unattended on the corporate network while still requiring a PIN elsewhere.
BitLocker hardening: XTS-AES 256, TPM+PIN, key escrow