Configuration guidance for implementing BitLocker. #nsacyber
Microsoft BitLocker is a full volume encryption feature built into Windows. BitLocker is intended to protect data on devices that have been lost or stolen. BitLocker is available in the Ultimate and Enterprise editions of Windows Vista and Windows 7, in the Professional and Enterprise editions of Windows 8/8.1, and in the Pro, Enterprise, and Education editions of Windows 10. BitLocker is also included in the Windows Server releases of Windows since Window Server 2008.
The Windows 10 BitLocker modules have been validated against NIST FIPS 140-2 program multiple times:
This repository hosts Group Policy Objects, compliance checks, and configuration tools in support of implementing BitLocker.
A BitLocker PowerShell module has been provided to aid in provisioning BitLocker on standalone systems. Group Policy and Microsoft SCCM 1910 CB can be used for provisioning BitLocker on domain joined systems.
NSA Cybersecurity recommends using the newest BitLocker settings in the Microsoft Windows Security Baseline, available in the Security Compliance Toolkit, with the following modifications:
View the policies as a CSV which is easier to read than the table below and is also searchable.
Policy Path | Policy Name | Policy State | Policy Value | Registry Path | Registry Value Name | Registry Data Value | Applicable Client | Applicable Server | Required for Applicable OS |
---|---|---|---|---|---|---|---|---|---|
Computer Configuration > System > Device Installation > Device Installation Restrictions | Prevent installation of devices that match any of these Device IDs > Prevent installation of devices that match any of these Device IDs: | Enabled | PCI\CC_0C0A | HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions | DenyDeviceIDs | 1 | Windows Vista+ | Windows Server 2008+ | Yes |
Computer Configuration > System > Device Installation > Device Installation Restrictions | Prevent installation of devices that match any of these Device IDs > Prevent installation of devices that match any of these Device IDs: | Enabled | HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions | DenyDeviceIDsRetroactive | 1 | Windows Vista+ | Windows Server 2008+ | Yes | |
Computer Configuration > System > Device Installation > Device Installation Restrictions | Prevent installation of devices using drivers that match these device setup classes > Prevent installation of devices using drivers that match these device setup classes: | Enabled | {d48179be-ec20-11d1-b6b8-00c04fa372a7} | HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions | DenyDeviceClasses | 1 | Windows Vista+ | Windows Server 2008+ | Yes |
Computer Configuration > System > Device Installation > Device Installation Restrictions | Prevent installation of devices using drivers that match these device setup classes > Prevent installation of devices using drivers that match these device setup classes: | Enabled | HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions | DenyDeviceClassesRetroactive | 1 | Windows Vista+ | Windows Server 2008+ | Yes | |
Computer Configuration > System > Power Management > Sleep Settings | Allow standby states (S1-S3) when sleeping (on battery) | Disabled | HKLM\Software\Policies\Microsoft\Power\PowerSettings\abfc2519-3608-4c2a-94ea-171b0ed546ab | DCSettingIndex | 0 | Windows Vista+ | Windows Server 2008+ | Yes | |
Computer Configuration > System > Power Management > Sleep Settings | Allow standby states (S1-S3) when sleeping (plugged in) | Disabled | HKLM\Software\Policies\Microsoft\Power\PowerSettings\abfc2519-3608-4c2a-94ea-171b0ed546ab | ACSettingIndex | 0 | Windows Vista+ | Windows Server 2008+ | Yes | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Choose how BitLocker-protected operating system drives can be recovered | Enabled | HKLM\Software\Policies\Microsoft\FVE | OSRecovery | 1 | Windows 7+ | Windows Server 2008 R2+ | Yes (domain joined systems only) | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Choose how BitLocker-protected operating system drives can be recovered > Save BitLocker recovery information to AD DS for operating system drives | Save BitLocker recovery information to AD DS for operating system drives | HKLM\Software\Policies\Microsoft\FVE | OSActiveDirectoryBackup | 1 | Windows 7+ | Windows Server 2008 R2+ | Yes (domain joined systems only) | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Choose how BitLocker-protected operating system drives can be recovered > Configure storage of BitLocker recovery information to AD DS | Store recovery passwords and key packages | HKLM\Software\Policies\Microsoft\FVE | OSActiveDirectoryInfoToStore | 1 | Windows 7+ | Windows Server 2008 R2+ | Yes (domain joined systems only) | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Choose how BitLocker-protected operating system drives can be recovered > Do not enable BitLocker until recovery information is stored in AD DS for operating system drives | Do not enable BitLocker until recovery information is stored in AD DS for operating system drives | HKLM\Software\Policies\Microsoft\FVE | OSRequireActiveDirectoryBackup | 1 | Windows 7+ | Windows Server 2008 R2+ | Yes (domain joined systems only) | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later) > Select the encryption method for operating system drives | Enabled | XTS-AES 256-bit | HKLM\Software\Policies\Microsoft\FVE | EncryptionMethodWithXtsOs | 7 | Windows 10 1511+ | Windows Server 2016+ | Yes |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later) > Select the encryption method for fixed data drives | Enabled | XTS-AES 256-bit | HKLM\Software\Policies\Microsoft\FVE | EncryptionMethodWithXtsFdv | 7 | Windows 10 1511+ | Windows Server 2016+ | No |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later) > Select the encryption method for removable data drives | Enabled | XTS-AES 256-bit or AES-CBC 256-bit | HKLM\Software\Policies\Microsoft\FVE | EncryptionMethodWithXtsRdv | 4 or 7 | Windows 10 1511+ | Windows Server 2016+ | No |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Choose drive encryption method and cipher strength (Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10 [Version 1507]) > Select encryption method | Enabled | AES 256-bit | HKLM\Software\Policies\Microsoft\FVE | EncryptionMethodNoDiffuser | 4 | Windows 8 - Windows 10 1507 | Windows Server 2012 - Windows Server 2012 R2 | Yes |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) > Select encryption method | Enabled | AES 256-bit | HKLM\Software\Policies\Microsoft\FVE | EncryptionMethod | 2 | Windows Vista - Windows 7 | Windows Server 2008 - Windows Server 2008 R2 | Yes |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption | Disable new DMA devices when this computer is locked | Enabled | HKLM\Software\Policies\Microsoft\FVE | DisableExternalDMAUnderLock | 1 | Windows 10 1703+ | N/A | Yes | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Allow Secure Boot for integrity validation | Enabled or Not Configured | HKLM\Software\Policies\Microsoft\FVE | OSAllowSecureBootForIntegrity or not exist | 1 or not exist | Windows 8+ | Windows Server 2012+ | No |
Some environments may desire additional protection provided by a BitLocker startup PIN. The settings are considered optional. The following settings may be configured when this scenario is desired.
View the policies as a CSV which is easier to read than the table below and is also searchable.
Policy Path | Policy Name | Policy State | Policy Value | Registry Path | Registry Value Name | Registry Data Value | Applicable Client | Applicable Server | Required for Applicable OS |
---|---|---|---|---|---|---|---|---|---|
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Allow enhanced PINs for startup | Enabled | HKLM\Software\Policies\Microsoft\FVE | UseEnhancedPin | 1 | Windows 7+ | Windows Server 2008 R2+ | Yes | |
Computer Configuration > Administrative Templates > Windows Components > BitLocker Drive Encryption > Operating System Drives | Configure minimum PIN length for startup | Enabled | 6 or larger value | HKLM\Software\Policies\Microsoft\FVE | MinimumPIN | 6 or larger | Windows 7+ | Windows Server 2008 R2+ | Yes |
Administrators may need to configure BitLocker Network Unlock to ensure systems apply updates without requiring a user be physically present to enter a PIN at system boot.
The Microsoft Security Compliance Toolkit contains BitLocker Group Policy Objects (GPO) for each Windows 10 operating system release's Windows Security Baseline. The GPOs can be used to configure and manage domain joined as well as standalone systems.
If using MBAM to configure and manage BitLocker on domain joined systems, then download the Microsoft Desktop Optimization Pack (MDOP) Group Policy templates since they contain the MBAM Group Policy settings.
Use the PowerShell Group Policy commands to import the BitLocker Group Policy into a domain. Run the following command on a domain controller from a PowerShell prompt running as a domain administrator.
Invoke-ApplySecureHostBaseline -Path '.\Secure-Host-Baseline' -PolicyNames 'BitLocker'
Use Microsoft's LGPO tool to apply the BitLocker Group Policy to a standalone system. Run the following command from a command prompt running as a local administrator.
Invoke-ApplySecureHostBaseline -Path '.\Secure-Host-Baseline' -PolicyNames 'BitLocker' -ToolPath '.\LGPO\lgpo.exe'
See LICENSE.
See CONTRIBUTING.
See DISCLAIMER.